From 360daa706a583ff63a91d9ed61cd833d271b1c0f Mon Sep 17 00:00:00 2001 From: Richard Kuhnt Date: Wed, 23 Nov 2022 06:58:51 +0100 Subject: [PATCH 01/75] feat(chore): Improve git.exe execution and add parallel bucket updates (#5122) --- CHANGELOG.md | 8 +++ bin/scoop.ps1 | 8 +-- lib/buckets.ps1 | 14 ++--- lib/core.ps1 | 89 +++++++++++++++++++++++++-- libexec/scoop-info.ps1 | 2 +- libexec/scoop-status.ps1 | 6 +- libexec/scoop-update.ps1 | 126 +++++++++++++++++++++++---------------- 7 files changed, 179 insertions(+), 74 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ae5f38000..4b9b155d5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## [Unreleased](https://github.com/ScoopInstaller/Scoop/compare/master...develop) + +### Features +- **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/pull/5122)) + +### Code Refactoring +- **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/pull/5122)) + ## [v0.3.1](https://github.com/ScoopInstaller/Scoop/compare/v0.3.0...v0.3.1) - 2022-11-15 ### Features diff --git a/bin/scoop.ps1 b/bin/scoop.ps1 index 6d96c68b2f..fd2fd41fa7 100644 --- a/bin/scoop.ps1 +++ b/bin/scoop.ps1 @@ -20,8 +20,8 @@ switch ($subCommand) { } ({ $subCommand -in @('-v', '--version') }) { Write-Host 'Current Scoop version:' - if ((Test-CommandAvailable git) -and (Test-Path "$PSScriptRoot\..\.git") -and (get_config SCOOP_BRANCH 'master') -ne 'master') { - git -C "$PSScriptRoot\.." --no-pager log --oneline HEAD -n 1 + if (Test-GitAvailable -and (Test-Path "$PSScriptRoot\..\.git") -and (get_config SCOOP_BRANCH 'master') -ne 'master') { + Invoke-Git -Path "$PSScriptRoot\.." -ArgumentList @('log', 'HEAD', '-1', '--oneline') } else { $version = Select-String -Pattern '^## \[(v[\d.]+)\].*?([\d-]+)$' -Path "$PSScriptRoot\..\CHANGELOG.md" Write-Host $version.Matches.Groups[1].Value -ForegroundColor Cyan -NoNewline @@ -31,9 +31,9 @@ switch ($subCommand) { Get-LocalBucket | ForEach-Object { $bucketLoc = Find-BucketDirectory $_ -Root - if ((Test-Path "$bucketLoc\.git") -and (Test-CommandAvailable git)) { + if (Test-GitAvailable -and (Test-Path "$bucketLoc\.git")) { Write-Host "'$_' bucket:" - git -C "$bucketLoc" --no-pager log --oneline HEAD -n 1 + Invoke-Git -Path $bucketLoc -ArgumentList @('log', 'HEAD', '-1', '--oneline') Write-Host '' } } diff --git a/lib/buckets.ps1 b/lib/buckets.ps1 index 2a03561210..704d51a82b 100644 --- a/lib/buckets.ps1 +++ b/lib/buckets.ps1 @@ -99,8 +99,8 @@ function list_buckets { $bucket = [Ordered]@{ Name = $_ } $path = Find-BucketDirectory $_ -Root if ((Test-Path (Join-Path $path '.git')) -and (Get-Command git -ErrorAction SilentlyContinue)) { - $bucket.Source = git -C $path config remote.origin.url - $bucket.Updated = git -C $path log --format='%aD' -n 1 | Get-Date + $bucket.Source = Invoke-Git -Path $path -ArgumentList @('config', 'remote.origin.url') + $bucket.Updated = Invoke-Git -Path $path -ArgumentList @('log', "--format='%aD'", '-n', '1') } else { $bucket.Source = friendly_path $path $bucket.Updated = (Get-Item "$path\bucket").LastWriteTime @@ -113,7 +113,7 @@ function list_buckets { } function add_bucket($name, $repo) { - if (!(Test-CommandAvailable git)) { + if (!(Test-GitAvailable)) { error "Git is required for buckets. Run 'scoop install git' and try again." return 1 } @@ -130,7 +130,7 @@ function add_bucket($name, $repo) { } foreach ($bucket in Get-LocalBucket) { if (Test-Path -Path "$bucketsdir\$bucket\.git") { - $remote = git -C "$bucketsdir\$bucket" config --get remote.origin.url + $remote = Invoke-Git -Path "$bucketsdir\$bucket" -ArgumentList @('config', '--get', 'remote.origin.url') if ((Convert-RepositoryUri -Uri $remote) -eq $uni_repo) { warn "Bucket $bucket already exists for $repo" return 2 @@ -139,14 +139,14 @@ function add_bucket($name, $repo) { } Write-Host 'Checking repo... ' -NoNewline - $out = git_cmd ls-remote $repo 2>&1 + $out = Invoke-Git -ArgumentList @('ls-remote', $repo) 2>&1 if ($LASTEXITCODE -ne 0) { error "'$repo' doesn't look like a valid git repository`n`nError given:`n$out" return 1 } ensure $bucketsdir | Out-Null $dir = ensure $dir - git_cmd clone "$repo" "`"$dir`"" -q + Invoke-Git -ArgumentList @('clone', $repo, $dir, '-q') Write-Host 'OK' success "The $name bucket was added successfully." return 0 @@ -169,7 +169,7 @@ function new_issue_msg($app, $bucket, $title, $body) { $bucket_path = "$bucketsdir\$bucket" if (Test-Path $bucket_path) { - $remote = git -C "$bucket_path" config --get remote.origin.url + $remote = Invoke-Git -Path $bucket_path -ArgumentList @('config', '--get', 'remote.origin.url') # Support ssh and http syntax # git@PROVIDER:USER/REPO.git # https://PROVIDER/USER/REPO.git diff --git a/lib/core.ps1 b/lib/core.ps1 index bc0365eb03..3d10baf22d 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -128,13 +128,78 @@ function setup_proxy() { } } -function git_cmd { +function Invoke-Git { + [CmdletBinding()] + [OutputType([String])] + param( + [Parameter(Mandatory = $false, Position = 0)] + [Alias('PSPath', 'Path')] + [ValidateNotNullOrEmpty()] + [String] + $WorkingDirectory, + [Parameter(Mandatory = $true, Position = 1)] + [Alias('Args')] + [String[]] + $ArgumentList + ) + $proxy = get_config PROXY - $cmd = "git $($args | ForEach-Object { "$_ " })" - if ($proxy -and $proxy -ne 'none') { - $cmd = "SET HTTPS_PROXY=$proxy&&SET HTTP_PROXY=$proxy&&$cmd" + $git = Get-HelperPath -Helper Git + $arguments = $ArgumentList -join ' ' + $cmd = "`"$git`" $arguments" + + if ($WorkingDirectory) { + $cmd = "`"$git`" -C `"$WorkingDirectory`" $arguments" + } + $sb = [scriptblock]::Create("& $cmd") + + if([String]::IsNullOrEmpty($proxy) -or $proxy -eq 'none') { + return Invoke-Command $sb + } + + if($arguments -Match '\b(clone|checkout|pull|fetch|ls-remote)\b') { + $old_https = $env:HTTPS_PROXY + $old_http = $env:HTTP_PROXY + try { + # convert proxy setting for git + if ($proxy.StartsWith('currentuser@')) { + $proxy = $proxy.Replace('currentuser@', ':@') + } + $env:HTTPS_PROXY = $proxy + $env:HTTP_PROXY = $proxy + return Invoke-Command $sb + } + catch { + error $_ + return + } + finally { + $env:HTTPS_PROXY = $old_https + $env:HTTP_PROXY = $old_http + } + } + + return Invoke-Command $sb +} + +function Invoke-GitLog { + [CmdletBinding()] + Param ( + [Parameter(Mandatory, ValueFromPipeline)] + [String]$Path, + [Parameter(Mandatory, ValueFromPipeline)] + [String]$CommitHash, + [String]$Name = '' + ) + Process { + if ($Name) { + if ($Name.Length -gt 12) { + $Name = "$($Name.Substring(0, 10)).." + } + $Name = "%Cgreen$($Name.PadRight(12, ' ').Substring(0, 12))%Creset " + } + Invoke-Git -Path $Path -ArgumentList @('--no-pager', 'log', '--color', '--no-decorate', "--grep='^(chore)'", '--invert-grep', '--abbrev=12', "--format='tformat: * %C(yellow)%h%Creset %<|(72,trunc)%s $Name%C(cyan)%cr%Creset'", "$CommitHash..HEAD") } - cmd.exe /d /c $cmd } # helper functions @@ -293,12 +358,16 @@ Function Test-CommandAvailable { Return [Boolean](Get-Command $Name -ErrorAction Ignore) } +Function Test-GitAvailable { + Return [Boolean](Test-Path (Get-HelperPath -Helper Git) -ErrorAction Ignore) +} + function Get-HelperPath { [CmdletBinding()] [OutputType([String])] param( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [ValidateSet('7zip', 'Lessmsi', 'Innounp', 'Dark', 'Aria2', 'Zstd')] + [ValidateSet('Git', '7zip', 'Lessmsi', 'Innounp', 'Dark', 'Aria2', 'Zstd')] [String] $Helper ) @@ -307,6 +376,14 @@ function Get-HelperPath { } process { switch ($Helper) { + 'Git' { + $internalgit = "$(versiondir 'git' 'current')\mingw64\bin\git.exe" + if (Test-Path $internalgit) { + $HelperPath = $internalgit + } else { + $HelperPath = (Get-Command git -ErrorAction Ignore).Source + } + } '7zip' { $HelperPath = Get-AppFilePath '7zip' '7z.exe' if ([String]::IsNullOrEmpty($HelperPath)) { diff --git a/libexec/scoop-info.ps1 b/libexec/scoop-info.ps1 index f4346a6025..74e2530c36 100644 --- a/libexec/scoop-info.ps1 +++ b/libexec/scoop-info.ps1 @@ -84,7 +84,7 @@ if ($manifest.depends) { if (Test-Path $manifest_file) { if (Get-Command git -ErrorAction Ignore) { - $gitinfo = (git -C (Split-Path $manifest_file) log -1 -s --format='%aD#%an' $manifest_file 2> $null) -Split '#' + $gitinfo = (Invoke-Git -Path (Split-Path $manifest_file) -ArgumentList @('log', '-1', '-s', "--format='%aD#%an'", $manifest_file) 2> $null) -Split '#' } if ($gitinfo) { $item.'Updated at' = $gitinfo[0] | Get-Date diff --git a/libexec/scoop-status.ps1 b/libexec/scoop-status.ps1 index 28596ce8e3..c72f75bcbc 100644 --- a/libexec/scoop-status.ps1 +++ b/libexec/scoop-status.ps1 @@ -21,10 +21,10 @@ if (!(Get-FormatData ScoopStatus)) { function Test-UpdateStatus($repopath) { if (Test-Path "$repopath\.git") { - git_cmd -C "`"$repopath`"" fetch -q origin + Invoke-Git -Path $repopath -ArgumentList @('fetch', '-q', 'origin') $script:network_failure = 128 -eq $LASTEXITCODE - $branch = git -C $repopath branch --show-current - $commits = git -C $repopath log "HEAD..origin/$branch" --oneline + $branch = Invoke-Git -Path $repopath -ArgumentList @('branch', '--show-current') + $commits = Invoke-Git -Path $repopath -ArgumentList @('log', "HEAD..origin/$branch", '--oneline') if ($commits) { return $true } else { return $false } } else { diff --git a/libexec/scoop-update.ps1 b/libexec/scoop-update.ps1 index ad670f86c0..3bcdcb7500 100644 --- a/libexec/scoop-update.ps1 +++ b/libexec/scoop-update.ps1 @@ -56,14 +56,18 @@ if(($PSVersionTable.PSVersion.Major) -lt 5) { } $show_update_log = get_config SHOW_UPDATE_LOG $true -function update_scoop($show_update_log) { +function Sync-Scoop { + [CmdletBinding()] + Param ( + [Switch]$Log + ) # Test if Scoop Core is hold if(Test-ScoopCoreOnHold) { return } # check for git - if (!(Test-CommandAvailable git)) { abort "Scoop uses Git to update itself. Run 'scoop install git' and try again." } + if (!(Test-GitAvailable)) { abort "Scoop uses Git to update itself. Run 'scoop install git' and try again." } Write-Host "Updating Scoop..." $currentdir = fullpath $(versiondir 'scoop' 'current') @@ -72,7 +76,7 @@ function update_scoop($show_update_log) { $olddir = "$currentdir\..\old" # get git scoop - git_cmd clone -q $configRepo --branch $configBranch --single-branch "`"$newdir`"" + Invoke-Git -ArgumentList @('clone', '-q', $configRepo, '--branch', $configBranch, '--single-branch', $newdir) # check if scoop was successful downloaded if (!(Test-Path "$newdir\bin\scoop.ps1")) { @@ -93,18 +97,18 @@ function update_scoop($show_update_log) { Remove-Item "$currentdir\..\old" -Recurse -Force -ErrorAction SilentlyContinue } - $previousCommit = git -C "$currentdir" rev-parse HEAD - $currentRepo = git -C "$currentdir" config remote.origin.url - $currentBranch = git -C "$currentdir" branch + $previousCommit = Invoke-Git -Path $currentdir -ArgumentList @('rev-parse', 'HEAD') + $currentRepo = Invoke-Git -Path $currentdir -ArgumentList @('config', 'remote.origin.url') + $currentBranch = Invoke-Git -Path $currentdir -ArgumentList @('branch') $isRepoChanged = !($currentRepo -match $configRepo) $isBranchChanged = !($currentBranch -match "\*\s+$configBranch") # Stash uncommitted changes - if (git -C "$currentdir" diff HEAD --name-only) { + if (Invoke-Git -Path $currentdir -ArgumentList @('diff', 'HEAD', '--name-only')) { if (get_config AUTOSTASH_ON_CONFLICT) { warn "Uncommitted changes detected. Stashing..." - git -C "$currentdir" stash push -m "WIP at $([System.DateTime]::Now.ToString('o'))" -u -q + Invoke-Git -Path $currentdir -ArgumentList @('stash', 'push', '-m', "WIP at $([System.DateTime]::Now.ToString('o'))", '-u', '-q') } else { warn "Uncommitted changes detected. Update aborted." return @@ -113,26 +117,26 @@ function update_scoop($show_update_log) { # Change remote url if the repo is changed if ($isRepoChanged) { - git -C "$currentdir" config remote.origin.url "$configRepo" + Invoke-Git -Path $currentdir -ArgumentList @('config', 'remote.origin.url', $configRepo) } # Fetch and reset local repo if the repo or the branch is changed if ($isRepoChanged -or $isBranchChanged) { # Reset git fetch refs, so that it can fetch all branches (GH-3368) - git -C "$currentdir" config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*' + Invoke-Git -Path $currentdir -ArgumentList @('config', 'remote.origin.fetch', '+refs/heads/*:refs/remotes/origin/*') # fetch remote branch - git_cmd -C "`"$currentdir`"" fetch --force origin "refs/heads/`"$configBranch`":refs/remotes/origin/$configBranch" -q + Invoke-Git -Path $currentdir -ArgumentList @('fetch', '--force', 'origin', "refs/heads/$configBranch`:refs/remotes/origin/$configBranch", '-q') # checkout and track the branch - git_cmd -C "`"$currentdir`"" checkout -B $configBranch -t origin/$configBranch -q + Invoke-Git -Path $currentdir -ArgumentList @('checkout', '-B', $configBranch, '-t', "origin/$configBranch", '-q') # reset branch HEAD - git -C "$currentdir" reset --hard origin/$configBranch -q + Invoke-Git -Path $currentdir -ArgumentList @('reset', '--hard', "origin/$configBranch", '-q') } else { - git_cmd -C "`"$currentdir`"" pull -q + Invoke-Git -Path $currentdir -ArgumentList @('pull', '-q') } $res = $lastexitcode - if ($show_update_log) { - git -C "$currentdir" --no-pager log --no-decorate --grep='^(chore)' --invert-grep --format='tformat: * %C(yellow)%h%Creset %<|(72,trunc)%s %C(cyan)%cr%Creset' "$previousCommit..HEAD" + if ($Log) { + Invoke-GitLog -Path $currentdir -CommitHash $previousCommit } if ($res -ne 0) { @@ -140,47 +144,63 @@ function update_scoop($show_update_log) { } } - # This should have been deprecated after 2019-05-12 - # if ((Get-LocalBucket) -notcontains 'main') { - # info "The main bucket of Scoop has been separated to 'https://github.com/ScoopInstaller/Main'" - # info "Adding main bucket..." - # add_bucket 'main' - # } - shim "$currentdir\bin\scoop.ps1" $false } -function update_bucket($show_update_log) { - # check for git - if (!(Test-CommandAvailable git)) { abort "Scoop uses Git to update main bucket and others. Run 'scoop install git' and try again." } +function Sync-Bucket { + Param ( + [Switch]$Log + ) + Write-Host "Updating Buckets..." + + if (!(Test-Path (Join-Path (Find-BucketDirectory 'main' -Root) '.git'))) { + info "Converting 'main' bucket to git repo..." + $status = rm_bucket 'main' + if ($status -ne 0) { + abort "Failed to remove local 'main' bucket." + } + $status = add_bucket 'main' (known_bucket_repo 'main') + if ($status -ne 0) { + abort "Failed to add remote 'main' bucket." + } + } - foreach ($bucket in Get-LocalBucket) { - Write-Host "Updating '$bucket' bucket..." - $bucketLoc = Find-BucketDirectory $bucket -Root + $buckets = Get-LocalBucket | ForEach-Object { + $path = Find-BucketDirectory $_ -Root + return @{ + name = $_ + valid = Test-Path (Join-Path $path '.git') + path = $path + } + } - if (!(Test-Path (Join-Path $bucketLoc '.git'))) { - if ($bucket -eq 'main') { - # Make sure main bucket, which was downloaded as zip, will be properly "converted" into git - Write-Host " Converting 'main' bucket to git repo..." - $status = rm_bucket 'main' - if ($status -ne 0) { - abort "Failed to remove local 'main' bucket." - } - $status = add_bucket 'main' (known_bucket_repo 'main') - if ($status -ne 0) { - abort "Failed to add remote 'main' bucket." - } - } else { - Write-Host "'$bucket' is not a git repository. Skipped." + $buckets | Where-Object { !$_.valid } | ForEach-Object { Write-Host "'$($_.name)' is not a git repository. Skipped." } + + if ($PSVersionTable.PSVersion.Major -ge 7) { + # Parallel parameter is available since PowerShell 7 + $buckets | Where-Object { $_.valid } | ForEach-Object -ThrottleLimit 5 -Parallel { + . "$using:PSScriptRoot\..\lib\core.ps1" + + $bucketLoc = $_.path + $name = $_.name + + $previousCommit = Invoke-Git -Path $bucketLoc -ArgumentList @('rev-parse', 'HEAD') + Invoke-Git -Path $bucketLoc -ArgumentList @('pull', '-q') + if ($using:Log) { + Invoke-GitLog -Path $bucketLoc -Name $name -CommitHash $previousCommit } - continue } - - $previousCommit = git -C "$bucketLoc" rev-parse HEAD - git_cmd -C "`"$bucketLoc`"" pull -q - if ($show_update_log) { - git -C "$bucketLoc" --no-pager log --no-decorate --grep='^(chore)' --invert-grep --format='tformat: * %C(yellow)%h%Creset %<|(72,trunc)%s %C(cyan)%cr%Creset' "$previousCommit..HEAD" + } else { + $buckets | Where-Object { $_.valid } | ForEach-Object { + $bucketLoc = $_.path + $name = $_.name + + $previousCommit = Invoke-Git -Path $bucketLoc -ArgumentList @('rev-parse', 'HEAD') + Invoke-Git -Path $bucketLoc -ArgumentList @('pull', '-q') + if ($Log) { + Invoke-GitLog -Path $bucketLoc -Name $name -CommitHash $previousCommit + } } } } @@ -321,8 +341,8 @@ if (-not ($apps -or $all)) { error 'scoop update: --no-cache is invalid when is not specified.' exit 1 } - update_scoop $show_update_log - update_bucket $show_update_log + Sync-Scoop -Log:$show_update_log + Sync-Bucket -Log:$show_update_log set_config LAST_UPDATE ([System.DateTime]::Now.ToString('o')) | Out-Null success 'Scoop was updated successfully!' } else { @@ -336,8 +356,8 @@ if (-not ($apps -or $all)) { $apps_param = $apps if ($updateScoop) { - update_scoop $show_update_log - update_bucket $show_update_log + Sync-Scoop -Log:$show_update_log + Sync-Bucket -Log:$show_update_log set_config LAST_UPDATE ([System.DateTime]::Now.ToString('o')) | Out-Null success 'Scoop was updated successfully!' } From af5ffcddab21d9c8a93a5b4e04fff152abeb8f68 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Wed, 30 Nov 2022 13:32:35 +0800 Subject: [PATCH 02/75] test(bucket): Skip manifest validation if no manifest changes (#5270) --- CHANGELOG.md | 10 ++++++++-- test/Import-Bucket-Tests.ps1 | 8 +++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b9b155d5b..d18455b733 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,16 @@ ## [Unreleased](https://github.com/ScoopInstaller/Scoop/compare/master...develop) ### Features -- **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/pull/5122)) + +- **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) ### Code Refactoring -- **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/pull/5122)) + +- **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) + +### Tests + +- **bucket:** Skip manifest validation if no manifest changes ([#5270](https://github.com/ScoopInstaller/Scoop/issues/5270)) ## [v0.3.1](https://github.com/ScoopInstaller/Scoop/compare/v0.3.0...v0.3.1) - 2022-11-15 diff --git a/test/Import-Bucket-Tests.ps1 b/test/Import-Bucket-Tests.ps1 index 789a4b24f7..96890a0a74 100644 --- a/test/Import-Bucket-Tests.ps1 +++ b/test/Import-Bucket-Tests.ps1 @@ -16,11 +16,9 @@ Describe 'Manifest validates against the schema' { } if ($env:CI -eq $true) { Set-BuildEnvironment -Force - $changedManifests = @(Get-GitChangedFile -Path $bucketDir -Include '*.json' -Commit $env:BHCommitHash) - } - $manifestFiles = (Get-ChildItem $bucketDir -Filter '*.json' -Recurse).FullName - if ($changedManifests) { - $manifestFiles = $manifestFiles | Where-Object { $_ -in $changedManifests } + $manifestFiles = @(Get-GitChangedFile -Path $bucketDir -Include '*.json' -Commit $env:BHCommitHash) + } else { + $manifestFiles = (Get-ChildItem $bucketDir -Filter '*.json' -Recurse).FullName } } BeforeAll { From 6369ba60baeb78b48ec58df290767c21f51c4763 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Sat, 10 Dec 2022 15:38:30 +0000 Subject: [PATCH 03/75] refactor(scoop-download): Output more detailed manifest information (#5277) --- CHANGELOG.md | 1 + libexec/scoop-download.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d18455b733..09eb4eea50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### Code Refactoring - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) +- **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) ### Tests diff --git a/libexec/scoop-download.ps1 b/libexec/scoop-download.ps1 index 34de7ea19f..d339e7907f 100644 --- a/libexec/scoop-download.ps1 +++ b/libexec/scoop-download.ps1 @@ -57,7 +57,7 @@ foreach ($curr_app in $apps) { $app, $bucket, $version = parse_app $curr_app $app, $manifest, $bucket, $url = Get-Manifest "$bucket/$app" - info "Starting download for $app..." + info "Downloading '$app'$(if ($version) { " ($version)" }) [$architecture]$(if ($bucket) { " from $bucket bucket" })" # Generate manifest if there is different version in manifest if (($null -ne $version) -and ($manifest.version -ne $version)) { From 52f9ce3a817146f5c501bc4e70c4af26187283af Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Sun, 18 Dec 2022 23:15:03 +0800 Subject: [PATCH 04/75] fix(autoupdate): Fix file hash extraction (#5295) --- CHANGELOG.md | 4 ++ lib/autoupdate.ps1 | 139 +++++++++++++++++++++++---------------------- 2 files changed, 76 insertions(+), 67 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09eb4eea50..9deb3ec1ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ - **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) +### Bug Fixes + +- **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) + ### Code Refactoring - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) diff --git a/lib/autoupdate.ps1 b/lib/autoupdate.ps1 index 6edc8791ff..803e994b6c 100644 --- a/lib/autoupdate.ps1 +++ b/lib/autoupdate.ps1 @@ -8,9 +8,9 @@ function find_hash_in_rdf([String] $url, [String] $basename) { $wc.Headers.Add('User-Agent', (Get-UserAgent)) $data = $wc.DownloadData($url) [xml]$xml = (Get-Encoding($wc)).GetString($data) - } catch [system.net.webexception] { - write-host -f darkred $_ - write-host -f darkred "URL $url is not valid" + } catch [System.Net.WebException] { + Write-Host $_ -ForegroundColor DarkRed + Write-Host "URL $url is not valid" -ForegroundColor DarkRed return $null } @@ -24,12 +24,12 @@ function find_hash_in_textfile([String] $url, [Hashtable] $substitutions, [Strin $hashfile = $null $templates = @{ - '$md5' = '([a-fA-F0-9]{32})'; - '$sha1' = '([a-fA-F0-9]{40})'; - '$sha256' = '([a-fA-F0-9]{64})'; - '$sha512' = '([a-fA-F0-9]{128})'; - '$checksum' = '([a-fA-F0-9]{32,128})'; - '$base64' = '([a-zA-Z0-9+\/=]{24,88})'; + '$md5' = '([a-fA-F0-9]{32})' + '$sha1' = '([a-fA-F0-9]{40})' + '$sha256' = '([a-fA-F0-9]{64})' + '$sha512' = '([a-fA-F0-9]{128})' + '$checksum' = '([a-fA-F0-9]{32,128})' + '$base64' = '([a-zA-Z0-9+\/=]{24,88})' } try { @@ -39,8 +39,8 @@ function find_hash_in_textfile([String] $url, [Hashtable] $substitutions, [Strin $data = $wc.DownloadData($url) $hashfile = (Get-Encoding($wc)).GetString($data) } catch [system.net.webexception] { - write-host -f darkred $_ - write-host -f darkred "URL $url is not valid" + Write-Host $_ -ForegroundColor DarkRed + Write-Host "URL $url is not valid" -ForegroundColor DarkRed return } @@ -50,15 +50,15 @@ function find_hash_in_textfile([String] $url, [Hashtable] $substitutions, [Strin $regex = substitute $regex $templates $false $regex = substitute $regex $substitutions $true - debug $regex if ($hashfile -match $regex) { - $hash = $matches[1] -replace '\s','' + debug $regex + $hash = $matches[1] -replace '\s', '' } # convert base64 encoded hash values if ($hash -match '^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{4})$') { $base64 = $matches[0] - if(!($hash -match '^[a-fA-F0-9]+$') -and $hash.length -notin @(32, 40, 64, 128)) { + if (!($hash -match '^[a-fA-F0-9]+$') -and $hash.Length -notin @(32, 40, 64, 128)) { try { $hash = ([System.Convert]::FromBase64String($base64) | ForEach-Object { $_.ToString('x2') }) -join '' } catch { @@ -69,13 +69,15 @@ function find_hash_in_textfile([String] $url, [Hashtable] $substitutions, [Strin # find hash with filename in $hashfile if ($hash.Length -eq 0) { - $filenameRegex = "([a-fA-F0-9]{32,128})[\x20\t]+.*`$basename(?:[\x20\t]+\d+)?" + $filenameRegex = "([a-fA-F0-9]{32,128})[\x20\t]+.*`$basename(?:\s|$)|`$basename[\x20\t]+.*?([a-fA-F0-9]{32,128})" $filenameRegex = substitute $filenameRegex $substitutions $true if ($hashfile -match $filenameRegex) { + debug $filenameRegex $hash = $matches[1] } - $metalinkRegex = "]+>([a-fA-F0-9]{64})" + $metalinkRegex = ']+>([a-fA-F0-9]{64})' if ($hashfile -match $metalinkRegex) { + debug $metalinkRegex $hash = $matches[1] } } @@ -92,13 +94,14 @@ function find_hash_in_json([String] $url, [Hashtable] $substitutions, [String] $ $wc.Headers.Add('User-Agent', (Get-UserAgent)) $data = $wc.DownloadData($url) $json = (Get-Encoding($wc)).GetString($data) - } catch [system.net.webexception] { - write-host -f darkred $_ - write-host -f darkred "URL $url is not valid" + } catch [System.Net.WebException] { + Write-Host $_ -ForegroundColor DarkRed + Write-Host "URL $url is not valid" -ForegroundColor DarkRed return } + debug $jsonpath $hash = json_path $json $jsonpath $substitutions - if(!$hash) { + if (!$hash) { $hash = json_path_legacy $json $jsonpath $substitutions } return format_hash $hash @@ -114,8 +117,8 @@ function find_hash_in_xml([String] $url, [Hashtable] $substitutions, [String] $x $data = $wc.DownloadData($url) $xml = [xml]((Get-Encoding($wc)).GetString($data)) } catch [system.net.webexception] { - write-host -f darkred $_ - write-host -f darkred "URL $url is not valid" + Write-Host $_ -ForegroundColor DarkRed + Write-Host "URL $url is not valid" -ForegroundColor DarkRed return } @@ -125,13 +128,15 @@ function find_hash_in_xml([String] $url, [Hashtable] $substitutions, [String] $x } # Find all `significant namespace declarations` from the XML file - $nsList = $xml.SelectNodes("//namespace::*[not(. = ../../namespace::*)]") + $nsList = $xml.SelectNodes('//namespace::*[not(. = ../../namespace::*)]') # Then add them into the NamespaceManager $nsmgr = New-Object System.Xml.XmlNamespaceManager($xml.NameTable) $nsList | ForEach-Object { $nsmgr.AddNamespace($_.LocalName, $_.Value) } + debug $xpath + debug $nsmgr # Getting hash from XML, using XPath $hash = $xml.SelectSingleNode($xpath, $nsmgr).'#text' return format_hash $hash @@ -148,16 +153,16 @@ function find_hash_in_headers([String] $url) { $req.Timeout = 2000 $req.Method = 'HEAD' $res = $req.GetResponse() - if(([int]$res.StatusCode -ge 300) -and ([int]$res.StatusCode -lt 400)) { - if($res.Headers['Digest'] -match 'SHA-256=([^,]+)' -or $res.Headers['Digest'] -match 'SHA=([^,]+)' -or $res.Headers['Digest'] -match 'MD5=([^,]+)') { + if (([int]$res.StatusCode -ge 300) -and ([int]$res.StatusCode -lt 400)) { + if ($res.Headers['Digest'] -match 'SHA-256=([^,]+)' -or $res.Headers['Digest'] -match 'SHA=([^,]+)' -or $res.Headers['Digest'] -match 'MD5=([^,]+)') { $hash = ([System.Convert]::FromBase64String($matches[1]) | ForEach-Object { $_.ToString('x2') }) -join '' debug $hash } } $res.Close() - } catch [system.net.webexception] { - write-host -f darkred $_ - write-host -f darkred "URL $url is not valid" + } catch [System.Net.WebException] { + Write-Host $_ -ForegroundColor DarkRed + Write-Host "URL $url is not valid" -ForegroundColor DarkRed return } @@ -182,10 +187,10 @@ function get_hash_for_app([String] $app, $config, [String] $version, [String] $u $hashfile_url = substitute $config.url $substitutions debug $hashfile_url if ($hashfile_url) { - write-host -f DarkYellow 'Searching hash for ' -NoNewline - write-host -f Green $basename -NoNewline - write-host -f DarkYellow ' in ' -NoNewline - write-host -f Green $hashfile_url + Write-Host 'Searching hash for ' -ForegroundColor DarkYellow -NoNewline + Write-Host $basename -ForegroundColor Green -NoNewline + Write-Host ' in ' -ForegroundColor DarkYellow -NoNewline + Write-Host $hashfile_url -ForegroundColor Green } if ($hashmode.Length -eq 0 -and $config.url.Length -ne 0) { @@ -215,11 +220,11 @@ function get_hash_for_app([String] $app, $config, [String] $version, [String] $u $hashmode = 'xpath' } - if (!$hashfile_url -and $url -match "^(?:.*fosshub.com\/).*(?:\/|\?dwl=)(?.*)$") { + if (!$hashfile_url -and $url -match '^(?:.*fosshub.com\/).*(?:\/|\?dwl=)(?.*)$') { $hashmode = 'fosshub' } - if (!$hashfile_url -and $url -match "(?:downloads\.)?sourceforge.net\/projects?\/(?[^\/]+)\/(?:files\/)?(?.*)") { + if (!$hashfile_url -and $url -match '(?:downloads\.)?sourceforge.net\/projects?\/(?[^\/]+)\/(?:files\/)?(?.*)') { $hashmode = 'sourceforge' } @@ -243,7 +248,7 @@ function get_hash_for_app([String] $app, $config, [String] $version, [String] $u } } 'fosshub' { - $hash = find_hash_in_textfile $url $substitutions ($Matches.filename+'.*?"sha256":"([a-fA-F0-9]{64})"') + $hash = find_hash_in_textfile $url $substitutions ($matches.filename + '.*?"sha256":"([a-fA-F0-9]{64})"') } 'sourceforge' { # change the URL because downloads.sourceforge.net doesn't have checksums @@ -254,29 +259,29 @@ function get_hash_for_app([String] $app, $config, [String] $version, [String] $u if ($hash) { # got one! - write-host -f DarkYellow 'Found: ' -NoNewline - write-host -f Green $hash -NoNewline - write-host -f DarkYellow ' using ' -NoNewline - write-host -f Green "$((Get-Culture).TextInfo.ToTitleCase($hashmode)) Mode" + Write-Host 'Found: ' -ForegroundColor DarkYellow -NoNewline + Write-Host $hash -ForegroundColor Green -NoNewline + Write-Host ' using ' -ForegroundColor DarkYellow -NoNewline + Write-Host "$((Get-Culture).TextInfo.ToTitleCase($hashmode)) Mode" -ForegroundColor Green return $hash } elseif ($hashfile_url) { - write-host -f DarkYellow "Could not find hash in $hashfile_url" + Write-Host -f DarkYellow "Could not find hash in $hashfile_url" } - write-host -f DarkYellow 'Downloading ' -NoNewline - write-host -f Green $basename -NoNewline - write-host -f DarkYellow ' to compute hashes!' + Write-Host 'Downloading ' -ForegroundColor DarkYellow -NoNewline + Write-Host $basename -ForegroundColor Green -NoNewline + Write-Host ' to compute hashes!' -ForegroundColor DarkYellow try { Invoke-CachedDownload $app $version $url $null $null $true } catch [system.net.webexception] { - write-host -f darkred $_ - write-host -f darkred "URL $url is not valid" + Write-Host $_ -ForegroundColor DarkRed + Write-Host "URL $url is not valid" -ForegroundColor DarkRed return $null } $file = fullpath (cache_path $app $version $url) $hash = (Get-FileHash -Path $file -Algorithm SHA256).Hash.ToLower() - write-host -f DarkYellow 'Computed hash: ' -NoNewline - write-host -f Green $hash + Write-Host 'Computed hash: ' -ForegroundColor DarkYellow -NoNewline + Write-Host $hash -ForegroundColor Green return $hash } @@ -346,7 +351,7 @@ function Update-ManifestProperty { $newValue = substitute $autoupdateProperty $Substitutions if (($autoupdateProperty.GetType().Name -eq 'Object[]') -and ($autoupdateProperty.Length -eq 1)) { # Make sure it's an array - $newValue = ,$newValue + $newValue = , $newValue } $Manifest.$currentProperty, $hasPropertyChanged = PropertyHelper -Property $Manifest.$currentProperty -Value $newValue $hasManifestChanged = $hasManifestChanged -or $hasPropertyChanged @@ -359,7 +364,7 @@ function Update-ManifestProperty { $newValue = substitute $autoupdateProperty $Substitutions if (($autoupdateProperty.GetType().Name -eq 'Object[]') -and ($autoupdateProperty.Length -eq 1)) { # Make sure it's an array - $newValue = ,$newValue + $newValue = , $newValue } $Manifest.architecture.$arch.$currentProperty, $hasPropertyChanged = PropertyHelper -Property $Manifest.architecture.$arch.$currentProperty -Value $newValue $hasManifestChanged = $hasManifestChanged -or $hasPropertyChanged @@ -388,25 +393,25 @@ function Get-VersionSubstitution { $firstPart = $Version.Split('-') | Select-Object -First 1 $lastPart = $Version.Split('-') | Select-Object -Last 1 $versionVariables = @{ - '$version' = $Version; - '$dotVersion' = ($Version -replace '[._-]', '.'); - '$underscoreVersion' = ($Version -replace '[._-]', '_'); - '$dashVersion' = ($Version -replace '[._-]', '-'); - '$cleanVersion' = ($Version -replace '[._-]', ''); - '$majorVersion' = $firstPart.Split('.') | Select-Object -First 1; - '$minorVersion' = $firstPart.Split('.') | Select-Object -Skip 1 -First 1; - '$patchVersion' = $firstPart.Split('.') | Select-Object -Skip 2 -First 1; - '$buildVersion' = $firstPart.Split('.') | Select-Object -Skip 3 -First 1; - '$preReleaseVersion' = $lastPart; - } - if($Version -match "(?\d+\.\d+(?:\.\d+)?)(?.*)") { - $versionVariables.Set_Item('$matchHead', $Matches['head']) - $versionVariables.Set_Item('$matchTail', $Matches['tail']) - } - if($CustomMatches) { + '$version' = $Version + '$dotVersion' = ($Version -replace '[._-]', '.') + '$underscoreVersion' = ($Version -replace '[._-]', '_') + '$dashVersion' = ($Version -replace '[._-]', '-') + '$cleanVersion' = ($Version -replace '[._-]', '') + '$majorVersion' = $firstPart.Split('.') | Select-Object -First 1 + '$minorVersion' = $firstPart.Split('.') | Select-Object -Skip 1 -First 1 + '$patchVersion' = $firstPart.Split('.') | Select-Object -Skip 2 -First 1 + '$buildVersion' = $firstPart.Split('.') | Select-Object -Skip 3 -First 1 + '$preReleaseVersion' = $lastPart + } + if ($Version -match '(?\d+\.\d+(?:\.\d+)?)(?.*)') { + $versionVariables.Add('$matchHead', $Matches['head']) + $versionVariables.Add('$matchTail', $Matches['tail']) + } + if ($CustomMatches) { $CustomMatches.GetEnumerator() | ForEach-Object { - if($_.Name -ne "0") { - $versionVariables.Set_Item('$match' + (Get-Culture).TextInfo.ToTitleCase($_.Name), $_.Value) + if ($_.Name -ne '0') { + $versionVariables.Add('$match' + (Get-Culture).TextInfo.ToTitleCase($_.Name), $_.Value) } } } From 257304bbc7bb6d4fee4400cb148167a6cde4fc9e Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Sun, 18 Dec 2022 23:22:41 +0800 Subject: [PATCH 05/75] fix(decompress): Exclude '*.nsis' that may cause error (#5294) --- CHANGELOG.md | 1 + lib/decompress.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9deb3ec1ff..de87c84ec5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### Bug Fixes +- **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) ### Code Refactoring diff --git a/lib/decompress.ps1 b/lib/decompress.ps1 index 91226706d1..785421c1a5 100644 --- a/lib/decompress.ps1 +++ b/lib/decompress.ps1 @@ -29,7 +29,7 @@ function Expand-7zipArchive { } $LogPath = "$(Split-Path $Path)\7zip.log" $DestinationPath = $DestinationPath.TrimEnd('\') - $ArgList = @('x', $Path, "-o$DestinationPath", '-y') + $ArgList = @('x', $Path, "-o$DestinationPath", '-xr!*.nsis', '-y') $IsTar = ((strip_ext $Path) -match '\.tar$') -or ($Path -match '\.t[abgpx]z2?$') if (!$IsTar -and $ExtractDir) { $ArgList += "-ir!$ExtractDir\*" From 68760de1e8c0ca30dd93297d7d3366f285db394a Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Mon, 9 Jan 2023 03:01:40 +0000 Subject: [PATCH 06/75] fix(shortcuts): Output correctly formatted path (#5333) --- CHANGELOG.md | 1 + lib/shortcuts.ps1 | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de87c84ec5..138e330708 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) +- **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) ### Code Refactoring diff --git a/lib/shortcuts.ps1 b/lib/shortcuts.ps1 index e8ddec26bb..edb6357480 100644 --- a/lib/shortcuts.ps1 +++ b/lib/shortcuts.ps1 @@ -5,16 +5,16 @@ function create_startmenu_shortcuts($manifest, $dir, $global, $arch) { $target = [System.IO.Path]::Combine($dir, $_.item(0)) $target = New-Object System.IO.FileInfo($target) $name = $_.item(1) - $arguments = "" + $arguments = '' $icon = $null - if($_.length -ge 3) { + if ($_.length -ge 3) { $arguments = $_.item(2) } - if($_.length -ge 4) { + if ($_.length -ge 4) { $icon = [System.IO.Path]::Combine($dir, $_.item(3)) $icon = New-Object System.IO.FileInfo($icon) } - $arguments = (substitute $arguments @{ '$dir' = $dir; '$original_dir' = $original_dir; '$persist_dir' = $persist_dir}) + $arguments = (substitute $arguments @{ '$dir' = $dir; '$original_dir' = $original_dir; '$persist_dir' = $persist_dir }) startmenu_shortcut $target $name $arguments $icon $global } } @@ -29,11 +29,11 @@ function shortcut_folder($global) { } function startmenu_shortcut([System.IO.FileInfo] $target, $shortcutName, $arguments, [System.IO.FileInfo]$icon, $global) { - if(!$target.Exists) { + if (!$target.Exists) { Write-Host -f DarkRed "Creating shortcut for $shortcutName ($(fname $target)) failed: Couldn't find $target" return } - if($icon -and !$icon.Exists) { + if ($icon -and !$icon.Exists) { Write-Host -f DarkRed "Creating shortcut for $shortcutName ($(fname $target)) failed: Couldn't find icon $icon" return } @@ -51,11 +51,11 @@ function startmenu_shortcut([System.IO.FileInfo] $target, $shortcutName, $argume if ($arguments) { $wsShell.Arguments = $arguments } - if($icon -and $icon.Exists) { + if ($icon -and $icon.Exists) { $wsShell.IconLocation = $icon.FullName } $wsShell.Save() - write-host "Creating shortcut for $shortcutName ($(fname $target))" + Write-Host "Creating shortcut for $shortcutName ($(fname $target))" } # Removes the Startmenu shortcut if it exists @@ -63,10 +63,10 @@ function rm_startmenu_shortcuts($manifest, $global, $arch) { $shortcuts = @(arch_specific 'shortcuts' $manifest $arch) $shortcuts | Where-Object { $_ -ne $null } | ForEach-Object { $name = $_.item(1) - $shortcut = "$(shortcut_folder $global)\$name.lnk" - write-host "Removing shortcut $(friendly_path $shortcut)" - if(Test-Path -Path $shortcut) { - Remove-Item $shortcut + $shortcut = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$(shortcut_folder $global)\$name.lnk") + Write-Host "Removing shortcut $(friendly_path $shortcut)" + if (Test-Path -Path $shortcut) { + Remove-Item $shortcut } } } From e2558ace75dd67b45b7027723c5e7b336f01ad94 Mon Sep 17 00:00:00 2001 From: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> Date: Tue, 7 Feb 2023 04:55:54 +0530 Subject: [PATCH 07/75] fix(chore): Handle spaces in git command arguments (#5375) * fix(chore): Handle spaces in git command arguments * changelog * Use splatting --- CHANGELOG.md | 2 +- lib/buckets.ps1 | 2 +- lib/core.ps1 | 15 ++++++--------- libexec/scoop-info.ps1 | 2 +- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 138e330708..f45932ad68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ ### Code Refactoring -- **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) +- **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) ### Tests diff --git a/lib/buckets.ps1 b/lib/buckets.ps1 index 704d51a82b..14e3dbf318 100644 --- a/lib/buckets.ps1 +++ b/lib/buckets.ps1 @@ -100,7 +100,7 @@ function list_buckets { $path = Find-BucketDirectory $_ -Root if ((Test-Path (Join-Path $path '.git')) -and (Get-Command git -ErrorAction SilentlyContinue)) { $bucket.Source = Invoke-Git -Path $path -ArgumentList @('config', 'remote.origin.url') - $bucket.Updated = Invoke-Git -Path $path -ArgumentList @('log', "--format='%aD'", '-n', '1') + $bucket.Updated = Invoke-Git -Path $path -ArgumentList @('log', '--format=%aD', '-n', '1') | Get-Date } else { $bucket.Source = friendly_path $path $bucket.Updated = (Get-Item "$path\bucket").LastWriteTime diff --git a/lib/core.ps1 b/lib/core.ps1 index 3d10baf22d..e2a45729e9 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -145,19 +145,16 @@ function Invoke-Git { $proxy = get_config PROXY $git = Get-HelperPath -Helper Git - $arguments = $ArgumentList -join ' ' - $cmd = "`"$git`" $arguments" if ($WorkingDirectory) { - $cmd = "`"$git`" -C `"$WorkingDirectory`" $arguments" + $ArgumentList = @('-C', $WorkingDirectory) + $ArgumentList } - $sb = [scriptblock]::Create("& $cmd") if([String]::IsNullOrEmpty($proxy) -or $proxy -eq 'none') { - return Invoke-Command $sb + return & $git @ArgumentList } - if($arguments -Match '\b(clone|checkout|pull|fetch|ls-remote)\b') { + if($ArgumentList -Match '\b(clone|checkout|pull|fetch|ls-remote)\b') { $old_https = $env:HTTPS_PROXY $old_http = $env:HTTP_PROXY try { @@ -167,7 +164,7 @@ function Invoke-Git { } $env:HTTPS_PROXY = $proxy $env:HTTP_PROXY = $proxy - return Invoke-Command $sb + return & $git @ArgumentList } catch { error $_ @@ -179,7 +176,7 @@ function Invoke-Git { } } - return Invoke-Command $sb + return & $git @ArgumentList } function Invoke-GitLog { @@ -198,7 +195,7 @@ function Invoke-GitLog { } $Name = "%Cgreen$($Name.PadRight(12, ' ').Substring(0, 12))%Creset " } - Invoke-Git -Path $Path -ArgumentList @('--no-pager', 'log', '--color', '--no-decorate', "--grep='^(chore)'", '--invert-grep', '--abbrev=12', "--format='tformat: * %C(yellow)%h%Creset %<|(72,trunc)%s $Name%C(cyan)%cr%Creset'", "$CommitHash..HEAD") + Invoke-Git -Path $Path -ArgumentList @('--no-pager', 'log', '--color', '--no-decorate', "--grep='^(chore)'", '--invert-grep', '--abbrev=12', "--format=tformat: * %C(yellow)%h%Creset %<|(72,trunc)%s $Name%C(cyan)%cr%Creset", "$CommitHash..HEAD") } } diff --git a/libexec/scoop-info.ps1 b/libexec/scoop-info.ps1 index 74e2530c36..625a3c6463 100644 --- a/libexec/scoop-info.ps1 +++ b/libexec/scoop-info.ps1 @@ -84,7 +84,7 @@ if ($manifest.depends) { if (Test-Path $manifest_file) { if (Get-Command git -ErrorAction Ignore) { - $gitinfo = (Invoke-Git -Path (Split-Path $manifest_file) -ArgumentList @('log', '-1', '-s', "--format='%aD#%an'", $manifest_file) 2> $null) -Split '#' + $gitinfo = (Invoke-Git -Path (Split-Path $manifest_file) -ArgumentList @('log', '-1', '-s', '--format=%aD#%an', $manifest_file) 2> $null) -Split '#' } if ($gitinfo) { $item.'Updated at' = $gitinfo[0] | Get-Date From 54e3613fca328a1dd22390fb9984b0cd839ab9cb Mon Sep 17 00:00:00 2001 From: Ross Smith II Date: Sat, 18 Feb 2023 06:50:08 -0800 Subject: [PATCH 08/75] ci(dependabot): Add dependabot.yml for GitHub Actions (#5377) --- .github/dependabot.yml | 8 ++++++++ CHANGELOG.md | 4 ++++ 2 files changed, 12 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..91df8eba1f --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +--- +# ~/.github/dependabot.yml +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" # == /.github/workflows/ + schedule: + interval: "daily" diff --git a/CHANGELOG.md b/CHANGELOG.md index f45932ad68..a26150e727 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) +### Continuous Integration + +- **dependabot:** Add dependabot.yml for GitHub Actions ([#5377](https://github.com/ScoopInstaller/Scoop/pull/5377)) + ### Tests - **bucket:** Skip manifest validation if no manifest changes ([#5270](https://github.com/ScoopInstaller/Scoop/issues/5270)) From 1d0bd434abe93b3f471744e3816bdc919f5428d2 Mon Sep 17 00:00:00 2001 From: Ercolino Date: Sun, 19 Feb 2023 10:19:01 +0100 Subject: [PATCH 09/75] builds(checkver): Read the private_host config variable (#5381) --- CHANGELOG.md | 4 ++++ bin/checkver.ps1 | 24 +++++++++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a26150e727..73ad1d56b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) +### Builds + +- **checkver:** Read the private_host config variable ([#5381](https://github.com/ScoopInstaller/Scoop/issues/5381)) + ### Continuous Integration - **dependabot:** Add dependabot.yml for GitHub Actions ([#5377](https://github.com/ScoopInstaller/Scoop/pull/5377)) diff --git a/bin/checkver.ps1 b/bin/checkver.ps1 index 56b8c8c987..e740208d99 100644 --- a/bin/checkver.ps1 +++ b/bin/checkver.ps1 @@ -226,15 +226,21 @@ $Queue | ForEach-Object { $url = substitute $url $substitutions $state = New-Object psobject @{ - app = $name; - file = $file; - url = $url; - regex = $regex; - json = $json; - jsonpath = $jsonpath; - xpath = $xpath; - reverse = $reverse; - replace = $replace; + app = $name + file = $file + url = $url + regex = $regex + json = $json + jsonpath = $jsonpath + xpath = $xpath + reverse = $reverse + replace = $replace + } + + get_config PRIVATE_HOSTS | Where-Object { $_ -ne $null -and $url -match $_.match } | ForEach-Object { + (ConvertFrom-StringData -StringData $_.Headers).GetEnumerator() | ForEach-Object { + $wc.Headers[$_.Key] = $_.Value + } } $wc.Headers.Add('Referer', (strip_filename $url)) From 32ca856f6393da23abf22dffa3c6564353f113db Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Sun, 19 Feb 2023 23:56:53 +0800 Subject: [PATCH 10/75] fix(core): Fix `is_in_dir` under Unix (#5391) --- CHANGELOG.md | 1 + lib/install.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73ad1d56b6..25f8a0736a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) - **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) +- **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) ### Code Refactoring diff --git a/lib/install.ps1 b/lib/install.ps1 index cdbfdf1a79..5b52704114 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -632,7 +632,7 @@ function cookie_header($cookies) { function is_in_dir($dir, $check) { $check = "$(fullpath $check)" $dir = "$(fullpath $dir)" - $check -match "^$([regex]::escape("$dir"))(\\|`$)" + $check -match "^$([regex]::Escape("$dir"))([/\\]|`$)" } function ftp_file_size($url) { From 7c6aeb240ee8f6a1fe799bfa9cc97d6de131c56a Mon Sep 17 00:00:00 2001 From: Jeppe Frandsen Date: Sat, 25 Feb 2023 09:30:37 +0100 Subject: [PATCH 11/75] fix(install): Fix downloading release assets from private GitHub repositories (#5361) Fix download from private GitHub repos --- CHANGELOG.md | 1 + lib/install.ps1 | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25f8a0736a..f7d20c67c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) - **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) +- **install:** Fix download from private GitHub repositories ([#5357](https://github.com/ScoopInstaller/Scoop/issues/5357)) ### Code Refactoring diff --git a/lib/install.ps1 b/lib/install.ps1 index 5b52704114..384c2e38b7 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -365,7 +365,8 @@ function Invoke-Download ($url, $to, $cookies, $progress) { } if ($url -match 'api\.github\.com/repos') { $wreq.Accept = 'application/octet-stream' - $wreq.Headers['Authorization'] = "token $(Get-GitHubToken)" + $wreq.Headers['Authorization'] = "Bearer $(Get-GitHubToken)" + $wreq.Headers['X-GitHub-Api-Version'] = "2022-11-28" } if ($cookies) { $wreq.Headers.Add('Cookie', (cookie_header $cookies)) From c44e2147435a4394f539489872b2029b4fe1268f Mon Sep 17 00:00:00 2001 From: Chawye Hsu Date: Sat, 25 Feb 2023 20:22:56 +0800 Subject: [PATCH 12/75] feat(config): Support portable config file (#5369) --- CHANGELOG.md | 1 + lib/core.ps1 | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7d20c67c9..aadb4f1b39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Features - **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) +- **config:** Support portable config file ([#5369](https://github.com/ScoopInstaller/Scoop/issues/5369)) ### Bug Fixes diff --git a/lib/core.ps1 b/lib/core.ps1 index e2a45729e9..7ce39fc62d 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -1297,6 +1297,29 @@ Optimize-SecurityProtocol # Load Scoop config $configHome = $env:XDG_CONFIG_HOME, "$env:USERPROFILE\.config" | Select-Object -First 1 $configFile = "$configHome\scoop\config.json" +# Check if it's the expected install path for scoop: /apps/scoop/current +$coreRoot = Split-Path $PSScriptRoot +$pathExpected = ($coreRoot -replace '\\','/') -like '*apps/scoop/current*' +if ($pathExpected) { + # Portable config is located in root directory: + # .\current\scoop\apps\\config.json <- a reversed path + # Imagine `/apps/scoop/current/` in a reversed format, + # and the directory tree: + # + # ``` + # : + # ├─apps + # ├─buckets + # ├─cache + # ├─persist + # ├─shims + # ├─config.json + # ``` + $configPortablePath = fullpath "$coreRoot\..\..\..\config.json" + if (Test-Path $configPortablePath) { + $configFile = $configPortablePath + } +} $scoopConfig = load_cfg $configFile # NOTE Scoop config file migration. Remove this after 2023/6/30 From 0a39de86e2900f2e2bf3ddae1390a57b7d2c894f Mon Sep 17 00:00:00 2001 From: 0x574859 Date: Sat, 25 Feb 2023 20:38:09 +0800 Subject: [PATCH 13/75] fix(env): Avoid automatic expansion of `%%` in env (#5395) Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 3 ++- lib/core.ps1 | 27 +++++++++++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aadb4f1b39..27f66c4e57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,8 @@ - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) - **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) -- **install:** Fix download from private GitHub repositories ([#5357](https://github.com/ScoopInstaller/Scoop/issues/5357)) +- **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) +- **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) ### Code Refactoring diff --git a/lib/core.ps1 b/lib/core.ps1 index 7ce39fc62d..68ad7a3e9e 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -662,10 +662,29 @@ function Invoke-ExternalCommand { return $true } -function env($name,$global,$val='__get') { - $target = 'User'; if($global) {$target = 'Machine'} - if($val -eq '__get') { [environment]::getEnvironmentVariable($name,$target) } - else { [environment]::setEnvironmentVariable($name,$val,$target) } +function env($name, $global, $val = '__get') { + $RegisterKey = if ($global) { + Get-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' + } else { + Get-Item -Path 'HKCU:' + } + $EnvRegisterKey = $RegisterKey.OpenSubKey('Environment', $val -ne '__get') + + if ($val -eq '__get') { + $RegistryValueOption = [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames + $EnvRegisterKey.GetValue($name, $null, $RegistryValueOption) + } elseif ($val -eq $null) { + $EnvRegisterKey.DeleteValue($name) + } else { + $RegistryValueKind = if ($val.Contains('%')) { + [Microsoft.Win32.RegistryValueKind]::ExpandString + } elseif ($EnvRegisterKey.GetValue($name)) { + $EnvRegisterKey.GetValueKind($name) + } else { + [Microsoft.Win32.RegistryValueKind]::String + } + $EnvRegisterKey.SetValue($name, $val, $RegistryValueKind) + } } function isFileLocked([string]$path) { From 3f11454a3c796c4bbedec392c80567ff952633c5 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Sun, 26 Feb 2023 14:31:38 +0800 Subject: [PATCH 14/75] fix(core): Fix scripts' calling parameters (#5365) --- CHANGELOG.md | 1 + lib/install.ps1 | 9 +++++++-- libexec/scoop-import.ps1 | 23 +++++++++++------------ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27f66c4e57..89cb0b71f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) - **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) +- **core:** Fix scripts' calling parameters ([#5365](https://github.com/ScoopInstaller/Scoop/issues/5365)) - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) diff --git a/lib/install.ps1 b/lib/install.ps1 index 384c2e38b7..22b76423ca 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -1067,13 +1067,18 @@ function ensure_none_failed($apps) { foreach ($app in $apps) { $app = ($app -split '/|\\')[-1] -replace '\.json$', '' foreach ($global in $true, $false) { + if ($global) { + $instArgs = @('--global') + } else { + $instArgs = @() + } if (failed $app $global) { if (installed $app $global) { info "Repair previous failed installation of $app." - & "$PSScriptRoot\..\libexec\scoop-reset.ps1" $app$(if ($global) { ' --global' }) + & "$PSScriptRoot\..\libexec\scoop-reset.ps1" $app @instArgs } else { warn "Purging previous failed installation of $app." - & "$PSScriptRoot\..\libexec\scoop-uninstall.ps1" $app$(if ($global) { ' --global' }) + & "$PSScriptRoot\..\libexec\scoop-uninstall.ps1" $app @instArgs } } } diff --git a/libexec/scoop-import.ps1 b/libexec/scoop-import.ps1 index 1221e127bf..383e78578e 100644 --- a/libexec/scoop-import.ps1 +++ b/libexec/scoop-import.ps1 @@ -34,20 +34,19 @@ foreach ($item in $import.buckets) { } foreach ($item in $import.apps) { + $instArgs = @() + $holdArgs = @() $info = $item.Info -Split ', ' - $global = if ('Global install' -in $info) { - ' --global' - } else { - '' + if ('Global install' -in $info) { + $instArgs += '--global' + $holdArgs += '--global' } - $arch = if ('64bit' -in $info -and '64bit' -ne $def_arch) { - ' --arch 64bit' + if ('64bit' -in $info -and '64bit' -ne $def_arch) { + $instArgs += '--arch', '64bit' } elseif ('32bit' -in $info -and '32bit' -ne $def_arch) { - ' --arch 32bit' + $instArgs += '--arch', '32bit' } elseif ('arm64' -in $info -and 'arm64' -ne $def_arch) { - ' --arch arm64' - } else { - '' + $instArgs += '--arch', 'arm64' } $app = if ($item.Source -in $bucket_names) { @@ -58,9 +57,9 @@ foreach ($item in $import.apps) { $item.Source } - & "$PSScriptRoot\scoop-install.ps1" $app$global$arch + & "$PSScriptRoot\scoop-install.ps1" $app @instArgs if ('Held package' -in $info) { - & "$PSScriptRoot\scoop-hold.ps1" $($item.Name)$global + & "$PSScriptRoot\scoop-hold.ps1" $item.Name @holdArgs } } From c00dd42cae224cba339f40a5abda4ad6c7ca9020 Mon Sep 17 00:00:00 2001 From: Valinor Date: Sun, 26 Feb 2023 07:32:16 +0100 Subject: [PATCH 15/75] fix(getopt): Stop split arguments in `getopt()` and ensure array by explicit arguments type (#5326) Co-authored-by: Hsiao-nan Cheung --- CHANGELOG.md | 1 + lib/getopt.ps1 | 7 +------ test/Scoop-GetOpts.Tests.ps1 | 6 ++++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89cb0b71f6..ec4d91723b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) +- **getopt:** Stop split arguments in `getopt()` and ensure array by explicit arguments type ([#5326](https://github.com/ScoopInstaller/Scoop/issues/5326)) - **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) - **core:** Fix scripts' calling parameters ([#5365](https://github.com/ScoopInstaller/Scoop/issues/5365)) - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) diff --git a/lib/getopt.ps1 b/lib/getopt.ps1 index 74ffae7c52..2de3ac6c0a 100644 --- a/lib/getopt.ps1 +++ b/lib/getopt.ps1 @@ -13,7 +13,7 @@ # following arguments are treated as non-option arguments, even if # they begin with a hyphen. The "--" itself will not be included in # the returned $opts. (POSIX-compatible) -function getopt($argv, $shortopts, $longopts) { +function getopt([String[]]$argv, [String]$shortopts, [String[]]$longopts) { $opts = @{}; $rem = @() function err($msg) { @@ -24,10 +24,6 @@ function getopt($argv, $shortopts, $longopts) { return [Regex]::Escape($str) } - # ensure these are arrays - $argv = @($argv -split ' ') - $longopts = @($longopts) - for ($i = 0; $i -lt $argv.Length; $i++) { $arg = $argv[$i] if ($null -eq $arg) { continue } @@ -81,6 +77,5 @@ function getopt($argv, $shortopts, $longopts) { $rem += $arg } } - $opts, $rem } diff --git a/test/Scoop-GetOpts.Tests.ps1 b/test/Scoop-GetOpts.Tests.ps1 index ef4d56a950..c55781ecbf 100644 --- a/test/Scoop-GetOpts.Tests.ps1 +++ b/test/Scoop-GetOpts.Tests.ps1 @@ -17,6 +17,12 @@ Describe 'getopt' -Tag 'Scoop' { $err | Should -Be 'Option --arb requires an argument.' } + It 'handle space in quote' { + $opt, $rem, $err = getopt '-x', 'space arg' 'x:' '' + $err | Should -BeNullOrEmpty + $opt.x | Should -Be 'space arg' + } + It 'handle unrecognized short option' { $null, $null, $err = getopt '-az' 'a' '' $err | Should -Be 'Option -z not recognized.' From 8acfeeefcf0f5280922a12e79993a24ba615d1f4 Mon Sep 17 00:00:00 2001 From: Stephen Albert-Moore Date: Sun, 26 Feb 2023 14:19:54 -0500 Subject: [PATCH 16/75] fix(scoop-info) --verbose file size collection (#5352) --- CHANGELOG.md | 1 + libexec/scoop-info.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ec4d91723b..8d856f9e18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) +- **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) ### Code Refactoring diff --git a/libexec/scoop-info.ps1 b/libexec/scoop-info.ps1 index 625a3c6463..675611435d 100644 --- a/libexec/scoop-info.ps1 +++ b/libexec/scoop-info.ps1 @@ -112,7 +112,7 @@ if ($status.installed) { # Collect file list from each location $appFiles = Get-ChildItem $appsdir -Filter $app - $currentFiles = Get-ChildItem $appFiles -Filter (Select-CurrentVersion $app $global) + $currentFiles = Get-ChildItem $appFiles.FullName -Filter (Select-CurrentVersion $app $global) $persistFiles = Get-ChildItem $persist_dir -ErrorAction Ignore # Will fail if app does not persist data $cacheFiles = Get-ChildItem $cachedir -Filter "$app#*" @@ -120,7 +120,7 @@ if ($status.installed) { $fileTotals = @() foreach ($fileType in ($appFiles, $currentFiles, $persistFiles, $cacheFiles)) { if ($null -ne $fileType) { - $fileSum = (Get-ChildItem $fileType -Recurse | Measure-Object -Property Length -Sum).Sum + $fileSum = (Get-ChildItem $fileType.FullName -Recurse -File | Measure-Object -Property Length -Sum).Sum $fileTotals += coalesce $fileSum 0 } else { $fileTotals += 0 From 7826d6fe2d47979043226f19add96f936aad965b Mon Sep 17 00:00:00 2001 From: Richard Kuhnt Date: Mon, 27 Feb 2023 20:11:40 +0100 Subject: [PATCH 17/75] perf(decompress): disable progress bar to improve Expand-Archive performance (#5410) See: https://github.com/ScoopInstaller/Install/pull/42 --------- Co-authored-by: Hsiao-nan Cheung --- CHANGELOG.md | 4 ++++ lib/decompress.ps1 | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d856f9e18..d7089a089b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) +### Performance Improvements + +- **decompress:** Disable progress bar to improve `Expand-Archive` performance ([#5410](https://github.com/ScoopInstaller/Scoop/issues/5410)) + ### Code Refactoring - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) diff --git a/lib/decompress.ps1 b/lib/decompress.ps1 index 785421c1a5..bdee90d620 100644 --- a/lib/decompress.ps1 +++ b/lib/decompress.ps1 @@ -241,8 +241,14 @@ function Expand-ZipArchive { $OriDestinationPath = $DestinationPath $DestinationPath = "$DestinationPath\_tmp" } + # Disable progress bar to gain performance + $oldProgressPreference = $ProgressPreference + $global:ProgressPreference = 'SilentlyContinue' + # Compatible with Pscx v3 (https://github.com/Pscx/Pscx) ('Microsoft.PowerShell.Archive' is not needed for Pscx v4) Microsoft.PowerShell.Archive\Expand-Archive -Path $Path -DestinationPath $DestinationPath -Force + + $global:ProgressPreference = $oldProgressPreference if ($ExtractDir) { movedir "$DestinationPath\$ExtractDir" $OriDestinationPath | Out-Null Remove-Item $DestinationPath -Recurse -Force From 559c6f9e64912ae341dad29997d59564e08c9e40 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Fri, 10 Mar 2023 17:24:41 +0800 Subject: [PATCH 18/75] feat(bucket): Make official buckets higher priority (#5398) --- CHANGELOG.md | 1 + lib/buckets.ps1 | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7089a089b..a654e28164 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) - **config:** Support portable config file ([#5369](https://github.com/ScoopInstaller/Scoop/issues/5369)) +- **bucket:** Make official buckets higher priority ([#5398](https://github.com/ScoopInstaller/Scoop/issues/5398)) ### Bug Fixes diff --git a/lib/buckets.ps1 b/lib/buckets.ps1 index 14e3dbf318..9219f9c1a1 100644 --- a/lib/buckets.ps1 +++ b/lib/buckets.ps1 @@ -58,10 +58,18 @@ function Get-LocalBucket { .SYNOPSIS List all local buckets. #> - $bucketNames = (Get-ChildItem -Path $bucketsdir -Directory).Name + $bucketNames = [System.Collections.Generic.List[String]](Get-ChildItem -Path $bucketsdir -Directory).Name if ($null -eq $bucketNames) { return @() # Return a zero-length list instead of $null. } else { + $knownBuckets = known_buckets + for ($i = $knownBuckets.Count - 1; $i -ge 0 ; $i--) { + $name = $knownBuckets[$i] + if ($bucketNames.Contains($name)) { + [void]$bucketNames.Remove($name) + $bucketNames.Insert(0, $name) + } + } return $bucketNames } } From 41620bb169d161a6b99443e18cf2069226e60bdc Mon Sep 17 00:00:00 2001 From: "L. Yeung" Date: Sat, 11 Mar 2023 21:39:45 +0800 Subject: [PATCH 19/75] feat(core): Add `-Silent` switch for `Invoke-ExternalCommand` (#5346) --- CHANGELOG.md | 1 + lib/core.ps1 | 51 +++++++++++++++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a654e28164..b4c7526022 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) - **config:** Support portable config file ([#5369](https://github.com/ScoopInstaller/Scoop/issues/5369)) - **bucket:** Make official buckets higher priority ([#5398](https://github.com/ScoopInstaller/Scoop/issues/5398)) +- **core:** Add `-Quiet` switch for `Invoke-ExternalCommand` ([#5346](https://github.com/ScoopInstaller/Scoop/issues/5346)) ### Bug Fixes diff --git a/lib/core.ps1 b/lib/core.ps1 index 68ad7a3e9e..7b1cbf0e02 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -568,6 +568,9 @@ function Invoke-ExternalCommand { [Parameter(ParameterSetName = "UseShellExecute")] [Switch] $RunAs, + [Parameter(ParameterSetName = "UseShellExecute")] + [Switch] + $Quiet, [Alias("Msg")] [String] $Activity, @@ -597,29 +600,33 @@ function Invoke-ExternalCommand { if ($RunAs) { $Process.StartInfo.UseShellExecute = $true $Process.StartInfo.Verb = 'RunAs' - } else { - $Process.StartInfo.CreateNoWindow = $true - } - if ($FilePath -match '^((cmd|cscript|wscript|msiexec)(\.exe)?|.*\.(bat|cmd|js|vbs|wsf))$') { - $Process.StartInfo.Arguments = $ArgumentList -join ' ' - } elseif ($Process.StartInfo.ArgumentList.Add) { - # ArgumentList is supported in PowerShell 6.1 and later (built on .NET Core 2.1+) - # ref-1: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.argumentlist?view=net-6.0 - # ref-2: https://docs.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.2#net-framework-vs-net-core - $ArgumentList | ForEach-Object { $Process.StartInfo.ArgumentList.Add($_) } - } else { - # escape arguments manually in lower versions, refer to https://docs.microsoft.com/en-us/previous-versions/17w5ykft(v=vs.85) - $escapedArgs = $ArgumentList | ForEach-Object { - # escape N consecutive backslash(es), which are followed by a double quote, to 2N consecutive ones - $s = $_ -replace '(\\+)"', '$1$1"' - # escape N consecutive backslash(es), which are at the end of the string, to 2N consecutive ones - $s = $s -replace '(\\+)$', '$1$1' - # escape double quotes - $s = $s -replace '"', '\"' - # quote the argument - "`"$s`"" + } + if ($Quiet) { + $Process.StartInfo.UseShellExecute = $true + $Process.StartInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Hidden + } + if ($ArgumentList.Length -gt 0) { + if ($FilePath -match '^((cmd|cscript|wscript|msiexec)(\.exe)?|.*\.(bat|cmd|js|vbs|wsf))$') { + $Process.StartInfo.Arguments = $ArgumentList -join ' ' + } elseif ($Process.StartInfo.ArgumentList.Add) { + # ArgumentList is supported in PowerShell 6.1 and later (built on .NET Core 2.1+) + # ref-1: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.argumentlist?view=net-6.0 + # ref-2: https://docs.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.2#net-framework-vs-net-core + $ArgumentList | ForEach-Object { $Process.StartInfo.ArgumentList.Add($_) } + } else { + # escape arguments manually in lower versions, refer to https://docs.microsoft.com/en-us/previous-versions/17w5ykft(v=vs.85) + $escapedArgs = $ArgumentList | ForEach-Object { + # escape N consecutive backslash(es), which are followed by a double quote, to 2N consecutive ones + $s = $_ -replace '(\\+)"', '$1$1"' + # escape N consecutive backslash(es), which are at the end of the string, to 2N consecutive ones + $s = $s -replace '(\\+)$', '$1$1' + # escape double quotes + $s = $s -replace '"', '\"' + # quote the argument + "`"$s`"" + } + $Process.StartInfo.Arguments = $escapedArgs -join ' ' } - $Process.StartInfo.Arguments = $escapedArgs -join ' ' } try { [void]$Process.Start() From ad0f6178d05192497c07aef55d4f3aff7516b982 Mon Sep 17 00:00:00 2001 From: Ross Smith II Date: Sat, 11 Mar 2023 05:42:14 -0800 Subject: [PATCH 20/75] feat(bucket): Switch nirsoft bucket to ScoopInstaller/Nirsoft (#5328) --- CHANGELOG.md | 1 + README.md | 6 +++--- buckets.json | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4c7526022..15ad64f07e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Features - **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) +- **bucket:** Switch nirsoft bucket to ScoopInstaller/Nirsoft ([#5328](https://github.com/ScoopInstaller/Scoop/issues/5328)) - **config:** Support portable config file ([#5369](https://github.com/ScoopInstaller/Scoop/issues/5369)) - **bucket:** Make official buckets higher priority ([#5398](https://github.com/ScoopInstaller/Scoop/issues/5398)) - **core:** Add `-Quiet` switch for `Invoke-ExternalCommand` ([#5346](https://github.com/ScoopInstaller/Scoop/issues/5346)) diff --git a/README.md b/README.md index 9895584498..b1aae3249f 100644 --- a/README.md +++ b/README.md @@ -119,10 +119,10 @@ The following buckets are known to scoop: - [extras](https://github.com/ScoopInstaller/Extras) - Apps that don't fit the main bucket's [criteria](https://github.com/ScoopInstaller/Scoop/wiki/Criteria-for-including-apps-in-the-main-bucket) - [games](https://github.com/Calinou/scoop-games) - Open source/freeware games and game-related tools - [nerd-fonts](https://github.com/matthewjberger/scoop-nerd-fonts) - Nerd Fonts -- [nirsoft](https://github.com/kodybrown/scoop-nirsoft) - Almost all of the [250+](https://rasa.github.io/scoop-directory/by-apps#kodybrown_scoop-nirsoft) apps from [Nirsoft](https://nirsoft.net) -- [sysinternals](https://github.com/niheaven/scoop-sysinternals) - Sysinternals Suite and all individual application from [Microsoft](https://learn.microsoft.com/sysinternals/) +- [nirsoft](https://github.com/ScoopInstaller/Nirsoft) - Almost all of the 280+ apps from [Nirsoft](https://nirsoft.net) +- [sysinternals](https://github.com/niheaven/scoop-sysinternals) - Sysinternals Suite and all individual applications from [Microsoft](https://learn.microsoft.com/sysinternals/) - [java](https://github.com/ScoopInstaller/Java) - A collection of Java development kits (JDKs), Java runtime engines (JREs), Java's virtual machine debugging tools and Java based runtime engines. -- [nonportable](https://github.com/ScoopInstaller/Nonportable) - Non-portable apps (may require UAC) +- [nonportable](https://github.com/ScoopInstaller/Nonportable) - Non-portable apps (may require UAC/Administrator rights) - [php](https://github.com/ScoopInstaller/PHP) - Installers for most versions of PHP - [versions](https://github.com/ScoopInstaller/Versions) - Alternative versions of apps found in other buckets diff --git a/buckets.json b/buckets.json index b192cac40f..6d5b13712c 100644 --- a/buckets.json +++ b/buckets.json @@ -2,7 +2,7 @@ "main": "https://github.com/ScoopInstaller/Main", "extras": "https://github.com/ScoopInstaller/Extras", "versions": "https://github.com/ScoopInstaller/Versions", - "nirsoft": "https://github.com/kodybrown/scoop-nirsoft", + "nirsoft": "https://github.com/ScoopInstaller/Nirsoft", "sysinternals": "https://github.com/niheaven/scoop-sysinternals", "php": "https://github.com/ScoopInstaller/PHP", "nerd-fonts": "https://github.com/matthewjberger/scoop-nerd-fonts", From a20bb4f1a60514151b1e853c5b002143a7068733 Mon Sep 17 00:00:00 2001 From: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> Date: Thu, 16 Mar 2023 20:09:18 +0530 Subject: [PATCH 21/75] fix(shim): Use bash executable directly (#5433) * fix(shim): Use bash executable directly * Update CHANGELOG.md --- CHANGELOG.md | 1 + lib/core.ps1 | 12 +----------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15ad64f07e..73b1a5ee36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) +- **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) ### Performance Improvements diff --git a/lib/core.ps1 b/lib/core.ps1 index 7b1cbf0e02..4dee038405 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -905,19 +905,9 @@ function shim($path, $global, $name, $arg) { ) -join "`n" | Out-UTF8File $shim -NoNewLine } else { warn_on_overwrite "$shim.cmd" $path - # find path to Git's bash so that batch scripts can run bash scripts - if (!(Get-CommandPath git)) { - error "Can't shim '$shim': 'git' is needed but not installed." - error "Please install git ('scoop install git') and try again." - exit 1 - } - $gitdir = (Get-Item (Get-CommandPath git) -ErrorAction:Stop).Directory.Parent - if ($gitdir.FullName -imatch 'mingw') { - $gitdir = $gitdir.Parent - } @( "@rem $resolved_path", - "@`"$(Join-Path (Join-Path $gitdir.FullName 'bin') 'bash.exe')`" `"$resolved_path`" $arg %*" + "@bash `"$resolved_path`" $arg %*" ) -join "`r`n" | Out-UTF8File "$shim.cmd" warn_on_overwrite $shim $path From 2accaae5d1642562ec4e6ca6e485857b8b1d331a Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Mon, 20 Mar 2023 22:44:55 +0800 Subject: [PATCH 22/75] fix(core): Rewrite config file when needed (#5439) --- CHANGELOG.md | 1 + lib/core.ps1 | 9 ++------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73b1a5ee36..9aa5875c5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) - **core:** Fix scripts' calling parameters ([#5365](https://github.com/ScoopInstaller/Scoop/issues/5365)) - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) +- **core:** Rewrite config file when needed ([#5439](https://github.com/ScoopInstaller/Scoop/issues/5439)) - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) diff --git a/lib/core.ps1 b/lib/core.ps1 index 4dee038405..c3d04273a6 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -1339,7 +1339,7 @@ if ($pathExpected) { $scoopConfig = load_cfg $configFile # NOTE Scoop config file migration. Remove this after 2023/6/30 -if ($scoopConfig) { +if ($scoopConfig -and $scoopConfig.PSObject.Properties.Name -contains 'lastUpdate') { $newConfigNames = @{ 'lastUpdate' = 'last_update' 'SCOOP_REPO' = 'scoop_repo' @@ -1357,14 +1357,9 @@ if ($scoopConfig) { $value = $scoopConfig.$($_.Key) $scoopConfig.PSObject.Properties.Remove($_.Key) $scoopConfig | Add-Member -MemberType NoteProperty -Name $_.Value -Value $value - if ($_.Key -eq 'lastUpdate') { - $scoopConfigChg = $true - } } } - if ($scoopConfigChg) { # Only save config file if there was a change - ConvertTo-Json $scoopConfig | Out-UTF8File -FilePath $configFile - } + ConvertTo-Json $scoopConfig | Out-UTF8File -FilePath $configFile } # END NOTE From 682a1e2c07e9d47b5c1bba9900a73abfb35e7440 Mon Sep 17 00:00:00 2001 From: Richard Kuhnt Date: Mon, 20 Mar 2023 16:52:41 +0100 Subject: [PATCH 23/75] fix(git): set HTTP(S)_PROXY only in process scope to prevent race condition (#5436) --- CHANGELOG.md | 1 + lib/core.ps1 | 19 ++++++------------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9aa5875c5c..03f8c797f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - **core:** Fix scripts' calling parameters ([#5365](https://github.com/ScoopInstaller/Scoop/issues/5365)) - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) - **core:** Rewrite config file when needed ([#5439](https://github.com/ScoopInstaller/Scoop/issues/5439)) +- **core:** Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution ([#5436](https://github.com/ScoopInstaller/Scoop/pull/5436)) - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) diff --git a/lib/core.ps1 b/lib/core.ps1 index c3d04273a6..a61f793072 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -155,25 +155,18 @@ function Invoke-Git { } if($ArgumentList -Match '\b(clone|checkout|pull|fetch|ls-remote)\b') { - $old_https = $env:HTTPS_PROXY - $old_http = $env:HTTP_PROXY - try { + $j = Start-Job -ScriptBlock { # convert proxy setting for git - if ($proxy.StartsWith('currentuser@')) { + $proxy = $using:proxy + if ($proxy -and $proxy.StartsWith('currentuser@')) { $proxy = $proxy.Replace('currentuser@', ':@') } $env:HTTPS_PROXY = $proxy $env:HTTP_PROXY = $proxy - return & $git @ArgumentList - } - catch { - error $_ - return - } - finally { - $env:HTTPS_PROXY = $old_https - $env:HTTP_PROXY = $old_http + & $using:git @using:ArgumentList } + $o = $j | Receive-Job -Wait -AutoRemoveJob + return $o } return & $git @ArgumentList From cddc52e03b4151700594f2cd179eecfa515f33e6 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Mon, 27 Mar 2023 14:37:10 +0800 Subject: [PATCH 24/75] docs(scoop-info): Fix help message (#5445) --- CHANGELOG.md | 4 ++++ libexec/scoop-info.ps1 | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03f8c797f3..be4ac97a7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,10 @@ - **bucket:** Skip manifest validation if no manifest changes ([#5270](https://github.com/ScoopInstaller/Scoop/issues/5270)) +### Documentation + +- **scoop-info:** Fix help message([#5445](https://github.com/ScoopInstaller/Scoop/issues/5445)) + ## [v0.3.1](https://github.com/ScoopInstaller/Scoop/compare/v0.3.0...v0.3.1) - 2022-11-15 ### Features diff --git a/libexec/scoop-info.ps1 b/libexec/scoop-info.ps1 index 675611435d..3cf58e4118 100644 --- a/libexec/scoop-info.ps1 +++ b/libexec/scoop-info.ps1 @@ -1,7 +1,7 @@ -# Usage: scoop info [--verbose] +# Usage: scoop info [options] # Summary: Display information about an app -# Options: -# -v, --verbose Show full paths and URLs +# Help: Options: +# -v, --verbose Show full paths and URLs . "$PSScriptRoot\..\lib\getopt.ps1" . "$PSScriptRoot\..\lib\manifest.ps1" # 'Get-Manifest' From 52059ca1acce6d1151919a4a9906ab456d3df847 Mon Sep 17 00:00:00 2001 From: 0x574859 Date: Fri, 7 Apr 2023 13:05:46 +0800 Subject: [PATCH 25/75] fix(env): Apply env immediately by `SendMessageTimeout` (#5452) --- CHANGELOG.md | 2 +- lib/core.ps1 | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be4ac97a7e..a685eacf3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) - **core:** Rewrite config file when needed ([#5439](https://github.com/ScoopInstaller/Scoop/issues/5439)) - **core:** Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution ([#5436](https://github.com/ScoopInstaller/Scoop/pull/5436)) -- **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) +- **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395), [#5452](https://github.com/ScoopInstaller/Scoop/pull/5452)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) diff --git a/lib/core.ps1 b/lib/core.ps1 index a61f793072..3b66654b97 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -662,6 +662,30 @@ function Invoke-ExternalCommand { return $true } +function Publish-Env { + if (-not ("Win32.NativeMethods" -as [Type])) { + Add-Type -Namespace Win32 -Name NativeMethods -MemberDefinition @" +[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] +public static extern IntPtr SendMessageTimeout( + IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam, + uint fuFlags, uint uTimeout, out UIntPtr lpdwResult); +"@ + } + + $HWND_BROADCAST = [IntPtr] 0xffff; + $WM_SETTINGCHANGE = 0x1a; + $result = [UIntPtr]::Zero + + [Win32.Nativemethods]::SendMessageTimeout($HWND_BROADCAST, + $WM_SETTINGCHANGE, + [UIntPtr]::Zero, + "Environment", + 2, + 5000, + [ref] $result + ) | Out-Null +} + function env($name, $global, $val = '__get') { $RegisterKey = if ($global) { Get-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' @@ -684,6 +708,7 @@ function env($name, $global, $val = '__get') { [Microsoft.Win32.RegistryValueKind]::String } $EnvRegisterKey.SetValue($name, $val, $RegistryValueKind) + Publish-Env } } From 1d140585a4895c533a39b08e17ab615cdbfe323f Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Tue, 30 May 2023 05:46:05 +0000 Subject: [PATCH 26/75] fix(scoop-checkup): Skip defender check in Windows Sandbox (#5519) --- CHANGELOG.md | 1 + libexec/scoop-checkup.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a685eacf3e..0bcc94c162 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) +- **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519]https://github.com/ScoopInstaller/Scoop/issues/5519) ### Performance Improvements diff --git a/libexec/scoop-checkup.ps1 b/libexec/scoop-checkup.ps1 index a775ec3964..6b2ed4760c 100644 --- a/libexec/scoop-checkup.ps1 +++ b/libexec/scoop-checkup.ps1 @@ -10,7 +10,7 @@ $defenderIssues = 0 $adminPrivileges = ([System.Security.Principal.WindowsPrincipal] [System.Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator) -if ($adminPrivileges) { +if ($adminPrivileges -and $env:USERNAME -ne 'WDAGUtilityAccount') { $defenderIssues += !(check_windows_defender $false) $defenderIssues += !(check_windows_defender $true) } From 3dfb4bfd978f2c76e3a3080f62d4628901bcde31 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Thu, 29 Jun 2023 16:18:19 +0000 Subject: [PATCH 27/75] fix(buckets): Avoid error messages for unexpected dir (#5549) --- CHANGELOG.md | 1 + lib/buckets.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bcc94c162..808b9c8ca6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) - **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519]https://github.com/ScoopInstaller/Scoop/issues/5519) +- **buckets:** Avoid error messages for unexpected dir ([#5549]https://github.com/ScoopInstaller/Scoop/issues/5549) ### Performance Improvements diff --git a/lib/buckets.ps1 b/lib/buckets.ps1 index 9219f9c1a1..63f6afc0a7 100644 --- a/lib/buckets.ps1 +++ b/lib/buckets.ps1 @@ -111,7 +111,7 @@ function list_buckets { $bucket.Updated = Invoke-Git -Path $path -ArgumentList @('log', '--format=%aD', '-n', '1') | Get-Date } else { $bucket.Source = friendly_path $path - $bucket.Updated = (Get-Item "$path\bucket").LastWriteTime + $bucket.Updated = (Get-Item "$path\bucket" -ErrorAction SilentlyContinue).LastWriteTime } $bucket.Manifests = Get-ChildItem "$path\bucket" -Force -Recurse -ErrorAction SilentlyContinue | Measure-Object | Select-Object -ExpandProperty Count From efdd6dd7ca603b2f63ae68c50359cd47eb31bf32 Mon Sep 17 00:00:00 2001 From: Bill ZHANG <36790218+Lutra-Fs@users.noreply.github.com> Date: Fri, 11 Aug 2023 23:16:58 +1000 Subject: [PATCH 28/75] docs(CHANGELOG): Add missing brackets for the links (#5596) add missing brackets for the links --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 808b9c8ca6..eba7c57d4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,8 +22,8 @@ - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) -- **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519]https://github.com/ScoopInstaller/Scoop/issues/5519) -- **buckets:** Avoid error messages for unexpected dir ([#5549]https://github.com/ScoopInstaller/Scoop/issues/5549) +- **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) +- **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) ### Performance Improvements From 0b4919ca32a9eb555ae3577d37115257a6ad2fa1 Mon Sep 17 00:00:00 2001 From: Bill ZHANG <36790218+Lutra-Fs@users.noreply.github.com> Date: Mon, 11 Sep 2023 04:58:53 +1000 Subject: [PATCH 29/75] fix(scoop-virustotal): Continue execution when no app but `-a` flag is provided (#5593) * fix(scoop-virustotal): continue exec when no app but -a provided * update CHANGELOG.md * CHANGELOG: fix typo --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + libexec/scoop-virustotal.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eba7c57d4a..ca2ae10ca1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) - **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) +- **scoop-virustotal**: Fix `scoop-virustotal` when `--all' has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) ### Performance Improvements diff --git a/libexec/scoop-virustotal.ps1 b/libexec/scoop-virustotal.ps1 index f22bbbf1c0..30c5e8494b 100644 --- a/libexec/scoop-virustotal.ps1 +++ b/libexec/scoop-virustotal.ps1 @@ -36,7 +36,7 @@ $opt, $apps, $err = getopt $args 'asnup' @('all', 'scan', 'no-depends', 'no-update-scoop', 'passthru') if ($err) { "scoop virustotal: $err"; exit 1 } -if (!$apps) { my_usage; exit 1 } +if (!$apps -and -$all) { my_usage; exit 1 } $architecture = Format-ArchitectureString if (is_scoop_outdated) { From 6a35a22b0b7ac4da58be7d0d983807e5aedf0a72 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Mon, 11 Sep 2023 08:20:07 +0000 Subject: [PATCH 30/75] fix(scoop-checkup): Change the message level of helpers from ERROR to WARN (#5614) * fix(scoop-checkup): Downgrade the message level of helpers from ERROR to WARN * update CHANGELOG --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + libexec/scoop-checkup.ps1 | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca2ae10ca1..be44b989f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ - **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) - **scoop-virustotal**: Fix `scoop-virustotal` when `--all' has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) +- **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) ### Performance Improvements diff --git a/libexec/scoop-checkup.ps1 b/libexec/scoop-checkup.ps1 index 6b2ed4760c..111bd3463b 100644 --- a/libexec/scoop-checkup.ps1 +++ b/libexec/scoop-checkup.ps1 @@ -20,17 +20,17 @@ $issues += !(check_long_paths) $issues += !(Get-WindowsDeveloperModeStatus) if (!(Test-HelperInstalled -Helper 7zip)) { - error "'7-Zip' is not installed! It's required for unpacking most programs. Please Run 'scoop install 7zip' or 'scoop install 7zip-zstd'." + warn "'7-Zip' is not installed! It's required for unpacking most programs. Please Run 'scoop install 7zip' or 'scoop install 7zip-zstd'." $issues++ } if (!(Test-HelperInstalled -Helper Innounp)) { - error "'Inno Setup Unpacker' is not installed! It's required for unpacking InnoSetup files. Please run 'scoop install innounp'." + warn "'Inno Setup Unpacker' is not installed! It's required for unpacking InnoSetup files. Please run 'scoop install innounp'." $issues++ } if (!(Test-HelperInstalled -Helper Dark)) { - error "'dark' is not installed! It's required for unpacking installers created with the WiX Toolset. Please run 'scoop install dark' or 'scoop install wixtoolset'." + warn "'dark' is not installed! It's required for unpacking installers created with the WiX Toolset. Please run 'scoop install dark' or 'scoop install wixtoolset'." $issues++ } From aa09601503391a2eae93bb396873bd1f6a35c4bf Mon Sep 17 00:00:00 2001 From: walpo <68171111+walpox@users.noreply.github.com> Date: Mon, 2 Oct 2023 11:06:06 +0200 Subject: [PATCH 31/75] docs(readme): Improve documentation language (#5638) * readme.md: refactor HTML blocks * readme.md: enhance style and fix typos and more * readme.md: improve composition * Update README.md It seems GitHub does not work well with the 'style' attribute, so the deprecated attribute 'align' cannot be replaced. * readme.md: update writing * Update README.md * Update README.md * Update CHANGELOG.md --------- Co-authored-by: walpo <3212100-walpo@users.noreply.gitlab.com> Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + README.md | 103 +++++++++++++++++++++++++++------------------------ 2 files changed, 55 insertions(+), 49 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be44b989f8..e03c02a22d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ ### Documentation - **scoop-info:** Fix help message([#5445](https://github.com/ScoopInstaller/Scoop/issues/5445)) +- **readme:** Improve documentation language ([#5638](https://github.com/ScoopInstaller/Scoop/issues/5638)) ## [v0.3.1](https://github.com/ScoopInstaller/Scoop/compare/v0.3.0...v0.3.1) - 2022-11-15 diff --git a/README.md b/README.md index b1aae3249f..641c0f6d76 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ -

+

Scoop

+ -

Scoop

-

-Features -| -Installation -| -Documentation + Features + | + Installation + | + Documentation

-- - - -

+--- + +

Code Size @@ -36,43 +36,48 @@ Scoop is a command-line installer for Windows. ## What does Scoop do? -Scoop installs programs from the command line with a minimal amount of friction. It: +Scoop installs apps from the command line with a minimal amount of friction. It: -- Eliminates permission popup windows -- Hides GUI wizard-style installers -- Prevents PATH pollution from installing lots of programs -- Avoids unexpected side-effects from installing and uninstalling programs -- Finds and installs dependencies automatically -- Performs all the extra setup steps itself to get a working program +- Eliminates [User Account Control](https://learn.microsoft.com/windows/security/application-security/application-control/user-account-control/) (UAC) prompt notifications. +- Hides the graphical user interface (GUI) of wizard-style installers. +- Prevents polluting the `PATH` environment variable. Normally, this variable gets cluttered as different apps are installed on the device. +- Avoids unexpected side effects from installing and uninstalling apps. +- Resolves and installs dependencies automatically. +- Performs all the necessary steps to get an app to a working state. -Scoop is very scriptable, so you can run repeatable setups to get your environment just the way you like, e.g.: +Scoop is quite script-friendly. Your environment can become the way you like by using repeatable setups. For example: -```powershell +```console scoop install sudo sudo scoop install 7zip git openssh --global scoop install aria2 curl grep sed less touch scoop install python ruby go perl ``` -If you've built software that you'd like others to use, Scoop is an alternative to building an installer (e.g. MSI or InnoSetup) — you just need to zip your program and provide a JSON manifest that describes how to install it. +If you have built software that you would like others to use, Scoop is an alternative to building an installer (like MSI or InnoSetup). You just need to compress your app to a `.zip` file and provide a JSON manifest that describes how to install it. ## Installation -Run the following command from a **non-admin** PowerShell to install scoop to its default location `C:\Users\\scoop`. +Run the following commands from a regular (non-admin) PowerShell terminal to install Scoop: ```powershell -iwr -useb get.scoop.sh | iex +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression ``` -Advanced installation instruction and full documentation of the installer are available in [ScoopInstaller/Install](https://github.com/ScoopInstaller/Install). Please create new issues there if you have questions about the installation. +**Note**: The first command makes your device allow running the installation and management scripts. This is necessary because Windows 10 client devices restrict execution of any PowerShell scripts by default. -## [Documentation](https://github.com/ScoopInstaller/Scoop/wiki) +It will install Scoop to its default location: + +`C:\Users\\scoop` + +You can find the complete documentation about the installer, including advanced installation configurations, in [ScoopInstaller/Install](https://github.com/ScoopInstaller/Install). Please create new issues there if you have questions about the installation. ## Multi-connection downloads with `aria2` Scoop can utilize [`aria2`](https://github.com/aria2/aria2) to use multi-connection downloads. Simply install `aria2` through Scoop and it will be used for all downloads afterward. -```powershell +```console scoop install aria2 ``` @@ -90,54 +95,54 @@ You can tweak the following `aria2` settings with the `scoop config` command: ## Inspiration -- [Homebrew](http://mxcl.github.io/homebrew/) -- [sub](https://github.com/37signals/sub#readme) +- [Homebrew](https://brew.sh/) +- [Sub](https://signalvnoise.com/posts/3264-automating-with-convention-introducing-sub) ## What sort of apps can Scoop install? -The apps that install best with Scoop are commonly called "portable" apps: i.e. compressed program files that run stand-alone when extracted and don't have side-effects like changing the registry or putting files outside the program directory. - -Since installers are common, Scoop supports them too (and their uninstallers). +The apps that are most likely to get installed fine with Scoop are those referred to as "portable" apps. These apps are compressed files which can run standalone after being extracted. This type of apps does not produce side effects like changing the Windows Registry or placing files outside the app directory. -Scoop is also great at handling single-file programs and Powershell scripts. These don't even need to be compressed. See the [runat](https://github.com/ScoopInstaller/Main/blob/master/bucket/runat.json) package for an example: it's really just a GitHub gist. +Scoop also supports installer files and their uninstallation methods. Likewise, it can handle single-file apps and PowerShell scripts. These do not even need to be compressed. See the [runat](https://github.com/ScoopInstaller/Main/blob/master/bucket/runat.json) package for an example: it is simply a GitHub gist. ### Contribute to this project -If you'd like to improve Scoop by adding features or fixing bugs, please read our [Contributing Guide](https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md). +If you would like to improve Scoop by adding features or fixing bugs, please read our [Contributing Guide](https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md). ### Support this project -If you find Scoop useful and would like to support ongoing development and maintenance, here's how: +If you find Scoop useful and would like to support the ongoing development and maintenance of this project, you can donate here: -- [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DM2SUH9EUXSKJ) (one-time donation) +- [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DM2SUH9EUXSKJ) (one-time donations) ## Known application buckets -The following buckets are known to scoop: +The following buckets are known to Scoop: -- [main](https://github.com/ScoopInstaller/Main) - Default bucket for the most common (mostly CLI) apps -- [extras](https://github.com/ScoopInstaller/Extras) - Apps that don't fit the main bucket's [criteria](https://github.com/ScoopInstaller/Scoop/wiki/Criteria-for-including-apps-in-the-main-bucket) -- [games](https://github.com/Calinou/scoop-games) - Open source/freeware games and game-related tools -- [nerd-fonts](https://github.com/matthewjberger/scoop-nerd-fonts) - Nerd Fonts -- [nirsoft](https://github.com/ScoopInstaller/Nirsoft) - Almost all of the 280+ apps from [Nirsoft](https://nirsoft.net) -- [sysinternals](https://github.com/niheaven/scoop-sysinternals) - Sysinternals Suite and all individual applications from [Microsoft](https://learn.microsoft.com/sysinternals/) -- [java](https://github.com/ScoopInstaller/Java) - A collection of Java development kits (JDKs), Java runtime engines (JREs), Java's virtual machine debugging tools and Java based runtime engines. -- [nonportable](https://github.com/ScoopInstaller/Nonportable) - Non-portable apps (may require UAC/Administrator rights) -- [php](https://github.com/ScoopInstaller/PHP) - Installers for most versions of PHP -- [versions](https://github.com/ScoopInstaller/Versions) - Alternative versions of apps found in other buckets +- [main](https://github.com/ScoopInstaller/Main) - Default bucket which contains popular non-GUI apps. +- [extras](https://github.com/ScoopInstaller/Extras) - Apps that do not fit the main bucket's [criteria](https://github.com/ScoopInstaller/Scoop/wiki/Criteria-for-including-apps-in-the-main-bucket). +- [games](https://github.com/Calinou/scoop-games) - Open-source and freeware video games and game-related tools. +- [nerd-fonts](https://github.com/matthewjberger/scoop-nerd-fonts) - Nerd Fonts. +- [nirsoft](https://github.com/ScoopInstaller/Nirsoft) - A collection of over 250+ apps from [Nirsoft](https://nirsoft.net). +- [sysinternals](https://github.com/niheaven/scoop-sysinternals) - The Sysinternals suite from [Microsoft](https://learn.microsoft.com/sysinternals/). +- [java](https://github.com/ScoopInstaller/Java) - A collection of Java development kits (JDKs) and Java runtime engines (JREs), Java's virtual machine debugging tools and Java based runtime engines. +- [nonportable](https://github.com/ScoopInstaller/Nonportable) - Non-portable apps (may trigger UAC prompts). +- [php](https://github.com/ScoopInstaller/PHP) - Installers for most versions of PHP. +- [versions](https://github.com/ScoopInstaller/Versions) - Alternative versions of apps found in other buckets. -The main bucket is installed by default. To add any of the other buckets, type: +The `main` bucket is installed by default. You can make use of more buckets by typing: ```console -scoop bucket add bucketname +scoop bucket add ``` -For example, to add the extras bucket, type: +For example, to add the `extras` bucket, type: ```console scoop bucket add extras ``` +You would be able to install apps from the `extras` bucket now. + ## Other application buckets -Many other application buckets hosted on Github can be found in the [Scoop Directory](https://rasa.github.io/scoop-directory/) or via [other search engines](https://rasa.github.io/scoop-directory/#other-search-engines). +Many other application buckets hosted on GitHub can be found on [ScoopSearch](https://scoop.sh/) or via [other search engines](https://rasa.github.io/scoop-directory/#other-search-engines). From 43579714cc350fe5beb6820c26cfdd737afa4a61 Mon Sep 17 00:00:00 2001 From: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> Date: Mon, 2 Oct 2023 20:59:50 +0530 Subject: [PATCH 32/75] fix(env): Publish environment change when deleting variable (#5631) * fix(env): Publish environment change when deleting variable * Update CHANGELOG.md --- CHANGELOG.md | 2 +- lib/core.ps1 | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e03c02a22d..c50f808295 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) - **core:** Rewrite config file when needed ([#5439](https://github.com/ScoopInstaller/Scoop/issues/5439)) - **core:** Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution ([#5436](https://github.com/ScoopInstaller/Scoop/pull/5436)) -- **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395), [#5452](https://github.com/ScoopInstaller/Scoop/pull/5452)) +- **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395), [#5452](https://github.com/ScoopInstaller/Scoop/pull/5452), [#5631](https://github.com/ScoopInstaller/Scoop/pull/5631)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) diff --git a/lib/core.ps1 b/lib/core.ps1 index 3b66654b97..9796f8c6c2 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -699,6 +699,7 @@ function env($name, $global, $val = '__get') { $EnvRegisterKey.GetValue($name, $null, $RegistryValueOption) } elseif ($val -eq $null) { $EnvRegisterKey.DeleteValue($name) + Publish-Env } else { $RegistryValueKind = if ($val.Contains('%')) { [Microsoft.Win32.RegistryValueKind]::ExpandString From 353137f0a9aef9a3da31eed62f4554d24af19bf4 Mon Sep 17 00:00:00 2001 From: Sp1d3R <98212676+spider2048@users.noreply.github.com> Date: Tue, 3 Oct 2023 00:09:48 +0530 Subject: [PATCH 33/75] fix(shim): Remove console window for GUI apps (#5559) * Change shim subsystem to prevent console window for GUI apps. * Removed redundant log * Update core.ps1 * Fixes file access rights and the log message * update changelog * Update CHANGELOG.md (PR Number) Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --------- Co-authored-by: Quasar Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + lib/core.ps1 | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c50f808295..0624105c0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Bug Fixes +- **shim:** Remove console window for GUI applications ([#5559](https://github.com/ScoopInstaller/Scoop/issues/5559)) - **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) - **getopt:** Stop split arguments in `getopt()` and ensure array by explicit arguments type ([#5326](https://github.com/ScoopInstaller/Scoop/issues/5326)) diff --git a/lib/core.ps1 b/lib/core.ps1 index 9796f8c6c2..a1d3427182 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -1,3 +1,56 @@ +# Returns the subsystem of the EXE +function Get-Subsystem($filePath) { + try { + $fileStream = [System.IO.FileStream]::new($filePath, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read) + $binaryReader = [System.IO.BinaryReader]::new($fileStream) + } catch { + return -1 # leave the subsystem part silently + } + + try { + $fileStream.Seek(0x3C, [System.IO.SeekOrigin]::Begin) | Out-Null + $peOffset = $binaryReader.ReadInt32() + + $fileStream.Seek($peOffset, [System.IO.SeekOrigin]::Begin) | Out-Null + $fileHeaderOffset = $fileStream.Position + + $fileStream.Seek(18, [System.IO.SeekOrigin]::Current) | Out-Null + $fileStream.Seek($fileHeaderOffset + 0x5C, [System.IO.SeekOrigin]::Begin) | Out-Null + + return $binaryReader.ReadInt16() + } finally { + $binaryReader.Close() + $fileStream.Close() + } +} + +function Change-Subsystem($filePath, $targetSubsystem) { + try { + $fileStream = [System.IO.FileStream]::new($filePath, [System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite) + $binaryReader = [System.IO.BinaryReader]::new($fileStream) + $binaryWriter = [System.IO.BinaryWriter]::new($fileStream) + } catch { + Write-Output "Error opening File:'$filePath'" + return + } + + try { + $fileStream.Seek(0x3C, [System.IO.SeekOrigin]::Begin) | Out-Null + $peOffset = $binaryReader.ReadInt32() + + $fileStream.Seek($peOffset, [System.IO.SeekOrigin]::Begin) | Out-Null + $fileHeaderOffset = $fileStream.Position + + $fileStream.Seek(18, [System.IO.SeekOrigin]::Current) | Out-Null + $fileStream.Seek($fileHeaderOffset + 0x5C, [System.IO.SeekOrigin]::Begin) | Out-Null + + $binaryWriter.Write([System.Int16] $targetSubsystem) + } finally { + $binaryReader.Close() + $fileStream.Close() + } +} + function Optimize-SecurityProtocol { # .NET Framework 4.7+ has a default security protocol called 'SystemDefault', # which allows the operating system to choose the best protocol to use. @@ -839,6 +892,13 @@ function shim($path, $global, $name, $arg) { if ($arg) { Write-Output "args = $arg" | Out-UTF8File "$shim.shim" -Append } + + $target_subsystem = Get-Subsystem $resolved_path + + if (($target_subsystem -ne 3) -and ($target_subsystem -ge 0)) { # Subsystem -eq 3 means `Console`, -ge 0 to ignore + Write-Output "Making $shim.exe a GUI binary." + Change-Subsystem "$shim.exe" $target_subsystem + } } elseif ($path -match '\.(bat|cmd)$') { # shim .bat, .cmd so they can be used by programs with no awareness of PSH warn_on_overwrite "$shim.cmd" $path From 6898773a8d51df4e226ab6088b32a489dd99a50a Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Tue, 3 Oct 2023 10:53:00 +0000 Subject: [PATCH 34/75] fix(core): Use relative path as fallback of `$scoopdir` (#5544) * fix(core): Use relative path as fallback of `$scoopdir`(Scoop root directory) * typo * changelog * re --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + lib/core.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0624105c0a..f3be8bf3b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) +- **core:** Use relative path as fallback of `$scoopdir` ([#5544](https://github.com/ScoopInstaller/Scoop/issues/5544)) - **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) - **scoop-virustotal**: Fix `scoop-virustotal` when `--all' has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) diff --git a/lib/core.ps1 b/lib/core.ps1 index a1d3427182..389a028df4 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -1443,7 +1443,7 @@ if ($scoopConfig -and $scoopConfig.PSObject.Properties.Name -contains 'lastUpdat # END NOTE # Scoop root directory -$scoopdir = $env:SCOOP, (get_config ROOT_PATH), "$([System.Environment]::GetFolderPath('UserProfile'))\scoop" | Where-Object { -not [String]::IsNullOrEmpty($_) } | Select-Object -First 1 +$scoopdir = $env:SCOOP, (get_config ROOT_PATH), (Resolve-Path "$PSScriptRoot\..\..\..\.."), "$([System.Environment]::GetFolderPath('UserProfile'))\scoop" | Where-Object { -not [String]::IsNullOrEmpty($_) } | Select-Object -First 1 # Scoop global apps directory $globaldir = $env:SCOOP_GLOBAL, (get_config GLOBAL_PATH), "$([System.Environment]::GetFolderPath('CommonApplicationData'))\scoop" | Where-Object { -not [String]::IsNullOrEmpty($_) } | Select-Object -First 1 From becc7a7b76f28cc384ec526db214331aa1aee5dc Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Tue, 3 Oct 2023 10:59:44 +0000 Subject: [PATCH 35/75] fix(core): Avoid error messages when deleting non-existent environment variable (#5547) * fix(core): Check if the envrionment variable exists before delete * CHANGELOG * Use `try, catch`, value of env variable may is null/empty * UPDATE CHANGELOG * Brackets --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + lib/core.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3be8bf3b7..2557311c4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) +- **core:** Avoid error messages when deleting non-existent environment variable ([#5547](https://github.com/ScoopInstaller/Scoop/issues/5547)) - **core:** Use relative path as fallback of `$scoopdir` ([#5544](https://github.com/ScoopInstaller/Scoop/issues/5544)) - **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) diff --git a/lib/core.ps1 b/lib/core.ps1 index 389a028df4..441eeef716 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -751,7 +751,7 @@ function env($name, $global, $val = '__get') { $RegistryValueOption = [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames $EnvRegisterKey.GetValue($name, $null, $RegistryValueOption) } elseif ($val -eq $null) { - $EnvRegisterKey.DeleteValue($name) + try { $EnvRegisterKey.DeleteValue($name) } catch { } Publish-Env } else { $RegistryValueKind = if ($val.Contains('%')) { From 00c92b04d6279f7e64b174533195df13050aad85 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Tue, 3 Oct 2023 13:28:02 +0000 Subject: [PATCH 36/75] fix(install): Avoid error when unlinking non-existent junction/hardlink (#5552) * fix(install): Avoid error when unlinking non-existent junction / hardlink * CHANGELOG * Update CHANGELOG.md Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + lib/install.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2557311c4a..5470e126a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - **core:** Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution ([#5436](https://github.com/ScoopInstaller/Scoop/pull/5436)) - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395), [#5452](https://github.com/ScoopInstaller/Scoop/pull/5452), [#5631](https://github.com/ScoopInstaller/Scoop/pull/5631)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) +- **install:** Avoid error when unlinking non-existent junction/hardlink ([#5552](https://github.com/ScoopInstaller/Scoop/issues/5552)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) - **core:** Avoid error messages when deleting non-existent environment variable ([#5547](https://github.com/ScoopInstaller/Scoop/issues/5547)) diff --git a/lib/install.ps1 b/lib/install.ps1 index 22b76423ca..519c26403d 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -1185,7 +1185,7 @@ function unlink_persist_data($manifest, $dir) { if ($persist) { @($persist) | ForEach-Object { $source, $null = persist_def $_ - $source = Get-Item "$dir\$source" + $source = Get-Item "$dir\$source" -ErrorAction SilentlyContinue if ($source.LinkType) { $source_path = $source.FullName # directory (junction) From 6d79d62cc83f649f3655b89202e25244ceae8978 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Tue, 3 Oct 2023 13:29:10 +0000 Subject: [PATCH 37/75] fix(core): Handle scoop aliases and broken (edited,copied) shim (#5551) * fix(core): Avoid error messages when shim broked, Allow get path for scoop aliases * update `scoop-which` * Add CHANGELOG entry * Update CHANGELOG.md Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + lib/core.ps1 | 7 +++++-- libexec/scoop-which.ps1 | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5470e126a0..2c7821e332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) - **core:** Rewrite config file when needed ([#5439](https://github.com/ScoopInstaller/Scoop/issues/5439)) - **core:** Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution ([#5436](https://github.com/ScoopInstaller/Scoop/pull/5436)) +- **core:** Handle scoop aliases and broken(edited,copied) shim ([#5551](https://github.com/ScoopInstaller/Scoop/issues/5551)) - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395), [#5452](https://github.com/ScoopInstaller/Scoop/pull/5452), [#5631](https://github.com/ScoopInstaller/Scoop/pull/5631)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **install:** Avoid error when unlinking non-existent junction/hardlink ([#5552](https://github.com/ScoopInstaller/Scoop/issues/5552)) diff --git a/lib/core.ps1 b/lib/core.ps1 index 441eeef716..e3c8881992 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -469,7 +469,10 @@ function Get-CommandPath { } catch { return $null } - $commandPath = if ($comm.Path -like "$userShims*" -or $comm.Path -like "$globalShims*") { + $commandPath = if ($comm.Path -like "$userShims\scoop-*.ps1") { + # Scoop aliases + $comm.Source + } elseif ($comm.Path -like "$userShims*" -or $comm.Path -like "$globalShims*") { Get-ShimTarget ($comm.Path -replace '\.exe$', '.shim') } elseif ($comm.CommandType -eq 'Application') { $comm.Source @@ -847,7 +850,7 @@ function Get-ShimTarget($ShimPath) { if (!$shimTarget) { $shimTarget = ((Select-String -Path $ShimPath -Pattern '[''"]([^@&]*?)[''"]' -AllMatches).Matches.Groups | Select-Object -Last 1).Value } - $shimTarget | Convert-Path + $shimTarget | Convert-Path -ErrorAction SilentlyContinue } } diff --git a/libexec/scoop-which.ps1 b/libexec/scoop-which.ps1 index d221a5db84..677b034376 100644 --- a/libexec/scoop-which.ps1 +++ b/libexec/scoop-which.ps1 @@ -4,7 +4,7 @@ param($command) if (!$command) { - 'ERROR: missing' + error ' missing' my_usage exit 1 } @@ -12,7 +12,7 @@ if (!$command) { $path = Get-CommandPath $command if ($null -eq $path) { - Write-Host "'$command' not found / not a scoop shim." + warn "'$command' not found, not a scoop shim, or a broken shim." exit 2 } else { friendly_path $path From acc271d115c85d8584954be6a71492b121053a8a Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Tue, 3 Oct 2023 13:57:01 +0000 Subject: [PATCH 38/75] fix(scoop-(un)hold): Correct output the messages when manifest not found, (already|not) held (#5554) * fix(scoop-(un)hold): Abort when manifest not found * abort when already held or not held * use continue * CHANGELOG * Update CHANGELOG.md Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + libexec/scoop-hold.ps1 | 10 +++++++++- libexec/scoop-unhold.ps1 | 8 ++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c7821e332..b020ab2fda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ - **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) - **scoop-virustotal**: Fix `scoop-virustotal` when `--all' has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) - **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) +- **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) ### Performance Improvements diff --git a/libexec/scoop-hold.ps1 b/libexec/scoop-hold.ps1 index 2d52310c79..43f11b3259 100644 --- a/libexec/scoop-hold.ps1 +++ b/libexec/scoop-hold.ps1 @@ -47,15 +47,23 @@ $apps | ForEach-Object { return } - if (get_config NO_JUNCTION){ + if (get_config NO_JUNCTION) { $version = Select-CurrentVersion -App $app -Global:$global } else { $version = 'current' } $dir = versiondir $app $version $global $json = install_info $app $version $global + if (!$json) { + error "Failed to hold '$app'." + continue + } $install = @{} $json | Get-Member -MemberType Properties | ForEach-Object { $install.Add($_.Name, $json.($_.Name)) } + if ($install.hold) { + info "'$app' is already held." + continue + } $install.hold = $true save_install_info $install $dir success "$app is now held and can not be updated anymore." diff --git a/libexec/scoop-unhold.ps1 b/libexec/scoop-unhold.ps1 index e678247972..4e2413a340 100644 --- a/libexec/scoop-unhold.ps1 +++ b/libexec/scoop-unhold.ps1 @@ -53,8 +53,16 @@ $apps | ForEach-Object { } $dir = versiondir $app $version $global $json = install_info $app $version $global + if (!$json) { + error "Failed to unhold '$app'" + continue + } $install = @{} $json | Get-Member -MemberType Properties | ForEach-Object { $install.Add($_.Name, $json.($_.Name)) } + if (!$install.hold) { + info "'$app' is not held." + continue + } $install.hold = $null save_install_info $install $dir success "$app is no longer held and can be updated again." From b3c05e71fac58f20f90ea4ae2a0f86fa0f6444ed Mon Sep 17 00:00:00 2001 From: Richard Kuhnt Date: Tue, 3 Oct 2023 16:05:45 +0200 Subject: [PATCH 39/75] perf(scoop-search): Improve performance for local search (#5644) * perf(search): improve local search performance * Update libexec/scoop-search.ps1 Co-authored-by: Hsiao-nan Cheung * Update libexec/scoop-search.ps1 Co-authored-by: Hsiao-nan Cheung * Update libexec/scoop-search.ps1 Co-authored-by: Hsiao-nan Cheung * Update libexec/scoop-search.ps1 Co-authored-by: Hsiao-nan Cheung * Update libexec/scoop-search.ps1 Co-authored-by: Hsiao-nan Cheung * Update libexec/scoop-search.ps1 Co-authored-by: Hsiao-nan Cheung * Added [JsonDocument]::Parse for testing * Fix array length check * Used wrong function * Add fallback function for PowerShell 5 * Check for System.Text.Json in Assemblies instead * Show help output * Revert "Show help output" This reverts commit d3d6b01d0846d7c82fec0cbae5b898bdc1426ef9. * Update CHANGELOG.md --------- Co-authored-by: Hsiao-nan Cheung Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 3 +- libexec/scoop-search.ps1 | 118 +++++++++++++++++++++++++++++---------- 2 files changed, 90 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b020ab2fda..355360824a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,13 +29,14 @@ - **core:** Use relative path as fallback of `$scoopdir` ([#5544](https://github.com/ScoopInstaller/Scoop/issues/5544)) - **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) -- **scoop-virustotal**: Fix `scoop-virustotal` when `--all' has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) +- **scoop-virustotal:** Fix `scoop-virustotal` when `--all` has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) - **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) - **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) ### Performance Improvements - **decompress:** Disable progress bar to improve `Expand-Archive` performance ([#5410](https://github.com/ScoopInstaller/Scoop/issues/5410)) +- **scoop-search:** Improve performance for local search ([#5324](https://github.com/ScoopInstaller/Scoop/issues/5324)) ### Code Refactoring diff --git a/libexec/scoop-search.ps1 b/libexec/scoop-search.ps1 index adef8b1835..a9013afd02 100644 --- a/libexec/scoop-search.ps1 +++ b/libexec/scoop-search.ps1 @@ -9,7 +9,7 @@ param($query) . "$PSScriptRoot\..\lib\manifest.ps1" # 'manifest' . "$PSScriptRoot\..\lib\versions.ps1" # 'Get-LatestVersion' -$list = @() +$list = [System.Collections.Generic.List[PSCustomObject]]::new() try { $query = New-Object Regex $query, 'IgnoreCase' @@ -32,24 +32,90 @@ function bin_match($manifest, $query) { if ((strip_ext $fname) -match $query) { $fname } elseif ($alias -match $query) { $alias } } + + if ($bins) { return $bins } + else { return $false } +} + +function bin_match_json($json, $query) { + [System.Text.Json.JsonElement]$bin = [System.Text.Json.JsonElement]::new() + if (!$json.RootElement.TryGetProperty("bin", [ref] $bin)) { return $false } + $bins = @() + if($bin.ValueKind -eq [System.Text.Json.JsonValueKind]::String -and [System.IO.Path]::GetFileNameWithoutExtension($bin) -match $query) { + $bins += [System.IO.Path]::GetFileName($bin) + } elseif ($bin.ValueKind -eq [System.Text.Json.JsonValueKind]::Array) { + foreach($subbin in $bin.EnumerateArray()) { + if($subbin.ValueKind -eq [System.Text.Json.JsonValueKind]::String -and [System.IO.Path]::GetFileNameWithoutExtension($subbin) -match $query) { + $bins += [System.IO.Path]::GetFileName($subbin) + } elseif ($subbin.ValueKind -eq [System.Text.Json.JsonValueKind]::Array) { + if([System.IO.Path]::GetFileNameWithoutExtension($subbin[0]) -match $query) { + $bins += [System.IO.Path]::GetFileName($subbin[0]) + } elseif ($subbin.GetArrayLength() -ge 2 -and $subbin[1] -match $query) { + $bins += $subbin[1] + } + } + } + } + if ($bins) { return $bins } else { return $false } } function search_bucket($bucket, $query) { - $apps = apps_in_bucket (Find-BucketDirectory $bucket) | ForEach-Object { @{ name = $_ } } + $apps = Get-ChildItem (Find-BucketDirectory $bucket) -Filter '*.json' -Recurse + + $apps | ForEach-Object { + $json = [System.Text.Json.JsonDocument]::Parse([System.IO.File]::ReadAllText($_.FullName)) + $name = $_.BaseName + + if ($name -match $query) { + $list.Add([PSCustomObject]@{ + Name = $name + Version = $json.RootElement.GetProperty("version") + Source = $bucket + Binaries = "" + }) + } else { + $bin = bin_match_json $json $query + if ($bin) { + $list.Add([PSCustomObject]@{ + Name = $name + Version = $json.RootElement.GetProperty("version") + Source = $bucket + Binaries = $bin -join ' | ' + }) + } + } + } +} - if ($query) { - $apps = $apps | Where-Object { - if ($_.name -match $query) { return $true } - $bin = bin_match (manifest $_.name $bucket) $query +# fallback function for PowerShell 5 +function search_bucket_legacy($bucket, $query) { + $apps = Get-ChildItem (Find-BucketDirectory $bucket) -Filter '*.json' -Recurse + + $apps | ForEach-Object { + $manifest = [System.IO.File]::ReadAllText($_.FullName) | ConvertFrom-Json -ErrorAction Continue + $name = $_.BaseName + + if ($name -match $query) { + $list.Add([PSCustomObject]@{ + Name = $name + Version = $manifest.Version + Source = $bucket + Binaries = "" + }) + } else { + $bin = bin_match $manifest $query if ($bin) { - $_.bin = $bin - return $true + $list.Add([PSCustomObject]@{ + Name = $name + Version = $manifest.Version + Source = $bucket + Binaries = $bin -join ' | ' + }) } } } - $apps | ForEach-Object { $_.version = (Get-LatestVersion -AppName $_.name -Bucket $bucket); $_ } } function download_json($url) { @@ -96,43 +162,35 @@ function search_remotes($query) { (add them using 'scoop bucket add ')" } + $remote_list = @() $results | ForEach-Object { - $name = $_.bucket + $bucket = $_.bucket $_.results | ForEach-Object { $item = [ordered]@{} $item.Name = $_ - $item.Source = $name - $list += [PSCustomObject]$item + $item.Source = $bucket + $remote_list += [PSCustomObject]$item } } - - $list + $remote_list } -Get-LocalBucket | ForEach-Object { - $res = search_bucket $_ $query - $local_results = $local_results -or $res - if ($res) { - $name = "$_" +$jsonTextAvailable = [System.AppDomain]::CurrentDomain.GetAssemblies() | Where-object { [System.IO.Path]::GetFileNameWithoutExtension($_.Location) -eq "System.Text.Json" } - $res | ForEach-Object { - $item = [ordered]@{} - $item.Name = $_.name - $item.Version = $_.version - $item.Source = $name - $item.Binaries = "" - if ($_.bin) { $item.Binaries = $_.bin -join ' | ' } - $list += [PSCustomObject]$item - } +Get-LocalBucket | ForEach-Object { + if ($jsonTextAvailable) { + search_bucket $_ $query + } else { + search_bucket_legacy $_ $query } } -if ($list.Length -gt 0) { +if ($list.Count -gt 0) { Write-Host "Results from local buckets..." $list } -if (!$local_results -and !(github_ratelimit_reached)) { +if ($list.Count -eq 0 -and !(github_ratelimit_reached)) { $remote_results = search_remotes $query if (!$remote_results) { warn "No matches found." From 863af42d4e3a77afe4b13b2b92e0352269595fb6 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Thu, 5 Oct 2023 06:51:29 +0000 Subject: [PATCH 40/75] fix(core): Fix detection of Git (#5545) * fix(core): Fix `Test-GitAvailable` * fix(core): Fallback git(32bit) to `Get-HelperPath` * check value of `$internalgit` also * changlog * path already tested when invoke `Get-AppFilePAth` --- CHANGELOG.md | 1 + lib/core.ps1 | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 355360824a..de17e381c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) - **core:** Avoid error messages when deleting non-existent environment variable ([#5547](https://github.com/ScoopInstaller/Scoop/issues/5547)) - **core:** Use relative path as fallback of `$scoopdir` ([#5544](https://github.com/ScoopInstaller/Scoop/issues/5544)) +- **core:** Fix detection of Git ([#5545](https://github.com/ScoopInstaller/Scoop/issues/5545)) - **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) - **scoop-virustotal:** Fix `scoop-virustotal` when `--all` has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) diff --git a/lib/core.ps1 b/lib/core.ps1 index e3c8881992..33e59ba562 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -402,7 +402,7 @@ Function Test-CommandAvailable { } Function Test-GitAvailable { - Return [Boolean](Test-Path (Get-HelperPath -Helper Git) -ErrorAction Ignore) + return [Boolean](Get-HelperPath -Helper Git) } function Get-HelperPath { @@ -420,8 +420,8 @@ function Get-HelperPath { process { switch ($Helper) { 'Git' { - $internalgit = "$(versiondir 'git' 'current')\mingw64\bin\git.exe" - if (Test-Path $internalgit) { + $internalgit = (Get-AppFilePath 'git' 'mingw64\bin\git.exe'), (Get-AppFilePath 'git' 'mingw32\bin\git.exe') | Where-Object { $_ -ne $null } + if ($internalgit) { $HelperPath = $internalgit } else { $HelperPath = (Get-Command git -ErrorAction Ignore).Source From ab34b7fb61c034c05fed1b11ac4ae67afc2205ae Mon Sep 17 00:00:00 2001 From: Gerardo Grignoli Date: Thu, 5 Oct 2023 08:10:03 -0300 Subject: [PATCH 41/75] feat(core): Allow global install of PowerShell modules (#5611) * Allow global install of PowerShell modules to $env:ProgramFiles\WindowsPowerShell\Modules * tabs vs spaces * Updated CHANGELOG.md * Changed global install of PowerShell modules to $globaldir\Modules --- CHANGELOG.md | 1 + lib/core.ps1 | 1 + lib/psmodules.ps1 | 15 ++++++--------- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de17e381c8..d60402c9eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - **config:** Support portable config file ([#5369](https://github.com/ScoopInstaller/Scoop/issues/5369)) - **bucket:** Make official buckets higher priority ([#5398](https://github.com/ScoopInstaller/Scoop/issues/5398)) - **core:** Add `-Quiet` switch for `Invoke-ExternalCommand` ([#5346](https://github.com/ScoopInstaller/Scoop/issues/5346)) +- **core:** Allow global install of PowerShell modules ([#5611](https://github.com/ScoopInstaller/Scoop/issues/5611)) ### Bug Fixes diff --git a/lib/core.ps1 b/lib/core.ps1 index 33e59ba562..06c4f1591c 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -317,6 +317,7 @@ function filesize($length) { function basedir($global) { if($global) { return $globaldir } $scoopdir } function appsdir($global) { "$(basedir $global)\apps" } function shimdir($global) { "$(basedir $global)\shims" } +function modulesdir($global) { "$(basedir $global)\modules" } function appdir($app, $global) { "$(appsdir $global)\$app" } function versiondir($app, $version, $global) { "$(appdir $app $global)\$version" } diff --git a/lib/psmodules.ps1 b/lib/psmodules.ps1 index 2fbb6e6525..c65fd65c7b 100644 --- a/lib/psmodules.ps1 +++ b/lib/psmodules.ps1 @@ -1,22 +1,17 @@ -$modulesdir = "$scoopdir\modules" - function install_psmodule($manifest, $dir, $global) { $psmodule = $manifest.psmodule if (!$psmodule) { return } - if ($global) { - abort 'Installing PowerShell modules globally is not implemented!' - } + $targetdir = ensure (modulesdir $global) - $modulesdir = ensure $modulesdir - ensure_in_psmodulepath $modulesdir $global + ensure_in_psmodulepath $targetdir $global $module_name = $psmodule.name if (!$module_name) { abort "Invalid manifest: The 'name' property is missing from 'psmodule'." } - $linkfrom = "$modulesdir\$module_name" + $linkfrom = "$targetdir\$module_name" Write-Host "Installing PowerShell module '$module_name'" Write-Host "Linking $(friendly_path $linkfrom) => $(friendly_path $dir)" @@ -36,7 +31,9 @@ function uninstall_psmodule($manifest, $dir, $global) { $module_name = $psmodule.name Write-Host "Uninstalling PowerShell module '$module_name'." - $linkfrom = "$modulesdir\$module_name" + $targetdir = modulesdir $global + + $linkfrom = "$targetdir\$module_name" if (Test-Path $linkfrom) { Write-Host "Removing $(friendly_path $linkfrom)" $linkfrom = Convert-Path $linkfrom From 15f9bbec9704345801a6c9e2e3194bd368546288 Mon Sep 17 00:00:00 2001 From: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:51:45 +0530 Subject: [PATCH 42/75] fix(update): Change error message to a better instruction (#5677) * fix(update): Change error message to a better instruction * Update CHANGELOG.md --- CHANGELOG.md | 1 + libexec/scoop-update.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d60402c9eb..bc390b4cb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ - **scoop-virustotal:** Fix `scoop-virustotal` when `--all` has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) - **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) - **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) +- **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) ### Performance Improvements diff --git a/libexec/scoop-update.ps1 b/libexec/scoop-update.ps1 index 3bcdcb7500..50f82090a5 100644 --- a/libexec/scoop-update.ps1 +++ b/libexec/scoop-update.ps1 @@ -89,7 +89,7 @@ function Sync-Scoop { Rename-Item $newdir 'current' -ErrorAction Stop } catch { Write-Warning $_ - abort "Scoop update failed. Folder in use. Paste $newdir into $currentdir." + abort "Scoop update failed. Folder in use. Please rename folders $currentdir to ``old`` and $newdir to ``current``." } } } else { From 3a3f41c556c044150d86f259c1e3583687b41929 Mon Sep 17 00:00:00 2001 From: Dustin <131928587+dooptydoo90x@users.noreply.github.com> Date: Sun, 8 Oct 2023 08:34:36 -0500 Subject: [PATCH 43/75] fix(shim): Fix shim adding bug related to Resolve-Path(#5493) * fixed shim add bug related to #5492 * Updated CHANGLOG.md per contributor guidelines --- CHANGELOG.md | 1 + lib/core.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc390b4cb9..80932a9ff9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -79,6 +79,7 @@ - **shim:** Exit if shim creating failed 'cause no git ([#5225](https://github.com/ScoopInstaller/Scoop/issues/5225)) - **scoop-import:** Add correct architecture argument ([#5210](https://github.com/ScoopInstaller/Scoop/issues/5210)) - **scoop-config:** Output `[DateTime]` as `[String]` ([#5232](https://github.com/ScoopInstaller/Scoop/issues/5232)) +- **shim:** fixed shim add bug related to Resolve-Path ([#5492](https://github.com/ScoopInstaller/Scoop/issues/5492)) ### Code Refactoring diff --git a/lib/core.ps1 b/lib/core.ps1 index 06c4f1591c..125e679205 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -883,10 +883,10 @@ function shim($path, $global, $name, $arg) { $shim = "$abs_shimdir\$($name.tolower())" # convert to relative path + $resolved_path = Convert-Path $path Push-Location $abs_shimdir - $relative_path = Resolve-Path -Relative $path + $relative_path = Resolve-Path -Relative $resolved_path Pop-Location - $resolved_path = Convert-Path $path if ($path -match '\.(exe|com)$') { # for programs with no awareness of any shell From 2847e0a37c981ffc709af0edab4ceceb44a7656b Mon Sep 17 00:00:00 2001 From: "L. Yeung" Date: Tue, 10 Oct 2023 19:17:46 +0800 Subject: [PATCH 44/75] fix(scoop-shim): Avoid unexpected output of `list` subcommand (#5681) * fix(shim): Avoid unexpected output of `list` subcommand * Update libexec/scoop-shim.ps1 Co-authored-by: Hsiao-nan Cheung --------- Co-authored-by: Hsiao-nan Cheung --- CHANGELOG.md | 1 + libexec/scoop-shim.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80932a9ff9..9e96f74863 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ - **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) - **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) +- **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) ### Performance Improvements diff --git a/libexec/scoop-shim.ps1 b/libexec/scoop-shim.ps1 index 41263afe6a..6cbd53dbd3 100644 --- a/libexec/scoop-shim.ps1 +++ b/libexec/scoop-shim.ps1 @@ -12,7 +12,7 @@ # # To list all shims or matching shims, use the 'list' subcommand: # -# scoop shim list [/...] +# scoop shim list [...] # # To show a shim's information, use the 'info' subcommand: # @@ -144,7 +144,7 @@ switch ($SubCommand) { $other | ForEach-Object { try { $pattern = $_ - [Regex]::New($pattern) + [void][Regex]::New($pattern) } catch { Write-Host "ERROR: Invalid pattern: " -ForegroundColor Red -NoNewline Write-Host $pattern -ForegroundColor Magenta From 14b38b4092ce9bc66b31fd3de30b5c109be135ef Mon Sep 17 00:00:00 2001 From: "L. Yeung" Date: Tue, 10 Oct 2023 19:20:53 +0800 Subject: [PATCH 45/75] fix(scoop-shim): Check literal path in `Get-ShimPath` (#5680) Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 1 + libexec/scoop-shim.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e96f74863..5ab4fe6484 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ - **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) - **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) +- **shim:** Check literal path in `Get-ShimPath` ([#5680](https://github.com/ScoopInstaller/Scoop/issues/5680)) - **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) ### Performance Improvements diff --git a/libexec/scoop-shim.ps1 b/libexec/scoop-shim.ps1 index 6cbd53dbd3..cf775b1d6b 100644 --- a/libexec/scoop-shim.ps1 +++ b/libexec/scoop-shim.ps1 @@ -82,7 +82,7 @@ function Get-ShimInfo($ShimPath) { function Get-ShimPath($ShimName, $Global) { '.shim', '.ps1' | ForEach-Object { $shimPath = Join-Path (shimdir $Global) "$ShimName$_" - if (Test-Path $shimPath) { + if (Test-Path -LiteralPath $shimPath) { return $shimPath } } From 6cdcc75ad84add9deedad81f1c9c16dc43f868c0 Mon Sep 17 00:00:00 2001 From: Sp1d3R <98212676+spider2048@users.noreply.github.com> Date: Sat, 14 Oct 2023 16:04:46 +0530 Subject: [PATCH 46/75] fix(shim): Fix a minor issue with `Get-Subsystem` (#5684) * Fix PE read error and refractor * refactor Change-Subsystem -> Set-Subsystem and additional `catch` block * refactor Change-Subsystem -> Set-Subsystem and additional `catch` block * add a return value to `Set-PESubsystem` * fix trailing whitespace --- lib/core.ps1 | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/lib/core.ps1 b/lib/core.ps1 index 125e679205..b971c484db 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -1,13 +1,8 @@ -# Returns the subsystem of the EXE -function Get-Subsystem($filePath) { +function Get-PESubsystem($filePath) { try { $fileStream = [System.IO.FileStream]::new($filePath, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read) $binaryReader = [System.IO.BinaryReader]::new($fileStream) - } catch { - return -1 # leave the subsystem part silently - } - try { $fileStream.Seek(0x3C, [System.IO.SeekOrigin]::Begin) | Out-Null $peOffset = $binaryReader.ReadInt32() @@ -18,23 +13,20 @@ function Get-Subsystem($filePath) { $fileStream.Seek($fileHeaderOffset + 0x5C, [System.IO.SeekOrigin]::Begin) | Out-Null return $binaryReader.ReadInt16() + } catch { + return -1 } finally { $binaryReader.Close() $fileStream.Close() } } -function Change-Subsystem($filePath, $targetSubsystem) { +function Set-PESubsystem($filePath, $targetSubsystem) { try { $fileStream = [System.IO.FileStream]::new($filePath, [System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite) $binaryReader = [System.IO.BinaryReader]::new($fileStream) $binaryWriter = [System.IO.BinaryWriter]::new($fileStream) - } catch { - Write-Output "Error opening File:'$filePath'" - return - } - try { $fileStream.Seek(0x3C, [System.IO.SeekOrigin]::Begin) | Out-Null $peOffset = $binaryReader.ReadInt32() @@ -45,10 +37,13 @@ function Change-Subsystem($filePath, $targetSubsystem) { $fileStream.Seek($fileHeaderOffset + 0x5C, [System.IO.SeekOrigin]::Begin) | Out-Null $binaryWriter.Write([System.Int16] $targetSubsystem) + } catch { + return $false } finally { $binaryReader.Close() $fileStream.Close() } + return $true } function Optimize-SecurityProtocol { @@ -897,11 +892,10 @@ function shim($path, $global, $name, $arg) { Write-Output "args = $arg" | Out-UTF8File "$shim.shim" -Append } - $target_subsystem = Get-Subsystem $resolved_path - - if (($target_subsystem -ne 3) -and ($target_subsystem -ge 0)) { # Subsystem -eq 3 means `Console`, -ge 0 to ignore + $target_subsystem = Get-PESubsystem $resolved_path + if ($target_subsystem -eq 2) { # we only want to make shims GUI Write-Output "Making $shim.exe a GUI binary." - Change-Subsystem "$shim.exe" $target_subsystem + Set-PESubsystem "$shim.exe" $target_subsystem | Out-Null } } elseif ($path -match '\.(bat|cmd)$') { # shim .bat, .cmd so they can be used by programs with no awareness of PSH From 7b35e19d4cc32eb8cd562559c5a72f488d57a946 Mon Sep 17 00:00:00 2001 From: Hagai Gold Date: Thu, 19 Oct 2023 10:49:31 +0300 Subject: [PATCH 47/75] fix(perf): Do not call `scoop` externally from inside the code (#5695) * fix: do not call `scoop` externally from inside the code * update CHANGELOG.md * update CHANGELOG.md --- CHANGELOG.md | 1 + libexec/scoop-create.ps1 | 2 +- libexec/scoop-download.ps1 | 2 +- libexec/scoop-install.ps1 | 2 +- libexec/scoop-virustotal.ps1 | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ab4fe6484..a972451137 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,7 @@ - **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) - **shim:** Check literal path in `Get-ShimPath` ([#5680](https://github.com/ScoopInstaller/Scoop/issues/5680)) - **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) +- **scoop:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) ### Performance Improvements diff --git a/libexec/scoop-create.ps1 b/libexec/scoop-create.ps1 index 3a33d09ea0..6c40e96c5e 100644 --- a/libexec/scoop-create.ps1 +++ b/libexec/scoop-create.ps1 @@ -59,7 +59,7 @@ function choose_item($list, $query) { } if (!$url) { - scoop help create + & "$PSScriptRoot\scoop-help.ps1" create } else { create_manifest $url } diff --git a/libexec/scoop-download.ps1 b/libexec/scoop-download.ps1 index d339e7907f..3ab2fa2867 100644 --- a/libexec/scoop-download.ps1 +++ b/libexec/scoop-download.ps1 @@ -43,7 +43,7 @@ if (is_scoop_outdated) { if ($opt.u -or $opt.'no-update-scoop') { warn "Scoop is out of date." } else { - scoop update + & "$PSScriptRoot\scoop-update.ps1" } } diff --git a/libexec/scoop-install.ps1 b/libexec/scoop-install.ps1 index 994bb5b4cf..61cad28883 100644 --- a/libexec/scoop-install.ps1 +++ b/libexec/scoop-install.ps1 @@ -56,7 +56,7 @@ if (is_scoop_outdated) { if ($opt.u -or $opt.'no-update-scoop') { warn "Scoop is out of date." } else { - scoop update + & "$PSScriptRoot\scoop-update.ps1" } } diff --git a/libexec/scoop-virustotal.ps1 b/libexec/scoop-virustotal.ps1 index 30c5e8494b..93b60f232d 100644 --- a/libexec/scoop-virustotal.ps1 +++ b/libexec/scoop-virustotal.ps1 @@ -43,7 +43,7 @@ if (is_scoop_outdated) { if ($opt.u -or $opt.'no-update-scoop') { warn 'Scoop is out of date.' } else { - scoop update + & "$PSScriptRoot\scoop-update.ps1" } } From 7e81e49152fb9fe74cc789d447831bc0fd0dcd22 Mon Sep 17 00:00:00 2001 From: Bill ZHANG <36790218+Lutra-Fs@users.noreply.github.com> Date: Thu, 26 Oct 2023 18:28:10 +1100 Subject: [PATCH 48/75] fix(scoop-reset): Don't abort when multiple apps are passed and an app is running (#5687) * fix(scoop-reset): change #2952 fix to be the same with scoop-install * update changelog * Update CHANGELOG.md Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --------- Co-authored-by: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> --- CHANGELOG.md | 3 ++- libexec/scoop-reset.ps1 | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a972451137..371904301b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,7 +37,8 @@ - **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) - **shim:** Check literal path in `Get-ShimPath` ([#5680](https://github.com/ScoopInstaller/Scoop/issues/5680)) - **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) -- **scoop:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) +- **scoop-reset:** Don't abort when multiple apps are passed and an app is running ([#5687](https://github.com/ScoopInstaller/Scoop/issues/5687)) +- **core:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) ### Performance Improvements diff --git a/libexec/scoop-reset.ps1 b/libexec/scoop-reset.ps1 index e10ef9e4f9..c30eeb6e1b 100644 --- a/libexec/scoop-reset.ps1 +++ b/libexec/scoop-reset.ps1 @@ -69,7 +69,7 @@ $apps | ForEach-Object { #region Workaround for #2952 if (test_running_process $app $global) { - continue + return } #endregion Workaround for #2952 From fb3169629fa89b762e39503148cbc96223c68a6a Mon Sep 17 00:00:00 2001 From: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> Date: Thu, 26 Oct 2023 14:13:25 +0530 Subject: [PATCH 49/75] fix(scoop-checkup): Don't throw 7zip error when external 7zip is used (#5703) * fix(scoop-checkup): Don't throw 7zip error when external 7zip is used * Update CHANGELOG.md --- CHANGELOG.md | 1 + libexec/scoop-checkup.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 371904301b..bf8ec0b3a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ - **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) - **scoop-reset:** Don't abort when multiple apps are passed and an app is running ([#5687](https://github.com/ScoopInstaller/Scoop/issues/5687)) - **core:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) +- **scoop-checkup:** Don't throw 7zip error when external 7zip is used ([#5703](https://github.com/ScoopInstaller/Scoop/issues/5703)) ### Performance Improvements diff --git a/libexec/scoop-checkup.ps1 b/libexec/scoop-checkup.ps1 index 111bd3463b..02def4eaa5 100644 --- a/libexec/scoop-checkup.ps1 +++ b/libexec/scoop-checkup.ps1 @@ -19,7 +19,7 @@ $issues += !(check_main_bucket) $issues += !(check_long_paths) $issues += !(Get-WindowsDeveloperModeStatus) -if (!(Test-HelperInstalled -Helper 7zip)) { +if (!(Test-HelperInstalled -Helper 7zip) -and !(get_config USE_EXTERNAL_7ZIP)) { warn "'7-Zip' is not installed! It's required for unpacking most programs. Please Run 'scoop install 7zip' or 'scoop install 7zip-zstd'." $issues++ } From 5328bef269d845f0940ef45a094a8fb487e43a00 Mon Sep 17 00:00:00 2001 From: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> Date: Fri, 5 Jan 2024 23:46:28 +0530 Subject: [PATCH 50/75] fix(config): Warn users about misconfigured token (#5777) * Warn users about misconfigured token * Update CHANGELOG.md --- CHANGELOG.md | 1 + lib/install.ps1 | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf8ec0b3a5..6012fc2dd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ - **scoop-reset:** Don't abort when multiple apps are passed and an app is running ([#5687](https://github.com/ScoopInstaller/Scoop/issues/5687)) - **core:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) - **scoop-checkup:** Don't throw 7zip error when external 7zip is used ([#5703](https://github.com/ScoopInstaller/Scoop/issues/5703)) +- **config:** Warn users about misconfigured GitHub token ([#5777](https://github.com/ScoopInstaller/Scoop/issues/5777)) ### Performance Improvements diff --git a/lib/install.ps1 b/lib/install.ps1 index 519c26403d..60f6d5a649 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -107,6 +107,9 @@ function Start-Download ($url, $to, $cookies) { Invoke-Download $url $to $cookies $progress } catch { $e = $_.exception + if ($e.Response.StatusCode -eq 'Unauthorized') { + warn "Token might be misconfigured." + } if($e.innerexception) { $e = $e.innerexception } throw $e } @@ -246,7 +249,14 @@ function Invoke-CachedAria2Download ($app, $version, $manifest, $architecture, $ } else { $download_finished = $false # create aria2 input file content - $urlstxt_content += "$(handle_special_urls $url)`n" + try { + $try_url = handle_special_urls $url + } catch { + if ($_.Exception.Response.StatusCode -eq 'Unauthorized') { + warn "Token might be misconfigured." + } + } + $urlstxt_content += "$try_url`n" if (!$url.Contains('sourceforge.net')) { $urlstxt_content += " referer=$(strip_filename $url)`n" } From 48f793532cd619e9fd289147de3eb3af13c70a6e Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Fri, 23 Feb 2024 17:41:44 +0800 Subject: [PATCH 51/75] fix(manifest): Correct source of manifest (#5575) --- CHANGELOG.md | 1 + lib/depends.ps1 | 4 ++-- lib/install.ps1 | 4 ++-- lib/manifest.ps1 | 21 ++++++++++----------- libexec/scoop-cat.ps1 | 14 +++++++------- libexec/scoop-download.ps1 | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6012fc2dd2..6c1e438891 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ - **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) - **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) +- **manifest:** Correct source of manifest ([#5575](https://github.com/ScoopInstaller/Scoop/issues/5575)) - **shim:** Check literal path in `Get-ShimPath` ([#5680](https://github.com/ScoopInstaller/Scoop/issues/5680)) - **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) - **scoop-reset:** Don't abort when multiple apps are passed and an app is running ([#5687](https://github.com/ScoopInstaller/Scoop/issues/5687)) diff --git a/lib/depends.ps1 b/lib/depends.ps1 index 9c8d29042d..bd4ed19cf2 100644 --- a/lib/depends.ps1 +++ b/lib/depends.ps1 @@ -37,9 +37,9 @@ function Get-Dependency { if (!$manifest) { if (((Get-LocalBucket) -notcontains $bucket) -and $bucket) { - warn "Bucket '$bucket' not installed. Add it with 'scoop bucket add $bucket' or 'scoop bucket add $bucket '." + warn "Bucket '$bucket' not added. Add it with $(if($bucket -in (known_buckets)) { "'scoop bucket add $bucket' or " })'scoop bucket add $bucket '." } - abort "Couldn't find manifest for '$AppName'$(if(!$bucket) { '.' } else { " from '$bucket' bucket." })" + abort "Couldn't find manifest for '$AppName'$(if($bucket) { " from '$bucket' bucket" } elseif($url) { " at '$url'" })." } $deps = @(Get-InstallationHelper $manifest $Architecture) + @($manifest.depends) | Select-Object -Unique diff --git a/lib/install.ps1 b/lib/install.ps1 index 60f6d5a649..31b6de73f6 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -9,7 +9,7 @@ function install_app($app, $architecture, $global, $suggested, $use_cache = $tru $app, $manifest, $bucket, $url = Get-Manifest $app if(!$manifest) { - abort "Couldn't find manifest for '$app'$(if($url) { " at the URL $url" })." + abort "Couldn't find manifest for '$app'$(if($bucket) { " from '$bucket' bucket" } elseif($url) { " at '$url'" })." } $version = $manifest.version @@ -43,7 +43,7 @@ function install_app($app, $architecture, $global, $suggested, $use_cache = $tru return } } - Write-Output "Installing '$app' ($version) [$architecture]$(if ($bucket) { " from $bucket bucket" })" + Write-Output "Installing '$app' ($version) [$architecture]$(if ($bucket) { " from '$bucket' bucket" } else { " from '$url'" })" $dir = ensure (versiondir $app $version $global) $original_dir = $dir # keep reference to real (not linked) directory diff --git a/lib/manifest.ps1 b/lib/manifest.ps1 index 8b8a685736..5e0d9fe2c2 100644 --- a/lib/manifest.ps1 +++ b/lib/manifest.ps1 @@ -7,7 +7,7 @@ function parse_json($path) { try { Get-Content $path -Raw -Encoding UTF8 | ConvertFrom-Json -ErrorAction Stop } catch { - warn "Error parsing JSON at $path." + warn "Error parsing JSON at '$path'." } } @@ -27,7 +27,7 @@ function url_manifest($url) { try { $str | ConvertFrom-Json -ErrorAction Stop } catch { - warn "Error parsing JSON at $url." + warn "Error parsing JSON at '$url'." } } @@ -44,24 +44,23 @@ function Get-Manifest($app) { if ($bucket) { $manifest = manifest $app $bucket } else { - foreach ($bucket in Get-LocalBucket) { - $manifest = manifest $app $bucket + foreach ($tekcub in Get-LocalBucket) { + $manifest = manifest $app $tekcub if ($manifest) { + $bucket = $tekcub break } } } if (!$manifest) { # couldn't find app in buckets: check if it's a local path - $appPath = $app - $bucket = $null - if (!$appPath.EndsWith('.json')) { - $appPath += '.json' - } - if (Test-Path $appPath) { - $url = Convert-Path $appPath + if (Test-Path $app) { + $url = Convert-Path $app $app = appname_from_url $url $manifest = url_manifest $url + } else { + if (($app -match '\\/') -or $app.EndsWith('.json')) { $url = $app } + $app = appname_from_url $app } } } diff --git a/libexec/scoop-cat.ps1 b/libexec/scoop-cat.ps1 index 3e840c7149..5cf363162d 100644 --- a/libexec/scoop-cat.ps1 +++ b/libexec/scoop-cat.ps1 @@ -14,14 +14,14 @@ if (!$app) { error ' missing'; my_usage; exit 1 } $null, $manifest, $bucket, $url = Get-Manifest $app if ($manifest) { - $style = get_config CAT_STYLE - if ($style) { - $manifest | ConvertToPrettyJson | bat --no-paging --style $style --language json - } else { - $manifest | ConvertToPrettyJson - } + $style = get_config CAT_STYLE + if ($style) { + $manifest | ConvertToPrettyJson | bat --no-paging --style $style --language json + } else { + $manifest | ConvertToPrettyJson + } } else { - abort "Couldn't find manifest for '$app'$(if($url) { " at the URL $url" })." + abort "Couldn't find manifest for '$app'$(if($bucket) { " from '$bucket' bucket" } elseif($url) { " at '$url'" })." } exit $exitCode diff --git a/libexec/scoop-download.ps1 b/libexec/scoop-download.ps1 index 3ab2fa2867..ef43f8f41d 100644 --- a/libexec/scoop-download.ps1 +++ b/libexec/scoop-download.ps1 @@ -70,7 +70,7 @@ foreach ($curr_app in $apps) { } if(!$manifest) { - error "Couldn't find manifest for '$app'$(if($url) { " at the URL $url" })." + error "Couldn't find manifest for '$app'$(if($bucket) { " from '$bucket' bucket" } elseif($url) { " at '$url'" })." continue } $version = $manifest.version From 7e3dc73b83c92e0e99aa50b599f24c64c79574e2 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Wed, 6 Mar 2024 21:04:46 +0800 Subject: [PATCH 52/75] refactor(core): Cleanup some old codes, e.g., `msi` section and config migration (#5715) --- CHANGELOG.md | 1 + lib/core.ps1 | 25 --- lib/install.ps1 | 438 +++++++++++++++++---------------------- lib/manifest.ps1 | 1 - libexec/scoop-config.ps1 | 18 -- schema.json | 8 - 6 files changed, 187 insertions(+), 304 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c1e438891..cb4d363a60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,7 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) +- **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715)) ### Builds diff --git a/lib/core.ps1 b/lib/core.ps1 index b971c484db..24b6c8b0c7 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -1415,31 +1415,6 @@ if ($pathExpected) { } $scoopConfig = load_cfg $configFile -# NOTE Scoop config file migration. Remove this after 2023/6/30 -if ($scoopConfig -and $scoopConfig.PSObject.Properties.Name -contains 'lastUpdate') { - $newConfigNames = @{ - 'lastUpdate' = 'last_update' - 'SCOOP_REPO' = 'scoop_repo' - 'SCOOP_BRANCH' = 'scoop_branch' - '7ZIPEXTRACT_USE_EXTERNAL' = 'use_external_7zip' - 'MSIEXTRACT_USE_LESSMSI' = 'use_lessmsi' - 'NO_JUNCTIONS' = 'no_junction' - 'manifest_review' = 'show_manifest' - 'rootPath' = 'root_path' - 'globalPath' = 'global_path' - 'cachePath' = 'cache_path' - } - $newConfigNames.GetEnumerator() | ForEach-Object { - if ($null -ne $scoopConfig.$($_.Key)) { - $value = $scoopConfig.$($_.Key) - $scoopConfig.PSObject.Properties.Remove($_.Key) - $scoopConfig | Add-Member -MemberType NoteProperty -Name $_.Value -Value $value - } - } - ConvertTo-Json $scoopConfig | Out-UTF8File -FilePath $configFile -} -# END NOTE - # Scoop root directory $scoopdir = $env:SCOOP, (get_config ROOT_PATH), (Resolve-Path "$PSScriptRoot\..\..\..\.."), "$([System.Environment]::GetFolderPath('UserProfile'))\scoop" | Where-Object { -not [String]::IsNullOrEmpty($_) } | Select-Object -First 1 diff --git a/lib/install.ps1 b/lib/install.ps1 index 31b6de73f6..7dc772e7be 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -8,13 +8,13 @@ function nightly_version($quiet = $false) { function install_app($app, $architecture, $global, $suggested, $use_cache = $true, $check_hash = $true) { $app, $manifest, $bucket, $url = Get-Manifest $app - if(!$manifest) { - abort "Couldn't find manifest for '$app'$(if($bucket) { " from '$bucket' bucket" } elseif($url) { " at '$url'" })." + if (!$manifest) { + abort "Couldn't find manifest for '$app'$(if ($bucket) { " from '$bucket' bucket" } elseif ($url) { " at '$url'" })." } $version = $manifest.version - if(!$version) { abort "Manifest doesn't specify a version." } - if($version -match '[^\w\.\-\+_]') { + if (!$version) { abort "Manifest doesn't specify a version." } + if ($version -match '[^\w\.\-\+_]') { abort "Manifest version has unsupported character '$($matches[0])'." } @@ -38,7 +38,7 @@ function install_app($app, $architecture, $global, $suggested, $use_cache = $tru } else { $manifest | ConvertToPrettyJson } - $answer = Read-Host -Prompt "Continue installation? [Y/n]" + $answer = Read-Host -Prompt 'Continue installation? [Y/n]' if (($answer -eq 'n') -or ($answer -eq 'N')) { return } @@ -71,7 +71,7 @@ function install_app($app, $architecture, $global, $suggested, $use_cache = $tru save_installed_manifest $app $bucket $dir $url save_install_info @{ 'architecture' = $architecture; 'url' = $url; 'bucket' = $bucket } $dir - if($manifest.suggest) { + if ($manifest.suggest) { $suggested[$app] = $manifest.suggest } @@ -83,11 +83,11 @@ function install_app($app, $architecture, $global, $suggested, $use_cache = $tru function Invoke-CachedDownload ($app, $version, $url, $to, $cookies = $null, $use_cache = $true) { $cached = fullpath (cache_path $app $version $url) - if(!(test-path $cached) -or !$use_cache) { + if (!(Test-Path $cached) -or !$use_cache) { ensure $cachedir | Out-Null Start-Download $url "$cached.download" $cookies - Move-Item "$cached.download" $cached -force - } else { write-host "Loading $(url_remote_filename $url) from cache"} + Move-Item "$cached.download" $cached -Force + } else { Write-Host "Loading $(url_remote_filename $url) from cache" } if (!($null -eq $to)) { if ($use_cache) { @@ -100,7 +100,7 @@ function Invoke-CachedDownload ($app, $version, $url, $to, $cookies = $null, $us function Start-Download ($url, $to, $cookies) { $progress = [console]::isoutputredirected -eq $false -and - $host.name -ne 'Windows PowerShell ISE Host' + $host.name -ne 'Windows PowerShell ISE Host' try { $url = handle_special_urls $url @@ -108,50 +108,50 @@ function Start-Download ($url, $to, $cookies) { } catch { $e = $_.exception if ($e.Response.StatusCode -eq 'Unauthorized') { - warn "Token might be misconfigured." + warn 'Token might be misconfigured.' } - if($e.innerexception) { $e = $e.innerexception } + if ($e.innerexception) { $e = $e.innerexception } throw $e } } function aria_exit_code($exitcode) { $codes = @{ - 0='All downloads were successful' - 1='An unknown error occurred' - 2='Timeout' - 3='Resource was not found' - 4='Aria2 saw the specified number of "resource not found" error. See --max-file-not-found option' - 5='Download aborted because download speed was too slow. See --lowest-speed-limit option' - 6='Network problem occurred.' - 7='There were unfinished downloads. This error is only reported if all finished downloads were successful and there were unfinished downloads in a queue when aria2 exited by pressing Ctrl-C by an user or sending TERM or INT signal' - 8='Remote server did not support resume when resume was required to complete download' - 9='There was not enough disk space available' - 10='Piece length was different from one in .aria2 control file. See --allow-piece-length-change option' - 11='Aria2 was downloading same file at that moment' - 12='Aria2 was downloading same info hash torrent at that moment' - 13='File already existed. See --allow-overwrite option' - 14='Renaming file failed. See --auto-file-renaming option' - 15='Aria2 could not open existing file' - 16='Aria2 could not create new file or truncate existing file' - 17='File I/O error occurred' - 18='Aria2 could not create directory' - 19='Name resolution failed' - 20='Aria2 could not parse Metalink document' - 21='FTP command failed' - 22='HTTP response header was bad or unexpected' - 23='Too many redirects occurred' - 24='HTTP authorization failed' - 25='Aria2 could not parse bencoded file (usually ".torrent" file)' - 26='".torrent" file was corrupted or missing information that aria2 needed' - 27='Magnet URI was bad' - 28='Bad/unrecognized option was given or unexpected option argument was given' - 29='The remote server was unable to handle the request due to a temporary overloading or maintenance' - 30='Aria2 could not parse JSON-RPC request' - 31='Reserved. Not used' - 32='Checksum validation failed' - } - if($null -eq $codes[$exitcode]) { + 0 = 'All downloads were successful' + 1 = 'An unknown error occurred' + 2 = 'Timeout' + 3 = 'Resource was not found' + 4 = 'Aria2 saw the specified number of "resource not found" error. See --max-file-not-found option' + 5 = 'Download aborted because download speed was too slow. See --lowest-speed-limit option' + 6 = 'Network problem occurred.' + 7 = 'There were unfinished downloads. This error is only reported if all finished downloads were successful and there were unfinished downloads in a queue when aria2 exited by pressing Ctrl-C by an user or sending TERM or INT signal' + 8 = 'Remote server did not support resume when resume was required to complete download' + 9 = 'There was not enough disk space available' + 10 = 'Piece length was different from one in .aria2 control file. See --allow-piece-length-change option' + 11 = 'Aria2 was downloading same file at that moment' + 12 = 'Aria2 was downloading same info hash torrent at that moment' + 13 = 'File already existed. See --allow-overwrite option' + 14 = 'Renaming file failed. See --auto-file-renaming option' + 15 = 'Aria2 could not open existing file' + 16 = 'Aria2 could not create new file or truncate existing file' + 17 = 'File I/O error occurred' + 18 = 'Aria2 could not create directory' + 19 = 'Name resolution failed' + 20 = 'Aria2 could not parse Metalink document' + 21 = 'FTP command failed' + 22 = 'HTTP response header was bad or unexpected' + 23 = 'Too many redirects occurred' + 24 = 'HTTP authorization failed' + 25 = 'Aria2 could not parse bencoded file (usually ".torrent" file)' + 26 = '".torrent" file was corrupted or missing information that aria2 needed' + 27 = 'Magnet URI was bad' + 28 = 'Bad/unrecognized option was given or unexpected option argument was given' + 29 = 'The remote server was unable to handle the request due to a temporary overloading or maintenance' + 30 = 'Aria2 could not parse JSON-RPC request' + 31 = 'Reserved. Not used' + 32 = 'Checksum validation failed' + } + if ($null -eq $codes[$exitcode]) { return 'An unknown error occurred' } return $codes[$exitcode] @@ -160,7 +160,7 @@ function aria_exit_code($exitcode) { function get_filename_from_metalink($file) { $bytes = get_magic_bytes_pretty $file '' # check if file starts with '"} + $dashes += switch ($p) { + 100 { '=' } + default { '>' } } # the remaining characters are filled with spaces - $spaces = switch($dashes.Length) { - $midwidth {[string]::Empty} + $spaces = switch ($dashes.Length) { + $midwidth { [string]::Empty } default { - [string]::Join("", ((1..($midwidth - $dashes.Length)) | ForEach-Object {" "})) + [string]::Join('', ((1..($midwidth - $dashes.Length)) | ForEach-Object { ' ' })) } } @@ -514,32 +514,32 @@ function Format-DownloadProgress ($url, $read, $total, $console) { } function Write-DownloadProgress ($read, $total, $url) { - $console = $host.UI.RawUI; - $left = $console.CursorPosition.X; - $top = $console.CursorPosition.Y; - $width = $console.BufferSize.Width; + $console = $host.UI.RawUI + $left = $console.CursorPosition.X + $top = $console.CursorPosition.Y + $width = $console.BufferSize.Width - if($read -eq 0) { + if ($read -eq 0) { $maxOutputLength = $(Format-DownloadProgress $url 100 $total $console).length if (($left + $maxOutputLength) -gt $width) { # not enough room to print progress on this line # print on new line - write-host + Write-Host $left = 0 - $top = $top + 1 - if($top -gt $console.CursorPosition.Y) { $top = $console.CursorPosition.Y } + $top = $top + 1 + if ($top -gt $console.CursorPosition.Y) { $top = $console.CursorPosition.Y } } } - write-host $(Format-DownloadProgress $url $read $total $console) -nonewline + Write-Host $(Format-DownloadProgress $url $read $total $console) -NoNewline [console]::SetCursorPosition($left, $top) } function Invoke-ScoopDownload ($app, $version, $manifest, $bucket, $architecture, $dir, $use_cache = $true, $check_hash = $true) { # we only want to show this warning once - if(!$use_cache) { warn "Cache is being ignored." } + if (!$use_cache) { warn 'Cache is being ignored.' } - # can be multiple urls: if there are, then msi or installer should go last, + # can be multiple urls: if there are, then installer should go last, # so that $fname is set properly $urls = @(script:url $manifest $architecture) @@ -552,42 +552,42 @@ function Invoke-ScoopDownload ($app, $version, $manifest, $bucket, $architecture # needs to be extracted, will get the next dir from the queue $extract_dirs = @(extract_dir $manifest $architecture) $extract_tos = @(extract_to $manifest $architecture) - $extracted = 0; + $extracted = 0 # download first - if(Test-Aria2Enabled) { + if (Test-Aria2Enabled) { Invoke-CachedAria2Download $app $version $manifest $architecture $dir $cookies $use_cache $check_hash } else { - foreach($url in $urls) { + foreach ($url in $urls) { $fname = url_filename $url try { Invoke-CachedDownload $app $version $url "$dir\$fname" $cookies $use_cache } catch { - write-host -f darkred $_ + Write-Host -f darkred $_ abort "URL $url is not valid" } - if($check_hash) { + if ($check_hash) { $manifest_hash = hash_for_url $manifest $url $architecture $ok, $err = check_hash "$dir\$fname" $manifest_hash $(show_app $app $bucket) - if(!$ok) { + if (!$ok) { error $err $cached = cache_path $app $version $url - if(test-path $cached) { + if (Test-Path $cached) { # rm cached file - Remove-Item -force $cached + Remove-Item -Force $cached } - if($url.Contains('sourceforge.net')) { + if ($url.Contains('sourceforge.net')) { Write-Host -f yellow 'SourceForge.net is known for causing hash validation fails. Please try again before opening a ticket.' } - abort $(new_issue_msg $app $bucket "hash check failed") + abort $(new_issue_msg $app $bucket 'hash check failed') } } } } - foreach($url in $urls) { + foreach ($url in $urls) { $fname = url_filename $url $extract_dir = $extract_dirs[$extracted] @@ -597,32 +597,29 @@ function Invoke-ScoopDownload ($app, $version, $manifest, $bucket, $architecture $extract_fn = $null if ($manifest.innosetup) { $extract_fn = 'Expand-InnoArchive' - } elseif($fname -match '\.zip$') { + } elseif ($fname -match '\.zip$') { # Use 7zip when available (more fast) if (((get_config USE_EXTERNAL_7ZIP) -and (Test-CommandAvailable 7z)) -or (Test-HelperInstalled -Helper 7zip)) { $extract_fn = 'Expand-7zipArchive' } else { $extract_fn = 'Expand-ZipArchive' } - } elseif($fname -match '\.msi$') { - # check manifest doesn't use deprecated install method - if(msi $manifest $architecture) { - warn "MSI install is deprecated. If you maintain this manifest, please refer to the manifest reference docs." - } else { - $extract_fn = 'Expand-MsiArchive' - } - } elseif(Test-ZstdRequirement -Uri $fname) { # Zstd first + } elseif ($fname -match '\.msi$') { + $extract_fn = 'Expand-MsiArchive' + } elseif (Test-ZstdRequirement -Uri $fname) { + # Zstd first $extract_fn = 'Expand-ZstdArchive' - } elseif(Test-7zipRequirement -Uri $fname) { # 7zip + } elseif (Test-7zipRequirement -Uri $fname) { + # 7zip $extract_fn = 'Expand-7zipArchive' } - if($extract_fn) { - Write-Host "Extracting " -NoNewline + if ($extract_fn) { + Write-Host 'Extracting ' -NoNewline Write-Host $fname -f Cyan -NoNewline - Write-Host " ... " -NoNewline + Write-Host ' ... ' -NoNewline & $extract_fn -Path "$dir\$fname" -DestinationPath "$dir\$extract_to" -ExtractDir $extract_dir -Removal - Write-Host "done." -f Green + Write-Host 'done.' -f Green $extracted++ } } @@ -631,7 +628,7 @@ function Invoke-ScoopDownload ($app, $version, $manifest, $bucket, $architecture } function cookie_header($cookies) { - if(!$cookies) { return } + if (!$cookies) { return } $vals = $cookies.psobject.properties | ForEach-Object { "$($_.name)=$($_.value)" @@ -654,14 +651,14 @@ function ftp_file_size($url) { # hashes function hash_for_url($manifest, $url, $arch) { - $hashes = @(hash $manifest $arch) | Where-Object { $_ -ne $null }; + $hashes = @(hash $manifest $arch) | Where-Object { $_ -ne $null } - if($hashes.length -eq 0) { return $null } + if ($hashes.length -eq 0) { return $null } $urls = @(script:url $manifest $arch) $index = [array]::indexof($urls, $url) - if($index -eq -1) { abort "Couldn't find hash in manifest for '$url'." } + if ($index -eq -1) { abort "Couldn't find hash in manifest for '$url'." } @($hashes)[$index] } @@ -669,14 +666,14 @@ function hash_for_url($manifest, $url, $arch) { # returns (ok, err) function check_hash($file, $hash, $app_name) { $file = fullpath $file - if(!$hash) { + if (!$hash) { warn "Warning: No hash in manifest. SHA256 for '$(fname $file)' is:`n $((Get-FileHash -Path $file -Algorithm SHA256).Hash.ToLower())" return $true, $null } - Write-Host "Checking hash of " -NoNewline + Write-Host 'Checking hash of ' -NoNewline Write-Host $(url_remote_filename $url) -f Cyan -NoNewline - Write-Host " ... " -nonewline + Write-Host ' ... ' -NoNewline $algorithm, $expected = get_hash $hash if ($null -eq $algorithm) { return $false, "Hash type '$algorithm' isn't supported." @@ -685,152 +682,89 @@ function check_hash($file, $hash, $app_name) { $actual = (Get-FileHash -Path $file -Algorithm $algorithm).Hash.ToLower() $expected = $expected.ToLower() - if($actual -ne $expected) { + if ($actual -ne $expected) { $msg = "Hash check failed!`n" $msg += "App: $app_name`n" $msg += "URL: $url`n" - if(Test-Path $file) { + if (Test-Path $file) { $msg += "First bytes: $((get_magic_bytes_pretty $file ' ').ToUpper())`n" } - if($expected -or $actual) { + if ($expected -or $actual) { $msg += "Expected: $expected`n" $msg += "Actual: $actual" } return $false, $msg } - Write-Host "ok." -f Green + Write-Host 'ok.' -f Green return $true, $null } # for dealing with installers function args($config, $dir, $global) { - if($config) { return $config | ForEach-Object { (format $_ @{'dir'=$dir;'global'=$global}) } } + if ($config) { return $config | ForEach-Object { (format $_ @{'dir' = $dir; 'global' = $global }) } } @() } function run_installer($fname, $manifest, $architecture, $dir, $global) { - # MSI or other installer - $msi = msi $manifest $architecture $installer = installer $manifest $architecture - if($installer.script) { - write-output "Running installer script..." + if ($installer.script) { + Write-Output 'Running installer script...' Invoke-Command ([scriptblock]::Create($installer.script -join "`r`n")) return } - - if($msi) { - install_msi $fname $dir $msi - } elseif($installer) { - install_prog $fname $dir $installer $global - } -} - -# deprecated (see also msi_installed) -function install_msi($fname, $dir, $msi) { - $msifile = "$dir\$(coalesce $msi.file "$fname")" - if(!(is_in_dir $dir $msifile)) { - abort "Error in manifest: MSI file $msifile is outside the app directory." - } - if(!($msi.code)) { abort "Error in manifest: Couldn't find MSI code."} - if(msi_installed $msi.code) { abort "The MSI package is already installed on this system." } - - $logfile = "$dir\install.log" - - $arg = @("/i `"$msifile`"", '/norestart', "/lvp `"$logfile`"", "TARGETDIR=`"$dir`"", - "INSTALLDIR=`"$dir`"") + @(args $msi.args $dir) - - if($msi.silent) { $arg += '/qn', 'ALLUSERS=2', 'MSIINSTALLPERUSER=1' } - else { $arg += '/qb-!' } - - $continue_exit_codes = @{ 3010 = "a restart is required to complete installation" } - - $installed = Invoke-ExternalCommand 'msiexec' $arg -Activity "Running installer..." -ContinueExitCodes $continue_exit_codes - if(!$installed) { - abort "Installation aborted. You might need to run 'scoop uninstall $app' before trying again." - } - Remove-Item $logfile - Remove-Item $msifile -} - -# deprecated -# get-wmiobject win32_product is slow and checks integrity of each installed program, -# so this uses the [wmi] type accelerator instead -# http://blogs.technet.com/b/heyscriptingguy/archive/2011/12/14/use-powershell-to-find-and-uninstall-software.aspx -function msi_installed($code) { - $path = "hklm:\software\microsoft\windows\currentversion\uninstall\$code" - if(!(test-path $path)) { return $false } - $key = Get-Item $path - $name = $key.getvalue('displayname') - $version = $key.getvalue('displayversion') - $classkey = "IdentifyingNumber=`"$code`",Name=`"$name`",Version=`"$version`"" - try { $wmi = [wmi]"Win32_Product.$classkey"; $true } catch { $false } + install_prog $fname $dir $installer $global } function install_prog($fname, $dir, $installer, $global) { $prog = "$dir\$(coalesce $installer.file "$fname")" - if(!(is_in_dir $dir $prog)) { + if (!(is_in_dir $dir $prog)) { abort "Error in manifest: Installer $prog is outside the app directory." } $arg = @(args $installer.args $dir $global) - if($prog.endswith('.ps1')) { + if ($prog.endswith('.ps1')) { & $prog @arg } else { - $installed = Invoke-ExternalCommand $prog $arg -Activity "Running installer..." - if(!$installed) { + $installed = Invoke-ExternalCommand $prog $arg -Activity 'Running installer...' + if (!$installed) { abort "Installation aborted. You might need to run 'scoop uninstall $app' before trying again." } # Don't remove installer if "keep" flag is set to true - if(!($installer.keep -eq "true")) { + if (!($installer.keep -eq 'true')) { Remove-Item $prog } } } function run_uninstaller($manifest, $architecture, $dir) { - $msi = msi $manifest $architecture $uninstaller = uninstaller $manifest $architecture $version = $manifest.version - if($uninstaller.script) { - write-output "Running uninstaller script..." + if ($uninstaller.script) { + Write-Output 'Running uninstaller script...' Invoke-Command ([scriptblock]::Create($uninstaller.script -join "`r`n")) return } - if($msi -or $uninstaller) { - $exe = $null; $arg = $null; $continue_exit_codes = @{} - - if($msi) { - $code = $msi.code - $exe = "msiexec"; - $arg = @("/norestart", "/x $code") - if($msi.silent) { - $arg += '/qn', 'ALLUSERS=2', 'MSIINSTALLPERUSER=1' - } else { - $arg += '/qb-!' - } - - $continue_exit_codes.1605 = 'not installed, skipping' - $continue_exit_codes.3010 = 'restart required' - } elseif($uninstaller) { - $exe = "$dir\$($uninstaller.file)" - $arg = args $uninstaller.args - if(!(is_in_dir $dir $exe)) { - warn "Error in manifest: Installer $exe is outside the app directory, skipping." - $exe = $null; - } elseif(!(test-path $exe)) { - warn "Uninstaller $exe is missing, skipping." - $exe = $null; - } + if ($uninstaller.file) { + $exe = "$dir\$($uninstaller.file)" + $arg = args $uninstaller.args + if (!(is_in_dir $dir $exe)) { + warn "Error in manifest: Installer $exe is outside the app directory, skipping." + $exe = $null + } elseif (!(Test-Path $exe)) { + warn "Uninstaller $exe is missing, skipping." + $exe = $null } - if($exe) { - if($exe.endswith('.ps1')) { + if ($exe) { + if ($exe.endswith('.ps1')) { & $exe @arg } else { - $uninstalled = Invoke-ExternalCommand $exe $arg -Activity "Running uninstaller..." -ContinueExitCodes $continue_exit_codes - if(!$uninstalled) { abort "Uninstallation aborted." } + $uninstalled = Invoke-ExternalCommand $exe $arg -Activity 'Running uninstaller...' + if (!$uninstalled) { + abort 'Uninstallation aborted.' + } } } } @@ -838,7 +772,7 @@ function run_uninstaller($manifest, $architecture, $dir) { # get target, name, arguments for shim function shim_def($item) { - if($item -is [array]) { return $item } + if ($item -is [array]) { return $item } return $item, (strip_ext (fname $item)), $null } @@ -846,18 +780,18 @@ function create_shims($manifest, $dir, $global, $arch) { $shims = @(arch_specific 'bin' $manifest $arch) $shims | Where-Object { $_ -ne $null } | ForEach-Object { $target, $name, $arg = shim_def $_ - write-output "Creating shim for '$name'." + Write-Output "Creating shim for '$name'." - if(test-path "$dir\$target" -pathType leaf) { + if (Test-Path "$dir\$target" -PathType leaf) { $bin = "$dir\$target" - } elseif(test-path $target -pathType leaf) { + } elseif (Test-Path $target -PathType leaf) { $bin = $target } else { $bin = search_in_path $target } - if(!$bin) { abort "Can't shim '$target': File doesn't exist."} + if (!$bin) { abort "Can't shim '$target': File doesn't exist." } - shim $bin $global $name (substitute $arg @{ '$dir' = $dir; '$original_dir' = $original_dir; '$persist_dir' = $persist_dir}) + shim $bin $global $name (substitute $arg @{ '$dir' = $dir; '$original_dir' = $original_dir; '$persist_dir' = $persist_dir }) } } @@ -949,15 +883,15 @@ function ensure_install_dir_not_in_path($dir, $global) { $path = (env 'path' $global) $fixed, $removed = find_dir_or_subdir $path "$dir" - if($removed) { - $removed | ForEach-Object { "Installer added '$(friendly_path $_)' to path. Removing."} + if ($removed) { + $removed | ForEach-Object { "Installer added '$(friendly_path $_)' to path. Removing." } env 'path' $global $fixed } - if(!$global) { + if (!$global) { $fixed, $removed = find_dir_or_subdir (env 'path' $true) "$dir" - if($removed) { - $removed | ForEach-Object { warn "Installer added '$_' to system path. You might want to remove this manually (requires admin permission)."} + if ($removed) { + $removed | ForEach-Object { warn "Installer added '$_' to system path. You might want to remove this manually (requires admin permission)." } } } } @@ -967,8 +901,8 @@ function find_dir_or_subdir($path, $dir) { $fixed = @() $removed = @() $path.split(';') | ForEach-Object { - if($_) { - if(($_ -eq $dir) -or ($_ -like "$dir\*")) { $removed += $_ } + if ($_) { + if (($_ -eq $dir) -or ($_ -like "$dir\*")) { $removed += $_ } else { $fixed += $_ } } } @@ -1009,8 +943,8 @@ function env_set($manifest, $dir, $global, $arch) { $env_set = arch_specific 'env_set' $manifest $arch if ($env_set) { $env_set | Get-Member -Member NoteProperty | ForEach-Object { - $name = $_.name; - $val = format $env_set.$($_.name) @{ "dir" = $dir } + $name = $_.name + $val = format $env_set.$($_.name) @{ 'dir' = $dir } env $name $global $val Set-Content env:\$name $val } @@ -1032,7 +966,7 @@ function Invoke-HookScript { param( [Parameter(Mandatory = $true)] [ValidateSet('pre_install', 'post_install', - 'pre_uninstall', 'post_uninstall')] + 'pre_uninstall', 'post_uninstall')] [String] $HookType, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] @@ -1050,10 +984,10 @@ function Invoke-HookScript { } function show_notes($manifest, $dir, $original_dir, $persist_dir) { - if($manifest.notes) { - write-output "Notes" - write-output "-----" - write-output (wraptext (substitute $manifest.notes @{ '$dir' = $dir; '$original_dir' = $original_dir; '$persist_dir' = $persist_dir})) + if ($manifest.notes) { + Write-Output 'Notes' + Write-Output '-----' + Write-Output (wraptext (substitute $manifest.notes @{ '$dir' = $dir; '$original_dir' = $original_dir; '$persist_dir' = $persist_dir })) } } @@ -1098,23 +1032,23 @@ function ensure_none_failed($apps) { function show_suggestions($suggested) { $installed_apps = (installed_apps $true) + (installed_apps $false) - foreach($app in $suggested.keys) { - $features = $suggested[$app] | get-member -type noteproperty | ForEach-Object { $_.name } - foreach($feature in $features) { + foreach ($app in $suggested.keys) { + $features = $suggested[$app] | Get-Member -type noteproperty | ForEach-Object { $_.name } + foreach ($feature in $features) { $feature_suggestions = $suggested[$app].$feature $fulfilled = $false - foreach($suggestion in $feature_suggestions) { + foreach ($suggestion in $feature_suggestions) { $suggested_app, $bucket, $null = parse_app $suggestion - if($installed_apps -contains $suggested_app) { - $fulfilled = $true; - break; + if ($installed_apps -contains $suggested_app) { + $fulfilled = $true + break } } - if(!$fulfilled) { - write-host "'$app' suggests installing '$([string]::join("' or '", $feature_suggestions))'." + if (!$fulfilled) { + Write-Host "'$app' suggests installing '$([string]::join("' or '", $feature_suggestions))'." } } } @@ -1139,19 +1073,19 @@ function persist_def($persist) { function persist_data($manifest, $original_dir, $persist_dir) { $persist = $manifest.persist - if($persist) { + if ($persist) { $persist_dir = ensure $persist_dir if ($persist -is [String]) { - $persist = @($persist); + $persist = @($persist) } $persist | ForEach-Object { $source, $target = persist_def $_ - write-host "Persisting $source" + Write-Host "Persisting $source" - $source = $source.TrimEnd("/").TrimEnd("\\") + $source = $source.TrimEnd('/').TrimEnd('\\') $source = fullpath "$dir\$source" $target = fullpath "$persist_dir\$target" @@ -1215,7 +1149,7 @@ function unlink_persist_data($manifest, $dir) { # check whether write permission for Users usergroup is set to global persist dir, if not then set function persist_permission($manifest, $global) { - if($global -and $manifest.persist -and (is_admin)) { + if ($global -and $manifest.persist -and (is_admin)) { $path = persistdir $null $global $user = New-Object System.Security.Principal.SecurityIdentifier 'S-1-5-32-545' $target_rule = New-Object System.Security.AccessControl.FileSystemAccessRule($user, 'Write', 'ObjectInherit', 'none', 'Allow') diff --git a/lib/manifest.ps1 b/lib/manifest.ps1 index 5e0d9fe2c2..f66755c6f4 100644 --- a/lib/manifest.ps1 +++ b/lib/manifest.ps1 @@ -155,7 +155,6 @@ function generate_user_manifest($app, $bucket, $version) { function url($manifest, $arch) { arch_specific 'url' $manifest $arch } function installer($manifest, $arch) { arch_specific 'installer' $manifest $arch } function uninstaller($manifest, $arch) { arch_specific 'uninstaller' $manifest $arch } -function msi($manifest, $arch) { arch_specific 'msi' $manifest $arch } function hash($manifest, $arch) { arch_specific 'hash' $manifest $arch } function extract_dir($manifest, $arch) { arch_specific 'extract_dir' $manifest $arch} function extract_to($manifest, $arch) { arch_specific 'extract_to' $manifest $arch} diff --git a/libexec/scoop-config.ps1 b/libexec/scoop-config.ps1 index 09487da7c5..dbc1925305 100644 --- a/libexec/scoop-config.ps1 +++ b/libexec/scoop-config.ps1 @@ -151,30 +151,12 @@ if (!$name) { } elseif ($name -like '--help') { my_usage } elseif ($name -like 'rm') { - # NOTE Scoop config file migration. Remove this after 2023/6/30 - if ($value -notin 'SCOOP_REPO', 'SCOOP_BRANCH' -and $value -in $newConfigNames.Keys) { - warn ('Config option "{0}" is deprecated, please use "{1}" instead next time.' -f $value, $newConfigNames.$value) - $value = $newConfigNames.$value - } - # END NOTE set_config $value $null | Out-Null Write-Host "'$value' has been removed" } elseif ($null -ne $value) { - # NOTE Scoop config file migration. Remove this after 2023/6/30 - if ($name -notin 'SCOOP_REPO', 'SCOOP_BRANCH' -and $name -in $newConfigNames.Keys) { - warn ('Config option "{0}" is deprecated, please use "{1}" instead next time.' -f $name, $newConfigNames.$name) - $name = $newConfigNames.$name - } - # END NOTE set_config $name $value | Out-Null Write-Host "'$name' has been set to '$value'" } else { - # NOTE Scoop config file migration. Remove this after 2023/6/30 - if ($name -notin 'SCOOP_REPO', 'SCOOP_BRANCH' -and $name -in $newConfigNames.Keys) { - warn ('Config option "{0}" is deprecated, please use "{1}" instead next time.' -f $name, $newConfigNames.$name) - $name = $newConfigNames.$name - } - # END NOTE $value = get_config $name if($null -eq $value) { Write-Host "'$name' is not set" diff --git a/schema.json b/schema.json index 239218cc23..6c24d4da20 100644 --- a/schema.json +++ b/schema.json @@ -127,10 +127,6 @@ "installer": { "$ref": "#/definitions/installer" }, - "msi": { - "$ref": "#/definitions/stringOrArrayOfStrings", - "description": "Deprecated" - }, "post_install": { "$ref": "#/definitions/stringOrArrayOfStrings" }, @@ -603,10 +599,6 @@ "license": { "$ref": "#/definitions/license" }, - "msi": { - "$ref": "#/definitions/stringOrArrayOfStrings", - "description": "Deprecated" - }, "notes": { "$ref": "#/definitions/stringOrArrayOfStrings" }, From 54e0514833b25601b7f27a237e6846b2700c7714 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Thu, 7 Mar 2024 10:55:27 +0800 Subject: [PATCH 53/75] fix(install): Fix bugs in #5715 (#5824) --- CHANGELOG.md | 2 +- lib/install.ps1 | 58 +++++++++++++++++++++++-------------------------- 2 files changed, 28 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb4d363a60..81e03b058c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,7 +52,7 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) -- **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715)) +- **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) ### Builds diff --git a/lib/install.ps1 b/lib/install.ps1 index 7dc772e7be..3fe945229a 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -712,27 +712,23 @@ function run_installer($fname, $manifest, $architecture, $dir, $global) { Invoke-Command ([scriptblock]::Create($installer.script -join "`r`n")) return } - install_prog $fname $dir $installer $global -} - -function install_prog($fname, $dir, $installer, $global) { - $prog = "$dir\$(coalesce $installer.file "$fname")" - if (!(is_in_dir $dir $prog)) { - abort "Error in manifest: Installer $prog is outside the app directory." - } - $arg = @(args $installer.args $dir $global) - - if ($prog.endswith('.ps1')) { - & $prog @arg - } else { - $installed = Invoke-ExternalCommand $prog $arg -Activity 'Running installer...' - if (!$installed) { - abort "Installation aborted. You might need to run 'scoop uninstall $app' before trying again." + if ($installer) { + $prog = "$dir\$(coalesce $installer.file "$fname")" + if (!(is_in_dir $dir $prog)) { + abort "Error in manifest: Installer $prog is outside the app directory." } - - # Don't remove installer if "keep" flag is set to true - if (!($installer.keep -eq 'true')) { - Remove-Item $prog + $arg = @(args $installer.args $dir $global) + if ($prog.endswith('.ps1')) { + & $prog @arg + } else { + $installed = Invoke-ExternalCommand $prog $arg -Activity 'Running installer...' + if (!$installed) { + abort "Installation aborted. You might need to run 'scoop uninstall $app' before trying again." + } + # Don't remove installer if "keep" flag is set to true + if (!($installer.keep -eq 'true')) { + Remove-Item $prog + } } } } @@ -747,21 +743,21 @@ function run_uninstaller($manifest, $architecture, $dir) { } if ($uninstaller.file) { - $exe = "$dir\$($uninstaller.file)" + $prog = "$dir\$($uninstaller.file)" $arg = args $uninstaller.args - if (!(is_in_dir $dir $exe)) { - warn "Error in manifest: Installer $exe is outside the app directory, skipping." - $exe = $null - } elseif (!(Test-Path $exe)) { - warn "Uninstaller $exe is missing, skipping." - $exe = $null + if (!(is_in_dir $dir $prog)) { + warn "Error in manifest: Installer $prog is outside the app directory, skipping." + $prog = $null + } elseif (!(Test-Path $prog)) { + warn "Uninstaller $prog is missing, skipping." + $prog = $null } - if ($exe) { - if ($exe.endswith('.ps1')) { - & $exe @arg + if ($prog) { + if ($prog.endswith('.ps1')) { + & $prog @arg } else { - $uninstalled = Invoke-ExternalCommand $exe $arg -Activity 'Running uninstaller...' + $uninstalled = Invoke-ExternalCommand $prog $arg -Activity 'Running uninstaller...' if (!$uninstalled) { abort 'Uninstallation aborted.' } From 6f9ed1d4649bf7fed6abbcb4686db9351d9ddb63 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Wed, 13 Mar 2024 13:22:58 +0800 Subject: [PATCH 54/75] fix(ci): Update 'psmodulecache' version to 'main' (#5828) --- .github/workflows/ci.yml | 4 ++-- CHANGELOG.md | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3e87fa1b2e..3c7541f7bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: with: fetch-depth: 2 - name: Init Test Suite - uses: potatoqualitee/psmodulecache@v5.1 + uses: potatoqualitee/psmodulecache@main with: modules-to-cache: BuildHelpers shell: powershell @@ -30,7 +30,7 @@ jobs: with: fetch-depth: 2 - name: Init Test Suite - uses: potatoqualitee/psmodulecache@v5.1 + uses: potatoqualitee/psmodulecache@main with: modules-to-cache: BuildHelpers shell: pwsh diff --git a/CHANGELOG.md b/CHANGELOG.md index 81e03b058c..c15938c374 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,7 +60,8 @@ ### Continuous Integration -- **dependabot:** Add dependabot.yml for GitHub Actions ([#5377](https://github.com/ScoopInstaller/Scoop/pull/5377)) +- **dependabot:** Add dependabot.yml for GitHub Actions ([#5377](https://github.com/ScoopInstaller/Scoop/issues/5377)) +- **module:** Update 'psmodulecache' version to 'main' ([#5828](https://github.com/ScoopInstaller/Scoop/issues/5828)) ### Tests From 9d07c33e871a4e91f0a2d5ff4e112cf3185b8805 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Wed, 13 Mar 2024 18:41:58 +0800 Subject: [PATCH 55/75] fix(decompress): Remove unused parent dir w/ 'extract_dir' (#5682) --- CHANGELOG.md | 1 + lib/decompress.ps1 | 28 ++++++++++++++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c15938c374..b33caca7ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ - **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) - **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) - **manifest:** Correct source of manifest ([#5575](https://github.com/ScoopInstaller/Scoop/issues/5575)) +- **decompress:** Remove unused parent dir w/ 'extract_dir' ([#5682](https://github.com/ScoopInstaller/Scoop/issues/5682)) - **shim:** Check literal path in `Get-ShimPath` ([#5680](https://github.com/ScoopInstaller/Scoop/issues/5680)) - **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) - **scoop-reset:** Don't abort when multiple apps are passed and an app is running ([#5687](https://github.com/ScoopInstaller/Scoop/issues/5687)) diff --git a/lib/decompress.ps1 b/lib/decompress.ps1 index bdee90d620..4fade6dd0a 100644 --- a/lib/decompress.ps1 +++ b/lib/decompress.ps1 @@ -46,12 +46,6 @@ function Expand-7zipArchive { if (!$Status) { abort "Failed to extract files from $Path.`nLog file:`n $(friendly_path $LogPath)`n$(new_issue_msg $app $bucket 'decompress error')" } - if (!$IsTar -and $ExtractDir) { - movedir "$DestinationPath\$ExtractDir" $DestinationPath | Out-Null - } - if (Test-Path $LogPath) { - Remove-Item $LogPath -Force - } if ($IsTar) { # Check for tar $Status = Invoke-ExternalCommand $7zPath @('l', $Path) -LogPath $LogPath @@ -63,8 +57,15 @@ function Expand-7zipArchive { abort "Failed to list files in $Path.`nNot a 7-Zip supported archive file." } } + if (!$IsTar -and $ExtractDir) { + movedir "$DestinationPath\$ExtractDir" $DestinationPath | Out-Null + # Remove temporary directory + Remove-Item "$DestinationPath\$($ExtractDir -replace '[\\/].*')" -Recurse -Force -ErrorAction Ignore + } + if (Test-Path $LogPath) { + Remove-Item $LogPath -Force + } if ($Removal) { - # Remove original archive file if (($Path -replace '.*\.([^\.]*)$', '$1') -eq '001') { # Remove splited 7-zip archive parts Get-ChildItem "$($Path -replace '\.[^\.]*$', '').???" | Remove-Item -Force @@ -72,6 +73,7 @@ function Expand-7zipArchive { # Remove splitted RAR archive parts Get-ChildItem "$($Path -replace '\.part(\d+)\.rar$', '').part*.rar" | Remove-Item -Force } else { + # Remove original archive file Remove-Item $Path -Force } } @@ -112,17 +114,19 @@ function Expand-ZstdArchive { abort "Failed to extract files from $Path.`nLog file:`n $(friendly_path $LogPath)`n$(new_issue_msg $app $bucket 'decompress error')" } $IsTar = (strip_ext $Path) -match '\.tar$' + if ($IsTar) { + # Check for tar + $TarFile = Join-Path $DestinationPath (strip_ext (fname $Path)) + Expand-7zipArchive -Path $TarFile -DestinationPath $DestinationPath -ExtractDir $ExtractDir -Removal + } if (!$IsTar -and $ExtractDir) { movedir (Join-Path $DestinationPath $ExtractDir) $DestinationPath | Out-Null + # Remove temporary directory + Remove-Item "$DestinationPath\$($ExtractDir -replace '[\\/].*')" -Recurse -Force -ErrorAction Ignore } if (Test-Path $LogPath) { Remove-Item $LogPath -Force } - if ($IsTar) { - # Check for tar - $TarFile = Join-Path $DestinationPath (strip_ext (fname $Path)) - Expand-7zipArchive -Path $TarFile -DestinationPath $DestinationPath -ExtractDir $ExtractDir -Removal - } } function Expand-MsiArchive { From 3186fef105b59d49b3abc813c168a05239982fc5 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Wed, 20 Mar 2024 17:17:48 +0800 Subject: [PATCH 56/75] fix(update/uninstall): Remove items from PATH correctly (#5833) --- CHANGELOG.md | 1 + lib/install.ps1 | 15 ++++++++++----- libexec/scoop-update.ps1 | 5 ++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b33caca7ec..c29b636dda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ - **core:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) - **scoop-checkup:** Don't throw 7zip error when external 7zip is used ([#5703](https://github.com/ScoopInstaller/Scoop/issues/5703)) - **config:** Warn users about misconfigured GitHub token ([#5777](https://github.com/ScoopInstaller/Scoop/issues/5777)) +- **update/uninstall:** Remove items from PATH correctly ([#5833](https://github.com/ScoopInstaller/Scoop/issues/5833)) ### Performance Improvements diff --git a/lib/install.ps1 b/lib/install.ps1 index 3fe945229a..0ed13707e8 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -917,7 +917,6 @@ function env_add_path($manifest, $dir, $global, $arch) { } else { $path_dir = Join-Path $dir $_ } - if (!(is_in_dir $dir $path_dir)) { abort "Error in manifest: env_add_path '$_' is outside the app directory." } @@ -928,10 +927,16 @@ function env_add_path($manifest, $dir, $global, $arch) { function env_rm_path($manifest, $dir, $global, $arch) { $env_add_path = arch_specific 'env_add_path' $manifest $arch - $env_add_path | Where-Object { $_ } | ForEach-Object { - $path_dir = Join-Path $dir $_ - - remove_from_path $path_dir $global + $dir = $dir.TrimEnd('\') + if ($env_add_path) { + $env_add_path | Where-Object { $_ } | ForEach-Object { + if ($_ -eq '.') { + $path_dir = $dir + } else { + $path_dir = Join-Path $dir $_ + } + remove_from_path $path_dir $global + } } } diff --git a/libexec/scoop-update.ps1 b/libexec/scoop-update.ps1 index 50f82090a5..e632be72fb 100644 --- a/libexec/scoop-update.ps1 +++ b/libexec/scoop-update.ps1 @@ -289,15 +289,14 @@ function update($app, $global, $quiet = $false, $independent, $suggested, $use_c Write-Host "Uninstalling '$app' ($old_version)" run_uninstaller $old_manifest $architecture $dir rm_shims $app $old_manifest $global $architecture - env_rm_path $old_manifest $dir $global $architecture - env_rm $old_manifest $global $architecture # If a junction was used during install, that will have been used # as the reference directory. Otherwise it will just be the version # directory. $refdir = unlink_current $dir - uninstall_psmodule $old_manifest $refdir $global + env_rm_path $old_manifest $refdir $global $architecture + env_rm $old_manifest $global $architecture if ($force -and ($old_version -eq $version)) { if (!(Test-Path "$dir/../_$version.old")) { From 90766f9315696d1e5ef982ce1ad6385616336d7a Mon Sep 17 00:00:00 2001 From: Suhas <98212676+spider2048@users.noreply.github.com> Date: Wed, 20 Mar 2024 19:46:10 +0530 Subject: [PATCH 57/75] fix(shim): Allow GUI applications to attach to the shell's console when launched using the GUI shim (#5721) --- CHANGELOG.md | 1 + supporting/shimexe/bin/checksum.sha256 | 2 +- supporting/shimexe/bin/checksum.sha512 | 2 +- supporting/shimexe/bin/shim.exe | Bin 7680 -> 7680 bytes supporting/shimexe/shim.cs | 13 ++++++++++++- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c29b636dda..caf89b9fca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ - **scoop-checkup:** Don't throw 7zip error when external 7zip is used ([#5703](https://github.com/ScoopInstaller/Scoop/issues/5703)) - **config:** Warn users about misconfigured GitHub token ([#5777](https://github.com/ScoopInstaller/Scoop/issues/5777)) - **update/uninstall:** Remove items from PATH correctly ([#5833](https://github.com/ScoopInstaller/Scoop/issues/5833)) +- **shim:** Allow GUI applications to attach to the shell's console when launched using the GUI shim ([#5721](https://github.com/ScoopInstaller/Scoop/issues/5721)) ### Performance Improvements diff --git a/supporting/shimexe/bin/checksum.sha256 b/supporting/shimexe/bin/checksum.sha256 index 7a67617054..2f462bd732 100644 --- a/supporting/shimexe/bin/checksum.sha256 +++ b/supporting/shimexe/bin/checksum.sha256 @@ -1 +1 @@ -9726c3a429009a5b22bd92cb8ab96724c670e164e7240e83f27b7c8b7bd1ca39 *shim.exe +1e4a9e4b305ef78b375159b25e2f8a90243584efd56ed6994072a8dfc2147ade *shim.exe diff --git a/supporting/shimexe/bin/checksum.sha512 b/supporting/shimexe/bin/checksum.sha512 index 915750f159..5344ca9314 100644 --- a/supporting/shimexe/bin/checksum.sha512 +++ b/supporting/shimexe/bin/checksum.sha512 @@ -1 +1 @@ -18a737674afde4d5e7e1647d8d1e98471bb260513c57739651f92fdf1647d76c92f0cd0a9bb458daf4eae4bdab9d31404162acf6d74a041e6415752b75d722e0 *shim.exe +f580833905e45b02a433c03647fb0caa3692336c8bde9621c286684629c78d1c56a292bea2887ea0ae941b8beec50322f31975c23ab5644c2b85f3c2108f383d *shim.exe diff --git a/supporting/shimexe/bin/shim.exe b/supporting/shimexe/bin/shim.exe index f6f3930334a09939684a8bdd25210df16304afe8..19a7fa36e9bc24035835d54d3530741d6528135b 100644 GIT binary patch delta 2247 zcmZ8je{2-T75-*+cg}m~BVOP6dF(+7Cm*w~zVY}EXP#)3w-;u9@;Pxe6k?_GdMD5rHp_fC zC|1g?iSURxoM|b*JX?tp4vuDl9k&63Is&NhVzNElA#L$uI3T}RAERkS@sq%qA0>?! zHy9fJR<;N?ydry+yPoo0AeyN1EqWZTCHE7Ae5B5ow6um>t>$u4yF|Tc<~`a9TS|3W z$GjMqmr~?GJ;93wX%6*4!-81Mq4jMySi&(;{dOPc8y9ApIOIHjoUbvGUFX|6Q!3$B z47IMWw51~b7N??^%k~$9oAau3Jb8^S$lW5kCyd%nDb_-jmNNW`X{NV*7N*V5gzN0Z zgnR3?g!nY zaW`n=kndD(kSD1RRuh9Y8rBjPtm%(ggLY0;)!$QH6*)1|`BRl!D*XbuI#VV{gS z3P%jCm*?%<(55?!JJqBWMMj;sqxh%wSxcb@mk~wWIz#^t#Uw3RvuYzWe^p&1CahPu z_PW%T1A@GaN#pu0TTeX1pbEdXH5RN77<#>Z-d2$I2lgUt7yHSVGL6C^0s*Y8P zW9Re~dd1G^lekMLTp(9y5`Dza+Zv}0f7RH3XYkKb`&=^krla|L2K$ZWgyE-EKkd8G zU*>Qh`gx*9mBwQR&)AwTGrUe{?g|~~1`~8)6ayl~a}1guO=BkGsl8&MVOkYMN$@v? zk5(tuq~N`%s4n&O|51aYd_?G%W5M-?bBvYPkN`%J z^?9kH2G!Ht(CZcTZ~2@^V_R0Q`*wPsEo(r(Q8VeY_N-{Yy|?DdoP5y8Zz6^{PU?O= z#luKkAX?bZPTJT*bnqE-^$rsw7~##W!XK4@i=-`i_0C#)t;(m|{5$AV7I=o?ZsIR!68I|@Nc@}$1kxtxADCp`7VwDrJoCJogNBdbWtGJUW-T8N z<3}P-46Qt-uvT@D|6O$88}QYqa2(It-LyPLA3eK?Reh^0dhtE{N^Ga;3Y|`&kG(&I zchvx%$CLIK&|%WNKpY}(w}*+#?T7FJejvxlA5jx{8NQez|B_O~F7j&nAH_NJtH&An zg!N;hZ_Vp0@)e?Goin`r8xBp@6q5L*d=nQDmsiN=?Q7iiHs?Ct zuJ{KYv=)hv@H6Ri?NOdPiNH#VRc52-aN23)2G*+8qKb`MCtSAacCm)-eTkUBIpPw$ zBTgfW_cx0s^oVADYj~p9So)pTqkPRa3kx25yHPkO@@{Vw5u7yIMVA?4y#LxB$Bl3{ zT36_}=@!GWSIFVyC8Oc>IpwU?~_K-ZOIW zf#8wwId4NlFgCR1;R(hV=g&%M`^4yIUvbNUvGJ+!ns=z??6&V-YCV4H?qeeUV)OGC zy28oY0f!rs>ABz6HVD^-kX1ZEI{aIr9NwSwYSWc}HS`HOHP6g6r({bZd?xv?xkah} QIC67g&TITo%(O@T3;B&}T>t<8 delta 2128 zcmZ8i3v5$W82-+=_nxlpnCrT>W1G@B*e=}|qbLM3KoP{6$;4&AlrRAa86tPK1AHL2 zzKE|FmzxkD#AsY1D$d7z#26C=6$olD#)#qr69`cthJ@e?jo&%jV(_N@{_p?KfBtj+ z$8C#k#kR*Ev=5yadSc+wTKP$K;H4#^KMcC8dPas) z%e;&ArR0RP$0|l5Dw&Nc=}jb0bx$AjQ)7NWyww6L1l}fA8Ie{6yh(I!P#L{uV;$F+ zM9giVwct1Epwe|IqRG;x_E5=F`EFhR$+V0Md)yUi&Z@B2M3VBFiQW_qErbzk)&H#C zR4$dImX(%-9_!5xsmw*vZKWyGQYd91imbmqW~<3;vL>W;otvgeD`Q%08FaHj(Q#+D zabW7V0y`-WDe}(#eD8*}1!jRF!}U|vcXi?nxh{JB!miwWN}Dx55*%};he^QBBOBDI z8lS0~Ib?Zsi8!D7*)8>K@^ZLAT8_e<24~3K_64ZdBa16lpA|us+HFU0!kTU=EWl5Q zz_AADe_Zs@Qe$?_f#$o^eqz*mmwV4hZMj8|`{*;SciVblHG?X=XKQS-jxzKNd$+Cd zCwUp##VYbz9;2|q_+-qH+tr{G!E#&UVICjB-(rxL1U6`3dODeMEV0_{gwdiRhF55t z4BtW&<2asA8Z|-9sw>Ag)Djp^ZEPqBhTVWZOM8yvJXPZ=H;numlAbdCqi;KX)_B=hJr zJt|@#9acArk%nolMcpc*On?JHZK)^--SQFbtaH1#0N16pK7e~H-xn1q=PRYv!}0+U z$NW+4F{c@o*g2{#R*#4TJ{r|d$?YPA%lHNY+p31xmMY9M+CbHt_Oqf2i_TkHVzm1> zAA?-eEqRppmDuZ3SXjkw+2|lT$eQumL=0gi2fPGtDSD3i=3aXPhy7)mXl#zr+qk7AUuTEeHP=*0_` zi`(#wXeK^lHRBF6s%hjuifOn9X*ClM;VHX~mLh%h>J_Z#S0cx`dPgjxWgmT>!$LOp zMLcMCVVa5mx=+zf#kG5g)%F^^jwj?ga!+}97Y(97-lY`r67o{|Z^ehWM%~Y#+pOn^ zY3nuOG5HqpFZrI~9}p8(fen0H9>f=LydX;%O%-bY_jBgw2{M!fZ{OXyH5ZA~B9Ph&A{^Jdb*O zD{9z)3H+AhWqi!{DQ9iQe#{pZ!ffZ|!a<9cz6fC{XZLc3JL?G8MYiX>XEQslf278q z7IDzf^KE_f`oG_4_FGSv6ta`N0*A>?@FtkAXG7@ELT{xasB#^{DNEi`tLxnqGD6|>2+(q{_Xcex%UsB-u~su zo1YGjR&))|jaP}_rb<6JQdwTMWAray-{9?R@K0s6+?frk6K8^(5?hALl7BjKUv@ZF K`>Pme4gCw%u~YH@ diff --git a/supporting/shimexe/shim.cs b/supporting/shimexe/shim.cs index 1337341ef6..b7a2c0e56e 100644 --- a/supporting/shimexe/shim.cs +++ b/supporting/shimexe/shim.cs @@ -21,6 +21,12 @@ static extern bool CreateProcess(string lpApplicationName, out PROCESS_INFORMATION lpProcessInformation); const int ERROR_ELEVATION_REQUIRED = 740; + [DllImport("kernel32.dll", SetLastError = true)] + private static extern bool AttachConsole(int dwProcessId); + + [DllImport("kernel32.dll", SetLastError = true)] + private static extern IntPtr GetConsoleWindow(); + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] struct STARTUPINFO { public Int32 cb; @@ -89,7 +95,12 @@ static int Main(string[] args) { cmd_args += pass_args; } if(!string.IsNullOrEmpty(cmd_args)) cmd_args = " " + cmd_args; - var cmd = "\"" + path + "\"" + cmd_args; + var cmd = path + cmd_args; + + // Fix when GUI applications want to write to a console + if (GetConsoleWindow() == IntPtr.Zero) { + AttachConsole(-1); + } if(!CreateProcess(null, cmd, IntPtr.Zero, IntPtr.Zero, bInheritHandles: true, From 5354ab5d164a6fdfb8d279fdc917bf4e1faf090b Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Thu, 21 Mar 2024 13:30:51 +0800 Subject: [PATCH 58/75] builds(supporting): Update Json to 13.0.3, Json.Schema to 3.0.15 (#5835) --- CHANGELOG.md | 1 + supporting/shimexe/bin/checksum.sha256 | 2 +- supporting/shimexe/bin/checksum.sha512 | 2 +- supporting/shimexe/bin/shim.exe | Bin 7680 -> 8192 bytes supporting/shimexe/build.ps1 | 2 +- supporting/shimexe/packages.config | 3 +- supporting/shimexe/shim.csproj | 15 +++++++--- .../validator/bin/Newtonsoft.Json.Schema.dll | Bin 259072 -> 261632 bytes supporting/validator/bin/Newtonsoft.Json.dll | Bin 701992 -> 711952 bytes supporting/validator/bin/Scoop.Validator.dll | Bin 7680 -> 7680 bytes supporting/validator/bin/checksum.sha256 | 8 +++--- supporting/validator/bin/checksum.sha512 | 8 +++--- supporting/validator/bin/validator.exe | Bin 5632 -> 6144 bytes supporting/validator/build.ps1 | 2 +- supporting/validator/packages.config | 6 ++-- supporting/validator/validator.csproj | 26 ++++++++++++------ 16 files changed, 47 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index caf89b9fca..743d6466fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,7 @@ ### Builds - **checkver:** Read the private_host config variable ([#5381](https://github.com/ScoopInstaller/Scoop/issues/5381)) +- **supporting:** Update Json to 13.0.3, Json.Schema to 3.0.15 ([#5835](https://github.com/ScoopInstaller/Scoop/issues/5835)) ### Continuous Integration diff --git a/supporting/shimexe/bin/checksum.sha256 b/supporting/shimexe/bin/checksum.sha256 index 2f462bd732..be9604386e 100644 --- a/supporting/shimexe/bin/checksum.sha256 +++ b/supporting/shimexe/bin/checksum.sha256 @@ -1 +1 @@ -1e4a9e4b305ef78b375159b25e2f8a90243584efd56ed6994072a8dfc2147ade *shim.exe +be80df7b3e50671e360eac64b195543ff38d4a6ae4926d71fbde7d4f70195945 *shim.exe diff --git a/supporting/shimexe/bin/checksum.sha512 b/supporting/shimexe/bin/checksum.sha512 index 5344ca9314..ed53cb10f9 100644 --- a/supporting/shimexe/bin/checksum.sha512 +++ b/supporting/shimexe/bin/checksum.sha512 @@ -1 +1 @@ -f580833905e45b02a433c03647fb0caa3692336c8bde9621c286684629c78d1c56a292bea2887ea0ae941b8beec50322f31975c23ab5644c2b85f3c2108f383d *shim.exe +7f2bf0f3870ad00ec24a349e8a1643607da54a414cd0d91f0b4ba0d629e9df2a8ce5658915e4f91738e411eca99ff5625274ed3e072c661755169d7530bf3d9e *shim.exe diff --git a/supporting/shimexe/bin/shim.exe b/supporting/shimexe/bin/shim.exe index 19a7fa36e9bc24035835d54d3530741d6528135b..aedc51715dca73278ffab7892b346ac9852bbbda 100644 GIT binary patch delta 3040 zcmZ8j3v3kE6}|7x%$wa=?|Ntd_{Z9g*W>jEV{GUr5WB{rw4sh;8*KV91{N?~7-!Zd zr6la4q$xpBgF8{x(5Na^RMARFl{zX4p>3$r4@xR%rKtHd6gB-MQYsV`p}MM2&zoJ- zkdf!Sd+xpO-TU6XZ`P$dOZ_L0H{IW~_2*Q1u2K^PST|7u3SU|INbkarwuX9piH4=3 zpXgO}p)p#ugQyBT1w)aej?$H#Jh_P+!91a_7mliD-Xh~W~sK@pr1g*pK0mvu#uh7Vqv0TSOzd4 zbO+X1D*$34Go#991u=9sSs@G#xr0h*n)0hC@Tyv=T$s#GiHqORI5N z9+62z{S`&TZ=n(*Q=zgp9zk5SLi|~?DvQ$Lyot6jV;l2hzwDRZ=J`?Nptf`-Ge?oq z3iYNyMMNQuuq`ENvQX4^tI6G>))dh(Mn@xeMscc1`wp;xo>(QkVr03VoUmJDx_o8Y z&Ok6kq9-7@-3mE5xn|ivR(^a#J*1tDp#0@}DthP@h4)}}t9wR>RlB`2zU z`Zs2Jo)uZ#fHhEMy9zijQNp39%eva^A!TLSLSfrGxsr8oA7>R0tvaP)*q z5ZZ-sDR5(vl-nlSid70Kf=AHPd|VUsvWNS4Osl4O*|yZ@Xxui<+wzqUp zljeD4Efzhl#*on6>RK&CpJUHsi3S7^^pYxlI=oD@X2Hk9bz-ClG9;wx0WR@%O=4W% z4jdziJ7@xXz9u9td3ZyWa>~3y`p@J zMd@R*`M_F~r&x^g6?RqYp*UTxuvd!W`^fhF3SFl>!&0;pABN?;SI~ZsEu@5YmaU*e zx7m(*>>&!!i?GRRKY_h)x&&0{d9<%er-2$h?6vZ5fjYf~{_s)1&hSH3{F2JivjU$5 zP}wV#^Ok7UC@s^Fn)BlSa!GIm81y{f#d3_wc-GVW8UCDFapf3oS0w&U{u*jb-aeE8 zNusgw`GGtD3>OI>6Od!nuD1b~lrDOde!zNwuPHq^zSCkI*+MTuYL-e zrNY;zhX#%t8LD`ek5Vy^o3) z=`Z{c$a~@l{hlmVgnSA2cZAkLM)kE5^ai~wPGafH$}_`Hd&P3Y=1k zgr7L&PxKxI`M;#B{ToR?p>ei^uY!*;Hi{@S)FG;wpPf!K)K1lH2KY>=Ai1E2xi<;lA$ay#8% z?|7Pe8fJ}n6Lc0^{TsQ;LsWc?HZq+Y!Kfc09NdL|+yE8L(a(Z(#?x2Rq^CD&3S2Fr z$hSQgP-!&Kt>;em2T#6TcMe`3^;=4zZLncX7kG8NgLDQ*w0dzWVDV259oU)My*syi zU=E-Do%3@!8nh40&g65>rrg1tGd=fV(=Dg*!t~yp`|V&?=-%9((dj+8xx@F)=W~U{ z^TBOQ*_v|}L)A+xzGY^YV;Af_b6tb>?%cq^>HOisjH{VnufDa?*tD}ZH|L%(|L9Id z<~RKJ`r?sQd1vTkcGvb(!E0}lnr6(Wq={(|Ow+^qh#m~#F=J*5gWnfv^Wh{S18!9` z#m3#1XxmUuO;ZHG7{_e+`b0dko`*tOnzOo8GR%2Aavy789+I>*PykP;+NCk_pb{~%owrAweiM;(| zJUEcg+xKso&(F=w=5tW^Hy_-Wb7oL2@-YhF|84hbEFAhmuPlD~In?XkjMeacy>3nX Yx_hiv4w8^f6evAe*gdg delta 2678 zcmZ8jYiwLc75--Ky|cS_AK82N8T`nu9Xr>r_|-ZHO6s<$5~mL*PEukJA)uzn31P!J z0UM~-l$1325yiPxRf>d~hJuPBqSjzqH39`xBvK$MwEYvBrb;DLsZ~R1g^D7JZ)WX6 zx$^zyJC8Z%%$%9Ko*kaO>BK`V*IqgHV=O&a(1N(=1F}>^>&jaP=YDoi>e>J>sujb) zAMLqvCb1hxP=1+)#;`2A!*Q|3-ISrK#5Wrr6I~)7E{HXvF}y5VN~;H{=Cg^fgoDGa zz?Kz&pd0~IIG69MHT1c7h8q5PfdjY|MQ97?;JN`Ta^oserS(7%qY$`+L^OzV=xGU9 zk6TUB7!8PSwTn~*DbflPxrI*SsoJVH>HwUplGU4+sc$dlY8GqroyDBZv8_k7S4U{h zs36VhI-|-&yhz|t>S^&*ouoWfy+cRQ6=jsC=&?+fJdB|DSdQ0@6lY)RqA0(L^RFNwN0 zMqn;GaKc8rSYwaGZ_P^O3^UnnJ%#oeX0{gMqObHVTDG3#E7@->XbFI%TA=v%ko39TW5eP9Itc#TelsoPJHbvlPng0<7q$0v318bY~gX| z5k>399U~h!?xuWAgo{pl(<+Lb4emSG1~3iuP2{nG9p0ikY8NEi!AIfCGVUlmU~s*> zV6Q+Irz+f`rYsjFb-{M=PwUf`!bV($i==gi{_lz@YFf>#VQBt>dWo2^p6A@_Qfu}L z&8Lj#gSO`T7*pYQ_Ee3-p!GIGueUGQ3etYtPT_8`m%N#26ux0=*KU*YtUBYkxYyQr zmFZnL@{C>|4rt(qLoX(cUDkFxXQa6BaF)6b_CATENaKe_%2Be)Y1A%J%yD0m*g89n z5wUglB<>Un7s(Zx#3=D|w#He*UoiSV82qc$K9>x>>S+F^!7-ybZun_6M*VhZ+>J3V z=zgW~h`}>8TMMgZP^i@B1gz9i}m(^6GT3V!|gXz8Sy z68fWDmxk1L{zn=Y4+wn&>b6Da2zO#j38(>cIBFdi8I*X_v~*QIEV9_XBt7DEbAO&) zlE&3zEa>GW=>z$sC}J~jBk=v=0$a8cV@8@Qp0m%2mDu$$+kHm*9^#m%O}Fde8W$sR zk!WErJ89#yLL zQ#fIN9{ncG)5I^5_t|@hE%rVCjWv`#3Awo{SV_j#?&!}K5qS# z7+4EBjeMSHS?3M^J+aA}=8yZY<*RrJN%;o_qY!qd_X)fqRypFBb{kYhR4Z?!Q-VO@~Ri5o(5y43#$1r5ZIM2V+C*s*{ z`iGjI>yMrr#9s{mxNeGG|L^x9+pdqA^ZR8g<&>moEEdvI=KMXPSr~-2 zHKSSBE?r_EP#->-Z5=Ckj{u?#LoFz)0B$(Z93^hj5%`teqL(_qA8W)m(_1e zrF8yjmg^siMwl^!j7X$~Ng6ihZfM9xmg@1KQx=OdR!pV6MA}P-`*J;TorHxjbU8eo syDiM;oBg8xL0NhRG%wAS^K$iIxGVque5&|wM{XFL_nO}obA6Hj0G>d68vp - + diff --git a/supporting/shimexe/shim.csproj b/supporting/shimexe/shim.csproj index 3324f0bb06..3cd82cfc8c 100644 --- a/supporting/shimexe/shim.csproj +++ b/supporting/shimexe/shim.csproj @@ -1,7 +1,10 @@ - - + + Debug AnyCPU @@ -29,8 +32,12 @@ - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. + Enable NuGet Package Restore to download them. For more information, see + http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. - + diff --git a/supporting/validator/bin/Newtonsoft.Json.Schema.dll b/supporting/validator/bin/Newtonsoft.Json.Schema.dll index f3abd1fa42750dd602d105a4d960552877af560d..1185cf45037d5ac7b5a22ad0bc5c7d7aa7b2c470 100644 GIT binary patch literal 261632 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 z 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 ARsaA1 literal 259072 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

# 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 diff --git a/supporting/validator/bin/Newtonsoft.Json.dll b/supporting/validator/bin/Newtonsoft.Json.dll index 7af125a246d180e71b9c4a20cca73cc44bfa8902..341d08fc8b7ea5cda1f12b3d2756b539e1f94ed0 100644 GIT binary patch literal 711952 zcmb@v2YejG`98kd-P*wQ-}rY2MlA%&TtRIPbiT^A3I4%jaF_zv7(1_V&!4A?ah+Sk}=k zj&;$V2Yxil?Fnnayw;W_mi6|GWu+9m`ZI9PgZl|U%jy)jt$Y*V@rQr&S}hCsclE2LoZSId*>+E7N zD8OZ#yCFo|9;2tQ_WFE_We0givAUPI)>~0BFqlmYcw28`K@wY;er?9{=A7-gJI-30 zaT9A>k+Rz@X9bxRY*tWNH@WO-&nsrvk03>{RX`tp?HcnlH-luGmpY@}9%G*AJGv9) zN;WZ8b1l~!nhDn!T#lPC-Qcp43K1p100G?zF!pFq$r4`g1g{WR)){E6g6E4ycYyj9 z$A2S0#)}HzX#raEZRM_H5`{?lw;;kcD>s;thq zqrKdp7EY5x`Lr@R%fA)0DoOR0(!ynXdfLPt zqcRO5{{-_Fi6;i_d?}wP_t>5Y*m1qJJBafNXgwNd*^>n};zi)Qw7_-(aiFX0OG%*> z6Gmu+n_=Rku7rdpN+=E>_KFbV00O)zX>kBiju7Giq7os*0mL#Q4nVea*gXctVy0t5 z5uT11et>v#FOFq)4GCQHCJJUB+Znwbj)15Vf}lYs1`)-eB@DVFO7&)@B8ovv8T6JY z2+ceb5LK5%y}z4zRo4xO7_P(>(`>tm1yXigGzF>w`ZAZo` zxch)K$B>^J>T|J0Udhho^M5-IV$Lz-i`J+q(&AWF2O=SD5{Lr#NW-g4U25$~(n1p|jN~o}vQcW{-AA_>{v)c_8(xxhW9~wkEz$p2g&WrD29H!xWJr17j>j#p;Ob` z$)a$qQkCq75Ir-aMLi#er#0y%RSc5;B&I)phBcmtGHH?aLvIYg>9JGVmk%btcAchUOLuy zG4O!dESsoQo9%xb(TvZI=Jk%OVWCiy*1z%03E^HLL~9oO!6AHU2+^0zz?19B^w5{~bT}re`5Q?Ns*8ztMdVWnu4x zLC|6jRQEXX$Eo`tbVIo?&OhlsRNbJ~Vqj?z{|w#7s{3DbuTl4NbRVW}h^ECHuI~TP zeT2IIOZU<0o=-QF3u!K-`*^xTk?-7tnEf@hpYE57dlQ7;Vop{(n}<13-Fwpg61uCe zk6Kz-aZjRZM?b-u?zek-%-M{DhS6iz(F=F{N8 zF&jZ(C;g>nJc%fteQh4fLAmcvmMFC3+K0F-Gt_g|t{&C`RnqC9SfPmg8j3cM^a}nM zMK$^mWs#*2yrkn_3*3Z3Ps==DwGKyRM)}YuskfLHnxfSatE&kVuLMQ6vdHzn4@ad~ z&Lw^HF0XH}Em=LD%T4O`_T0~UHj6Nw&5D4YYts2=vqwIO1ciA3mmzn zOo9LC4G*Kyp?Z;rYf8_UX97!j={CG=;>wgv* zY$u|0Sc4VE{~Ys0*{)_iz<`DgDw9ztW==q5&WfJ%c|@zURxiY&htAkwN=sDO;Edzh zZXiiO>I)%B2-%~}U7rzrkpV<}i4L?_*L=C|`U+i#5%&S4>$Kg`TSAs#s;ccS4)Azj zgb>F`(QKWDxn~z>gvTc!T5U*nP?Ss@Fxd|V!hDtaat`na905_Z<}pIL21Bt1eVsu> zF$jaCYrYW$eUm{%QHWCF`jp7rLq_TXxDFya5)o1U`wR@{`Z*L@svu*DV`EylvV%x5?nk@v86$~cQ9ek z9B(NVPYOG{#5s$X)U;d!wc&(Vckv#{#^4IV$Je*F^7ulKMsh74&(gq zkm*3XTfGZX6`LLC>b-Ff#(32uj-mPpBiWVZwx0*zl>xW<=_rcr7l7LScW`6-7;MyO zo@%6P&Z%^EvFrN3A@;&YFT$#Vc>;WGW6PjI7$M}$SsXyDixA=f;*4j@jA5aK|W zIR=Ocy@@FHrk643=g3g{;4k0^h+@#O3_=^$pf@v!C}SHr2{A;ue8oF4(zgp18x1b7$9aYCN5}v)E!WXRuB45 zmt}rULieCTyRce#uRtewyTDxVHi0z_HZJIOS>iLlWtMeXxfrcGLt1YQY26jldW+K1 zV3SZ<^eHXy>(%+qVAwNBcv*~89i1RLO*HtA%7KQ>a{P|vxJ~k~gEt9ug4+e=f?EaF zG}vT70p+02{DI{_Cav{MI+#ftGXc82j_xEHomJ2?>gYD2F$|YcMShB&Y#0YRHI%+h zG}M(Oh1f&1OEe^h(nMuJk7QZ?$g_C_T$UpLwQUC$k|R zbZM;L{S9paYcQ_YH&40&(fwic0M5+yEqVVL4*(o5NAdRaRBiOA~rhtWv(-GX{%WEIy`}jgdxr=8*zFk z#*r|@c~v7$VPYH!L!9%X%*6o&re3l>Zd*f;*(}Jy$>dv62khp_aT{h4Jb#Agj7n$q zPf(u9;KzW0VHQYw&^euS0M8&iQsKe@r@yCUJ}%WFb<8}_@-b#_K)i(mZhyXIdFFM|?osDoA*avKn>#W*FpgXNTrjLb(tNB_5eS^K~D5eKH)P->qg($b=2U=`)Vf0zaTDXzX!Yi$|$JPsPUcXqRQkle*?o+NSeU3V0R9%eqewM|N!51b2 z$(DAh8EoeRwhMcv)T3PpSXDr>Htga-qoP46LD*w(b57%051@=_zggSNLI;VLv>o=> zdl4;=JT%{dR(td>C`3Re6s0`)e+4$4z^*YTsmjXnw*OBMDy-E8kO}L1+^*O45_{}i zL?1BVnhv{Kbi=V#(`?@xg49tKlL>E&@cs_)KBr#4m6yf@m0xfCjT7#KMS3 zPs%k_AUbiT+#MyCx*yLi#B4BLrjnLPxkFV;3)TkQ5;ou@WY5BQ(y}Gk=GGTa%jsS}GmM zorG;Esq#{C^Pa?ZCU+9Hrwsx#ZP0^BT@3sOy}SClJ-d2&B=w}oI_sIGl(s!5C6-Ix z^uimG)jVaftJ{S=XdHxLCG(3B4R1SIza6VI+F_P;snu~ciVs%U{?OJrug*H=7wC(X z9=q7uquH?guz1OmGsia1p?qjAXh)e!&Yq*@lScHkn07IZWk)h-SLY|1Ei-8|&MnuVRks5UL*=0&dMFy7qk0=&fr*FXRk3|=zFqxR z#EWXiiB)G8vkk_jv58>X(=zQDNSj`aQkWUcNn<|n8kjznRya^;86Z<>^KWs1N*3!N ztfQ=3ibRa}Xx`?2$gEP#dOPW0f0DFGrbvb+gY#Q79mZaHS`UZ!}L*AUh zZZwv`{<5*Fi##+rX=jeM675{$pzA-6pFE~hd9ZsSL3Iq;WCX7WE)X#4EIXOl@pZ9B)DeCLc zC+zEUy%-N($U>~I_a%4N*S`X4(A)L?(~u(!PTApbG9YXdk>eIXK9p(s(k^E_ho;z< z4#mj+ta`LN>xv?6OXW8hSe2R9GAuvpU#)R;Ft(&jay!@iRdh*tn^|g-T&qY<63Ux_ zFiQ2ps63NINjaVd?!eb>0=j%RvS!gB>!M$8u$V`M4Yt9I zr_4A$syma{O%kY{ZBUVgA!*!`;>HKEha-mL)x&mhH+b8tUN?9Jjd3hl=>;4dDW8YU z7g!aCYQi>*&cU|w+Ae!Mw+alW!sgtb-V6=XQkk8WcRm@r*a@yMy~=FIh!YA@TlG#N zMj^mVbNij4BJEDUfIdrD_kmaF)7{9CY(b7T=ain#8R`R!~}tY2~j6gMQv)YQ%Q4meb_bKD9jd^!qxd1 zG#e@#Gz_-qtH3}1BFlvOv~r5d#=jfGW%V4UfZ39%9NH8KZ=o4kBVCM0vwY-|sbHl> zjhsg4^>q?0al@f7aS#R{oUiW#m|*?ONIh#PspY^54@Yj9JXU&j9)QuDubnDsSXi9v zEc+ARrSufU){)mLp_6pK2)g{kgq9OoEYqI>;1ovIU^Rp97RB~20v?HH1D^HMJc|)F zjOXB3oDwF1XOVQlzyN`j)TiFw&|6H0Q^m;NZu+E|6+0rwjL^}mF=g)JiqWU*;&#H! zWRiE-1}x(xht0(;NWh*eDaz=za}eNE;NaY{v?ZJXy%da9I@MD<3Z8{W7S^6nqRbQW z4iHknnDacSVM=M{BCR*Lz^=ZTwTC{LaiqSy?XV|oT|t#mYXT#wkP%plvdZ)9SyG6SJv)TOOz2Qzb~Vu&auf0)E5O3X@wSR$z%906 zAwbjp$|<&wi0#gdn5oB%yh5qBG!u>Sk%*iYE;eggX&3x?;8hIx3|{Pxv1aGUI)ift zr0dUT@z&XMBqvNdrBU@rqbi*g_Pw^S%gH-Z5Wzd0J&|mn8P7WKtUrLW0f@=1ge|`0 z3^@6+=Zsy5_YII4<%EtQCKL>R>wG)`o)J7(pE<`1A32S2reT4>!TwhRO ziZ8EbU2|*QbsJq**iJ`6kkA}VW+wttvpd{CsNpSMj~GU!MLtTq#af0u zus#BwUIXmr!_fNC%CIsSBJM$zwk9jdYc~f73t=0?ZQ4}kCE0g10{=xw)HTOZY27*Dz6%1h& ziv!D)R|3J&Utf#Oh9e+~E0{3TT#kSmG?zg{QKz(UJ)i3>Xtz-CE|+6JW+B`)|r4P23^A-ES6~y zc1UFcq8M}?gZ7GoN(>^3EASYu@OHrKuik`CBRiOh!BR9PfD+;LVT7%3CxW6PhEm;5 zNWH%jWk>n{$M+dbj(n~s74Uci;DncsMAd`JWS{!SwxBWPufFuprj4xf`)6ELBLcVqBDJT32ST~nzLh|1Q?j_x}iRoBA*ZK|gFHDTA!#Eui$$-71fZG^wf&_em0n4L++Zk|@ z1bmzU`$Pe6X27Wu@G%DL8wK3SfVC3v5e5uL0e3NAodkTE0V|?__c7pf3HTHPRz?92 zGvFKvcz^+HM-<5zeF2-8<9`~#A|^Wg0~y)BKf=-BuNT~hiG$hT)8S(r&G@S&;G+zn zoayin7u*LT93B3Vg8O8Iqr*RpxZ1nO6--m*iayaePVLM z;l3f7%tP!C)yJWvbRTB*50TTxl3!N~cg%FTSa*Lt659St@LTCn=)WEsf7W8y)!372 zZbArN_l#~#Vj&(~)b4j&-xm+wz(~SbS=1Mdg&u!9Qeq!$GL_EaoQv5`ro=Y8maYch z;>Ef;A;+qk?DlV8PWeeX(sVvk0ExAL!LI~HIDxWp-WU-mn~x>=-Lu|#=yc3 zu*Vpq94lXQkP?>k97X*-LG>0~0K(zVxsnU)g|2Q;szZ>D&Ms4d}w2kFx6PO31^|HEg zdPHTL5?nAvYdIWlV z#*w8h9wIscUYRSp*6+|a_7&ap??~ZvS>w6=r6Gy2D60EF$A1TQz1w3%b*H*gVnd>; zQ=;0>7?|5-X%s`76762n_Q5UN<@v(*0HG;Xrf7Z8e3#H9syp447UL5%(=sZMW{XDQ zIuU6~+Bu~8ZY1Qow|1pQ7X{7xgeFnlnXXLKM>Am`o!f;`j8P0bX;c4v4{2hZceU^- z=B5l8pn1R0B&xf$t5vK}@YyOu3i)(2ilJ2snv#~Ls{a6KqGKK+G_L~z9aKQ`y+V_y z?zXNrF<(KmO~OeNeV$Pa%~{Ztw6t;k_W|3}od~trqDY&45NOqAJ&sRLcOueeACeTP zJ?UYK9RCAA#CsT05Y_EP9qd6y*v%;8IiqKy0d*(s(YI0=Cv}iX_;-n~G0G(Uv+AP^ zEPiQ7?RuY1nB6cLHSQ6NOB92|#D(RkK}Ru& zC^Gt4LNY22AU+o%#Bro;Xrt=BFtJoix^`1WePM2r9UbQZ4$ld2T+_9^F#pbIs_%XNsBhe*bZ8r zEX|Z#dd#Q7{Jt2G7YFkDQiKpknBQE$Rm^XUCO_xgwEA&~4$a5q9Qvh^=#HW27>QF} z+Q7|IUScp6rIpMzW}2%5sc_dA7M^IeLVPm!MEU*?b6rwE1|-aSrI9~jk%1@%y_-Q) z;nLoy*8`&J>jg`ty!Qdc@^V0)a*crz>S>lqn)ifhI6oM$r&wcP1hVj6zzGWpL^0@n z45E!B+{y9-Q4Ep^0rjs0Q7H#RQQ-FjQs9jx1Y($obFc}Mexge2E@u^v=fJt1+T8Yb zqS30+jWYJ=%Rt`T!^T1#w5j8h@W(foSz)cAS{DGSi7BR!k ziU{}vH>)j>x(lZ(tU%z|UIJ+};Vgz^oVBRs0!IAOIBEH{+op~HuO685Z581|hm7j(2cL}U!JHq!ac$o%{w-<1eMeIe3 z_W73}v;Dz0I@}+r<$ol5l1tAVzba zgzk&qSD+KD5ayyaz(n8+%mo_+)-<{)YCiNC ztP;ic^dB7K`6NkW2RPM(a{^AVR$wkTQD9Aj%{-+=U#$F;DH;*W|7+IMt&+wLZWD+- z`U2hHO#*YlEdpyA&CFMt^wrNCxU#l+2x!{&*f-I(ai0c(UBIiOU&UHl7YrXZHB&&# z-imPtThKi7R6~ZWn?qx~oi2IX!I=V`;0%Ge;530X4K@puC;I9<>6wZ(O6x?{$5E2T z4vrS+1TPhs3yu_6(_piQ(xT6tO!c}riwE^;}~fjy#9U*`yPgL4HYf>#R61!oJaX>_xv@mNa&N zSK~r^slZ$?D6po%W}(ueFGh=P;qaKe$E8o&!Se!fV~)^p11z+Hb}sm@_F0W)`jsYq z6XbqGjOMP8=HnsFCj{n##{||i*ep_7^u=gVjz`959V&d-!C?ZO;3Xk{hYL&uYXs(k zLj=||x-m+dz8Gzm{iv86pA~-W;4cE5;I9JR;BNwR!Jh@zG@98kT_43vLG}SU=8tU0z+%$x7Bl%ccC{_{0AL4p7!AD9 zwqTn)CdOk*IL=A_KmgeOfXB**uiXpPS7XN4dw{U z1v3TKG@2Pun)Dg0fQR~%b$x7%rjayuP!i|_dkJ)dvcO!hNMKE)@tPXe3w;x49v7pD z9p%!;_Ymj=3k15so&s~hJb^WhW)>?=`X9iv`v+*q|d)Ui8Iiu}zOCE$JukkTiDiPJvGFZh^4U z1?GaC0&5!0?5i~Co6!E&#c19jY3$$)0-fL{fo^c4z+7;>z?w$miE;8tpVEw*x<3j{ z-4-sNM(ywv&Fd8Q^LLBpJcO0WI8*a@1@riV z(6R%Z{1F@FO9FGj=LOa@n73Oo5Bkix6Z6;==Ft|<<1EeNmCWO-Ldy;w5$FV86POFW zBCw{xyj+KQ&}Yt@n8)K`9v$&K&el9OFpqBvEj##@Kqq)qU@rKEz?ue|gESBN%mowk zcp}WBGoHtK&ErDm@m-;12j3Iu1m72!3%(<;rojfY0hWV4<1>%vZ1Z1`<_&#(|5v~7 z;cFNGu&DAVfh}hrAH^7H>&+KfsLBLiMi7^;Fd5awGI0R$JtEeTA{OZy6a{^=UHcA# z&9`{!DG$4!*m>NxIQl410Ru}9IhCS4_H{Vbh~81m40RyxH-U-f2LGkd#+73Aith z`R|3B55tGw3Wr_$E;2MfLkR{_a$>2qye@_;?m4ulddKtUBf5V#1PDV#&NI>R9Q>{2 zMPZVkfKKTAX~RkC<|5Qt>@-nn64lsAFsxsmNjd1T+sb9`>>;<%UY_C38FG8u@xE4$ zmk&3pd&=MP-APUl)-oYrK1>CAXDQg=RS`q%*MF*cGgt~40zSz!ya zlL2RJQA)b=ck;z_-V~+9&~{B&SRJ&^5#AWX#XL`WEQ}nOM37TiA7OgeWxV_{$15ku z=H<$yySA{_RHZhh4rG#>7JWNxShWtDu7w5LflO1SJW z?OcKs;@xgKzci=eT5g<~OYbIwtSdR-+}+et4AbpiifNG|`-nQ1C-o)Q3gINq+7$wliwdL_l`L)4vPCoRWohO$pEbv8 zM}!}YeAc;AcXfWGT}5d|a3N;C)pot)h}3yos**~kaBHWx?CGSp82lHceLf31uOuDQ zSaZWJ=60Z|Gp-9^8z3LzB7FA*|6KToufmUQa2XL+-OK?3@@9X)%Dsh>ozI(jbdT8P zFhE?kfCN<*C;jfhBEJ+QtM7mu|4Z(IU?l8Oay7;qd{PcQN`;R~$Y z?E~5s(B28-w-1Zbv&|yRBfr^qU8stitWo6rYf6L#qVr3OfK!hz`^+SQDta=aNForfDPg@1s z5pd(G2L+A|`ok53*k%agSaA;eyPXe@9fQl%OfwUBJy)^`wsc>+S6LMuCqZSr=rglv z)t@*Kq^&&~77Kd(RF32pGQ&@egMsE4yYDX$J8%QBk1kep3v4auA>6c45I5*RX;ZUxCCnlm+9vbbs0)quk=c%v5mU)D>k zMPpODv}niR`ara&LP2#Dw(D?!ikjYz;t_Ih$w?B)F^2iC#v+0BPjrYpAfMmEjS)n9G&V+A zJMmy4QXt*YGZk(C;hb6U!Iq%9JHqV_N>5G|&t0D57{ne7&#I4uiu7a*NP|bE(0$)Y z3>0eAeP_i7q*%dm1%q_sNoKlfZ448!`1x4R>`rFGi$HSWp?@A}509|7Pd>uljZcn!{trF4D;m&Z zWsXLpuqS`3(UZS0soM^JU=k`E*xtl|h?Ml?SQald!2P{hUxdT&V9_qN>8M_;h>nY* zjmU&%i_L9u`o7V%E=HTZVCufaaS-=p%J@haxg&ghd}J8bTnJbn6>-MaVv9Z)DG1}wRJe~I-g$W5g6F;v()~iuFgqLu!sRnC zJ`Nra*WjArcEO#t>TVFgI5=1y{x@8qImhYS)PvtZ)98VFtHV)6N0wsm~r|B z_i*M8?pHn;S0HgcA+|gsxBkfOOc+Ea1)`q3?JGHyOc9u7;ED<3%s%!UoukMAw2$4V z^B1A9k3Cm?l1S%>rzo3f+o4HwKzw*8tld%EjC0%O;-7%>Oj4D}7E`P-cg^(5!G5t~XE!C(@WF zHkl*&(mk5@KoJ4;g*sVFki`KF&0}>0{Ie|ofG)U@x<$-6O!H{f;f^u_9C_s8Ufz6@ z>laccZz1N{JGf68=5sH0OAo@8S+x~Zh*~uQNBMhjE?9My;ufu{spHha{mXd8&N;tV z7#X@BKN)BtDbGE&r&6w-Fe5tnJHfEn5=F^tM%B&S;aOuuxM!&+u`V><5W0k z-1Ac*!{Zx51sq?%Lk4)z`G(T8BG| zrw*MTM`$-#n@x15!nPCjf#$phW{32nOjCvKWI3q};DA32DU93}UD{xx@I*Gb z@;s_uZB^yLs65pNqWZ1=5iTrNz7OlD<^lf17BxcZiIBS2HXLveMy+ZyDacGUq&|FB zQ<#|QQP5!w(soc7+2I_tPZ%|sGW&pSu621FTjkG93>6>~wim-)qxCHxzb}o&Za1tZtyX+$2O8JlA&WG-Az}+B(yTn!DlpaaAQ_*r0Zb&PZjbpw8 zD#|N|O$_R|Cm&0v_Rfz2V3{fQ{fI6tt4_cC;o3`l7nlu8x(4u#^83M-h^q!I?s@ z(jwcS%U=O4*ZO-Xf2X*1^)|SjVtHiEY&Zt+EDqsBH~rH+Ot-sdcj>^upeY-tc-F`o z59w(=P4zg%ONY23>Pl;LWWqNv(ed_Q&2*yZU|#^e!~> zi4&$R=Qe3s9X4~AI@wsSbgef-EBGSkMrH57^)q`dKaeVTp;tK*chKlO@oBJ&fz;{= zpZ~%?JOdsN%Vm$jgJi32A@Vu#EMA`Tuvqp!^{m>#kSD}*+Te(Xg6ubp#a63n2+D^; z(8}}Ky^C$ZS!jb0g|>sRbq^oIz$TPkY!`cX;)oSl?UV5{qWBIj(Ui3=XXW2v#Y~DR zrt%~fzD9#5w3!~JTc_|`F7u?qD&5T-4&N@Zeho44)`Ncn@*)%3;apwq&xRG~O&pk{ zKRgaWO;t})MML!}x&+avZmtWTGXZ4{8C5ihYlIdL9!|lR%bS{{-Wm=3cTX&5`G!cc z&82~q>PyL?6wYF$s1#0`R6oOq0JR&z7)f|ws4o*1c9mPO3Bz|hTFq>e3wU4Rq9K|d zv9%$5hD%@LCFM0<`Cx1WJcv4=6YKRFVh)C%#?k$ekmKrU$3%f+^_A&)^$(z0nr8QJ z;CysDuPrsuKglM=*UKj3B3mxj--;^-!CbN{Yys0V*Hn0WmM&c34Hc>yuj}>$$A!{K zj=2OXcL3i6I%CjtihIfp>$JzvovcZEH54(FD=gY?)RjK&3=383kL>DO$eq3t2$iv> z@?ztd=-<_p-8&=u?{wtHKTKb=Qkp9-UkbGwG}+3b*$AXq!a*lKM54V_z3$!VI2|)S z1Va#OSd-e#F{`fy2j~IImv}3_B+gKyEkuf0crfzFgV*(<%wRNH!&vi%XYultv^F1- zWQ+7I@J;ai8IAOQJcN9>rZYEmo6kebOzgzN zPgC`Hx}pO~n&YLF*ycoqyPMBovc4IMv@)Y9?~^Q^L(fZ)ro2~JQ(?;qmr;Em#!#Fe9@rM5okLefdM^lPGU5?kJeQs#*f}xnG=-f=DhSJ2jVrO_07g4 zbogol_;8hEa*X=u5GuEK(XdnHb|;-p`3zqN)NYiUFF}{GH$sICP=yWRJzTwDp2}`x zGsV!Sn;Bj`F|2?Cp^$=Xenv;5y|f9fYl`uqf?MMh$`5LZ%lC2gNQDLLZ04qXy}bA2`c0L6ueyo7l&fTQq>JrCor-HkyOENdmd1vW84*(Iv3x{Y z$LT_ZZl+U87Y!;(v&UT!)kh=slb$qSgc>m!SB5W6^BZdZI^`w-O_57%*i%(+&s6;n z?YOch5*h8fG6Xcr`p^+DF8KN++^j?`@wmM?0uJ62ov@a{E=604_Ps#1tTG(#WY&q8 zu6GTV>oUAsjWZb8=u(i&$lKiFlA#T8^wLv9--I!g-F>-V4q(#_{a>hx7`D9PBm5_UmUR%hMnHIQJRUg+0`Ie4ep zf)e(ZaTmc{b?zF$G1ux16f{k3+(XSdCFZe5LVjDa?mRB8OAx*z;;_r3a_iA2^_jdY`pr5I^*G$rYX&PY8i)E?lHo#<*i_*JDtVOpiDNSbjv4Z)4f9|;czY#$h0Ml z66HGw`N&BII_e9)hTeUjdUaVBw!>d&@*>+`&CT5-7B<|wXJ-2oEQ)rK=O2NHg50nOf zhaWUz_Lt&)6uv2o*OBdLE?!5ycpXvka5yicbaqv{XV}$$){EDn#hVc?UaUdI8gHjG z-byChsgzi*I-M6P*Hh?osYf*?O6>QJI9u zuG!sPvEG!;YH_->ILP9B4mVS(ix4YKxyM}2rre$FE)31c_S6~Vd$(+N@6g&wEH0FL z$LFCfT1z2_qw_DOwTl)o`1+TW{!!GZe#W9Obk+;=n3IO3JZ7@FuyJjDv5jj|31U^7 zkE#~Ch*&kO+83vx=C+p6Ti(Lb>%c5?4Xn6?+yC(L=O7f*`m@zvXqmkPUTleM8F(~u zf7D+5D?7yB>MZ`E6S_CJr8m0bJ_hDkxHE6;6Tk6Mz|Bz=_Yh!PZGw?*!$| z9HW{BY`dVFp?J;Y6AdooBVVyJg!=`{Fgs#)2v$(sg2 zd1tCp1YCu2(;EI2ez5y!)x82sgGUZy?Y!B5Ulh%?J|q`q#!BE|TP8#-6Tu8epqtDH=SYuLKmD9&1O@j=HiLPWDLB2=4+l)TD}dW6>}V;G*2+GdL(=Q9NAYv8yqWh%lC4kRWs~z<4!l(rn4b*JFutMa{=%0^66N@ zTi(XCJ)~QV4@10^t9zIZ2SbM-`>0WKIWWcvOef4HN`v?+^J2+g&(p%z&xEe@P)7lL z>GZmSlH^No)$>_moa3^lVrJ`F966Mip1bv;h+sH`KJ&a>-_PB}N|B9BT;Ob3Z&W_JdO_VSx#JyQm^

0O;K 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

D|0>6~5=A-sN(m`K7i$%JNQC>RPJqcXmv zxF;#+z2}3aR&CU~A+#j#)V>@b?>496FHAkOKkpvcpLaXCF6Ph`Mw>1qKZ9ZaY z&W$h4xe~!&lw^wU@@>_=`4-)iAfQxsRrA1k_GyyQ%d<1Od3LAZ{dsny0s8W6VgEc! zQuWZj9GmIp*f~pb?8Lqt+q!R#Wus>)!`2)qhJ6xFDP}=*|HP_%YAmKa%T_P+YK^st zc-PHF-=usM!_RW?d}e~^m58#nntt&9EYmIA2x~V;wUE#oo2Bkr zcSQxW{%VHB9Y1;kp{h18RQX|kk@E7sNqS@b<-40+tPZEqxRvU)}G;8W( zD$z}fPKCBnNrBFp3-V?O4p63DUbl$zzZGYYwTi$(wpD~-?x0tDUmOb3Hh-VG9oQXu z%z=&HWvrPRzg1tisEHZYEpHZMX{&GC`@jx=M zme+-Bm^9D50xP-QKpMUd{_>3P8ZIqrCGuumJBBD1BXHcc_Vqk9vm%Ol&OCE?`zD(`u>+o~$nhedNBaq@&7yk1MOpJ{dm@f#Oa*R~_yW+I6M-8gnq$lhb3@tabwtC+xX;l(+r_!c#kq>>A5QUDX?=|_ zhl1*46VlV0xfb!@3Fs2$%nD~(inU#L+MdNgWmSDjxi+G+4#OVB?hO$3{M>l-TC{1DfVhYkBWDe`B^L(B6(cNttR5AWF)ho-#^vZJZ58lQ; zSkZn%w`i;V)tc?Mp-&Z*6c5RK@XETz2p6%%cKyHY-~a^Mb{%Xn4-~!TbX`*w?eT$!W^%VgZ$7Lky9}B zm+(<>X3REXw*fV}hJia=7&%7GGUI#rBpyaGex*^=ob)V5E~OXk$69k_3FuXX)NY0( zhR~%f<@D7FUEk_QAD^gh_DQmJs!v3RPhY*nb2CY~M;uI$3KjV!WjA7Bh7y>R-8Z|W*xope^S+}t(^zQkN?1Yp!x5X!Vf+?w z*)yS*QP0-B6{l@G#{M?hRUSHT$My;(JUN8($$MMjwXEtan`rqPxqfRk)V{utG#oEM z{0_oWX54v=(af>u+EF;}(sc}_vWbM2kN{>?=$!_0CFNbRzjmKM@9qo4Jk6y)evhD% z<&&1?CtVWze7Ahjm`00Ff} z*SC8C#8Q%qBb^yNj=Wp=AXs*0`a@Xuh9BnJ`G{bP@`)Y~PW(}9`^w0{oQ%xQY4DE; zFRcf(idK_?w5_y)v$XVEjt7?4uI*I2w_iI&r87#gWRvniMHRth!@R1ai7PFOMmbi+ zbm0BDI(VJz=gMlQ+G17+?JtpGT6|QVQi`w^H-zoY-;3e3U($_KX_Hs_#Km8OEG^qW|GjM>apjG}^o$E950eKQkIG zGZnV;b3T!{;`QNQU_juPf-7UAU-22WFa1<#cg6fj{QVlZ`1=he{QXu&F#kIYul?I4 z{29iae4^j;K^XE6=lbAciCF)Du~a0Mr&l18A1ls3;;%UWBy?~7&oYAfzhHQ6cKj#B zRx&Y+Ir&6?5)T@Zv5a$eGPX5s-9~cnU0en}A(q7a!2^&f4 zAh|vi9)2z!s(6ZrG2wdit7HW8;}~B1mEFjdZo`<9Pqdm3(aL`bJW2N&ye-|4H5cR2 zoLc-lyoI%R*l1}Tmc3z3c=1^I;5|8?qE2RQzT(U+Pg&gNRqQDZt! zOJF{30dQf4vdzL!Hg7x+RBs}))Wh6eO=Rdg(P&b1@9K4;n{em!G8*aH0S zXo{~FO&gBli?{Ltv1>O5oUHR&o6G#BUw*x0I3blxNCWwU3kl6)S4ep$qcgJY69gJEva zJAF=-%rDK@|$EUeGaDoy1U9smNm!v|uF1by%s2cH!@TN%l1dy&U(mU8Y6ZLW8h zTX5>a9wR2IAks`iJ1TMsvn&UD#1`?c-iK0uIn4`0l{)Nkhm4pXd0&A>1h<6&%Hg>9! z3gd433$XX-8oh#J$1-?iFyVSASdfGgKbL~Rgu6rx%TcSBmmeT4sAf~JrD`Y%H)#CA z$pF30b~?mNFF)HKrTaw~4GUNNetpo-hyAn`l4 z%S+k40`IP5P5NcW!;(Y^tH(i-50Y>`Nt7gz+8-v8{ZvwqhvSh{f=38vg`T=3cb6o+ z>@u`J`ZQ0=LoOS6_b4ezX?~VDSfZ1{6y6gq`rF_C?y5#}Bv??L@~_#2WULl7s3q52 zCOMr=DM@P3paaFb!EFFkEzYjvOL;zMA~>*wf0?eR*kO$q1USQu%f+c-sqCu+|@O2awhRyLp*;_o8xLyow~0I zw=r0F6ov_z3j~epGlPYzf%%qejbr@U)=}eOG>!omxlpr4VQE&{U(v8nt8VU8vD-lA zBpA9T$fZ={NbS>7``uo*Md|F8#a=7ZEtTDrAGjrtSl15sykluf<)m%(O`d;LI;-)c z6K>BEx2xM5iP&-LVz(3C?}q#9!UMI3yh%?yi0Ltqu}lnl`4(o-87BQv8~^6IP6uPc zAJuzS#rbRb>iea-o5pUcyCZ~yq}n@Js?|UGUA?leS4fMk@g;5h!sCJY zda{%kMuLU8t_!T|aV$-q%{?wj^XrFFc{^@_S|P|KGHP|4Uk&eqZH} z>$Ml*g~65UYY(0#D_=?zaaDtB?bzuxzTTuGs+;&Od>v|* z#^`38b#`7pTPD(Yj?76@CoT$$`)$(8KE8pI%RcUvk)8jh46Y;mmXI_@)LiOM%9FWU zpuv>vxfrF~%~#&U3~SkdEPuhmdtTXXA0l13a`q0pg{!tr&%qT(as~Qb6g{fj(HLTT zX*sut5xVOp#OPkm6l-~< z9FF7}9aUH{r%h?BoLt+!K5ePW+=Of`rS48~7b0*}(VKfA6k9<#-(X9&>>OZ3{m)Gv zcWb>}XCz6}2}g1OG~BZ`WwR3B4r+n@fMuw;xm2KWsP6bE_j;1zeqmZP^(jkX-_45J zccoUq-IH({&1}iD8?#JC17W16(gr(s5Um~8<*_t-IIWz0{z%B%XqS{j4w{C|bqsbw zyW}Dly$EExE8!laJO>rnJt6xu`;r^RnlX>((Fp_Lk*etxO8J z=$T+tCV5b#^K#-Dtg^VzZi^H1t!ys;{N}Ojk%<_xjE3C=2|Dl(VgsxtqDNrSkk1mts-M8-w!57vj5UQZ$CC z?{rBX?Iqcj6)*E)Wb!xhY#Gi9;-eXJ6hmI^9KmN3zx(qWPE3aW=B_0sJB!SHLShyZ z^XSApCo%7X*|@;7JN9?iJ-f92YE0%H%c6ToryLArmdTT*cA4A^EzG2vn@O=Yf7NTe zDdEfN?G01xavx`##&r||#w16;;$EeveFi?ZpP~PiDZA-|cTacWX&CP25+@$NC!UEp zwK&BI%l49GMSKoY6Jf z_!O2o;NDo_PDhvXj?~oG%E8L%Qu~EUh7DYpC0HQUc-sux8sG?RYf_gJG^X$CE-hkq z6@QbsS9qiBEn;Z=QXE#rMvC|P8}H@hZ*xPI;oQJdwRBz$f7f~CqFrNB*ID~= zz?|;eu8i4pb#b^opKAr>Y9^y!TIk$y+ zkE74~y8_QLQwkZImj}nA@jl_T*s^Ef)l0!AbcMb89|*hsfPIo^QY?qvJh_xKmfXz1 z$^7_X8c~l?yk!XVs zRP%TD#VeFLbvc`1e3aqF1oT6uQweWwl}(#mik_l|dD}g(#bnP^m8H(V!Zf!xWVg|3 zqh3&VUk;suLYGNUWTm5MQW%|rB3A{NwVPaRa57RDQcZdjNFzn62!%DzQM+g(!lDx7 zn};&r{5Say3$ZRs2i{5JB)n3-kJ}VY=>iIT#`qy5j@~Lfm)3g(stL{5L9q_e$ zOk+zusYHauo>xA82cXK9xz0N=M+Qw3IWm-w-zDer#tu{x@0Jzy!Q7V_=CsDkLs-9r z72}H<_?Qkg0;xQh_~?C^A|bb{lDzNUf%5WZ4(Do|UoQ_8OkoZ3Q1o8#2D!PD#H?VB z!0R#hdDpT5oVNevW=xNK@4OE*txvokGn~`6cRQ?eyL)y9S?KrxzIOS1J<}Wa(4#9< z^g%vcP?~ds8R*Ta^A#(GeZ_AM9tQ7Su@RCVN=Xjhn-R0Fo!FK+_4>>TP3<%Xei6L7 zI{40R9qi7c`f6kQ3*9=HOk*dKE89x#@8RVdf16k|i=%$@VR6huZd}!>c~epr9N5dF z`cw`N^rp-QuEREkrme_k9u1$q)!~g>)3&0^r`;9nmLl9-(^&Wj@s?mAQHG=}7}(48 z(&ju$xwI7t?~a~I{fs|Gc+-u3fVhLDaVJ_zTZ7@fzK?_29Eh$UO-xb@uM?Mg?dbD*ki0gDU`GT`w0IvapptJd zqqaYo;>`a(_O)mTh9Ih}9nJN7T zX?I{A8*U(zMWxVgrw*e%cz!+UGdvDft!eb`rjDp3rcYwq^XI{n`qdPgqd{%`CAIaF z44JT9nt0NN2KHV=0X{lEV7S4C{G_mjHU?;~JDT!0YWSszzVbK!RXS=1a7AwZYXJ6! zKa>vR3q)q0TF>!Z&lc@`TbuJ1&cY{1 z>|al*)SsE?+@W)IFX$3FeJI~J2+C`Hz4OM(tFJfN>}d113{^`aaP^3uW6E3jHZDtp z#!VV~u#Y5DvUbT+(hB@B87|uj3t|dYd%(8lG(1JANoF^g>S2rwW=EzzGbEBH;Us2 zcuXwHCwdk!X*!!U=|={IG*gp1_|HQf)Vq~m1!yG9TDfD8t^Cy$i=*e6<|Rox%7V;5 zFYRpO%XI!gy!)p8drJFqm-au3ul}@aMJ!F}Kb7_;bklxqn)dH3P5W96xc$+~?u6|((meY|aq6n+9H zdKeHN10K+42F&)`^%>s2G>icc=(8Kl_9yi@Y{$|t20Wn8^{( zejgu0KVX;#97`Dcyct_BrHd-$i8PAGfz#IKD|~u56YU+x1GLZUvGw~H`T@c$ssPn@ zdOX`~r{hpz>!nCq8Lyec{u9~TJ#UVralxpdDWc71k0QU&TbI`_l4&jl$Zm~TxW*v*dGXUpV!NS?kfG-`l(-pRbzglQak+4 z=tkg3?P3bRCHb%Hp_v#7~ zYjdBDevum&%2~_em*DA6Ebn*(9-Q$;RWwV3rPH|d;&v=@+kNp0n^Qx%bDMcSH(wcU z8XC$Cg&~gU0yS@b1#1N^Xbe1OeKk76aA4cVDKor;A#K|r3JUn+TexLAcROVYwFez} zcwyb_X(7yM!|x&dl(-xCoyL!OxR54i8rK!pqch1&KCrMpT8}wXSbv1f*~X>q@e?wS z9tpOgcgeKZJNs*8-{|b5G1G23`*UTVa(3o;nf5lbH|E>NJIgigvz_IU?Oo1txp6&} z;1$o1!69`R75AtpnL+39oW)P4sf4 zKV1}7Hj7+#5+bEe=|*4R;5yLHw#h2RO3 z+(pN5WF1a}ZCgnnLa@;nJFFASJD}21mlh2$;;<;bCob{vo!)?)P1+^8r zzC>j=`Z1u==m70h5N1c&-1R^Jx%e)XsQ#x^3d#E{t23*%rejsl&Tgo#P))WksU|s9 zlMP{AxABJcoGV@{a;|vgb5^|MW0xViL-W(`UrGJT+d2#^XO`#P+h_TqynC52%ON_S zOAUsyl0DFiV72ZlShI|~ru|>sPrPtnjq7ybLl^bILRB3t*gI5@SN#r#a?zo-o)I06 z(HhZ%d8W@5{pdkG>a9aL$eL1%M2jUwh2a&XluDg<7zuT;MWlA*deX20xuX{TA<~@x z3mv}Rj{B>b{`_7ugZaOinVk=E@@EzE?*D z+4*_aM~=8S+`L=Tg!vsT)XP}aWo{lNPKviLs6%|>`qAA-$P0|zoLViAlR=l z^&l~hWj)6L$GZCha;p#lo6EKQ&<)V|T3&Ax7uT{n(tf{-FJIYh#1fyWU-Jd7?wYy05d}s*zHl-J4?j5=*Ar9`iNE|6`%1XKO z2Sg^?f5Z&u^j$(*07v^zhM=#}{xg=&U-;Ca{nxHTYt2u9?}}*u4X|kM#SG{4?bl(; zoyfU;$I2o*5 z5$|r~+UkvCz3ZvV1my_f`V&uHF6$bscJIMfZ!Ol$w||!fx=z+l-*L?Dt$wY*UEXyf z`_W_1s46n9T#$3cJzxBha}LOPSNoi?g82^0dE#{|enYtfc}UL1kH2E!CZ0+2Ys=-# zd?^0)QxBDMg*l&j@#9W=$TFN|b3XJ{Z+ZK-25}CX^GDAJ4*kS4agNk$qikg0!o$$h z%?c#9I9t06%lo-}z}6s9x^mXlS?!9o@6!bVkrBO$Hps0q{&V>4CHObvYB~DOYV@BC z6#6psnsw2hU$^#t8`7y#);;cC*NI+s4>2m%cji#M_&e;x)b^%hcQGmA!LuuJTiHah z*P}IX{kETZC75G9I!)hKTkLiwB#(ca-eEp@kK=IPy~|PK3JJ<^gnq0@o8jJY+5UPd*B8wjDxR9$gu=PGK{jU(KYJn;K#QYPOW{)W)6er z=g^J@5i0}5_O(>YzU`CI8vz!*u=5cJAS*x9Nbq^4*&bPdIc-?tEpgswxC`uh`(>)y z_O;+{&zFYsZ_=3N<||9X%b2G`Ws=5o2n?|*159D^&;BKJ{QND^Fdl=2rdM!}9S~yb z+sXXJ&uEb?FFM@Yvn+ZtNm8HP4_`*7k;2`ZcIy8uM(e5*W86j?54Eo|xS*?6%YQjk##*oZQPvjXq&1MGjwMQMv=gP?uY?GsnL-Vzc z?2nsV*{FuqON)(iIL5aW)>dEy;rOL)F6*M6dPlPE?#^hl1*Gg>%bY|{L^ML%;prB9 zEA4yIOi4C6*>({Iv*cT&?qAEI#WEhq$ivtzg0zo1c}XU^cW+38;lY)Xzy1ZWc7q)f8YB0PK}=7-s1UirUDO>Ekk!J3PG3N@PAS z5Ht0y@GKF$*$4J&=ughq>3Yrsao|>$--<=AQJu$sKzR|7F90@zmhX%8^ zF#5YJoJJU*94Z&qO`cjV)K;AMGjgoVg6Vt24{sGnoyNqd5#I^`k4p4jEZcuBH1ni% zHsa?2+a`@_IkeSzJMF*=>&5LK6A-lsQsihu@#fa4xOUV2?7I@*> zdYrvt4oH*kh-tIsXx)L_cu_R8PU6Mu!RzNknP+^&hhQu50;}UN7pFcI-e_y-`JISW zP+R-+GV7tI_MLYp??FCAzZv>m&ebS{(JOJ&cXb#-7Ozvi*aEKFR=;_;Z|!UROw{VR zusLWO`a&BaH?r+(ls`1)BqQFS)DTYTCz~>B;NA8L(pFY@aZ@jBK2|yfwV6_)*P4@? z`Cc^1=9SvTlOv5&g;*UV>*6nhv$1iK3)ur~E;K2EsrQClYp~kq9=Ti+)s_qvh$0T1T$ye)dT;i!UkR~@SYU!i* zZl5h#(`%pZLbdeNQgpg&0bT!)_u`GjYCg6zhy!ksh`GUs$oYvs z;=}a|(vopfgu2juzu0eImrBcbN8(t+_C>hTep6aSlVcXNWbDgxSZiJM&6O@K+_YuU zH+g-Gbr3H`Em0)Pd7mPG$6&!&ZB`4GZnl>)60s&D8x+8H&mA!W_)oiW!ST8z4R7wH z;WW~qza?oXo|@#iALS(BUK+N^=cO>dBn?c4-{MGGnVy24$qRjo<pj(+WJ&Yz(B#bi$7iNIdamF2xa1thM?j!* zM}5yFG>o>^n7%MQT0d|Q(&FyIu2~*`JQYgcd(>&o3Ns?qc6?E?~UZH4yatv6oQpVqCC>i>%2_-6L+P971CPYyPY3D-?F7(h)9H8y+K zXryE3E$ZGi8YS%HCHk-; zW^lJY%-vxdiEUEa{sdv2I#vy@z5BzKxT&vJ>bt!5meW(d;|5XRT(N!BdYADj#Ia#% z+I+Xk(6u~CGADCN*z(3PE@8fH<>$#nOB$zknoup>d)z?#6vd>1>bWjZBZz#bh4*#s zXCJ_?FU>i%V{YHqQJEE|XV%`1Q*Hef`^*2}Jg#W0O?V9ANhfBB-{-9OCOO;wefH?HwimYdAwk-&K4SVx@}7BPo0>{(C8T*YKj%Eem%DYFcNJ!R^oT?a_p zDB2Gvjswu%!me#AHgx1|!swR#&~4Ys@~&4x@PJWH?GvT;Gj*f1eSSwX;5&@;bf!U_ zpda}-$%?loj!$+S@sWT!NAW2xtX$e@a8GR5Ia(nW;rkd zU)88ivnyDyTQ%b2fNpy^2p08VK0Y1*J?*s}T`H_@mLB&6VDn>8Ef@o><(wFqliPwf z&P-f>^nN(y@xa7WqpbGhm7(ZB*@jK1y&<=r#R+jSy(_k!$c{;t z4sou=`E{ z*|e1i8socQS{WGH{z6{7O}o6DHP70BW&H>!$%z%;M&yHqn-#23xx)O zAn0Eks>1}caLmXvG+XqyPm-vuVIasls?|WgH632dRE}3^Tjzw=QYLK6Y-?9|Exg$4 zv#s6XwHL|G44`%0Hjp#SVx(PY71;QG3W;ju^X$*L4N!EKB7d18Pmywk=u~j(1wT4X zW(sHi!uz9wlmmLg`z-b2Y05LqFN@!qOa0hgx6}MW{LYfiy9Q}4)9lLel?&ptfj9Cw z__{B)Ykr7;OddhzzNFv?%j=Iycyva;q6{^+conSQ#~S?sc!^=Dxp+arR-+Q!)+SX*{Tub)6r z(LKVl^!u3yVm8HRQTwx+=dijKeM-`7OtX-tunX0tta9x*FAa;{qI{xPLXF*h(W@}s zU}u81(6aS?t{zY$GA-rb629&)z8=7*n2ZfK_J)5eHT(+;ocYB+ejuOjVDI~^b48zq zL(LwJ=ZHrXF~uBms1Opp9a{7DU= z{mYVicp>$0(qyx3J61FeVu#`BHbw~9u~6^Y&@oOi1?&ECyFhlvvrTPa=fbs;URuc;Fn9x)cwzzE0b`kxi)b} ziFtBj#)+xPpyIofUsyYA^6bXrD(<1{ik-vYK$1OmUEcsg#yy~YsI2;P&u!b&g6?5% z9h*6X7BY9EzI9z!jW%{!{ziT4YHBuODcq=UT^D^riUW2x%0Lq7E4W^CDKgZ?)U{G= zNF8SuuCQAJV3aG*dFUvxJp$3^DFyZ8L6H}a6&a?+gPP}LH7_(OF6hlyPUk(p8hwdC z4#Mk23Q?q~w4h;dr`4lu<|IoarPUCIcsa;oXS7_fcMU`%;Fzezo8Uy3!FWQF5RRFf z9ZqwE=WT=>X#;~dx`bikQrS8IbBpS(i!_)S+hwU_d!|A*5s6HA7t^*UVhPdEh$0sP=3&Ptd!mf5p;-i>!9M_Du`?{xpctH^)h!MR(Y@=TX0VO8u)UD?vTAX z!5n4M5Omk4(`(T&^~6dr!)4Xf1ntA|R@T$Y?`Nq~K}N;$Thh~57f1*_H9=3QS10sL zi)J$8zEe|&xrE}(tr|XAZ|1^HeM5_>qIUuGrX%2$aFXhvDFCWBb@>723&#%-Tbf;gfU3;fL=G6usQd@pW^k|ZLr@zWu*XJ7d z#`|2Wy)K^Rhi_+HrqyOX6!x|DdIcs;=fg1cX8dtc%6~W~FF^0=C5hJb;Q%|2;1j)$ zGQ`;U^%&L7xm-ji)2Mr(T)70r!BrNXL^`%woBJI&Zw;l7MC?{P>N)LU5S6eCa@FZ# zn7cKSSMw}N7IWjh0q1!4dihJ56Cn`i*;?i7j}+nt6p94;ndH(~+2^pLsp<8r!p>D- z(oC7CqetObk@2X3wM(L3s_0;AIUDkK@0}gl<+%x$Jq_fx&yyg}Z9uE7pB~I@C+9M& zO55JngS!-5%Nxq4`9M`vyu@srM1gjtWN*OPWztp-E@?JAz+IK5g>UiHtUt+94v7{s zpW2ehdud_N<8a1Gjj6=fpB_l@5$&4Xs_AZc4pCT4E=;v#HO#Se!l61&AK#_2NKLz1 zQp2Q=lp>Q^vMd{E{Nu;Sw#$X8Y$+wV>f3{1k4?eDp0g##U!5<4P`Q}LboD3fv>|q# zU)fY@e@VseKZyRiK+bP>oxF(6IGSY>Rw{~9>-v0Pt6RyMYk4wa#WFvf`f-B?hWb46 z8it4drk}7?$LF4RTbQ$st3%|pu-7O-#+z^Bd-kT%cgd5v!^C6oT5Wf#GUBN;N_(|_ zxH`U8VdoT-HOPs_JW)vcq)4(G(q-K_Aai`y9^z) zUnkf)o@YzU>l1T6F&7f^35mIwm^UQm6BF}EiTUKjd`eGtu5>lNjHVk#Dq$V;QqPf+XS}$`ca0cp%|9+tnj-Lr{rN+iw{46X3=yyLtnQINB0I=2eK_JVe`3qa8^060XQho$U4!PHK0w>on?93pWyz7vChIJeVWTZ=_Z2 z+>ER9Y(9(f<$<;6DE7WHk*Ukz0uhY*$r_1`zzt6ZH3gu$3a!4*kAAAA?TKF0khdL~ zo~XtOjG@3$-K0PfL_RklhaD=LiJGHi`enx;d-!Yx$d4XIF+4>+mcJ^D-buzf#p7c%!+8fzy@BebEBDKD z?h>KYL*p{#@mH788HrYOD4b{=WeAy-{Mxb6`=GIKICCglfZB*!H!NvtTa}K>e(20QFycE=;M2!G`%TjP9 zH#R*CSlZ(8>3m8QW>klFJX{(@jVWZDAo=D$L2AFy&*yG|3D$&PYYmI6RdLYxb6zT2SX!7cN60qg!xXFfk+?xArV$ z*Un@!DE8=G?^>JcKwr3Q>t~%^b6`z5k5xTS%Tuy9#4SdxOE!vVLCP&z%$|`dZt0~c zNNP)|SULk*_B*Hp*j^n*$08J0s!HtCyNXhrv$7RuK?vgkzFe9sco?(mmz&cF5WSV` z869x&i1AZ{T{`y*3v(yyUcQ1t7UoWoz2xl734@rOj*NHEo3f;C?eW^qG_sv2M8lND z`IZ%3o>~h#yktr9&5)C-H=|rL08J127Px#2+-zsbD3fp&Z3RcV6}NKRWZlXR8)a<| zN4#8t;z7QsSzMChqtjGu`wC)pNgJC!Bw7O}+dn1{BV!a4Vdr*ui9ZecHrjSDKZUi4 z9{Dpe&qz5q3YRo4j)Uz_5^Dd6rt=~_#|4)pjx7ZW(W9GkHzgA2t48&xU=i+FTAc>Au*q62_1)3i$;FjCeJW6z^0<9$ZW)phKzN;vz0W1h`lFvaS+tK>T8%a-WAB92#G-tn zcM#t~eJKu4^rh{Ve4=-P!&sw``5T#iJmt1?Bp8|pZNfX8(^vf)6Pwnudg9hTkb(T3 z2c{L9?aNx--bm3Sc5W476-2fw+jIKRqBnxnJao_bX}I(pTRGq?XF2Q6aB>@wpGUQ5 zdEg?{z_u|z2`jnyMP&Q-Zz6;ak3Cwhh4a(+uu~>CCyTLMbsKeB{%E6;WMVZ2^?G<(S&&Xz!RI>^U8AqSDj(gQE8MBqwp}g?~Ow5@E8%XUcfk8y>A( zc?(%OQt)WT*yDh%7=2{ed}wEzl1Wn+&L0W(o)<4;!0|qc$N_~H-vw*YyGaaNiQH*i zE=Sd=$oZ{`i_5XLE3S7at^tp0PFV?4rHxTNYkLCaESq5>n>j&k7&=2Xh!qzagzfA6 zwur=G#5A!epNO$zBYqif7XH**G}naj-8f5$v(zq~$=n68hu7um{+@@V1;DKuorI!6 zYcX8j{rl8MhkN@RWBra*eU4bid+VdF?QO&NiQ?PDu!N%rE#atjUpDfPuz~!|&6D%C zZ)PglO~#qB_~r19fqtnNZIh&EcA5osEC{K|rk_;X&4#C`PvjIma`Q4PiT@;%+o;J+ zxAs=21Mb-}6zd-z4$jHOqZn}4L3A#Mu5Hse!?tM{1I=w7)kv%q`Z%G9p{sKURi?*< zc)J*+WmcP$jUNi7?hyaY>|) zEjShY&Si!eSo|>_VHk9drTvbni*#B+V2lLuE8x;}+7@2fDjl?THOku*9dWiZwx6wCSOf8{H;+>YDHR_w$)CB%G!13`GV(#U5 z4scxQ9vES7uDKh_^7Dd2@D#9g1y>`9RPM&ILVT))j!(m|H~W}?8dCx^kZydsL%5F+ z^cXU2u^|Wm0+%&AgfoSpSCCQX7=i#Ggz-*?aF!5q!?}pLvmpooLM}erA>3C8c}7zx z;SE6m5c2UkLeQLLIg;niaP>{TZIN{K)z5r^{5?%&%0>|pN*8pQ%^^RWo7AY_17t|! z(8N=NQYI*)x%idHsyX0SJ2W&!L-IX`6z?EJ{2@O60>vjtf_jmQk@c>H;&(zo7};WdfQ$@y{MIdkUa{20!>ISX=r6lcMl41;0$lep=s-%n_F zkJKkAsSMxg$#sNW2dIZ+hMakEy>9#}hWGAANpg0mv zL?_D3)sC`NmyvvBq_FJ_!f;h%;SROu@oNaWgXNmcsM>0`N0bqE>nN_18rZ`csvGg= zhD*^o&}yzr4k2}3OThDjb7|lI6L|bOoaG`U2t@&Rq4M2O*{mI1a-p*Ogc`6=tXH~F zg*4P59M}r_!r@pN-C#M_I>rLC5a|MQzhc7a1`gWw$BJWVXhurnmXVI@%gWha&~PYp z5x-u^#6i$6DxGhzbkfun*lo&azno{g=^I%4A{*X_-;PINzjsLIj9Bnr?Pe+UlWfeN z$!oapW8=glh5%{#o5wfsQYI+KWz5_G$N{>0{b)ioosp4)U}VBCP*Y5Nqd;AuW`#a_3(W zN6{}eIIbGM346|zF51RwP5p4+g-ix%{Z|biM=U=^Vz_R&I>3nsF3kg0QeRJVwI=%`0Lq1q<1H{r|D{CSYojP?&n~e>CEo8zzYkMIr zlBI+mLB^T!I@4^4zJr%9Hw)Hxn_u6uP+cy30iwKv8pMZS6%U##5orP|Z`Mz{PuD8{D5ie@49XuL&z1_i_O+)o@1#!Xw= zm>kEv7TxA(2fn&Dku&?5$6LF;30%^y={8UoSsO4XqmX1gN5WOXstc!A z+J$v>>L|Jzy@A-(Q3gxjs(Gd2wCb4mf~nOhO{%taWUbw^ndg(=NtWNQQtiGwdOjG^MYF}x^FgBL;?DdbO?u|C>~wk-G9PnKmNl%m zwTbsUnA+oHD?^DDcye3yG2Yh7FM2QQA^KJ)kO+57!uV(a6q?@S&|28r3Y(WQZJO`C z@-1xcO}>wE-|*7T|456y{h?%<^}^bG3lo2k0cUAF&E<5st}!cTi`ybLZ@o)CmPR2B{=mxWhl~(Iv-JH6ar)E!1QO)D zz4Mc)em43UrFDBHR$V{y4K{v|ga(;Sg%48U19yL7&&I_kCP}A4W}}}rQx0algtDaZ z&t^np=OdLUNKFOV)|&11Zew9>lnZA4s}2bL%+ea5ZfRK%_PH5Uh7{d$ZyqDp(=v^# zPD)Ce%CMD0Do(3e!rCITWH#GHmbGeQ&B?n>Hq{cH*(|3bUk{wJJ6Qm;t!ERd-Y`Y zDIW&vz`|yH3jUHC)kfH0^s>>+v5C;(KqU)bY8$4QsUvS&BQMd+x#Ixoermf%avveN z`a9u$f}Op&Cht?&Qk%SQU#SV~ql6vYDxc`n%qP)jjP>>Up~qwvop0CvkdyA6Ir|33 zDk0LB@SZhnR%U?uo}&6j3n)70bYqvRid7D54%5Vz@a*>x4t=j=4;eZIP}@VgO>c}K zJ`%2z!-!mT;?0%NpVTOq0Mu}_}vuw8s*VC8Y zeFo89@z80?Yc0WpXi!L=VJEfI0bRLsnIl51R8wxuDQT;eHI2}6t&0WNBzxTD z=>XqW4SL$LCT?%fnuxtv>nTQGk<6yO7|WFbZ%&ulYDFKX%`v(i%QbW^C!qs*h^0bE zW;|6<61#-gnTyp`zA&=NZ&V>m1Y>(wFi_G{#rQ~?{lZv@EmX4O9YlLm853A^g_S%) z4YLbx|yWJJ6 zt7GR}G|uK%I$YtpI!*IyJ}<>c7!anut&lyg45?(T9I0efmO||uRDkZ&D3tw}zOk>f zJh+A|#P@^7z)#m~r_NfL%^GgVv7ZsjHE|*Sgpo+soSk!FaOPJq$jHO zb1~TC5Vm)BdgZ5U9ypZA$IH7K&s{s|4H$b}Ce{l?V&-Jsu-;d2D^w=gUAmo%gjAl* z8>4U&2$^K4?l4VkpQ3z{cZDXue1`H|qdd{jWn(8XS+^^X!8LgD8o;y=@;%Y z*sF-01fyIwk!_z+E=1$LSg%&GkP~J@%5`{BuJ}|@NzO^7YcP5e;+WD{H9j4$A@1I4 z;PS@3xiFA=&S5Cj{W9~wV5eMIB8R_nDtPUFr zO;5nZ4E8o&M|;3kHy$vzzwuMKTXkr$sC*N1eK6QN_MCPemKf|CyV%_Rv5PzOJ#XwV z`yLoO(cJlCr@0Kl7#lZt;n#Zg)54u1n;|`S>EWoAq}Wbz_>;{efpuL!?CUXXw-AZcYy~ z2jjniw7oy-U0t){2MJN%3ysLtlm`_{Il(phb=pIp6?I_CBK{meLFzCr@th${KSMnI zEtB(As;U|DdU=RTdY|Vz;AHeX$~E={KE@v6XX0SBft@?&;StYNy~n?ZM>!n-5>8uw zPwSyl#YVI78^9a?||(^hKF7MrD&h-2gxc$yf*S_;O>=~43XKmpx19$a`Plb`88 zX@avGvL$XN^sx2M>GcJ|z>D#ltJZNhNWxxU%8JVTiA}F=Rr9lOfk^Vu;VwrP&>ALc zNuF$|6jt7*)%QOM8FRg!vyq_#gK>3y82^{*Dn((tI$@EA&IB)wA#1{Qm~|Hex(?f< z=aTf+Q4tJ$*dcPIz+u3BA!>A4sv7VwH_v~O|7xj!XkcjJ5SBz5OV%fPV|w#~D@B>J zMQ$DB^_jJ`(*6j|c$<9eHcZ{E>U+k@SaOc@YFaVEZe1K!+qHXm9nv3*=CR@YK*dfO${FMG+eYgJDgW(g5D}?J0 z;e&Dg&fFgs^8aIhz*|hs)A~dBU|hd5_s2|m?z%r{sHc;ZTJl8iuJ`UK-aS>Wy2603 z2ji!Ms4ok~Ps8>42hgh61BY{mw+iLLD)DD15nU`05cEZ_X7~z!hVV+38Q-m9rRB;Pl*PRj&|(wbiEe1b0xcyjh>}cRpOQwOn3@I zM%NdsS@FITs&Wv$lIXPyNJqla=tK1NgxV(Pn~3FXKY%e~Qj|nqi|KVjI??6CNrdTR z;cS(Hmvbzs_+dz|Z)d=H(S#a#m`it=?Pn*c`O?7>mq*Zr;);YyyM05`{~9H2>I&SM z561Q7wHB;=)e1;ONfp^8(agdvhjW7MZS1t2An22n+?C(UYx;aD4jCQ6)H9(T_UP@L zn0p!0y=oaXNnd&ROHAXtDX?kH%uwd3QB2RG-sjQBH?uPJi)H_!=_9L)t1|Z#d?}Nt zUrZ94sn=Xom+jPw)0uq}8U({Xf#LB*>rc{WcP|B!5fm3PTp4s)B#vHONtz)i*A2z} zDFtjc?5+#=6iCk#-qcDYq;b2t+Y@s1Mn1~Jovm7(lC)7$t6xs9m638weD5@4o?6$; z+`f~F<_Oq^>j5sf4cAnD#?j3S3O3NVnq*_L*E*=LTs`Vv(1?rW8^CpI;M$>D>P4Ca!+kudVisXAF6Vqpe3chf>L};mb;H0EmeMVSx5=FQcuPpphMGdmJ{NA+qzWrq*@m zUvp-O7ZJH#qzr;_IWi@qW1M;z^5C+a-%Mzk4*bM7Shg7?pR~R$;oP0cPh9L0F+`pQ zpSVPb-iga_;DIE=Ka_Gk$Ht&)TVu|Y8~>0>ma8ZfL_Y$8DSZ#o`FfPE`Y)ZPL3>l$ zPFmv61GXvi_i=Lb$!V*RmA2gf>$KIkN?Y##b=o2+r7idWBJHf*C4H{7w@9eQwpecb zn6>w8TKLD--nsY#uEBqz2LFX?@Qzf2C+)ppU)SEx8N+&KelVCo=?oqHBPD&4e(lh6 z#*T6xoD|@3v^?G~56E;2SsUFN0ODF9aJPE*x+H)Bc)VB$SofFWigkYp?o`%YILEpx zlnbjwZ{*8zGXTWP5`+Qp>_4Pj^|?NEc=lH6o@Xy+?uJi1*Ufjvv(I-tyJMBuggTxm zxaNA&c8t|Kq3~c_-=4WDr@s2$*yb6sW?aXR3Oot75$ zOocmAGngnKh#nPPjQIA|Hn`E!8rsvLr!L({n2**xDiUld%lJ)|wn&_F`aa1|i0okq zMfE}S9WwLF=9(aCDc#gox}01H=VN@_$>hU^s>#P0)jK{;Yh~W-pFe4`kr$CeeM7LF zL#4@@%q~%y#-;1Gf-h8o#`T-b$;R$gy8xHV|} z27=X3n@-`b7&1cBdN-_Ds3~YC*-Oe`440A(EOEzhiFh>fUk+aGHo02i4Y=MclKErt z?_joi(-njtE7P3OPnq_(qb3H`2l%c6Y*v7F1^Af)P#^I?RM7qcE*4;++4B8m1;KrH7Q|k z`ZqX;SbvMtRi;uf-v*EEX}PP{_Z$WGiMCpYm*oS_F(3|Y8|okI}+R~zr0?#*)VHtdq{wO*Na zZJ4ul=>jVw+NLhAaI>^$IF6XpxSLFk(Q_8gf^p@Xr>`yRapfG}(maz;nioz@OGP0q z@i2KSl0R$s163AHL|=eqH-KCnz>eDiUrK;4Cjg>G=S8v(_*w#R{^&5@NPz7L@XZAH z&jk3d1o&?Okm#*yM3JZgI{C0=W)CA0I|&h+9V~R;M0iya!2l4iP7nrwcuj&Z0K{t( zgaII4C&cx^_*-!6NMUS?>_|~4=b_Twmc%pw#O(>f01&TF5C(vFLxL~>#2rH1Lk$H4 z-fB{b z?n(DXPteP?O5hZ(&2#vL3LUi*BK{wI+p5nl#D4@pg(}b|PiogfkWW~8(n6?-K;~llX6#9Pw;z;@ ze6H8di#Z7>Z~r|(Y%*vYEc7`P>ytyZ5Av>pg=*eG=@=||6kAFcsyjPa$5C(vFe}XUo#JhyJ(z&5K*Y6|?q1l(cL%xLiKoZRWj(v11#O6lb z2T_Q7lMn`g_+WxC0K|VJ2m?TTC_xzTw7}geL8~Abze`?+LSSzPpg8uu)0HwYZ>Mnb zt}hP8RnB@pt*3HFU!~zJ3JJ)^r?)b==56w3rYLj#7q&Dwu#e@ubY(@g`7q(EsSN<} zkpy7?h>s=+13-K%K^Oqy;|an55ceer13=uLAPfNUi3DK)h)*U613-K#K^SlZS6OL) zdsyd{sudv~NJ1C@;?oJj01%%^5C(vFFhLmL$Nys7TTDKnEa2`%hNzgKmi^g~KF1pD zgL0EIz)uCyUueDPul%I1iiZ=QB_d16-|*PP4e|LCpHqGdd7M_XqxoSu^Mmx$(3lV| z`a3~K*j#49n0t2l+AQf(n9o1(DPsiL;b$Y)+zDoRZ`-iM)nPnHaK|f;ybA`Yh|rF$Bei}u`V)&- zEhsu`N-jto5@O}{9xU^D-f+Wdo?m0&KBT@6V=nRJC%&j|zb_d70AFqYhErSWm9)nv+6s*i5sq6L zd79LrI`f+sk!HP3FF=`j0_;j!$@+NIF5X7g*;;Q{lbr->yBNU+%<+HXk&mzD7X@qc z2=ilG_>5m`{_?TK;6mz3mqDNT%ykUk=c&(H27t3>VVK6Se%V65CVks?2`A8AL}ZEcWz7 zH&ce?Lt*0=N=e+0dpjbXXx|z*dZvOs$%mU_zOEc-V14;;m+!!;;m}?~iq)cxH5;1t zkQcjn&Ntocw3?;p$~%A6s=_AZ4uL(25dXlJSR2r4dnK2Re+)*-79sceQPg<372Cz_ zTh$$8!@?$}^gw>E^;J5SQcSN>U>gSDMc%57+s-0IzH70q4j~i zNB2XTC8p09R}Jm(oK+P}xLi&oCc+-t_bNa-?0=!w`f!*ppvf37Q}0#twPkse57!rj zjg!wz%IeM_WV+dvr>A4bHHF&TLQHRBVV~E}5!k(oR8fjzG%Ayx=t_O(YKy9KT~_l~ zKpd!cH;H4GvixzeW5>R9U{Ag$+&q_Rhw)!XlqS23_@o{3NW^V`|v_TJ;Ia z~d`H+g>8zxG^ELeEQ-g<7c6KV6OD9}8^%mjP%r6bfnX7f>Y=&64iuErSZ6bf) z`0YhBvMSUk$G_IgYxw^*|9|8E^ZYOO|D)a&hoFCjN&b^C&YoKO6~e2PlUqMJku+ZG zK3%)mFvV){b*?n*T=LdbSyMf<`fjdtraMXVe2_Vu zw$fiVlHI)8L4g-lt_Zd_cU*2?u^?#4@Eiua=Y`Ow3@#3lhSEC$cTDtWor=ND4O{?c zjPPINzmtFIp6NUJul6@~Qj4L+)6UlK)%N>4{kkVUEZr9nVH4^0l(V&Lwp_ieGi&Pm z=>4CeW-oVQY!?92J*L;sRs1`dqHCpGEVo=eIIN9?@uv;v+;TPY%c0G2@vCViRAjS- za&Atzjm!nKEQqcC`k^w&twj>a#6H<>C8PtCm;anj1lcn-Mn! zn8bcg7@fgn5U=HDlf#8EyUlzI1<9cB9|Y6tf`2RccMkrw;NLj-altSt3iETpzYuH% zC~?|X>Y6pX`8sEpOpuMMb=X`ps8mXL#dL@qA+Avf*0CXMdupi6GSA_= zQ6up*`t3~b{tUOu_Zt3(*Yd;F?3^up-Q~^#JdS%5qduFbRa;YCjYmMc+pwG$R_Hd~ zx*l0Cv|L9}3ztB21u;$waYm~b6{-$!W z-jCdGUaGkpC4H-whmEdhCWEHCgX;%V-codWZ?$-)CDwWx9sBrd|mH;gxv6~U5C__`nZ^c+<)V) zLUQH8&NN8w$z28tDsw1pXEyJ+l}e?ylz5Mj#bCX-9PnYlMA%=MHu zxW1!fw8qE|&y|eV&JtD!iaqN*1+010XyR%OL#~`5MQ$8^E(8;w#FW}r7||A>5WkQQ zX)4E$0W4gxkB1hOS1jWyb1wcR=*9`evvODp#xhqmzCPO(C-SZ8NHH%j}&}G!ER>O$+7TW#Has5>8oHznnMr+>*d9SE;j9vdq`z z8^5RghPPXNE7(73>NJB78ql;%rJP-xTgx0$=q#9g?RgywWPkyITvOczJ}tp-^R#iDVc? z@(3=?lS0*A7e3!obS?+}A*Q*VVYM72g|R(3MO-Pc&~& zACX<#x^?c@z{@eDdlxR+tkYA2wwGN8iG zkqqi5x~Gyi4&xT&m$`ah*tqZlUwwB9;%b)LEP29U{lLZ-lEh)H#?lnLOKT-7TL~--cTIE?m;U;o=86-bcELTr2#IGW>>NEPhX5FPXpAv@K>13~`*c;6w!H!3MqpgI?Ko46Wo|*}cdI%SLC>=pBz} zli^X@mrN>h?NFDtEte~K2q)Ig!R;&DPJ>g<+iCIITx@=uXLJjn+muYlj`OmcmjTrJ zvUkaCgJ!IJvKYHh zqzt{@MB2RkBJ{a#62$-e1f-N&8$QI)snyEcC87p0@Q5yrff5i)spJEAQ1-7wjm-<#c*QF#LrLWrN1U05hQair0 zn6!(v_`1$=-+H)++J2p-pvg^0TuFK1&c7y#K;w(03FE_v7;O>G=R$KZLBR5;SJqYco!&yFwa#-z z50}pLp%Yq&)a146U}WY)16M(u?jD{vx!Mtv2ycH+c$3%kq=B-z8QK5z)`B26(kDCS zasF4n+&8RSa6Pvn8IN15xj(QmGf!i8VVK>Bh6M5v_x{5KG@7e-AOQCbEu-_UkzurU z(a5}SWZf`B2;aza7|g9^wLOH<3{W3=XZ4<4W(#>|o9oEw%{n;idE%Sg(x0_8irF&O zrLI~z*S9_!-v&73e0uGz4!c~yU3V=xwIXL7I;AM*de`Tj;(yjCy0)MhyR8|vU}4(| zr1vGoJ~-d10kTl@rYh!Qx@RCCzoe#qB674|9DllGLvz}izs zD6TyvGN7#_!bq1O`;_YW%iYwokbzIIKR>M;o*FarR&s}C`kv^SjTzc4#R>Bmkg@sK z(~0qRwUq39{`>j7^54nlo61LXz>^5su7%D+lgh|~913s+lggAkb2Xlr=tL6zB4&?3 zBI%a`WaB?GEw$(3?~zEoD;MO<5S&{Rz7H-JzoqFT{Z!|3hxtf&I#{nPCz1m7By&=S zOK!7C=HTXJtOHvr#=PimGr4LdlI(C`MQ^1ze{?P-uM`(`j7t16te>pSmq>gt9&Ca; zJAGLF8@wRQMFSi94(z~PfV*xO;SleHTQF25Njhut(yU2PyUNDba2ZKZX z7@yLWjnU~Y4BwMZ>kpQe^xHhajbyHLHrH9^fcg|Tc&`7&RhS}!CiN$Isma4rq#>t5U;z0G!E&{esIh?PVepr@;p?YwM97V4(mGH zVI2%tU(pWhs=>~I9o0T8=q%4RzCETRZli=w?7_?^X~j+_Q>UF#JoJx${*%v6(XK1| zO$jBx3;Ryt6OY&U-tBeRWtH)SrzdV|R&Fo)x^iGD_OQN$zCm2ka0 zqBF`?WAv}+P>Woy7Fn@p^@y=9wFCw>kS<$gu*}hE4PEJki$6BiW@>0&1!}flH6gnj zDT~ixHpYT>L3Sg@A|&$U7B+&-%=@0)!bs#6!tgkL=XseIJ&}32Xly=n{YuI&K8%AF z$5505^mNjUS3VgO$qBX%icB*-?C+HlTL;C=o9LzMY);qSxH+e5Z``C&H>ZcXZ-}Vml05w7Ve8Vv8`bCF1BZ>*#XdN)~aj zi`d=9D)3X9r_u&tmZuPA(GzCYhi($)4(5cBzlsoYe%?tFLf#00dB@SgRhj4iKJyZ{ zXDwvDPQP7Gzqup&vQyk$)i_mzWa6lAUFjhcM`>GbYm?*CkY4g_vZ$xdoa}kk?wJ#t z-JpuG-_i|ZbgfLGJDI4YB|J@D$?aTi_Pk z%<}F}FndV1I@H%*XHtomqG!25!mC`5}OKBnniruGZTo+Hao)eZG*s zO=-_0tPge3IYfJMFoS40AODg0mB|-yl5$MZE5~$HX9w&dw3fKpx`T|gE{(7*y+}0l z6nI_FW$!)XZlXK2o7f~#R=LUsVb{!Y(h#0mM03X)A~a^PMKsXtz=}?|u#QpAwKBs@ z?;LhCsfM#}BO3apNi?Mt&1B7pYst*yo6v6~E3kHMwbKEl9a=vTz@!yC6CpG3ljRk{ z$QMUjVz0r((IM*t&51PkdL?p|JNBtw;YiVTtkyqzfax*sI`-tFyqiS4S#sCLZqYsC3l!_OWb8B(M#J z4%0QNhyAim*j^3$Vb4mH_ExD0eS{LmntlCnAGJ2@JMCC}>O0%&x3RvY8K7^*0JV!q zQ#Imct}>^&(*}Rp-Px&hVF=20-A(zNBi33};lzfBCLGen&nK9qbsdRMsEu9SK`&CD zbe1ZeluaIYVg!EzC8aF=wHUwEM=|2KAYI(qyR>;hngzq;K^Pj%)nKDLv1XpEAV69| zntgvEQ+m?(XibbO?bWA%1QrpD9MghbgC6J*yKBnTU9Cvn-K1o6(-TzSDterpdXGxC ziNN8PdrVMW>2ehtmVOMLns--!S#ZzDXK_+{P<%D-nl5Sg+{#?1w7Z7x&s64`;%;|u zrPpL@BW$C1lis9Xt5L~P%96ap21)YX-B;-wfjdTi-sfbFk^#4puoIk8rO#>qc2s%^ zCdpd&yvn@p{z|`bxT_af9`3lOROx92?r8>&m(bhY1J&-zfEifpo?q#&%=cS{0XJTM z@`z})GT>~ZEvPKOHrfKGnds{{e+{A?)zQ>?_NeUP>h)$JC)aCXW#PyTLhs>}UP_gP ziLT2Ym4!~%Wl3d8_o7ySo>qXKW`G!Oq};u@y0Ef1<}OXSd(XkizSYu)8cp(sbwZX<7cfm0p%VFTFo+d_Gw$Vbqb_IwN}N(<2?n1<@ES5?@c- zKJ}EBT;rGFU8F2tLS?>+dcPPxVr&W1Bu^>3!zQtH67l8ckB$<68+#q2MS$S~Kki5* zzJv0%7sqU&4UKas8cR5#MQSj#McrdGL+YhrExT?J(_yk(KDC1yd6?2L*Vsz*J_q|1 z1nZHQXr}&7fT`myVdRS=_7R)BSK)NC+w^!IkMj!feYqA3TTHRAoH29Z&~b(fcvH;c zDi_Be+Tt>NIHXkyl&XA^#G!M?F}gsS)N*bg^aTpOi~L-O`mTyIL$?kj1T)}{$NZV& zwMn;fP-mwD(~cYSY74!jbb$0<68)9u!)8^5{Sv*_w`yUo@lZ1*v}|QBA*Ia`x>-ic zF!~a2Bt@%ib!E8!vuF&FlQq^w?3kup#kR4qwNxhhPBO{Y*F2S-T-exWViN0{qBog@cC!A6xrVoq z*n_h17K@Q{OuH=NHJKrQK!$y&<8n5Rwj8H1RqtEA#j$rMiM`vC(KNVKK3k5T?0vGl zmzuYHqVLf@O{tTUj5^UKdqO7_>L?AY=qb$~?Ph$J5_$fQplv75x53V>4o%OxO|bgc zctQ8Nna#jB4@XnR>JNkU#C)W4{Si9$adav(FlqLC-xl9q6@*nYQFAUfYSzPHGf{Ki zQ}a?J=?OI_NlhhbC#J0D9@&qQOB;czgwY!)_#=zJuobn9Ydck>V_pZo&Ys-%!MR6F zD;SS_^kzIJ#U6ecRrdQ?7~X%q+f5`6-31bK^H}S`PJgyFU(wVpIgN_tb7zxWQ29f* zOYWFdoE@jJ2Sy;AO*b@potIH=c--u?t?MLleyOW8^C)KP>ZSQ#V-#!a3i+l+aqUE| zQ$lauh>#G|Ef?6v(aT-}+5sW~rca0lcBP}w@d4#%Z}9c6!3UIg_U_f>%x!Rp4G4#l zvw_di%sK=X~6b?qW>*Vv-6PJM|UMK%_MQGc@ZxBqI#P9oCP zo=AJVuI(Qa`g9LXWbH0#-V{0Pg^bif?dP$;_yV%_e7M~v=v#Gg*7RYW{pr23PO-R4 z^YcK~lysd>N7mG1olY$i{9GhYdhbfMbB`msBV1vZZ}m-2 zh$)55&r@w~-F1K+`!UI)$mC*98pHkq9TQX^M-)x@lY~Nvtf+&A7^VI7jvj}5CM%K- z$H~AirH`_;6LPg(n99Nl<8%ZN%tE6 z*1Ff2oA|Oq2IGnlV_&h1>G`h+m5ts?WX{65S=bZ316V>|%nt%p+kxyVZyj>~u*b4{m^PG6ZME3oY3>Xs06uZT?l)!9cM)?_?jjx- z>d{cDb|-1`8i8BHbp-4w{>(8C2FN#(j8T2u1?N0KiiC)9rq%QP90ZzT; zLm)%bvv)WA!Ap@a8x=T43hmC`&?KDn$_kmc(f==3f7iL|^gR+BYF(@n$2?d+emQ#2 zdMO13Qr)l`tPd|oQ`#`@lGR{+`SP4yts1N^SnjIj&slY+O8h(e!Av*2q{)MEH!xgl zTw2ewVbK-qkCA9{)rggrt42jCuDPL?e-Y%l{EzYfR{k|=5i4eB$E>?*6zVkwm!=XIHzjNYX#ne`QwcJA|-IjCvhkeZfb*7??Cu*}wE`@5#Kl`DSMWF)H0 z%);+bWBNAON*loV*vyoT>r72m4x}_sB?|uv5&eL^9eIKpHvYss-m1^{YyW|CtI=%?m(cH|keHqiD*%hSw3ehYCZg1VSW%EJ251qm-m0+hEjM@o(jkf1&Rpcb4R6byspAl(AUEd;RWJ{`5#)Ns{W{ibLwq0wn?#q6PdYeLyD+o2 z#zw%c{V(1$t6g*|dU_#!{Yv_p$u^r(*Kd;XtUC1TC z^@XtREl!H~;!cf~GKF`P&mC*-jwg5pnQuiLznsYnW6zz1wbli?@MRwBgmT*Atao=S zKb;~7D<)!Xv%PzCpTJR-5>Z=A**P6fEv@wp+-jJIj7t{z%H+MyLftIG6b>_oOyT6s z&|P!qQ}8>V!Twdtl359JckbpXg>LQ~{G2|o73?d!3C8-zQ{31-kbb$=#%n2{@c@pq zq@Kn!ON(@OZwwZNz#}G-26>sn@<}MS=y!2+n zToBzsjxp`A`$LE%-E*Ewy1SZj=osx0k@;od9xGY9UnU*8tn{KyhmNY}Q)@}y)i~7s z3M24OP+F9vK4tuYmJ~fG$^KTec5e9Pv?|iKgY|_-=&exkV7;`Qg8(;kqfwIYF)^E) zg*hF@%O>8%0==Kjx$Js)_R6W0+WNB}%YqIROdZpY?L-8}WLj!1Kq!{-gjV)piefYK zMVgtp$K{STQ7UDME+td+15~0|^W4s^TF#m!;UQ*msg+wDnROq?47s^_V`lvOnS!uE zW?km?$KCOmXieKO{gJ?K*J!n?Te96s9Wi*S(fwebLeV^XqrUwUd9jg1ZglfSSQI(q zCJ?g_NAvh2a-`y`Z@0BMzw!^R50N<>#8T8Ttka=FzI1!x=8Lj1W-7`%XN^df0OK{R zMHJd^^`?^<$lOyF(QI>$S8sa3fqFCXYxX9x*5;zQ<6y^4OzKR}O)$stgyb2m{`98H zgyaoY+N9KXMn{RVk5IHjkEVCSSltMHJ05dgX5F2cn&UC^nQu@JWSrbvP0i9;F>DVw zX_j`IF=lBVF@lKMgfG~|JYCK9VWzbl^e2gansV`Q-#LScxMA8)`!yTvr}81Z2H+P*3wdSGKr%Y%iP(nIEBj5#(kO}W>BbXbE^I+zC2;to4cET zL80Oz-O@9*nr1hJNtC<%gnm7w5|4t<#|QJ5{AsjuzBGi7&7NH z;;GxJm*q@%uV6eiMs!ChK!7v}K6z+10Dmgl%2IO}3k)*X8@ma;i#dN7&U zax=2lXq&eoo%ksP;8^P$vQn7M$KPSo-JKssjF903_PhEjI6srOQ$ua$GYH5|)~cy<-qAJIet| zQh2Y_$F!W@7kJgM)n_?QIraM9Q|6T2+*t3z;)KXvj*Kf{L##No}2K@VdikE ztUphpS3#nEt8yl_Ndz!bk@7;2eyjmv4dmktdo!!*ZY9D>Y5NV|5Zb!=dT3*k=>v=> zok&AAEgzg?mJw2x4|0<&9~^|tuw4q}vW!sS@ECfP=>!DlGnz&S6VnLZMuHgJH*0F* z3F+vgqBF!WL4LsCkylgHTy4N#J~kHJi9B`vx^|VsIJISPol;@1&2z#0XDXbw-s2J& zdjnV81Z&ETgK>$CSFugDV^v9HU09o$x^pf~R$jZ1ZrM^mvn`_a=?jdnH_(RJ=AA6# zJ!B~dV%a_K;btJy+MhB{>L%8%=1G5-Yf6mo>>`Hlc)1mr6I^K@bqsH(O-oMw2w6L0 zS?WhFRSr;X_nFJZ-y$MICZ{1Im=>@hlOuu@l^Bhw6|~^SA$qlio{G%_#)8h(mOF1& zXBm|R#~IZG`cN96nnosvWBfL!l0kOMa7npjB$k@fNU^n`QXgZC1~m}7O4C%P{^fAY zCju3>Z~ax~@-ve$cu(fBZL_*)GutN}L4UtdW5!7j*Yxo1gvYED61sC>((9zyuOf>6 z5zE;>T0$n0lUP&#!>BD~vUe?Ekq_g0n9=P*J|f)S^>$TY>>EsagG{jR#4n8Rwcr0x zxVxdQ_zpS~@}Cqqd)HD+ZCVT-8uBr+cm0DP=)(7|?+P0n1-Y$c^nN9mz3cCI>P2;Y zvnk(uTxNai^Ujh%Pu^~_WqS~_p!4f&hu%{QOni;nxv_l(j!+H5D_S-S-bnR+GehX&(HD|heZ_}Q@`5B=UNYC)ip2?E z%j>vFUdN}skhrwM@x*f~i8Iq)&za=)+_cwele|t(dp%>4*BNQAvnF|+o%T9qlGmwe zuXU5WkPo#Af5IfMr>DI(PVzb@?RDZLuanYVCr|QPoAyG}HPukO{@E%9LaLM(Ol`{x z?ZlMV)6!n&PVzc0?REYnuM5&%Jdcq|kcSjnd7=53^13ALb?GE8#BZ%wmrwG#BJK6O zNnUZV{;LO?@ zx6>7_ZJ7g&pG`*Mek7;cll^6^^{Pz~{92*>ndIKw(G zAkDLneq-)bKiH+r?G_KgzTz$4@_l*~H4Y-{NhsB~i^Oi$_tW^^Gyr#w8TMycz`(+U zDW4hew<*T=gSbu_^}T|aLm(RNv#gzFPSzm;8Cl9l6$%(5C+0*+!D&|7)$I%3LOI7y zL!Yml4<=4RnJ=Fom(v^FO~dKLevZ9{?6C2zRA_?rGn?O;KV4dY$58sAm0Nxwnvajw zhtkevE+daS)CN6$(SxLf>TmUoeBq633bnrTsJYSE$uCXltajj*he@P9uhe(b6Ljlf zZ{s06?~HCE_EveBf6=h<8`Y~i6mxdz5%R3OQ{-awav|N zBExp*i}#+(wXWi{gl8&=h}f6?7?-XUPLjszK0I#!MwhHKBYnc%mE5$HoeYp|Hl_Zu zp0BY|=Z97Vy%LaAQD!!HhlgDosx9B9`q;6QJuGE>xZKA=)R$k@Q7D8*s+s|IJTCbts2*0=L)+{*!99{H0YW313{y@GbD!- zcATLj5QapHguoP-5Im-#U_6cyJ+4f6oa2Xzu2)|SxYfThKM*Zbw6RmjVd4>j1Y-}- z024bD+RmomNuBSa&SP-K<-zDw0tOf8VREIE7W}aq3e{M-J)tcY$tOcaYey^IiR)X;*iRG>y3g8Jho^>Cgd@^@MA{LR z8_!knw~({*F`ezyMVS292;9=uMu)2N?AeKZg>2>$zVB|Px!ExqwWay^3TQAslb>2| zR{N13PW;rjkz5$VXVTL! zdE@Rg7e7niyP0oLj+<$|`JLL9dWsh~O%1?b5V6e{ulqBy3R?1niC^e@T)&NjG*Pg0 zluf-SW|)?dBg$)x66Gg;Zb9|i7vIeWTKiA=+ECL&6iVAvIfLj_iq=F0bjK7_b~-9I z9o0S^Rh*70Pe*l5N6l%WP7lUiT~y%S-adQQK((<7{8_A2^6{7S$1nB47F@x?_*ZGK z|4n~zCe=#e$@Iq(3Sm5GKYenC#=RwGMsyq_+NoE}u&z&%{FQ}O;c0xqVI&7`+2{GUQ~<%VXGQ2RluDKQ-MQsb~g=k(^e#kEa3%Cfz?UINUJ#sfLM#pPKHEQqc?!BRQ>f|BwnGm~>GA z@ab~!U3TGpx{lvDMH3!>p|fMVIHB<%MdJqV5zQ85@5(|jd5zMn&9}yv^rbD4y z4fnHDJ_d)8oK^*&Oa%~3L6Btlf*@ZgyYN#hm`xSL;4qTY$~a5~FgT3l=owJ0%cjTV zr=U-%2$6o9z7I4@W$GocrSfgk_otiQJdz_gjN~+R?k4D3n^Z*R%>#Yrzd-1H7(gBP_=8NfeC zg)lgbFYZ0oUC9pGphQw-D zmJr*$3EntAE)N&yAmY4BaW+_-v5m0(6YG+AXHJTj&5z4x9j5fpAsD6+hL-E0Wu+;e zUwiChaqrO{r*TN+_f=uzg<|YX-fb4E#;O!qZ;N9Dfu{lsC@n7l%Dbzpf8GHzn!MZP z_w##Z<{#4BC;tZGvVF1vY>R)JAPfNUy98kXh{qFz0U&;#APfNUhXi2&h$j++0U-V- zK^Oqyj|sv65dWJX3;^+`1YrOOtfso68vx?Z3Bmvne@PGqfcR^IFaX5g5`+OD{+=KV z0P&9mVE~Ao3Bmvn|4a}DfXIZtUF5+fM<6br#vh3znd#}aQ#j}>#7PG0cWXCR{yg_^!znT}q%phsKm;771^+DT&q4#L}Z=SRL6)C!1 zQX)C`uUbAnhExof1)0qIm2Uhfas4a90(r&h^8_7; zyIENgX`@#gJt4fSYd*f1%C;9*f0u$4Mn1%^OQP>4w(*=$ELwV7e2J=;eD8BxUwo-5 zI<7)@$f$9ydMTE0a&MIRIhT5Op=1w4^{r|vp-}b&_w+idhdNyUijo87t*S|9ExL@< zYKtnx-jxHDVkvrzmfL4esZun3Q6D$x;SnT^pQ7u_Q9vb&pnqG5%9O0l+KW64|0T7E zBw?-scC%*eHEjH^F3v%Vw&!bG%4RH*F zDXcSO3(t95cdz^kjDSy}tQ7Qtv91J|ngW+_WiZTnH&ghWQn2R;1i1`94;02e*<}N+s@vDoATf={<2S8 z?#zi}z)+rD9X|1nr=Iv%mAKVOkSovEfMhn-%bXvbbwF>>$tSY$LxTgx9IP`nPG~Y8 z5FOjN;C{ni=;_&;Vtc&2*}ZytY}=P5$g>+-NFDN5yT{79X2s9Jv(`2CQ*s=1uZ_iz z0S~!k+KY|1V3EHynn1jilqVr>0gIQ4c5Q#65KyA3K22jiL~I4Fp( zq`hlFX(({n7vmqQ1%Ag5qwas@M31X1;!VN~S7_`u}-^Z+nbbU>BHx}e)N0RP(qEOM3EWZ+k%|*?Hg_z{ffm_ z9;0=@;ZE~<&O83}%>xcCEna`aZ68-EPmUh-fzgi>)uBdDS5SzJ?{UXH~zRQA){GtC(qdUxN)j@yz`{>0g-plYR zHdcv2?P8W*y-rCoc0s;URBuRG?HGp71^K!r@*E*KV+8rOCh`IyxpfBe{wDHyLSmo_ zZfGK5 zE;GY-8}foC5g)7UubB%wL2#Zx=~^L!QSrJ(F|;>R_kd@mm#OuW13S zlK&;YwrPF~hVKC4+_0MfZzDkUg2_E#{r8AGPMX2vz4ADqS;i;zxxD%L zCw=x!j;7+oU&6!Lv|Zi!Gy2l$t-slbfmH1B*K1fY-^_oRZ~bXKzYzC>tmn4vfYTG3 z(yu4QpRFam+Ea+n0cg($MPpiR$Kmc1*MG8O0cZ36Dlx(#Z3JL=xus>H^2RXs?$_>$ zoR5Eizn4YyW)>glilMvv zRgT3c4(%$u?PVv27q4vZ(cMYCKcu$TKF_y(U#s@@n|E9Lq>D~;U9{-|h`gO^Mc31V z@ztbQo8NeEl7vI2wiiBNP_)N!UEgY}===8F=~wQ>`?>ZxB(veQt$x$S>%)}aRnI6W z{*0Q+sEA$eiagJdEw5hU0@!ZD(}~-;S~GILtktG{_K{R=p{Krd{ONS~{T=(Y=rG~D zXTM^%jpym`jLgvWt@=DheLm8p!?r^IiuS_7Q8@LCy_(vU>5aa?^y*62UcIzvWQNL| zh;!kJz1Sie*MHgW^Uil;pI$RT^bab|J0aQV^CZiy8Cu|0_LD<3v zXWH3JOg#OKT?=NgaV=T&#aj)&33$;Q|M4b120Z+3;C>JPa~6Tt_>Yg{vCzX`QtZY4 z<6HW;);_kXQj%*NKJVh8>#+G;{y!T2HkhVgYYMlgOb zu$S#9gpC`9qsgjI#f9HT2SG91Z+tz`5bM0qVo%4vsELn$N}sS+@D5Nb^C3)QS&=X_ zXELwes7vxJRHINmH8AnXy3dbWR>Pn5e{nR1!;!-U^2xW!K7OD-sgC>f5nlg$lb&IuxL#*pV;+P zmF%D)m@slPO&B?wFcz(G6Na(Lxtbo@zC*K2p|87$8CWShREk)2FPH|z#yXF3IekuJ zIZ>K*WW?Zowg&HuX~gK~G%Ab9BMc^6ja{u$i%AfbDWXH$H9O`+cGYGrtYp^0eBDjN zFt(ADqYh#eYcL1x0*rId)mTdOnJSS(_~=nLp0ODD$><)T#lzR&kCecoYi&Aodj&-L znUY=a(u4KhBpLh1%!&N}nt$=Zf9C(K1U#F6xx*je$LF$WPB!Wz)mEC5vUlBUHSpyu zZ9))({yA}mx1`cp{8ZENE&K}_-k!5Sj2F*?LiI#I*?WEn`HmhNaGJ;?z0G`D3$ZJv zTX!pMm2!G0+DtP1BdR^AGTCUs3^nzHH-O=PM`rdifFr|=BOD=Pf<>es<>~bi)HwY2 z_B~i>?CwEd{00Wm>dTw?wb(WvwNLe_^mcbuhbxtF#0}X>*K51Goo}T(VmDfj*0XGO z_xO5=vBNyRm^#ekpV5theq#QRm`GahA4WxudxT~b=^oNX(X-FBzdf|z(%_v1Ew7GH z&{0hqV|tgna&&ccbw(d1wMvI?_uDO!=)clowC^txzPOcGrL)&ff5s|SW8dJ@^O)2V zGm#bAnn5%`Ug&#IBlK!-AXL(c#uH`H0jT|#fHaduw z-B_>k)UzyacFUaaqxkkk{gkKPU9by(b&}ErJk;Ikmv#d0!&f0*!*5ZR%5L0jQyaS+TG_CFg}D{`B6yZ?W>s5V-9i3_W0--(;xS#b@YxJkbHPX6=2)g}49 zb9na`n$0idUmpYf_j{P{#s?F+FKlD6hll$K^>);Md@%MB7O@Fqg`x+bKe1hh!J8N# zW&nsa3BmvnhbIUFKpc@E3;=Otf-nHYQ3=8T5Jx8n13)}2K^Oqym;_+}h+`9k0U(Y` z5C(uaK0z1&;)DcY0Enk22m?Tzm>>)QaZ-XX0K~}&!T=C!6NCXE)+Go7K&(#?27o}c z=i1Z&5T_;x13;XXAPl(GpZhMlHd?|M=iv89=Nv7kH(G>acMeuT1rLbVdODbL5Z_3D zwpBX|@k;^N@npC$z;+n-?3W*+ti4er1*o=#8-zJc#$SaPMP1($P~sUh1MRGxP_9=JX3w*$%zj z&>s|<)31EImqSN}{!kOWw?hvZ`Xfzr)uC%RD*4CoNSD0syjOVd`=)sBc#BXvx!zMaHrt806g9$|3Z8-{z2BSc4y)ft>Xub4pj^BSqUcV zj(LZ$tJEJ9Fl_s2{EO~*_Y?w|ktK(9$GYFo#&)dR5nzJWj&)BXST_EuTGWt&qEiiN zhtT_H?bz7{V@I{CWP=ea*4VbPrfhR29O^%_t3}?LRl&<$I%h4c%_=jj;XSgMLvSCo zHXRA$S5QTsyUWM70ARF*F4j>oj-3>*rvzSt_i%b;*NW!GdN~uVOvZXH!v#*g6;lbb z$TMC^Ld!#x7IId^_*TA&DA~ta!hKHR;>g` zBe&>8!Xg(i-+cUfJi}O&5WfMit-6|q;u0p)Vmu7C-j*MG6QA)29}We>@n$dqE>}3q zM%(f2K*W3tPW_Xdz0ca&yFPXHF2b6UK}SAboz7s?G7yS8T`q(0sb^rVc?Y@c3MH)L zTLtFw@qs=IL`>!QAj?81UJP{QhGi`i{7#koi_WH~*KTP1iW)41ZmgxapnVv#YlSY%v*gzMG+c?v^ zXL^JJ&yp*lkpV>5m>>+0j=@RLr~VRMDL>1EcaFV{x=$#FVC?Mzm5B$HPcX(I zZh1mk1wo`4%ci6WE1PIPpSjT`ouusuEj3};JoXzVvs7M==*HgB%rUgt$000VHx9jk5Yn;9!b9u1k8EiD|O_b9CcIMBOoZ_A2 zGPqSf(Qhf}7L1#x!AsCmR`!WGi4NH}Z?(sOKT;qcxqXBVdQ(LRGnE$xlhtPYvt|IHf;cxV{`?{ zqid!hrVkLtw`)~Nqoommg`BBq9o0K7ZQF7t%1KdlKpn<+5@oudPP8$SJ)>XoRq}hs zBtOUOiJua)S6dXAFwYgaJ8*W^VCl-A22Q+VuC@+l z`9TtJZ)xN_Be}#glA-4#T@NMPq{`#D$?v4O$);&}&r|kg>PI=AQfKBLBhN2tZZx*K zj)tW+M)g_9&TVRwu97c`d8}~(YfGH#&&9iGL$T$lHuMRkrf&Dv$E223oZ7xVDYY<< z^yICDrG=ZS5iQ)h1dwWB&x7BX8MrgylU<#@M4h(ZD<0#MY=d*#416y+)OuK9)V93Z zu#@b~Z2eF!`n{Igvy!EjM=Ds3FVVX8J|Ycnm5*+aRpa-on69B~r~0(GDhjsEV^_Mn zF4;mW19nFW(L(s1`gztFQ%#2*IzCtHOb8$s>t>j4r~iO;K5Q&tqEAc(UBTKTmdsqP zsmhIm|Hs;wz{yoqdw1@=eQ$3wnV#wCnam{VBrxI9Tb2=+BnV*@kbRS|F9HI>#qNws zCLIDOZh*L<;_@&Ud{10(0aR8+#K#&`RK$c$z!gzY5j1@N|2cKLZ}&_R{Jt;0^xWF( z)TvXaPMtbc1v227Rq?o}69<1Ultwa5eCNjpywJ0V3gDj&x z8}!7Q?It)jyEo&n$;Oy1X8TT<4JXx+4Tt8#Y>e4rwp+q%w@S9#TG<%0#cU^p-FLin z-+Ao5+ga3F#`w?+m;9IThu0GLFt0W(ooD6z3)y4{YyRIE&k%7yiuwlwuCi+TVwYAi zKYkDB3RfW3=Akp{-vfQE@?U1EV+)(>cd$OIaVI}^~r) zp7jh#ZQx%S7aM*O?rG@tHM1g7Sjp;kheq)x8>wgfezYD2-^JR=q{aV2^EE;)-Pu4; z^oAzUTOJ8z?J8WE!MzR`jw?t|stY7|Y`#??cMDa=JFMxW4MG&vzH<8pih`H*`o|zl zN}{;?D)Gc~=-8-<-ABC0vqs~v+ZqPohKwZ@lpy`Sv$1l<#Uy?*9u__r}CW)lLdq?$E+~m^5YTfhsrl zfY$S4z|eTNniNQ%FTv1dfHNGV|Hf7S*NPdUKkGCt2? zQ~x-f95z>nc^t9FLN6^vMNOMxAn2x1rkr2h)5|EyLIU5pi@J;y_&gZ6_mgb=J6wsvmiWiJz* zSrTSG$;5JVbUwk@U5kYN=S{iPuZ*GGGg+?fABOrd8K|w-oZ2NHHzPuWS~l{^CES%n zp4@}5Gs?ieE#}?ZF&E|K9Uk@|Of=EI;QoAC33rO8u&iNta6f_?=F6 z$HA$l;rzuP!pdzQ#wX^w5aCXiy`E`;=h%q9PL=nvPZ+?rl-CJ<%gpF%Erm8E8gu}z zap}iwPbh7FGY28sMm$0F5Cf|uo}NVJN?M6WOeAc1{|e^|AZb9KR7Pv1@TXY|9tLr6 z6UJ}go-d)#Fcf7@i*bi%192bx16e2Y9x41f8%}fU9HJ{Si_PB(C2Spo52Gnfb(M5 z0rWIGAjJPqQJ+12i;P*|+6`_7K-e@?hyNY;n)pY7t5_g#*APc)Mw7d+aKl|LHmpK| z40i#xS+HhnPoSKpEdl$)znz%b4YY9wVQ{qjHb=`AHpIvEwz~@R?8m@YSJ?q}Y4HYQ zt%4v8hXk8i6+$fixdZSVZFhNC8)n+v%hhlP`?{6D5NEp~ZM%U@4f z#ZPXzEHhfq)^_oApgbOJ=N(Tv6iz|6=lpvV502d5h$^Sx-H)=8$-H|8dH14E832@@ zck*s402^{w^6I@hdwps)-W-!Zi;PL!)GPBc-i45P84us#>omSD-*^L0GRc_1TV43B z*5p2TJjV=uIwqTCKN2bX3zElbTq|F@foBk8m$~ZWDfczhek+__J}pD9CtGZ{gOi?Bu6U(obLBz zuINkJMx2B%^n|dDprl~eo@bAVy<5c|D1j5-Nw&)A9V2rbvs)hf1E*k!WlDKtBWiic zJdTwi`+SnUSpz>6T?6YqQ@o{e-jOBz=YXV%JgjzFa~|ze*yr*F`y1EVy?!@2`dd4*gIIndXLs=+`wM+L68yc5pni2*vLlr z+g25l&(m<1L7$J~YmfHFE8dz9qGL+aaw$9~_XI*=<{|BLVz91^ZEUp@@kGd?p4xYD zez|t)r!hfbYYY>C|5LOE?<3%<|EJ)>b0+1qYa2wM=(NdNO+vduoFk|K5$2kiRK0Z{OB);>Y{!c{YQ$FBc^ zp}#;V-+6RmKSDcT4;J>TonK&@aBH&(2EfH8;Q7v-7OuX32w{jB4@z|-r@sotxku_C$Z+%GEPSMI7 zBm>3#u5duWmzOT2(g0S|M#jZT<=?w|g+EJei ziAQf%w9?-A9cWG_QO@a!rE1DzRM1n8sd!8Pb65$~z+Yvzq>-gtWKF+kN;*}VwRymb;%pPO}? z*<8ss_9Y~7mVAMKgC7E{f#siQW|9j1`=`!XI$y+(DatGz?LV}IJiFp0b|~-B);_#1 zTE<&T>5^|Ah@Vqi!4B1-&z@>6a`bLiC9S0cn_qhkV~Dg60Mw_2FXH$J4&VJ44M@dT z-VP$r6_K5$O=WnB|lZyuBo!zmSMdh7CaxX*iYAow zg}yW!56(uv^I;$#dg)UA*I;|pB*;9m1&t1)MJFXnnx=xOjcqW^RunnpN!V5so&-fy zuBc+EGN#&*pAV-Nuw&cr0?2|T7@os9umU_w)kRC2(Nb5-EBdGd@btMOx$}9Wm4Y$} z|95Ln6kxQ zbv1^u181g~&l@03lH z7vU*6nW}M3~6(KL8s8Sc-n`0vFKCI9U=03D(`>9%3JLA6~o4p%*$7vx8hn5Wmooj^L5Ua+ z7!Ou#2ENadzmBtl@^pJWzZe+)Gpr-e_g4rA7u)I*y;pHhAH80xKZmHbgip(JW2d9M z=UAQ-oCW1P9{<354Y+^Ca`Si$#h(C{i_in&@%KwGP_b4-UcQp@b3}xRyDb;Wk!Ety z4{G}0cSyeYE);$u3fG;YU09^F1uN3nZ&5dN(Z5H!#$BRwvKl{>uif~Oe4WPK^6hWn zNi^!aG@0+AJ;vw%ku8EsmoTzyJBF>f*zZubHSr#VrEqw{_C;0o5V&~8TFuae=O<7| z%JoJcSA0yJPqa+0Bj4|(zW27*w?XS;DC$d2RbOX5sc%d9um!dr7;Lbqtu3%tP-F`% z5*XP6+k^PW7Fa8`V+&0BhHIlgkS@Zzk%XRDsVi6xZe}r|I-cP$EMm~vSmrn~UWZ4S z2V?>D1h+RtC-4!J`$v{LX`xZw_Cmv!!}2L;)*NwR5yMmSp8S<-O(-o3d>S*|3ciH| z<+-(&IAAHrXvE|-4B#Rk2ijwQing2k2d>Dx|??xK`M1+^lG`{kQNjbT%d=CO=xgVk?_tZ=RaaVT?GrtKj<&0C_!SNq} zb6|9KGEDd$mODM`7{9VkT^24qQVvkHj@O&LzTVik?w(>@XxOW0_QEwH5XFt`ig{#_ z_NMy)0sM#go@fu=jz2~X&}R)Hlmf)0b$GuuXw#TlBL4)0h=zz}30lgzD22jPeRn!A z0mGn!^yH^7R=A}#B$zewz;USmdG?R&cS}MVTT3r{u24nM8LBP;&w}L@%Tb=C*DUCD z3Rvd+9qZk)mC)C2G@bIQ`*OH+&p!~Ltho*BM(h=Cg=4dO11&6`2mB*z8RMq`o+=s1 zZ@5o-CHGRI`yW&uV%u-HcI`Ex7(IF8!#|wuW*JMiTE>B2*m4<;e*_CzW7qz`RMc^Y zc+*qW{w0h@`K+ge@1KFgFbM?61QsErCydvC9l}j3(k;B~W%N(ZKZ*{@_;uvxzsTi| zlefL&>j22)t&;(6ogBe94#ugsPGm7Q^?nKAcnjeO_q<f3qD^66 z%DTU8&wHRcr?xo+d`o-YT<1t%axDVE51QXwn|t2EJ?9^SEPf~-9fG3Dseb}~5r&GVMu|ZOO7K4{(u}X*+w`!#dBECE z5BiY7D@dR^dOHT~NoSh4lRGS5#4bK*3s1Wa)&GpqvFdDI`cLMF5BXmNBuGO4;6z~X z%smdN*JRLvjsb&tLrXP9Ku1NL+vkw}FEaMiwQcF#aFTdxg&W=>pQLRQ>;x|W*mMc1 ziIYK@$}g}sK1O+lYA@=4L7Fe_28k=8XL>NYj%3?(9eI3g=Z`9{#fsrP45TwqtcYc% zxxrsi*!%&?hq6DvG++OQ?nT@Q{(@aD5nasAQ2j+D4qn0^Mo^jvBmTySzcT`ZBRB_@ z5C+a=2jcrzjt^M@UJjMgH0MuFSk7OulXna=CjxyzZ1iwZ1H8boo%arJvr(tOrf&vDS-Dy zz#G~o;4O2=dsgEn`Pz*e8u44j z>9qouz(slbZwl9|z-r@usm5wNAYZ%jkbIrSgYxZf+$Z1Fn#}K3FzECD%}#+leJRkw zFVRE3LI1?PNCCbPm-{`0Pl`U@9;vwVMFEwHB*aQ0?>6mQ;8xWD%qD(}-fyr#UZYK` zEh7*#q_Xw|O}h%p9hzWIyX@9+f|}c4W^yAh<31(-b;L$?PpIe@eH58#2{%&gj{t06 z`P9i+ek7V(vi^R=@0!}%t~FEEhC4vRYV_CAHf$?Cl#|(9JGcuiR~{IT?V;de3$0CR zmL`=8wQp{IHG}z#kTqn{ViG5>>{?(|h3@w$R5TL|~1+|BTqs;r;Y5~jK z0cDb3YnhN5U~9t8QjuEa?+#m&ONqVI5FX=<^taiLr=?4{hL%2`&k2nanDB$hJL}ud zYneR)9KjTQ0EF^7ZT+-yfSa^2Kg5ZGttRCmPOwF)hG^KheU#&DjY*|uBgAcJNFrK9 z5s5x6z_!UmlkERqVi!&pgoY>x?fb>83PMpEl8+I9DNO-^ww%9NN30MwHEgHq!c7GR zD|ijjDrgE1({(O{;O6?SJlhdv*+|8k?}%zTjibEGhHD|Y>nCeR}hw3 z^L`SS6WGXC>35*Xg3Z@;h;i{EgzMh`7aj%RYop*etV5k^jHE~9hXw18Z5B5SeK@}ziY|i^U^K%# zuqZLIqy92fZ zIKjZ~U{i6)ZK`O8ecqA>XS}GsG=~!!X{vBvsxP_VZLYt$5V)Z-qd}~$CMy} z=6b8KQNDI#lYILdkI8qnM*GuM2B6QMfoxoU=lmO?2cXMQ7uJY{F8|vMq?~EVIq+9d zmn`Y(4`EJDxpHBC8Y!rd&%a(K_amKvCw*5UfGXoevi7HkrRj z?o@eJ5JN5uJ;`hbjhdR`KVreOHNW+|4N+WSdBjss1gPr9_TnPJ6<0Gc(54Vb) z(V0c!Q0$ehG?T!SIHZyCwCdr`a>BZB1F+&r9LV&sFhCq&;Sg;gt?M!l{lR&y7vEQ9 z4E4q~_b){!Vfa(|3xa^z|D$wKHlXbJFQvC3(wmb|**z{_yWz^$X?XJOZ`kr(t;zfz zr91lknM!vk{4uQtbSKrExaQ*kxRR=00Mc7aw*;^UKM}S>9O1bL+!uni4+T2N&q)g- zSlw!v^%uTXZdZG(GR%t-5I$+620qIL*~BNq0>y!VtHJAKfrjClM+lBQP zfyGoVZDmU5CPdESzVhITft^cPXK3`$gs_G#w--+fe+8RQz1YnZu@=iUJZuoWgzQ*_ zmUl?3?7{f*0_+{7`dp+NH0iT$SEK$~BQYAXE(uHA0pe7xliFj-g%J~oSw{p_}@6W_C z4e-Q41H2b>(K`*D4+A{ROpcrY+MvPDfftGYx9Wd|{_|>|0mzef{-g=#)gIqs9Q)0Z zwbg4v)AHa01X<6e^ja$NR1tO#aH?qQHEg-|A=%skWr@wc?B@6|Qz*%4oUN96=~lW! zcU-rU0uM7%v9i<}&;zReW}+GW#CedqC~Ry^#h-0`&;+J`at1^AbjK+X40+HYd2zw) zi*tO1YXJ-7BMkFnpwd;AtTsfSD6?EoOl^*I-AvhM8sM;M-xvu+|H&C-$l!*U&G~y# ztw2<~$+jfe&jFSFqca`IB;gV!ZCq(g;IzM^?V%lmvIQ0g9GkBJ6M(4OUGr&BbKaju zt@dzj)^$w+LerurNL2BiN$3l9eTntZQ{jPb9+FG>v&o$_g^(Y2?o@wa^F861-BITk zqII6IjXJxM!xdtwKbN{Y@3r~4O`lt=AZ4nMCZ5E=Ha?Vj=!VZz4raGqC5X_LIuz%hp zsc5{0Ht9;E05iwd2l4e(SBE&zQ@}?=j+~y*ncs*hZH$XkI~Ykg zpZB!zaKhH{uq^>?G9DvmJVLly z^Z8ML>zw)voq%aQQNVn5kfeKkGVHcQp2>WkB2QcQP__yAJo#X63lEsqwuXl{zfL@~ zpmNmBk$P;zG*GJc&^j){4#6N(2nuK3$JCRa8;{AGyq3*bltg4d23sw8RDU} zwj*h_p@B3Qj*D&9w=I&JTpvlUtv=FLSl@c!y?-jauZs$K@h@+k56Q}_jE!)b*R?Rn zD_z2>L)1?h?y_Vq4-YOWc#1r#_`vygTg&UgZ5 z9d<$?tg;jqXj51UE4Twwf?JxF(2R;ZNH(#-4%~e{io5r219zY==*fVk#Cm?yld}<0J%$_x1ccwcRwGrn)1pGRb|f}-5-U?RZMR|{>(Bg43h8bBdNeGe_r5%5JT^A7YCyv(RzE*#}qb18S6` z6SMH;IaqA-#CF1O5B%PN-|6^$0KW!)U%(Hir{tPnKFRZ4{HWG^7{9ym`yGB8@q^kd z_BVX7I}?MES?taDVXr=R8h&rVZxp{B@VgklcjEU2{62vnpTzwteplcZ;5T+B{=nP= zD3MVEbt&Ibyeu{?HVy6+-BfzP-Ay;@WOxtVSo+c3PdA4j+&Q{esCzoyFKC)xx=H#- zlc5{Sf9CC@o1*~kF1laV@GRXNVF>3dnsT-Y?jgEQ(eMJ@|J3vYbaU__O`PsmG<=wD zjwOW8p&J4L>m8(<;}h;#aG!J8zceDr2#^sY>T6bUW_p8Aj>i960D|1P*18<&@{uNIlGJ}%$Nw9&?eFv zz?L*Fhr5;o7_1CO5aq-)HnTvs*vrLpR~&yB_yQBR;fL_s8NYMzo7eF>1b)zz#4$da zrgRpNF2?)#%9VBa%H>D+iUph6nF)g(@${4}u6TiZObs{Wym2!^OgvjYo-1zptlFQO z97!6|IxwuQBx;W%YD4?|0`b~zzkfX9U$^}}*{<{zOJ>gEH=T0I34R2058yfn>7YDX zB4_V|0l4g75P$uXm{@G)AHvSEe;&OcRhX2PXiX0!a*pZ4cMf5c2-zy0c#2!lFv!|c z{L>mQwlk-*SSibvedoEPU)~CrsXqb`M+SnQ;R9o1*O#Q6Blbf2c}Qp1-3%;+QZOeA zX22ygU%F)OgK%-3#F<~g#yxnjyDB`?+;$%XYSuX`ADg?2(zXEgHU)|@=SrA*he*P&x*4}b|Fwmth;YT@1N(b`P#IA?L?MW|#h zipCObPNEgum6R((%T`iP6`|V2kK$niF(|+TeOeb7d~Ad`$oY3+Xrm8D{dP>0_inEr z7YGSF!D3*W*GUUT07G73=(iIZ6&`0|#lOjk&BQ3O;BKQgu%BpZ@r2q?yaWP;sl|(= zQ|TKgb}qj2TR3=Y2Moqb9F+INTayL`x#`Kf8W(H~B?S|egqs){I3|;na|A^F;>Q!^ z=_M1KTbJ+_zr@EXr2td+C8qAJ-~^VJ(LTwy;bi}?ynGq}%>-Hi(6F5pv`hifrma9k zdO#~Ii%bEYTI%WG+QFgcVu zsaYoNxy`g(nH16{`1EElbvwf*6iXXZFjvh(CiI+UDA$Q$=*ng&S8QPkZ)=8fgDOmm zSH?`a+8bpfacpl-4^y|1d3wTp|t=}M9c^554Y;mPPIWGzJi_y3qx!fuZ%`aljxQUK6 z`fJ1^Zfk-y$?;QlHkcwzcnK2nSd)x>PMT+8T>yfTJf7uW$b#(P8S-VmHDXu0@jNe0 ztb)Je&*)6`RKld-a*XsZ769BS>e>?oDiGi~LCp1`Eid_wPhKE0I&Sq@A@>Dz&iSQz zg|7Ne9KwZe^PR3=S(U;t)GO9t>We$>DeKEcthHOfU;PWQ4p^n_Buz^@CWUsv+&NazYAQ_A{bw`Wkzc04%Y4POiHZS z-p+7s(S_psi3a>2nac4E$jow86xAW0#qS3Eeuy9BVOc-SLvg#}cP@ToTr|L#jA$)d zgXTNKUU>_G<(f{8Swsy*475$quq`Vf)x&A3S(AfiPYx<1rwB_;5tg1JEHf!A5`gP+ z=3?S2&+yjsn@L!FjLP+|#QIRA^|V#!@eKSkBNo@d}$4$XH-taw0zXU)V*jIS6l_VoB5; z_X8d|0rSN1PltCnd=Fn%#4p4j93pl2(#(xWX4mF^HC%?+4JN?wyM+nBgqZ+$mB57% z9MHFXo4s%M3aSP|u z91@3@SL7?4XlRu9WR_MkLUg-8#JjB(qQk*1?qrxPS1D;ATJX^bxN;4FoY=xe4yS<4 zL6DVufh08w;4=rDTbw#A)8qc9n3?ou$KI;o{F;H!t+DVAq9@qQVr(c$iZg0_0E?6R!eyyQVI+Iod$1? z1heJ8m*6_}pr$n+Md%+8YU8CTe1swQOalp0n_B2;wc?MOm73r%_*CSLNrz$nCUF+B zt@O`p`nwn$>8U?yF!i6&;Av7!ojTJn73-^AaX=W|92OQxnFNokVmvd9$eJp1badba zEl*@PWmukEGaMa5}-BGUiN)F=uyiun7kW&{%=74>udh zh4$raHYJy2Lj{d{7&=l=KPV~a$lw;p;L?s1kc>119bI$0S*i`0oNf!D~!oijIe+{6hKE`+|I_GV0A|&R6j}@I{I8Yi=!fII@0_rOhZSX zXJ^siwUc151O~}FB~o$XrUPo4VLQP)I%)%#P>AU0OW3?%YSpB?G=*`3cSpik?t+D` z6O2cKDw*E2?ptQlC5#x-;`-wy*(L4CGP-q_%`}spEXi=5rwQ~*%364wl0hOoSwf#G zyWd9Zc#++Y)(fpM8?!pBm`KFM>#*XW+Fs>-If(_8Qu9V@s3O5}c%L=S08UCtm6yK^ z19hez;i7j}cxN@eqBx)3@{*_`iQm|snEhz-V)hjw74w&z4x^ulkNEv1$PLyd@tDF* zHB3pZa$&m0oM_ol28>~OQE>{X5`^AXiBvCxgGvdyzJL@MtH>IKXO!N}+Zk+s1KMvA zaZOLymJ>_47Fq*J@|V%IEB+ugM*_BN#)a(5wvI4TcNZrx`Pb+4I?1H}D+I3a zalLiQe7_;OYye~ZiZnm zoHhW$#xBBl?0@hllv8YF3F&Ow@$VrX92H=C9gWCjGtd?z;&e2Jq)-`j^xLDzz>#Z3 z${f=?nlANq^>&$eYv>KpK{PPGe34(#@ z%No$9XQxjMdQZ0J{~PG-pwZ;TfJG-RLfc&cQ%K2+fK7p#?o98rguh%Np9>6>m)Nqr z>oOMleQKcJ*W24G#|iqfr4V^!O?}y3JDc_QkOI~VC+jmgQzmDw)Z3dgH8Kkia;AFw zvN?ZG=5oYjM3#2x+D=$J=s9b>%^dd*UW7#q5^)4VHCt~b5NnCPxLQs0;RssR_4m>e zWwD4GLv#L3m;s^3{Aw$kaJRmMzc-R*6Tvk|koDvf?4!9kh*8xutvq6q(3f=do9azw zQ~th8T-)Jmcn428<1#n}ujkb`KGeZF z%qUAjvlv5m@P@wW20ofhnsJ7ELGAvbVT5? z%eGUA$8(GoCIWgPFTn!7xNxpj$Smx#%DduQJ#%aT^;?CZ>OqLBj*TV6yT`)msJuGE zD(q3+d+a5QSgWv4wP+RgulA2U1244O{+oaxnaEKM{rh$J_wVo@5b>MQJZwgDpBc?) z1XUedXpS%!G>6|M*G<_Rl1QIp+9MwHct?Xy8G9G_C;MlA_Rr2^ zm`31@HfXo8BPDE~>U{Q3-`GCz;_P=eevItNvN`mvX!9N0<~uI*nKzEkvB$X}tDI(! zQ|_xAXOI7b-y`gCu7xUZw#T__sqAHsb5&DW=IGlEjhs*hi|%8T5J9uq>buGFu(1m!42i@!!p+>mc|U$7aA=42D@{@InVS4<}AS?rgUPjY|X^r zA8xv2UXm~&KBN|6L~0QmtXW7sm#OVS22S#F8r^88p3uh0U zV#H+^vQu9NuDqT6um}t+5;?|yGX{Renq8b8^AChGU|IIGL%1)DJ>MDu;>KYJ^xR(}_KS zA-@=~IptlQEBN-YtnC&$>S$Zr4V$$cRumfBTH9eEMR+;0MV58@0A8p~AdZNlTK@A?u`onwMx2A+`aOB5OJ>Ze%LZM>IoJ zH3#sd8iXPVB^_8+2Gn{)%O?p72z2x%?QAljLMNJp)GbNq=u6qWsh3IGYA0XSoKxYL zs;c(%6q)3;KAKNus%J*D^~TuV^WP+RDG6c;U# z&b0tr#)|)AurGavW&k_#qD8lLCBr&%s583W!J^Rhe@TufR|Ipksp6e3y(0K*1E0Ca zKz$XCV|l9l<8MTNVeKT>D`7%QnNBt3;ug4nVNbe# z2wE=ZwvR$tZ=ftDD;-&^VV`}0zLE*F5e>6PyVa3U>?G7za@C(IC2fP_Z&CB?uIT^n+ALEziV*JuPj9;3AVa`+YFFM5Bi!n6s;+N)JoF{!693o)iKD3$v z4RO2^d;kB|z5iZbv*0wc{KOkM-nM}J1(=ucY88Hw>3-&BCa;ILPBms~reV!ATQf~O z5Y{0MRQg~TAPxjP6b6Wc1!lFt5iM{BEpSH`xO2Q5x1G&S5r3>HVA>GEG^9oBq(!_z zi`a!lv>Nbmn0N-viG)%q0CqNd3?ML^FBpm2SgO`k$D(w}j z)wowUZnPhBDa#r-rooSTU=QTSQKOsp6Zlm2*5FJCho)>ovtaw$`?!J<_!3e<7cMFK zDk_roi`ox`ZG%W1+XZdQd?Kk5v0m3*%}Py3BzZbx-eK@?CoxnvM;cqkZ=h|SOyYoN1e zPYno=uW&^ zyc0hCPFp9^y9DhJck93E| z?yj+266^YDshl$JURZ>WwZ=FtEokGL!;qj&7u~&a^L6z*_E(IZXpc)3d{w0|XLPW4 znzq7!76VU#9s52qWIcQNpV3gSFWH;qtLrJ4W=MNW9s-_0fV-kEktmO46VRA^tBE+R z$%TG}qefS1N3b7K35a1w!j-81owGqQzv!rJBEJatcM>^MgGIh2+cv13th4S)?w%P8kY*$;O6BV}( z(=5FCWZKfDJfl02?QWq!THj7JA$gFH%%Sig%-({5J_`hz&Vgq>+&|Sfx2K4IVZXT9=O|HQ`~UxJ}(jN8{{64KEeZ z0gQOB8$w2`_a@O!j6AnCfrv?f(EO_%d)h}<>_FsO%05!UL%MFXtlVe(QjhRy@OX4V zFCzyhMS6P32NE*kSCJ22gb}(7<>qjs+Spq-iTgc>%j9sCXD6%Q5$e%Nfvc*r*(K!)QSnGA*C*>A) z7=>i!_n~3X@wv)r5^kZg{03yMUyJo)8q1@ffwjzUC(F{RsfwFJ_0*1|`{~X>Cb8xx zB>fG@-d`O~%y|xl3d@HuYlErTN!6eh6SFkf@sCCyajTnZmcxou*RA6r+VJ!7c1Gz$ zx3H2glKl>sK}t8453~p5s1e&%ID>JxtK7sbwDYaF^G18E+H1|Y9L6EDED-GE6gx6D zN#8sS^+w=R(9^+n#&DV6WM+WX!ST!QLF3IxJ|+VDu3u+(7-7~79UaB|JI(S6JM5J4 z3iGN5!ByR_bbwb_P~8Jj)m=-wd4)3=d1`eKuIk)U#Vedw?e_|`>X27hS#?V@XJ<+a z3du~VSip^_BZW++G^fyoXMep+X`uET2y-%<#q(=Zb^Sur-?`3lgKN;s9lQ(2@-+XX z`Q}klYT+9pBNICPJrHpoWk*TfiC95XCj}ERqaz{mB3NC}V^BJ%%dk=%$QnJl9nU3y z5)I?dxVL};ac^!|Xk--^DSz?Z>cJY4gV0scx}*6T7s<8zGSF%5q*k*rVF4+B0ab=3qv)@_2#I{*9=O~WysM9eRqEGk6{r^a5yhm@(d%2o{H!eM`sbM z_BlYLBgQVIi&kxY(@)(??fRyd+IU|-Huj9UT_S0 zRwi;ABN`L=F8tt?UM^Fom=nsQ9XwB~av{&2gzJLw29=ap+JY3p+ZWm=Ua-tgj=c*B zf(s&TC~j8nNU<1?@}k4tRWOtk6$0Ni7$U%OHg$I(Vt3$V;Bv4RYb5Wi!vifV(9U$J z2jlrza#J@R%tQu=(Ef4oSDwT5#JH-l(Y&4*W$Brt-q@@KdN=WjGh~%GvZ2;INkCQ( zx^iN-qt4}=PsYE8I-x*Y;>s&=&O+ZVZ)f{Ih2bL}QXlvxh>E&wN30hkPxs*x3ny5| z%P*~QY*O$L;BMYjMVz^nB0Mctt^>u9v8t(ee(kRIOqOg+v<}%SHggbyI7aqCTlmi| z58=5Z0^W-UPVw!rN>#Oi?XjG4uVYoa@!CZ5L_zgwrwke0d@zOV0dS+ z-Js}z6KXcz@1Dm#g8~aSld9zt2dsVkIf$|9$D?cf?U{(@$*uxSdl1JWeWbAOaFH3I|G?bbGMi~ zU)0ANcmQ+SO!OOeX67wdda+{1$L6h3H?1_KO-=)rppF%9z}yoXQ>2{*XxE--S6ptc z2koRo%5~Qj_eWgye#(IfPX-Lm*lvv+=lJL@nj` zK%cv*f|wDRwq~hvRo5eoOJ=#@~ebK~*7- z4-)C63tTVmm)L>;q7AN%q4TZctkAil8Cp5G8Cuzk&frNb|MQD>X}K4dTJ8mfmV05} z0MzIqsJK9RCrluEb|xNs55U-m{U?^@v$5<^2XAUuo41uT;ut9`2u=a{rbY&EyhfJS zX-sxO4l0w3gN+{Oa85?YW#fFt?O}{nnq&E&;Ud{vb1HH|3*-2og}=)ZqdO_qOZe}F zB}vjh4Jk0j@RkfjwS5VX9dMVW%(+e=ni+yNtJQGM;3H*X z!x9HR0LMOB=IL74TUko0X6$xqs)IGvd7A26rjog52snEa=no=^dA|g&J1j+gn6h;X zROKEHaTw^}%o+FZgLAMbtG&uePL%C)HP~N6gRw&cnaP`gJtg7b~x~oH_0!)Jcj&|#K-i(yNYxq<0p|HglRcr{Wn7WnbsrYqv z4R;cr?@P=7YIimiyv^=tN~PD{a3SW~NaKWAV;o!xfRsi{Xv3RHqbt2>koD~G96p$# zyRb69pbK)y3;0t6y^2Tn?VmTjmc`?H^KNXC7(2JsLv^7uZMslteH9DZ*WSQ-S|D*$ z3N+Q)u_&v425`Sh@N36*#rMD{jq$o8CpZ&HQtoA-#9`>6H!_!0*6r9D8oUPtr_SQO z8<qPmK#V*75AmX4oPMwv%K=;RkQ&G_PI5=Obegr5M?{IvrXrF1Y<{TlkU1%^R$ z8;H$zbdd%7;hAPPr+3ySfs)VPn|0PK>hep&fl2 zA18)zE_lRgb&Fh4(ClR`z2A+@zv(!>+@#z4(h4 zGKMYxFqGTnCF}2Eh%G&v2;L1(BDes5J6ey^f@Uhg#V#yR+Aq4}EDT2pq=sv<0)eCi zzY0Z--3&x)sezAiQeI`Mz(_QlQY_|9>#U*|8iBresV^Hhx3FLmG|g;Q^Ry}WI830R zp)ykVDdvN6I_u^GFk2`UKtP0~v``CzOiM$^Qr@vl_79**e7H}-`#j|EBuBJSL(9Gh z4VxQGpd?#{j2oYM~qDHr!h^&lvRA6F64A6F64UlM-)m?r#&@ue|5 zqQS{y0~v?#3CPs!1FZ;qmaWbzYR3i*!e!My8xmS%not_sx0R=pdvFbZFaY5{d&AtY zQXK`D;FdMJO=fSI2Dh7(3Ny);r$NXwt{ilS^p*9|X>PCxe{#(WP1Xgly-BUa5FPf1 zv5rh>q9sTKrii{nAC7ULNk*qC=UAY-z6Lm{9|OVB6t=}0X)ggKOUz4L z-KB-T5rrnDUNL6Wz-7%q8EG20I|K7_FN-$eVu}OO!kwa!B~1$nnMUujrRe$!z}$xi z$HyV&VoY6#b|i4QNW#0~tlf_R7Zka|jm^c#KLU8DAImnjX4VM5Pp^3q0;Quu?|v92 znKge!Kq6R+GP~U5#7a~V%4^QLpa__x#f=F>Bn1L@vwIvWs9%IE{!H`@&e6#nZF?23 z7P~oiekrZr7JtX?!^FE#LO?S|xZe$T`5ne_Mfps)E|^@ibib6EGNtkxDODz~K0FlW zmhv3#SND0CNj#ZJvRL2Jh9(=o;;h9_*#V~nGtr}KDNp|i_&SpKI-dA45*Ao>u9!=^ zxyEV$lmlnvNE>^cW1)2w6qk_F)M0%>`&>;X$izWDV8%=c!8PDNQk3FuqJdIJDueS~ zpz(wdjU#<-gAq7ZG7AXBy^wFWYlCR3NU-h%L5ax1sGEo|b?+FR9R{lzyLL8niqLBN z$6yh=@_Qh%Oli=reI+b28;_J1EnsL_KPbwp4BNHbcMJg1(nxww`tORfgvz^&uRI&m zid{RSnTa4qG9}7qhxrnsm#ogTYqy4}C$$le$dwi((3jL{_9ZlH*1Nhdnaq0G1dMQT z$T0UhRrH2bT+HH=GnQF6Dwe6k`tr zdtsW&r+AG{6-+>eOIK3m|N3{)ELkN^Px6gL*WUw!WFS>)j>*OM%ViEasux5@wXK7G zyw)lCP9@HGfmC#)b(8 zGK4x$PHi&92XMqdN+o+KVafte)zhlOXo=vuOv{dr7Kd=MA-eHvATAhb<@nzr@_q5|M7!fIG zk~OU1=v=?1Y{74n6}4umwGlER)mu52Ng~EvShk6c7|)SZsN6 zd7l<3Eq067Ns7u`Tn5Ij9mxxHxC=~5TIYWb)vqOhu#T?n@V(gic|J`k*0Qn)RD0Re z(HO;nBkE7eF?KK?tgixwauTwIqA3Ml+|g5Y-N9%xBTK^QiWmD6uMqvTLKerK*2Jp_5OMP(phF%{)|*vu=i9VggONof z`j<)M)8t&TGlVja9fRZ*JC<~+=VsWlnT+?sZ)O%G+}@1D`KybbNrXc=TeIuxC6 zC9fXAm%J4wXR}Qb^O38vSxC9xyc$JQ;S8E22fJH|IT&bUV%L5gwo~Egq;Rb?$`|m6 z*;8n$dr}z!$0U&VQmiUj%!VZ-`%Jq^`^0}gu&Y zP&51hYtC9wn$WG~AH@N#WA$waJ-$VMc|(7O%KWRKDNmIa8ETqss0o|5q#5G!Yrv&R zm98zlHPk2BHJtT2Ke$sS7dfh92j7PWd!%up`L79I612a5{pXC)!esnQO{#*g>|obw zfT5E^X(qWw*l@qz7+QETx($cfJq??r5$&WtXg7HbS^LUdHjBAmk;!$?zQEAhLQvqC3n<8~$-oQ$# z86j}BBH|^;@#GZ2HDJqPfKMzKIeQo)Nj}&PC1N6mbaD%|jMN)ItpHPfmeoobZ>5a4 zQl=@y@S2x4iM#s2q{tZI;@5Pv=*qbkr&0i0`nWt-b?-Jx5#2kE8m0k6dA93Y{Ngfs z96L*GI21#=rJlrIVJK>z2%+*_7{v7}fS>w@@n8l-}XzjoMd=)xO-*f46a z8Ff@=6fU|5v)%ZnFq>Oj(V1?jne2pS6fT!x_qoAesQpHp2-mszo{Y9dh&~k&b5B8T z%BB29gjg-9CBDAHB;&W0499h(sh3>^WXamIT}FkPOY}lY*OZ+yoHVl7!l~v;*l~xJ z?-E6-e=)z~MwpG&um4fNRvOWP zQko?K=$Xv|@d&;DF(fc8kSdp+fF&!ggKH+L*84z%tG<)$!=L>wi%CE0P>BISqxphYQYB-V+A`aDr9? z#DV8&8+4d$m|C0HE~le)v`3;9tQmWnml1%g+jG_)V0(K2AD=77(KZ9;R+2f9WH)WO zv`8{5u62`M+}N2Qh0{8C#xQw?D~o0{kr+jv^>fl3v-}UiTk&&t@I^5G+KU93>jJk1 zwdeW4Iygl{%=x>4O|HVolFQ=Ef|E8Y@fa9r?5#2uT5^DJ#x3uI8nJRJfiXF{T*-23 z;mpf*ZRBJM>t(hCf)ZPR1E>BBw5V(22b-f~)@ax~C^ni6)3PIa5EH;gd;TiONnM-v z-!vaOwAuyd8Dy9wYf%C2n8ja+#cvdJ)ONX}nTCz;6f=|LcY2rn?y<}7kIi2Q?}?Kp z4tYWWv%*9?q)X$-`=3VZxZzIm1l0CPdQm3lq4(npwRyPa*uGunTjQWC|Kk{%G}8M7 zzGtUOyBY~_N0k66`B4JYv{zs~;$PLCAu0@7{#B^G(&OgOUXZT64=p!4oUR_?CSQcb zbL4qe>x^B=^vqlX+lH=#;a4#7<<0b6?;Zq>pPXffsm|ffXPJ{cXF3zs4 z4TH7V&Mq;nhOW`dao#@yihv(fDZ~2i)Ksnb(T7TTz%I7X8cdbw0lLMdfTPPz+*| zql+TAsb7s+Qk(XH*5c(5B15~>tl(-HCE8toFqvpgI#RbzbJ(xzLB+9rtZ&EIY|@dQb>GcJS3`)YsagzD{4H$fPNf-{1z5Pdwj< zdcGO;e2bo;+I^rlaEH;JNQ%oF8)YlH0FBz)AkEW$5M zG_q!@TEJzS)$Y>v*2-U_9Hk6v&IzSQ~Gms;l*_qZNYJ!70$!WMIa9RZYJChA$NI!8*Jbg z^Ly|x9Ko}Q0+|lD`AD+*Uzp)1h?eG`Y#ypG6QzTh04FAZ9BJYML6k)*x+%b#WmaFk?Wk-P$3;W!C-(RX`XC?)Aah=M~nVVXVLvE z`YBU1J&~fHHbqOCR?$swd(qEy7CpqGf5S3Bb>ex()I(3Co@Y%Oq0DF7iXopr4>$~D z%;U0Nr*aYuDv-a)*BDqjz^XroQX2H&N)XokTljVtv;|P z9m8m9mB_kE%+~l*48ztd!aN--mJY+SwJCP+XHw-K(LgXd;>wQ9&OPvx)yek&{Tdei zC*&xma>XH;a>EY-7*>BCv8&7n0U-|}gu;VDGGD}Q`!kCInbQ-Ykrx<@MZcu^3p~MJ zCxyJo5cGa%$mj2hKTT?7($a*XR(ed9zp+Vw$Ded*&&nWPEOmYYA)C1R!rCqZ|_3zOMAmHwSsJ ztj_k!ZpKosrfn-IqXprT`*~1^zbBOBOFqB`+y0(xBezG&6M2I$K|uM;$xT~snwAKf zU8s&-}GRJ46#0LB8me6!(o6p z5HK?g5C;Ngg#qHAzUD~acP09wwJ3xx=^y}|s&7U;_1EwxZDHwlFdOObhrbnQt7(D@ zl`oVa459YpsJ3{~;&X0VjPl3X*W(osgYYFCA@;ZkzVf;~v{{Co;jnXb;Z^k{9!QAjM@b_&v%PNmn+yOFoY*u@)SGP{6OSDSkmXj&*`2LwIGAR%*7V>!oU48!LS zEX6@y6cNX#@@I+MgyDwQ~1K zrT;}re^vgLe#n}3k-vxFuOb3lJiEfr=wl(7MwMyDpgvF;~%6d zoP`hq`Z~%|nwsNjueET{?Fl9M38c?#8b(f`ncF}!u_(>t_04GIKbhE@j!;?|#u&aA z{dNIhaDv~GCMiUx+$A?76lT}+vG2lQm8s+Yp+Icfvg15y$#Bm<0wKj5ZjQ+JIb**^ zdo%*YQ3}VoJRZwqwmvsenMhVJ*LRKGigZ~V^dc=T<+1U4k`2f@1B;eGX5hNF&&&5E zaJ~;W*|Q>C$Rkochiew*io6#o>nwgE0sE~Wh0LYC1a9bW!772M40|*ZeIVSu$smoS zl}sf34cX-QWf*jPHlQ+F*uqFQxe^vpmhc8%{Nv*4pA0f)X%j3E;O;OEdaY1!w!4E} zgG8k_f}ErxClPcZZ(q7}P;c7rrV}?I`qSaiig6oHxnHtnyAaWX2+3HQC4nZbKomwF z34EfkERt5fjJ{59&VQ`QILIG*$P-SPcI++Fggpw*2XNMhAL z4CR%k4G{V;3}=|hl#7tq@RE+4e^BfGd??rR2p=s(EDbSyUiJ z<4sOv*kXwispXiQ)EnY(R&15fC0BCIw>!yGNV4Itj%57Ne-nP>HM{|e-!PnUVLDu? z7#lke88FmA#{S`KBxWt5po}9>NAo))(y{qPAb2O9*OYOY1f1wBaK=_4cNKk?5% zKxMZ`TLwlKwv7>Db_SkaYYUXAX(OiSv5SGjNbbr4({9pFWuCM0We$>OPzK*?r8QmY z2wRtY%wF18XL{OR;vGuOi_uDoiw_9dgoc)pau+{BY!3*wb>lN0^n%Xk7rUJ$kD((` zkU)qnFI=zQF^!e`G`7}ak<-FNtso@o;H=Y7dM6gcirAK-vl2U{I9=6-XKkMw{EEod z+0w2h@5as(j|;&fi4n5j>jsZS(+o$_Fv6tS7)`Svl7$y$&Ptf@Tj{Bw@q)*r zrM#(GibhB&I4&Gbb3`N!BTSknqG?Wxq+x_f^HelVJ(7kIQHX0FL!=|3L0_UbG4+%v zI(sX2O|0Ihe2a7BejvgL@BvGhyGUM8`~1o^^;h6;sYk6;5DvrOw<08piMvozdB6)ECE0L=zmixQ z3Gx7;7=>RFW+DlTcvuPPDTBJPS3oQLXZZ)9f~EJu+3nOQn2D%SDZ@vBP<^BDQCw5s zQurvysc(23$7-T%g=bD`TA&=dX% ziNd}gfKGJBlm2mp11YzcluN#(Xn*1K5Sc{n@)e=)2>AARYv|htzSC2oZx{G3Z~AsD z;i)aHv=33dOCj4 zCd6>eJ2sX^M0gOuo}ViU_ruXST2N&Y`n*prv3`5-Egs-!OMLVZwu>Z*2FP{3-Wzs!$3g63^g|B!Pmkg8iiibX4i>2H{-VjD4Pk*IEbW}5CB!agT`KeK+OJTg z;q0m2)aLv`vY%_nRalF$atRTy9Tt_#IB$5Ox=V<{&U8U(=Ye!-F@9D2iuk?Gn!JiR z(z5jX|CS@7qVuD@)Fq%R%-Yn1$pBmO6SRynMlLgUC7e@$2Ktd@l8Rch;p2ixeFgZq z^ikiOQYA`DsnQ-%FIp1yW^l--mbi~-BU6rIBZ4!-TW~B*jJvv)AICGVJeTx2WL3O6 zJfiax4AHK5(g=PKxsn+gHQR^!S{ z8(D_$h^DUsA6Hu%SB0EsCPa9%}s!hsd$M~4KjPvz4#DJ;hvAzjbgdZJ>r}YLPQ)J+Y($HkBddxs zI`~cZhaIdGBEt!j%sjE7Cpio*|6i1s?~*Ag&I=PbCGjTc$x~8tU^(t2!&-wg(-Pi@ z@Af*lCH_4S_>8z$Nrkdq3CAee(mra*sHK#JEHop_ao07qy*gh(t68o>*U9+`v!>|k zXTwirJ&yB=zuUrtn=*lIyc)nFzvz5#-pE@}dcCOHm*Q>Mh>{r=(&#kar$!v`FAX$} zJJ^hg>7!4T_JruGSQ5j<-~qxcJzd%XtKu&|(Bw|SG^gTDTI$j_;hF>Vqt2&4i5)tx zrIXwX5c8ic`mv#)4`N4op+niuvA22~ z%2ItgH)v9&JzJ`D+3sknfGWOGrE^ABwDzhhT{yOmJ>Ip~RH@(CsY{?rUEAcv4mnz7 zgztg>JQ$vdgs@`!Zv$-rU1RN`XE7AEB7LU{bIK{BuzmZg4T``;(^H~nPeArAq@0g$jj#Z3T=(3JQ3V50jI+-n zRQ7Os5rsR5Vqe6MaxzT?u%#S3>Hn~HCh&1pW&fYvNoJBXElraq-5_OYxnygh6s8SJ z3xa}zY+@^mEQ*54U;?PjOf8_OP<9bnMG#a(#T8HlWm7?Dy7PG~}4eiF%{_TlCZOzjVY>HDyi{Zm@0w?G^foQ(`M$RZ?E|X6;V{TcO zF`FjLS|fO^M!JK85wOj82l^I?m6wK8n-@t#j{FXeMvD}&zGJEvNu!ATQWuGqEa+?x zI@&8t=3NZN5nJZ28I{&#OlC2hAg0&8j_1ZH`5iq#(_r27j%k)nC)b9$&85Q~Gi0O^?2b(%o5v)P`$kUPlaa%bv?5mWu70kkxeVME*t=oC zX`KBxUju+b>Zo74^#ws{&Xl+54iJ8KZI*Ty5X^Mg^Z9HnKlBCR$sprGBEch#Y-%Uq z>I}T}z;R6rIBFoZWbdF5Qrd$v0{cGq1seB~eAX_KD6l2=lWL4CQg?nQSh&b#9C(yM8lw3cOn#^qxZ+onH*-e35uZF(>NH-O>m z_`i?;9{hD@j=oRgfAc1PmiL(7A8~VRS&rMLxfmGL7)|TnvDF%*&ZZs>nHf1+>tk)_ z>e$B`8MUVPFw$Aw9-TUM&v;wqR7Z_!(J4Pmw3fKB$;@Sv^8{uxGp==M?O(=06xO^F5Wl&_j3f;+2qsKzm%O#_R<%GAGen+gOPv44VTM! z{j+hy6)w@94yHVV?y#Fz&PJYr*44hK@}1%^W9eD?oql?%oytCCEen8&9jFD%49o}$ zB6#6ou&6J;D|})dwp;u2i83v1^jdqVjnIEC{~Z4h@u#Uu<*wlo%pKY4Az0X>jOUfa z08X0?FNFr~pKT4o3wd*)^UI;X1->rMn>#WTrzKI3(GqNK(dLXE$-z8RgKW5-3|RA| z97~_z5E*4JrY#(Z43k_NnhmzFR9s0s&E?V^0dprit4(f7(Osv`7Hy#r;B2s=tuk}$ z?$MKS_c~h4!fv$8jS(A&WkwBZ#op#+WW0$o8-+}PNyV#~v; z$OK_!=MvB6vVpnIW@9ktBw)^2O1_(r(?HG+wvlM7Xvld2c=02h+7Eu5Q|3o|%U;u9 zf=YT%{(JF1n12(IVpslpM-@%{bN|89)!>2jY?efzhN`v=r04cenG>{HkywFpy$O1z zinN0| zU(;-DjuE7C{%tt}Culkn+GH)Zc?Jb*ee9XvjatTL;N5YYzxi;-R#!>X>XwCxu~(`I zv*3eVa5}$A8Kj-({?r?x>1uO+4}xMGICne6?zN6|&zik7AW_k-M=MbYlhe=YxW`LD$PN?i5xcSir*gS@b%4ye$<=&`A1>E^)}8N2hu>DaoD z+iuG?-uIOQCFWF8zg>tczN_(_>M@;wFx^%bkiKBH@qDh6BI(&K5;qNck(lf`AFSH5 zbC*tQ8Rcw@w)Kl>`1+@`a5;EKYlIAyRjnp?xLS))_Hr3q6l%f|?g<|$>R#3^*=;Iu z;HSwxyi7VX?dXU3=+r`_Y{#_OZ0+gcu*2|N>EGG@%^230DxU4fWUDKyXLMxOZwWRr z7E>cEtSez;ORG<6hKG_QWmTWXufaMxmQK{+wX<&O{mD zCo(**k)v6zq3eDj z3uD=`+Cw+LjQu4AS4ejWezK-_x3^5|=i<~Ikowkz*oiutu54Yfj{FzXi>g~PL0;I| z)V<_atu1Rho3p5hQ==$5X9jl+U#B`?8F1=cP*_Tu?)+XVwM>8(7}W{$W}W=0$YWp7 z+OsCS7!*3QiR462WY9v-x@%6YKW7F9+#>kd6OPYD_&qiM~$)?{JvYgiYda(+VGV7*Jrrby0!1rmK z7P@+BM^lR}(@QVyPq2x7WFD7ep0hE*F_&eC5qC2jNtSlJOJu-uw?r1%GH0_9XXzE- z?3Ub5pYb?r>BQr1$5|$6+Oz51XUfLv*y;GV6MSUhNJkn8>)(pTRB197hM$Cq9OuW) zGHW;?F55FC6HQxxQ>J_I*?I)0V~wVl?}_I2jW>$c0qWpyx`BSe5LaT5x|xSm&sgZBLDos z%7mFX%S7fbWpaozQE-&W3g<$}N<2lHxySUjjeeOV>vqF;zI)wW5wJ`OIPq60lcv%h zQ8IlhxqYt)($+U^5#B7gM|O{XLz(SKoF4Zo^OB2`(vS-)V82tF|o<^t|9W z_q_7E8mWJT41@47KB0s6LHZ+Q6cmmT7VlTQoq~~{(qwjpZ1KpP##h(R{I6rGeeD~B zI_NtXy@_1HN0k*`wyk6I^JOn>3e`eLO6wh>fKl6b4XLYnYSbolY}6K>q%0Kwm%I@F zSjFF$hEFf~tMPPR2ujnaWW*xU7B!_#r=p#&KH1_9z*wa@MMh>ejLf2C7VvcbI_2Eu zFmZ9r-W9gN<$x)PL3+OK(eDDskpbNSLE@oS(FSW(i(C+1kDHfjlk-|jbgfAZ z(gUsO9&01|o4q8u+-Kav?N%oaKl+6z{7QNO-OPt~;sUUR50^`sxKFyctazUi$5j?j zId7KKP3fKKvbZC?C0Xca**ulV<~J_>D_;CV$>wS2tpzMSE*JSe<9xAr#J;EE%Uw)R z#R_Rvd}vaocQgwjZet>JJx1>Yp4=`ZZmq!)b|ix`c_U7E0VO(P3URhn(pE>i z=wM;Hl5XvJuhm`6wt^aqP{^7OBKQJwBEElCGH9Sc+U9z~a~5IGyRePj+mfj%5+%xc`h zU4rg~Z6zfPT1%8zQ&2pY=S&K*m&2pR-xCz%J1r>6**NPOy2oHvl!Q#)rc89B*HG4$ z6UZh!a8^h2yrI)EW6eQ>@7?IKw|totI*b(KT}khj@Nj$~$l1B3r_TChYR(cqcXH^Y z!y{a{=+!=}i;Uh2K?!;<#(~}gGd;t%!3)U#BtAab&CE)RY@^@kUS)JE1FRS&W=qzB zT2_X1f~ytph^sMA|Mc%NPerN6(l36hZLx(>U<-;J|K%DP7JdR5Dsl@KsDm zh|})IR^@>>T_LADXH z3?oU#`s_>L`ZXpf+s79;X*1|uhO&bWd)`h-jn9+NO$coXk8-jV^XcY0QVSy46YlBo zXcsQoyBYjHX?(hpAoz4O4t#nYh<=7wPv}&|#2YP&^{SfE1udm(o5Ap z-xd_)+a46>JeG;%ReSc#*YpPb#WNLxMAQ7 z@(!PfId8cdRSC{lydCG+o|pbG}k48}1ljcP|``b#Gd$ zS%$^Rj}a8R@q7GDN(+m>XA(DehVtqO3SR?>+Xb=H@6U zfjw>+*2LZ;h94lUK8M-OlgiP}>g&Yeg=EXi$-^ANm&%=rHwjVyfUqm*745@QUi5-uq&IW*Wq@wR;NLL!>nSmci#~mi^;uQDBPxA zOCaW#5uH>v|4IF8q)>8<>}X8;K`-}$UR^`fv$~}A$hEKYhi1B$c|)!4Ws9ZUa6aAU z2g(vP0z|4-L}@Hq&(x-3^V(GG&>$84IV|Ro(7z;!fB%ByH|U*=C=Irj5eO@nR#qk6AaqB0JJCJ+ewoqIt4g|I7Kc=0~ zi>zI=PKPtW&QEZ z1R$0N5!S<*FsgWMYFnuWN!=5NU@evPNPX0E5`A3L0^f`S6nHOuw7 zW~Ga}=4@B{*gV0V&?#@b>;PJrY0J1&*!GF>5%tS2!G=HcZw6`oi@fK|kWS}3{CmEL zyVdY7pplnthpAYp+*8i`uw@JI8yM!&1_dr2{;+#FY?uYFsoZy5tRsf8btwGA;pgz? zr7-+s3M9ucLLG>4sDXa928ULFcq1HIj@`A=ufi=+PHmbKVd3?t>PW3e&9a!;>rovR z+0rfWJt`-r<+fEhAvj>6045}ha=jka$|-9-DjKso2iv+-`nK{ZNamJ*0oKO+fZuWZ zIT1{Le6YknPOU>6jGtn0npd;8c;6m7DV%DNfU zn2;tKwn#IWj1cwCH3&JH>>FZfk5$_ohY@ayj+@$!(RtkXdLm6nCp%ceyk4X{ox}?| zlR8j`PHX8_m5i&2Oaf!#=pTES?1O>=So>O(yK&ZavH8VHxHWt~Ikk^5YActeryNbj z0`-M8SipS&4Y2@e?iEn_E~`;q4?G!E^<6cfYWZ{{jL*F!p>;j*b9!yC2i`31fkFG- zz$$lXW&FLqcQX9dh1I}c7O6(?|3CD-T~>E<=eus#cE2&4a=ZcyE9(ULz1>DjJ5{}g0_cn zj5ajP4ZJr%n^HpC&*T(;%2TurMzqNn+T?h&DM?J*jy`Rcmt_KNA1l*V@oot}UWGP6 zPKTdJ(srfM_Ao)v_6UyAHa93d%6kL#O(~)6F*(Jb^Av4E5pD8?HaQ+`N)pj#dv?lg ziRERPK-)QG+A7{H;rc4H3356-w?Z59HL0tNwqFngZI9zX+dkNDzd<__6n=$AwTU2S zu~kZFdqPg}mpnz=VrUz?$8t~rYIbYukj8!u?Ur{+T@c= zSXE(;9~>0w0xYxAvN4=tWo447;vG*i#kTNg{#tIAMQPffW1<&GU2VJ^BM4qTi8D2` zT$I7i7AX<_xQFv#XSMXU4Ko#?jhMr-O6FLZNUR6VI3N?j(o>~xFq~-$pERzV2g9t# zI-eKySQp?9x{?rFO5!(iisL+05)5$r$EJ~OP*4CRA!p;PFUFmgQjyPv=(vJX2267N zUQY41JT=LIHKu<|r)dNQ1u)4W$Ez|*6-{z1|GWTt($us1;@(r1ohRBzHLTme~oZ>%usCMK&xJ-tDw+M)eADy}y#79I%S z2Qfo?ew;AOR*rI4X>g6qL|0kyE*FMhUzwy%(E<7GsyOA9OLOYqm{6`Yd3=o^%H=;e z*hZV6=dJudO?sJ4R!(Bcfp3@seIczF)|v%J0aRu=USTO! zJd56*9eJvo+Gz&k1gCoYmbPM+4M^L+M>1qFAw4c6%#IB7#1<@{(d)5LO!17-$-XUc z_KH%P+!J}*fii8&W^!21LJpN_8{P*Vbj{Gt4!>Se{|?rU}FZ-q36WFUCEnktO!ttF4t2ojDyWix!Bd#Vu($H zNoEFxDay9sXq4I$?uS5*ZGeU(H*)`yQjjp=aMc@$S3ISF?wF!VJ(@%wH1Akl9!>;k zP^c>p%ku*0mt*hZm50f1A~mdx7d=V5$J9?b0&Wep5ispdb28!&DE7t zwv-V=ouFg=U9NI+>u3}p>#tm|SGRI<*5BME999z{Hn$pL<2y&H*}I9HBrNw9yf8na ziy1bC1-ox5J$%JG?zj9l<4!8%gZw>ROcmDa!B% zf*FB(uD&j20O>$CBZ~+k9q6zizR@5mKz*oOuha~r)5YR;qMaBCvDBJ}6|x!m!-|#b z6^gC+c*Leb&swgdbowae}hH1=%o1Gi_-prr9!xiSa7QWU8+!Ney;CVYRL^*@~bV03F+$%hv@jq zWF^8Tp-^pqJUJfjqBfJ6FOgu%Gb_>c-cRqbqAQjnbYyF540EfkiMFQVJy~1xGPSFj zw!~{|RNuX}rYZGX=>D9wH7pTQThoby-gtaAoDYT+p{F&Kx(SR+wTE|j--Q$YtK15x zN78^yi~MXn=FH8?oJME1oFenS*6471U;p^=K|#K>IC8w|uOwt*i(rDnEWUz*!7m7M zh(f?|eH0cgvE^>rCPokyZ^xZ@{P4wF%6ha=@%WKWL2c@K;|JGoiXZcF;Kyoq9?avl zv;~jsTI}DTvpMfxgIje7p{z87=#^WX%Tq&$-9$b^2>D9r(vZGRd5~e%5d&RpYyaeB}-Ti{A%XABeboeQSVp(JzXNB$s1VQ)KI1$}j@mgBQ zBfA#+F?4Ukdn0r!E7843ZjrTTM)&R!-SQRPay`10$fH|uTf?{dbX&HTU4rh4cXhgj zLlwHWB?!9va3Z?5cAShiih}XDM6wQn8vY? z%NDi{?A{u$VUQwwFMs+b`yYs#8|Tr=5{A3YT|9grdA9bJhChp&`vIPQhrP5Q^V{}d z;M)P!!C7xDwnV+P*5(Ugad!u~#l<|u-BoaRYzynH6(9!7^?GZiBPTNjZbvuE`1Elh zlIXi~o2egg+6 z)l5*7>$QD`YR1|=pkkJ>iDiT8X#kT!l{!-c>T9sS5vaKqDf`yt=U$tr1V4vY>*UtT zhZH;F5DUp-GlORNwfNhXNZRV}-Atu-xVDsbtZ;}Wl6$JE9KwMIVh`&h<$6`c*wbR> zbv1_UAm8YSHfdlpdBvV$`I~on2%lKr^erUjZvI{$DT(sN@J*>h=tnP|dW ztzIWtJ(RrJv5J?fm0Yh{DP3HxwC_9H+g>`F=922wCY+Mh>z9g=@QN!NfWI#ihDjI^O$FUcL?2C-?8+rT6;!TQL5*lv zK^@c;|3U6Sgtd2@Vj0d?HE17uRRxkDJ$Jt@bp&ttgVJxT6?!$$u_c0 z$^awhO0sb3E+V9lps+j7@aeKvYnt7r^9<^XgoG;19&(Gj@>HeSTk>;|RT>4T(#ZAX zN9m|EQf_nVZnLf7O1k=i5~j8UI)=!;1|wC ztm4s~k=d7L9OyzyOAN;4AJbeJF7mmqlYCLDONPj)VP-F|{y zF|Sq~&?&8|{r+-`Z{(?J{|3=|cubzV}Yf&QVyzP;szULsZJe0ExEhB{BGRngZ zQQ*_z6&B1`uGtPjzR_rWGeOXJAPzKsARf9O%y&Yf+gnzA z4aOvN@{$zYgNW%X48HC0MxlqO;gnPiuN-6 znst3#eVyVAtJJOhZ*Jj0O3u@c*X5Dd*8@`=vb30j#lcl1bIIQKbt!&z2QBx{6-$G6q zKAYTIS#i$wrKwyN&xDBCux~ZY^hK=Nuur^Kom(TfcqmWRxqT&Mr;~9|P=KnPTu;iB zF4j-aL;FM%+f|4p8tvT4(o0)W#S9&9CHiE8EOodJolNO%WFMh}=J-aT^CCP73JQ?s zDA#N944v}OP9;GfVL<;<>E$N_s$Q-JP}UhX3Y4ST%0OSJ4O9l@8bDhb2g()kZV`#m z>b0>GM~15c8EYNbmeOGr1~W2zlNfvw$|Rkq2|`!p{4IH<6l!q+2FBRP5j4?Xasr2XIrA3 zZ-+v8S|=xKZgfqJDI6WsJX3}>1m+!&%zRtMGw61I)H_IlWE?2xa9b@H7Wqnz|6Z$gNqSQ@B*D(Y^*E?{aD<6$Ng2FrTSnX87HOz>< zn@{TIaX6g0YR`A^44<-kYKwv=YK3lfo*+moJYH_`Sf0`f-z+|SASlRJDxq9YB~+qF zC7jl3hxP2t^qv5>t}$fXNB6GpVnku9#O%}_gJm${k-BZ@sdz_%5RWNtzrV~QA?B5R zb7~%S>C48W69|Gw@5Ny~_1V@nVA*XN&;q(hL3tm6LE%K6AyXV2UGaeI2~iK?)>Es4 zKkxXMr^rBFu@`ZuQ+K{52L)doJV|cxJv_z11H?ggBFk4ClXJEw z*=$cq1o-%MU)5S3>l#1<1RJj^k98~FE#cLPvF?+9F7r|7rNhru#=2-IDYtI<{RF|s zQJlygxDUMiE`OwfHjqZ}WWv1R{UocWRI`*3c8pWx6i0Z5Pckf{9FfbV|?| z(vZ+FF793I+EK&F>vbnvMWT^L4V=y-??!NvJ#qK))^tzZxp;yB&7Ez;*xl-x!8Xn# zAeFIu#XD+@{Py-%SbiUWuf0{#dF@hj>J`GjVs-8V1R*OQ!ii*MUx>P$zw0lNmD33G zWM#4ys}dIFL^E8FQ~V%LHNyw1=q>q=sFXCr$`hB#u#&jc!0O{B zF7>gZoqf}PDKMO}7VV2L_{M+sMO3C6D&CXz(RaeH2l;z4qZ0Jm>88|FbUkM~EfIvw zd>AK^nb$+vWBiYECAf}|@E2IR-G=K4R#LaHTG`OLoGz!hmZw^mx2X88v*J?#t&1G5 z^pq+#l-l<7RAqm{WuGti z)56KCM`=6f>t^G@#|VN4pTI%iS*KEU37Jsyh`?FVHOUfg&|Z++$YT~ z$EL3~0&**e>H0APX|NLgSjBr28}u)KSLUA(^kk?h^;t}oUo-xlOA!1!ABT2m8vMJI zKSLv1gD{1$f06$`_`et91{)GmbcCtD@y}y6TY|;zY1#iKo`I$VRPH7ycH{T>n;gmq zttd<;;oKd{i&D5iTp2Tcz3TZ$>Mw=8w9Sj;7SH1;ZF9BSzaNlQP*8w$9l2hQsdUr@ zx1*9%3)q;PRB&pYes(N`%K(3B^nV6YSfU!8e)dOK_V+M1u*njv+$}ab`3p`@D*}a@NJVV|O@I~Wk>_vZxm(xgXv*k2m ziY=#cI~i)Q_ZUcPguTnJmnl3x{R~#mA|VGv1ceJJg9sJRKt9=GeYNBcm2Bx^rE(?B zqH5Na^^g4mqBy0L04=JP>veTj(r&RngbQZKLU&F)BcRNRS1T5r$>7UuT?77G8-x$> zvmH>6bVeMMg4slMhKbokWy6kaqB31O(5n1&&5Bgis}n$&rw`pKkDMrsFj(n`(I#*IncxzxUR z#OMsuvWcFS4cD+JP-|bPd=fZ>YBC26UE-JIrQFy(Y|t z?o6=Bj+65bvpF7EiNkD+0MG6@DFHHW*C4>1W>dfPa_{+<2zVW>RqiOgCJ4ywH^B?F z;ACu_E0!vR4>LL%`4u~;$y0@KQ4bK zddnz(Pd`?t@2y2{PW_$^=If^0TtX1K&80Z#Hh8E0%wNXvZK;uu@?THev{B7>q%&Sl z)cE}h@BK>Nv&Dz$&AY>&YBiGCA2=)-f7A=^Vp(0%dq>m7wxW4f>%c%O`wZ1J>EioU zxc&EQHvKvC*>+eRbZhV7!}o$w|IJQyclq_KS$d71^BT)pTG6M0;OnN7Z9tS(B)U-{ zOP`Tj{1nfb4C)V4hw&g_IZ7EX4eI538miKv3D}b6x#*q9j)-!a^2i~ZMXQ%MryAc0 zRu@0AHWwPUUURRyVoHW)gghm~VVf;oL#7e7^z4TV+g`&~0qWW1dODn8n>8J7kR#9P zpoc|PwDhbgU4`S9-^E-@v}rlE^d7!!prv=)Wt=*()$nzc5g)@>;O4pzn-P1U$2 zo^}1KUexbh%S&{`tSgJQ(q};`DvP!tJVIr0F;oTx1+YT8D0kzmo8ogZtSs8X>y%|{ z(BTN-^loB>FH&E)jAOxT+~MR9yxW>^3q)JaEdPeSyGz#+J3G5U$&pT0LvoCVh5C}S zoMY1yio(Uchp(KriJu)9vGQdK4Ji`ZrR#*MYct~W92#S?^tl>L9#S#>Z<#ze5OG{g z9q5WUE>zi9E#~%5_58A7w`~6$L#_w~wQxZ}btBvv|F{v9cR86z4+_d@#eQh@aU2O+ z|I&oSjochJ79-E|hOOz#Sd~JyR<`-Ow__As#+#xLiLktL=corSS7B*% z<~B}fc|o*sLVB#@czfw{BEU6>+=h3g#9Bi#&RZvdE2)cey}^Ttb-S&r^@+{BrXDtl zjrG%sNWWAhub=2ybFphVSKi?#4+_@NSOJ7P!Fr64(`7$0qz&1Q>7L!X;ysD|=q5V3 z@9_8fM>YS6vH!lzBf7Ew^#svBejdjg`*$LPoXwM3K!xWzoz$W9k<)32zs`Svyg$o- zHsj@A@jr*YxXRf7y##5jFE@UVzsadQ_E*@eWR-iD@}l;C0dyJ}`wM%G{cn_8yn(02 z{%=>IoIfD;_wwN{N!P+GtBKzI1+8VZ@@56gZIyqQzN`z{t9^c zh5^Zy83w*c0Y#`ZU>I;7_O*}A z5gr<^8Z$fvX0q|Bx}h4(_zg5R!i<51z681jJToZ|LyP?~pmm1W<$NO4>I@>))zo0l z-iBHO%!vk(fyEa>bBB78W0A^WgT?B`wK}M&O|F3&hx0d9ZV_tlviP-8vqRa3634KY zz63F_R8EBVpKII1WSyu{+J7?@seZFl?MQY`_7N^_|F*rhkDWuF$zrc#w~^Jt;n-UG zvM6(P0*et_kow2oY&a@F79+Wy#YpL}J?Tu&_OXr$kn7m0WVNUP`BB;#j@EAgGN+N2 z8>5=0xyVxCfKJ*39A!Z3OF6c=*hpal+=!8)23TjLs1G*B+0pTdyMNScVvPU4G*TD= zo>o-VNKu0TXQZf4!2jvUT?u>c^naQzWk@$-q^ORxj1=`T{x6Ia2Fj{W!bnl^E*mL) z8^v_=tNF>bT2f9t8$~+x8_N0{W~2BDLFiyN<1mLenk_tsZaXkLTRQGVrk9i)=P zlf(use?3spPHlG6GPIl$vzry~NIR{}=iTtl@_dvK@O09&oqOf@ftD$Ld=m$L9LsrQ z_gNLWmK*2>KfsCk1lSg%{u5{x^_5>kP!;0cB)Rg0_;1T8euJloKUS@w*7I=sIbP5& z$D?1VV*2fZ%kCxTvM-y?xC$_L8&XwZ;|DeXDQ2(bVz?&QTk&@6jn{^~l%5jb=O+3R zyj?&O=y-bzLGboA9Q1uU&D87piw7Kfl)6!)-k|UuLc`X(%a<}Z{;bLzC$ei zCfRUqG+wY&j>l4^idkwRHFDcr9W`VynJ1{mS$CXUb(kyv8<-q$4H^pvGmF+<$au67 z=$e444*f0@qDCpcvmuIivF+?tVM>8hsWqBV?WHa9nX0Sjs#oo)* z?fjS0o^XD(+KL|%D=7SkXLwA#7DE|R#`nu9-pf;E%vz`ZF&11RBnqI6<#=VRR8biR zg&*@VP>A5hWo^*wmUVULQu`W!o}<6OOd$Ch$h%%QTlhU+wF-ZCySJ-4Y&z6NU^{RL zcGqkyH7KnPR4W7y+hU@|dVo74J#w z)Hp)(C;pzDO(N~psdQ>Ke0Fu}0fMMgKgB_(c>_AlSFC|~5RaPeq7qVPekP~*6P~Iw z?^2z)!!l3+bw-X?XOybaF0xFGI=X>pes%Ra>U5W?@Wj%(z+#qKE{1M`r4{d_?lShr zvR)_>6Fi(#=HbHx!NW&!A|8I#SnvoQHF>Cn@bDLMia+Nm9==;VywfsJ06diA@ldH^ z9=cZku%Pf5p5fNj)fC6XssP2ry3k@KS}ulff{7LHvRuYG;P{`)d=!};ADdD$kX0v( zza$7gK8_RVfLho7J^nku>&y9P=WvePuSM!Rs>_S(x0M;Z9g|c16;JV&N%Q`(Ysn}m zC;;Bd@p!9L3Eqx;)pR0*S+il&64UB1xg(%)m>hi%8WEv2fvW$m4%9Vk4HDWL*6J;s z&Q}$b#HTKtSbQuOE0ToxRJ@(|_tj`bVrX4xF+(jE!#Bauig&I0 zC^8d#oDZK}ef%v!@bULJQM=}j-uWFKHTkH7@bQ1-6rbfOKE6kMyvy1(1;9r+9v_t| z!N;}COH&R0fPYw{8n~vdDonAmF2I+ zJVy|G{1XoC8n)_`+BKQikge1U{0}E?ws!_c+KX0h4y-=f)FKLH2!H<~r}#&n;_rLK z-*=D^$JFBmf8}`mRjP=;%oRV+S2ny6P~io18zuMsHGLzyndRqz9_p;T!*+Z-8NtY| z3n{*|Zd!~0Yp z_9G)MK){RoAjhi@N)@*^;RM0|JE7rblMB9KRafw`~w!LJU}34UFevEYmR ztZ^k0{4bl}8|8Hczd9C9@EgRU{vg%~epPT1{JOAW!M9vYdJ=+P@s0%Fm-~+(UKjEA z##$0TPwtyiY-5f3(|-_z-2W5D({FD@?sq}vzra7+%RJk^2(K^m$_$xjrW%=lnWto) zL+|^?ZYCq{p}-57m*dI2QpGYKHRttPRH?Sr!L9mlzy-yBgTV+>5bk{J@SA4lG?HtI zl{DSzI5@HT|3sCZA-o=Vr{lonsERKy9nl3m>CX|EE5 zT%|H)Jx#|c1%-|H*VNOL5E%+c7!+UQLo&o63;knijJZ320AxsxCqqgV>k)#4NX5jGhF`E8a27Q}Ot8V|#gy zLTpIzc~QCkrlAc!H{*EqSLTl0C<|3PtG^kspl+X~%;0^CoFW@>jQ1yr_uAka6chmO z<#@bTs!8f^P%xl1#{W(is}9t44-EnhidpdJa<|TZ%{m5yU!#1Txv@I@yG`I4gzq|r z`b4{WTotHs4N#NsDw~eyknvA`v=wtrT)d=>mO9qo_u9erx5P+qE>>CucEa;x?00Y~!ig{(ecE z?$+f>0KAYmIiAERRU~n_k8Xm_B-qqP#?|zy$c(?I0ZbUbI1a2?*x6LlYe!S}u19O< zVx-1e{zhe@H?Mfd#g$mYzk;%OL$bWYD6hQe&k1+!?hJw`uTGq3d`xc!BWL1Kv)xrf zN}@+jv4f{dVniizk7b|$N!#Tmqig(P)azFL-3uSwQ zNcDKxoI0o6PxTT6FSo?;##hoacY@!V*y$jyU9`TH$gSH~DMNU?jhx~Fo|0Gg^Yo9+ zAtP={zzZJB@p!CM2_Dzi=Up#V9h}wyGy*PsoXWt>4q!l&Dd#+H-w?6+CAI7o(lV<< z*I_6B1#|<)4M){&IhqWs4$djH|KE7)#!6MeNpkDLiY3=_F-b^BZpAy2T)!_o08u%T zzt=G(u&mhXDn^J8H*C}M}xyj&T6nq0Y zEL^7$9hKH!5-#c4OP4pTJueyiSjGMk+R(yv3JKS+b8TQIdrL%SF#4h9R9nd?75?ee zu@3!IdNAG9pGk+gR#tFj!VdwXFP+!d+VhhD-XQ>=H*^#do+gSeNXB`m;(Wp4C?qT> zyP?rD;KjNf!2@<1zxsgj24Hk;O!sY(&hO2u@70~=VE?|M&8CE3Brm;h#ruuC_v!u` z=^xzX(81x>ChX(?jGG_va~|mc-K?EdvF>Q#l?_l`7^br&sgENz^>^ z+{976-;hD3Iy|RC)`u6D;lX97waZYQV^yds!@3~jGPGQbNr^J7c*kYv_aE#LO=;7! z*MEr3iSq2Fe{pr=Ed)`Xt8t>S`YOs&>ouhVeUU$hTN7BbOqB^`dbph8p*&TlYgMMV zSq2KAOyziGs#I~A7TTv^7Fk-%7N+ttdx%A}dYL<<6{2g1n14&Xg07B)6Ri43a2Odaf<{m*1a`kqcsGWEhGR4^3?vct-;n}dA4R57X!wo!2#}LyMde2f7`cZu6 z-(IWGHC7iGB=1-`#Upu2@;)rdJ5~@13PAGYc#@}74N0CMQCIS+BQXxWjUW*eM1Dkc z4awWZ7Nb>#H~#)cfSK5FA}A2uzV|gHy~{FiJX=DM5qAKnFfyJdECUAIyeE+n+4k<> z@5zV?B_ShPQ{~#8cMyb(9EU@{ynnQ&in4zfKKVoImA#Tv_V1Qcd?!zp{W_JshHxC% zi5F!r$18iKipxHNRHJ}hk6aa!DqUSLaiz0d4ADfTt9Uzx#yYFFrb@&mc&KGhj)%t+ z1P|YX0}l_#hTn#5u<*Tj1cmqU3=gQzNVl;-dBDiLoZ<;Q#mLiPq|V2cFI<%4aZyPs zTs)Dl@D{+tq*{)aRf5!tcO*M8tsl9lJYE<41g&qPue!zBl#>X8){}9fHsww5LFY$3sl1?>^Piyk{X9kU84{i+EiVN?wj6KYsZv3<&YT*Y z#;u$yQzvzW^HJzdbI|ix2s4`x4P-|?MUdyG!y-3!F9FN^HH-vo7j>L6ipDyJ%=Q1) z-Po6rVd)e=HBOQ=o$4gfxx$|R14+G`iKga98l?#Vbog6ge6TElofA)s+|8Oa!=2+U zJ|L=Hd2rmtnUcYSf`WW?)`eV82(2{S0hS0}RvWG@A4|`vkH=C>PCLANDEaIfZ@E?rQ22P1G3<@P>ds3N`RnC$WdWiMua*7|~ zDY5>D#QFh~0R%cg|#%PEFg?)tG`)Xk)39XLZ zU}M;EW+aI9aF(&SY?qLEIEKftAZIY$-9M#g%|R#V zkPlPTQ9BTeuz|L+ONemAdy;;45}T0<-;?2V3IjvxHk08q2||WHio&`?T=Q@5uPVpl=b*|%CYDzxDA(MP_uA>~U*pwtb2fbxQ ziunGl`nb9`qX)L9KH9YJSb3jEMwIsjIFz^6T%&4T z26)K35KqnkwCBY+^{KN z-!WTY?TfQ9KdC&oC%zj%TAAtEJhfkTx`$hZEEFlTOXU>L=czLLn5rAwOK3S2K(Wd3 z+AXCbpXfqpj}(XI0AQH`s}Q%kbO|Yf-sPoF;pTKCb{s4ZW(XC&eJ6=5q9t8pk&~QK zY@g!J=9uJ;<_2hXT4hz5$7!zW5?m(CFfTbG-BY;lzO|d=v*WW3lCd>$>}bV%G8z2~ zjDIaDqbit4MtA5wS8}%Q%f2`s$>B9b>FPOmK6=c;?)0^JYEE0<{^^lx(H+7W844s_ z`ij!*5QJaFz5WDZ_DPO6qcpxNc@1yIzinnJWVV<4%_a{+`?atjHB7qOP0p2X{%cX< zuj8&~0olBuknrbzrMC4f9hf)zO}!a-+Bb`{9MufO+z0u#QR%)#taU#SwAdrK71e|7)^o?O8pol{|O&W{bhsUc);!g@5BO%kYgxhgbWCgJW1d5eAuS^URmF zO=}ssm#%ArOo6``MMX!LQF_6EGm zHJJ&JA4;HxMt_8}?#I5c%}sZo!1TvRd79}FQZmi-sGR1~V}3q+v$2k};Ze*eSqs)T z(PwD%0m1l*591(OI-1!w93-o4^g%z6D*QM=(oNRhvm=L((e2R2%jmoLusxBBJCTcY z_vIXpo0_-wr{rRDU4peS^AOL`4f0#3knrPZ0MxRd@gDan2*((xSBMS&1h0ao@Oe4S z;R`rGEsTk1&Ft9=9^|rlMqc4i*PsuZGo6kt+k44Z&od8-IwRLAZZxTst;@)f99VCK&1*;Ye2>^ z2K%P-e-vGXXTZx)m>Bfiau9l7I@Lv=O@GDU?O6ia+-60$NaXi;I6bVL;hxm6sWYee zYM4?4+0q~76o1Ea=9D1(gw(JfKxI%+02jB(@zgM-A|I(?G^>2Dk;IcFSv_mqnW+Hi~F3P{}oFtN{Zn; zmS19={3{+TxsX4O66P;KI#}&*F+KmF@Hf2bFIy9~4E_Hpr}$@{8v38DvU?STSx$`? zLw`A5*(p^t^ym1-fAAG_m0p(PuqyqF_uS_oJ17WemR)=Hn;qp&-0F7Jl(x@ zG+ns-okZ?v(&?KWO{IU*9BTOH&p6qS`aQs zrG`&;p4;hNA-M~91S4~IPn~24=7K5uUQqs~&*FPg`TJ@69w>i5Y~MSSzwff|T=`p* z^})z)Gh3Q`#gSF~9zY!j24zD_3#?lS(AgZZW(%dZ3k%1kmmvPyv z=<=VWj_$tqtFmR3znz?{nVMbxB@-1VZJq>p(iT_viUf3LCzO6S_JMlslUq?$mFn@g zH&E%PlU*p4e z8Ll`NxNKBVmIe7T@UthUSn@u_o`F5nJi{YtAF3j!YFHgPcbrlK$T?)10OxIpo}`PH zIkhS{b@6p!MP0mQVx085_=@i&Wz8g33LP@lQz>heL{!$XlC={nZ$(hZ z^3|2LK~7oSBGS(ZZgPEsWMLDCc zJSMBkIFw|+EQjS!Mo}zdLo&{8EyEx3lQFh^yb{)x=O&U$LV6fZJ8jC3`<~?1AqI5Y zxW?IRVg!$2+^?`$|BePKix`OXY=*+zNnjbR-JB8}u1CzZAd5kZv|+i@edYcd)XMRX zOy~C`9P@#2(yLQ|W8j1(%MN_f76U&=cop@hkaN6l#q_g4COl2mRt~=8^p- zFb0;SL(ZPg420>Bld{V*G|F`0V0KXqX|6E4i>B7o+Be4e&L_|f9Qxw;o6Bo}OoVJN zr4Vtz{O?ZY!?5ZJm1KU5CnFf1^K4$IZ;}uCpol9EWo)ptpbdNrTyD%vIMxXHb zX}LqA11iTw;8iXc@u(aAu-~pDeacyA%57MpdipZqt!h~)*+U(PBQI-gZ8*vI>`|^y zZd;h{-6{VTUP27W{q}WG{3Ux{lbuC$x5i8%+o3XTncf*gnatdwpt~=Lz4ByOP%3%_+_dGL-UYa>A9e$hl4R4Lj1GJ|%<1w&P zHoqNsbYJe=p3B=Sb`C4Tfv%PfKa9aUABY~gp%I|_rZ>>aILvztbF=+SNzH|i*zXu0 zZkvTx?3#b2lm~-ZeY`%a0*|GgCT5UQNawf5gi-d5LuJ?b0D0X;UO{0g5eq{Wo8#;- z84l9yEa7`_;mC)69Wg12wis_$c{nN|Gn(UoROYL-uBufd?nS2jltaRlg6B~S* zum&|d+r*+WN|a%9YKJl|%Se#KCFtr43OnK*w;Iu?{bV*Y&MRjFy*mkTl3sjwp6E+6 zl#{R5L|vbnlA?);){5>M6qZ{uu_GCDYEW3Apct8^_23>Eu_{EJ6%>XQt4z6zW#r4; zwWzN<-DGWA_)JuPScakg!YUk=hLt3zI=xZVX>Yy9xY6uwP1&pYGq)|>*H&qg_DvU7 z5u4?qJU32JJsKK4Sed-Z&*aeb;M9@TPoz$AW5KMqaM$AJ zQkzRpi?6lfBjbOY_A&2`R0D4m!fQCkY52@?^;4@$c zr=jHk>>~V+B0M))gy&s^KPtkX{0MtTIlN4S^_*KZ4>*5Ttmpk$F`RL&(HZza;B{)iVHSWD;yHUES*@3Cqo}r_=+r~adKrqXJE4)P5$gXjLGtQPrzCd*<{e!ol z_ce>yzl8C!LQW&3J!mmqFFcQGQ+ip^dMs8?+xTFdB8snRq`|u#qF7UuM|Ybr|0i!x zXnt09D2y_xOD=J^pIF9Ckq0zT$IZhA^$rDri|3F~;Pkm3>%%;=KkiIE_myex-MDl% zBQjzbSC>wuwiuJ!`m^1m|H8iw`TI9+NmN@m^9nCsnY_wpR3@(}g#1+|N8q|LQ3T55 zl{I_OoTsqD(-6CVh#UW7KZW#@*8)bzl zK=O*e5b(X?IU*wo3UiW>=1t|QG&!07f`Yu9FgRH_g$d+fTI;|zL2G!v#G*-QdMrs# z+n5$Q#yRw#7|Bmw^~h$yIXSMa)ND{*wIq@^edmv&*fGzrp1_37a-ALLimFMjE=3eS zmN)Sfd9yqnvI<$Tr}WOh;y50oDc&uQ?H3 zsst{JC<8<4>p`e;jo`XUkikQhKx?p62lUf^HT|t3^R4>e3QPE^J{a$k=GO0Od6(^Vv3O6T1Z_eW)Ua&<{{pi-9%E2~Rc600t?;FcseytnFI{IYu0 z#!DY{rzy1ywyhsqz8|3Fj_e7C15EaW??_GxA0oh3%dDVgN8hY7lkcPSh&2~8DpO3q zB{{_p@|5ZK0wi+mKFeDHn11DWi(Zrp(=WYDo0fVBfsqR?rtf1iUJ9Z-A`G6cg@Nn| z)iHQoV;C&*I52ytKSJjTp~C_@I`A@oHod7g7`=!-rBpO*-BWQ-nFSYFdBtn~$f@dd zD`Cz%qU}edjuxkA5twF0tbW?+6t_CjsN@WKCXTmmR-!jzg>yOq+(gV%qlAbVRTda3FGTI5a*FGCO4Kfr zsIhkqu~h(~CdcE2QdMRd&f+WgX~1U-A4&_fJo3!DfMf+1E=892V>CRjcqYL}qE{Uw z23HMXWboZm_|+xh;xKa9vD<3fVR5Kaxp$9 zR+m-0ozW|njp0`Tj9ULOf;MT7?ze*cgqZ&l^*(Bk z^v%`E@~zt*DN}^xTsg&$^OTTWEFpQ!@>T#sBFAfwl*((51aRb6msZ*%4}-exQFROs zX$%9}qcR8Ps68@tw*PdwJt~JzXpf?lER@Kc{380y=$&ex)UZeJ@ z62=|U7SFidK>K9W(mtK1RF2`aPoIq1C;6&33j=Cvh2DX#+DoH(~NTa zG$Aw_c5K={wIW|LlI@ekARW%Ev`>GdAXpQG44zLARsSO4;7sj@A-jL(FZ(Sk?+C~i zPNS*tPJF)@&-}Zq*Fv|hP+231m&hqzz*CZVNu{|`0Fo%jV~tW(nyXLo6*X4{Yp&!G zHCIB7Yc=ipNqN_8uBv0?nydO46$C$SuJj(5PqrZJ{N}2HT>gmajB?FYRkYMx)x{}p zt}GYhbE3JbcyD5(S9`@;yp+@wuf0-1MeS8(sCcO;bwkC=cx8`oU^XZ>CQ&G3l2_OC z?8Go*P0zB;qanu}h8!KK@##T$H6v$+99PNF7!3V0NNt%4wsvY~keZcZ0j;T^%3F#H ztJRQC<&BnkB~E)~h|v%31^y56XNb`wQJqyXEDM(tbznY%_i0`j5y+Pj!QY4)$7#uL zpjpTtjdD}EO0gJgC|d3YMdBJi-fbjMx>}*Eti*Bo&5rZKdSfFD2UHPGxg8&dBu50T zd5y(g{-03}j2RTKKjiLETsO+F+t&=qIZ>vRcN8;EcnM8KkGD+Q`a8QvF9${G?ke7r9=uG20c#6yK)TG_C3S*;80T6;%Uu$=?31I1N^+4f}W>fG7MPLzHLkXOca}eUgw=%+C26vmsqj# zV}wPil$rIzoh= zEX#LQBHy3s%YmuzA-B23F=nV^&0mAiS;yMhtR>fz!)cD-G&?wMmzY3`-^Wi1=UXt# zm7rZrHhK?32aS8Hfyfw$9Gjg4S(8LT=tHo z!iO4*tLqCLnGWliJTWKSNSSwLJF)}Qf(|FVxvR_ZXSQvewSv~Oqb>g!1rd#$rp}z| zMozl-{&VVsfEeg;rW^%nASn0?~OUn8ej;y(= ztag>FLq+X!_VAdR>q+TpsGYh`^sO4x=|0ib!fdxd!v=?0d+CeBk1*pt(MzQ>jdDdF zzPe0QuBW0JTJ1JuUeV9Wit%mTJ)f3Ym#gkwuHqW8@vWa*YG79_(j+o-bwM91)L|gO~9QJ^oOhYu?czY8bBTr6)cQR~Kr{rOqrb;*S=DxYk zO}=$?dI6zB`cn0kjhoq6=IcLVZ&cQMG_$Do3?^ps2ho@u z*rWN=bZP+Uzc?yfkCMho7tmhpHCVg_=M!uWO+k8{H;AHbQ z>C`o(f7s+r>Cp1NkJIj^Zw^PfK7()+X9Wf=j@d83?9vb9f#R%y{$VbV!ZpSAWa(Mc zP=e0@*;Ye&loN;BN_Q$nk0pp_ZY)=qRI2RYtwAVM(PNdJ(__Cb+%tVsW;mPmrI)5m zeU-Vnl3ePkVGygQ0v4;M%-iU5{cf5$cwlLOuMEoZ{U)RS&OJJ#;o=1yB#=c0xE4QSRNTl0b04pf(pw3${W~#t8?eC`b@V?!R_>0$^gma@VA+V}tIkKR*UTAvyyH@r2N9*rT>PwgXByC$Yh(*wf)`#bhziN%R6N2D*$MK-K#@ zh`4Q-xSv?Obd~I-&-RNnrI|e6*S!w3rs0bMuhl*(y`-16M)7-C28F20Q!96Rw9tVS z9TsVbH80(LL+QaRQ|j_@?-8Iq(gT^%IpD_Bg9Ywg@ra_w^XO*ZR{eRz>dymYHK`5r zK?3~xqHpeSl5gGmqD-kTKa*4Z2~X9Rt5si|4O0Qs7dc*iQ7Wj)yudCD-4}-e( zr8)-AhFKQ_>Pwjeb5&mqoxML-t}o@#3H2pPS+QYWOgmcI06E-4WlyDz>d!;GM)ju> z78K+ial3)~W7JZA9#$&HaO%%zqWU9W)gQTD{V{gO^+&MF^~bX7au{1~)Sr3f`ZFOk z8_sW_{zwecS{I{9akb%F(0{Ubk(Tl21fi5XCLG+B8+XR-qj=QRkCYHOdt6TO5uTE> zYb0m)sMFI@PRW@Zk8q`m^dt1;U+`sXMS1>;_i!zxRRyZsb5j+nbdI_p(K+aLH0lJ2 z*U@LStL7=^Nh72;_I%lMoM%2?UF&j|VF7{fzmZdXf~WZYS@Hd1s@Xx5MwLS6 zHeyNYobRS)i=$d8bL-FDyDVzIt=z*VlG5RpN_c2_h1%12()K=s<1P63t$dwj^>+%% z*t!z!A!RQv<)Lt7`}a7=b|%v^v{QEVs_ftQv_w;M+e)Iq9YJED!W8 zMeT{xL}B@IbQgE<0s0Un($cts62`hy{AqLaTJQ49GG5NMC$uZJJ)_5LdmHG}WZM(! zB|XfZ_n3ORieY&xcodPpwb+HNPh%`rX{Ok_1^tQu{oCL~V<5Vo)Cm6{@i$f|O1AK6 zMgd}ldqe#^g+^drX(53@LC=9a%W)R*(tn8a2nzbT+zu%@u%qb|wJWwjTxKm>e=#td zg&?JEl|@fUV2q81v!#ugl|hKV%0TQZ>0xEC9WP!P{DrcK%HXfO#%1staDHuY z6ao7Fj^mZVhY5d#zmvFW z(m#2?M8!8I8bt04;oCJ1dUM~|p%(Wtco(gN{Eacn!DEblf?q77oEm_PDqF`J(NW=z zfivFxA>xflDd}PScs|LGSMiVdv60u9AE%W0p$PDUwLmdHb~b)kLU!yBJlNtG(?2Dv zbwZ98dMUl8+->cc<3*H6Va^P$H(QL=WDTW0jRi{RvA{lK*%&wam6fAkcvt8*5JvwC z5&c44Yndb)EZk};31{QQKg0{udAL6z^`zy?nk?zvnuoZAKYN>Kg4kfizeSS+T9=g= zzv|oR<8Jp^hHs3_1-WJ{AE5hGB(~tlOGIs+*o74plx10T?5yyz zqhzjC$9|$Ar2vkSk>e@uN)?>|q{UE%`E_5aDDLtwb(d|PdUsPYG}1k5_UeFmG2tWp z(=g!-{@cKW)A&!>qPYjfn+Pwn&>Kuim-7OLzsENtSB8h4UyB-u@x56G1~)w zz8PN^3#zR9OZ3t*vn6Dgg1~EkmjmBYV#Qkwz9k4hC-7RT#6cqjbhdDvhJj}y#sl9H z?qJ}*YcVH)|Av8IDyW)e*ikQSGuy&t4!ky0I`D0!sTJ__=p5kRKgRjffLB0gTTqm{ zan=(F@NMBv2A;hxk;poMjF`X9n7^~2YAPY87fmHBci?qlvIE~dIE z1h;<(Jj$fpjk7pl(4)RRTw&ndDfT8>8g-dDcOh+_)eX(aO&z=3GAl>%&y2JAq-6B* z6KVEj^L$rzK>mq^wiv-@8QVhyVAhPMu&`o$4$yU3V;uwYir?XbPv*9lIN?-78 z5-(5#U*_-G8&yNo;jS*S_68kI8s-IU(B9I!^^${IdS@-!rDgfv7er={^2yZNQ)S z=QKys(mQu}in&`49hT#47kqYKGOMMxZ}>Ul@G<-T0h*qhLuT6?>@u# zD)1Q|)7difG-Bz<&4fRKXm*XPC*c(6nmjmNJ2 znX$_l%Vca5*+rHJVQg8m7qX3=F*EP1$x=kL$Pyt@mKND1Lu9ECB4kOWA}y5of6ux1 zdEUpQe)a!+{{QKd^L)=e_uPBWJ@?$@Szi2)W9kkN#lA=?iT5lar=P!wz!e`;b3&aE z7D{B+h(2)Le4#Nvq5U$O@rz-VTi|9q?#*~z{0rd6l*$V!OgMGrTmX9lJnP9T23Cq^ zOK>w*o&}LI76arOyAhl!p}EFx0+lC1`a(|h_)}pr7fM~s` zo1{hMjC_w3!)C-%jI+nq)K%t)6d4;5^BJ78a+y(Y+wb?}l6RGYH~REzdd3K>uikg~ z@UZR@sASvdWA|HFb>w_jd=%`*|H}b9s>f&W+!n2lH`roZIfIvH#dRXrlM|)6_5nSc z(6x3F$ZIElKlCf7&-L1g{Vlk55~Z?s`qQkP*e#OyAFQ45K%6&;`ybc1spd`M4wZFO z2(0GvXPnyF{*0qf$DeU8#=L960>+>D4H)~WrXr3v=h5DrTfABO@;zilY4ccAh$3S2 zHNPKr8+!4zEG%$XFRX!6FTT$b<}XtJS){>-`LSSFR4QgA7Du}FVH`||4|77DSuA8F zGEZD52?rE7O-aPp-n=6o#E?yj67id&C$^C_nQ=@Lq+q!x!ihLW^XAfC&7bHjfn8G) zj;7hAxeVN$>B3JUNkw$_rpR99Z7YVGtTo<>IKz`^VO_qikN8t>c^rw2f<&&S_NP#` z64tTyeVku^)wW?Dl7d79yNNVS+++xk++ZzkMRJkOt2ta_mj?;d`w#Y^^Ny{x4{;v{ zeMppw5BX6q-Xn8&B=JAE#%ZNDiS3W;(tOPZ6CcVCX_pU`1>fvTu)TJC2$eTJ!~!|) z#T8~l-0fam2qht~;dBi?!ueo|@*u`XYG8#3AHl=V>?52W8gmoTD_0WGF~7Sr6|*yWB4P`> z@;O-{<*bV5CEO^Kd5L=(!Yrm6)m1cLg{xUP%BZre z4wiUu3mhNevESglQg;p5qY8d$R;oF=+&}7zH)&*S$sn8OPMKVJT^q9#@3H3S@L(3( z5B{3P^>X=NYg9RE)JVHJ1w!sV)fG0bEKV*FD$k!hmj#Go>2I9`cjds^cja0MlSawftt>7p~Xbxh)z5sXQqRbo;B)P!Ra4}U(w zz2A|Z{{S0bC6Axjst30THS6|8VIlMlr9L)!|*c|g9U`-eV`OF{?#mA5v zZ@wet4!_<3_NaBXBWb1X_p7lXdJ^#~2^&vYzp*ZUWsvcRaqQ(j3tRaK{FH-~Ueqp~ zXLg=SIfs##MI2sHWgEl)SVwHrzgDVpwNbv)_DGWk^Aq?o#@uVV;HMXi!NkM2$(oM4 z4<)c2wTGAB{)C6~zR>n>+*c+3-|gSJww#asTlzu#Th?^Jrf{N|z;=FayUY0n+H1N? zj(=$1XWtC^z9<#nFOE90@3RXf@jtl6!Gkx6eFfLG`I>uBe7`KD@zQg7kN`IG!G~oY z8r2fk^T@w3Z=#D_BLv%HdxT)0ixI;6nBcmPlmBtu7t3a}Vk$AI^v~-)AMw%3H_~?2 z3yWcmX3yy>;2jtfcm|B;bg7n=*a+!*OfFTh#j-ATko8y1okq2> z$H1r}rD&vXTry5QPy_r-8+Z9FUj?W#Khwr3Jom=N;G8Y@-wc$(#%N+p881s@yl{tN zyf9mjml*Eh9OGpj`hovM^{XUG^KV6RL!I?2+t@W)1P0fy_&6@s zft*>77xvWPcoC&CUMixFJYLwXlK3B7W9RNoVn4z)R_@*;?lKuK)gbK}2`#}l>(^Ge zwD}EI*Pu|aq-Vefa& zo(=AIw00I|f03pH<7=>JPLx*I@s%s;@)&^}Uwgo4mmRxmf8qWN`im$Pe~ClI*k9Q6 zN&FA4+wnCU2iI-*n(dD3c)n(1iSN`!PM7a=0^j&f7hKxD6I^Goz+KlF!5wrXwvrX| z028*=Kb{A9sWHag_tH+*4eN9Raji4>QF(rZ4}N6c36e_UXVf64z2q@mu^(|loxPB? z5}9SMGx!}Ixg(s6C^&+@n4z=vmTWgATkJ#laV3^v__`IZ+H@`zKe-<(~p=|NOz} zH|?M7GeQ3prQ)CUQAPGo?%E{&2iHCLn(d40u6)h?iR)f`&9)K$Y>J#N|Lg<4@y~v^ zwEeRbdO)v(Spfd|Cq9l*q+8MZ^%qWBvV~Zd$1R`XSP|MZ{LImC*y%@U2j@lW2ZF%= zcrC^D>y7_U;(tD8gbzLlf>MzC{JZDyM5#exX`*Se zce%bVpVM}OleTe&lW2k$*IuJ(X|K0v778Vn-ONuFNmt@PiTvDLy$C|>3SDe1o zKFNL(^hwbwKG_@Y6ot+ z6%)_of6l8zVUMfQ7S;{*2I9 z;N#)6u^^S!IghN3)7#gNGB$ODK!EaZ!1naKnt{z$r+u~;@u-@i;=q@~Zh@aAtPgwQG;CY&TIf6Gbx#78Z zh%onv5AmtHq=%V-!NUo$P4F|vpd+yG!lD!hlKjbjd2|cc{M~-}+|6h#t#T(}k;TuH zaX$N12vM#z$ckXC6~i@#>#_j~L$<$?v;<@gLen4kSkYGTJgF3ol-JW|GR z`n}kR!1lx0_RqU*kGD*C9&nj=9w&1cmblpr6hF=ZTQMKc+`I^4oYCu!o|Pi5j=^P@8IsqC1WmHF)?Fqgi75L@&)eO%&a^BbDqHg4>O_ZqfN+u6t$R zo1E5U=!kwSj6aK%dUWBtvAIeE{H|*72RONOetq<3{EsHmSSa}d?*NwrMn6y;9E#%; zX!09Sum`Ux2yB{z|M7iI!e=+-{rayU4|SrC(@`|>I+f4N?g1rQj9b?L`18?4Y=eHe z$X72+v9GF5wXfP|;QJytA}vG%zm^P;+W@)ImGRjin(&k@cPSI^FTT%OK1GhBqVGt$ zebol;{N7uf>OpBW7V_1f;OQI-xz zE@Lcsx@}$2B3*;&N|~!jZkyEV>>B&3OkO+nX|z(Ojzgd8tGb2ktNWa*O!U7_-GY1g z+hV!gG#mjkFE_n#2zH14eDviCTdrzj`>M-YeHBKnm)pF3uq0dDN860m3er=(@ly9H zqJlKIfRd|78kI}Y`7e&Od)l z^hQbU%ljgT22{nGCOG(l4DO%oupB16T>)>;6KJ+ClsqH)st<r3O#F}d;y9Qyj7q#M+`{)Qt(^st#$@r?i3R+{Y z;rXb8ljB%%Tl1$*doRFFy3T1%jQ)AR%OReOi`lEbU%T&;4hS~yn&og7gPZ+meqtqb#}`ep43@^!O+y#kPU>E1UNm ztf*5h)J0#t221Lz`<;Hv<@8%YSdDwDI4y_o>N<}?UiLNc&f9hFYHI2u%Ne1QcIdpN zX%`|Kdv z<+7IIbOTz(N!%EP(W5o*!HCjVQ_v3We;M#teYFy;tQpBx8)U3on$E(9xXz_%t*Lz& z4aIoVp7@57w+(1cqy9P=)r`_SAN4tI$B1zBo34FH*hBLnNqcr#`YA@ynaf0F=?r?XVimrcfZ0@EMc-pzJqt@R z&qop8={Y5gT0|-F*n+esT+eR>>D;^aoR=3~qG!Jaj-{2eiD&WYShBq;VXVa|+m9x{5~ zZ@{&z-m*tjRVTGKo?+B^Ynp!ZQO8QQmRB3t zEgEQARGbdLUvzw_2TSU_Pb}3}t<`t%PX6=ZyB5l<8OC88>G^lM<7@4<>l|S;&&*(9 zwB7ONlUUQR7yD@A8+I8}cG_2yx7t_AXf94+&P)>JTn&HQj?XQft88=SqauxMExo?B z=YXATa;6=JW~SR$ z>m1$|!z)fBpqcGln&y}Y?4!%WwZ1TFf)THyZFq!j-Fuy@4@w|a>=%Ky=~(ydXLb!H zI8k&NO4B{KIm5mhjCOqZJKMg%9Q!I6JRM_aJE@hNRKnQOIbtwJu|CWJsI%_D!G(4G z!l>vtJ0cyx%)$}QM*~b>BCvTkF zn_^$R4mr)MVy=o)VjjKnC`k1%es%Q817FiuMW97reb(K+%G1NXx@WU})e`Yu%N=%d z>_$&BFOq5?3hL-{5u;3Bm4rSWed_nKwS0?ss}s)nuZJFd8usezaK6F*g6C4^SP%@S0q9$s;}K3jN5-NM%|YZHEPC+LrEorR zas0w*=Wx7~OE{xloZP5YIHkdpwH`0!!EPA8kvt#ID{jXqK}q?96a9+K2{j!4K8Tjd zV>qqn*_`~$f$ra6FP51?g^f(nmu#7$;Bi^0j^7t$Q~ zi{aGY8RSGlb2uG^#kll7kSQjdkys%yr!U1|jHaUPrCpqR@ZH03YLA{}nFOjybwx&D z>}gH|V9vD!Ud)_9)PSB6%`F{04e-$~1)1*fV3zUG12juyBByFjA8?){RVJKXf}gO= z4shm3uIm_=%;^ixi;}BWrp;-LvjZ;uma%FAHKv6k^P4HX4>+(6tXex!=Nd-MXcdK` zUAMMq&VG6r9JWszQ=h(gmVUix-m+KAB+z4YL~6Lg)NnFVT&Sgo-=l03@6FaQ^jx=HnjD`8P0ZR?9?)x-<)w# z&u~V}wR1HzoO5WdZbegY0_dIbzY^VdiS67P93I`5F+XZfTZNxt0cU0jo6||vkX&o7 z*qpAau5eB}dPb{8-bJu#SHw-$gIPtzi=NIH1zPiHg%dAW_3K`mGYr3aKUA0Xt}U~e zIglBTJs{^AMoZKPDXZCUw#*7}SZ3T9ThALR!y5`tx5JvVpVojA04L3<;XXCP%Qakx z-L$UZVfChzUfXHuVfB`9>SDgtbv~v(L0RGSn`y-blf$h*Q=H zl`Dj8*mRH9vrC;&_(5NAx*N_B^@YkSoJHrgOcm>-3KPy2#3)_*DODhZ`)iq_`K&4^ zGS{5aFQ`(&S-Z*3by3|boFAQBmsG6idGvQ%=7wr19KU1L8>+2v{%~@ITk+sv2kFR! zTb)E^jUy9b^^>v=IrWLK28zslM<&u55yJfyV(k2jinPWGXP>bub0$izD5tDQD=8!Z zi~VUdCs3r7C1u@bY{;CM!fA%tUt6r0HBah%&?&uywJ?Mu+pvSW?fa>uwO=?ZdfJ@Q z)^RDls$-uh>$GrYI(nk4uOwH3X~ll3U|pBezb{$qM&z zpRPyS+akUsP$fLD%Q5Pi@=7>ktXQj%aOPvxz%qwbtW`ufI}Im+s#+z4bHd40&+3T@ zKAhhD!q!~RdQ4=l?$?}Rs=hTqIAf03G7YUKh4Vf3N4h=_SR;k=0oG5N^Pn|aICZd& zV9si*g*90?*2i|PhpiOfVvMgEMi1c|N@>FBW9rPD4B_-MHDpeva8{WbGUsXGv@kVf z&NSg{bZMR;rAK4XbA1Y1ZLDX7Gt;j*m91{pLLYlw$H}^e!>G6QhL59q+H%eLMGZEb z1uo88B9qV5kY&~j=k*i8T<`f(VdwUytOOctZPKMX^+~pl2e(x5!#$cVG zt@^C>y~xzWzq%FAS(uC755wZ`FS+eNU=-bWevjOFPt96%*ds8vi4fTg|pXKo;eGI6NS4cEVByV+|3rv zpP15HT8FG$q3q8SzOpqRvU0-?;q;i}nWwCKgfq?Yx>HtkDBJL?kx9T?e)ooQ@0>H^ z;um$!stpd-5>vG1zIZ#PzSiUT>N%@{aEd#Ac;0Fh%IzBcxm}+NRuhpK=hWw-)m&sY zn6}TybJw^ZhFq~nb*?>lBC}5@uk`w1EI(A4$LVG31<~^^kjE`JwoD9slEK`g6cm|5*cJN-EtB>c2Tx``jV>M?O_4Pa{xuVb)TINY`MCN&0 zW|)WXR)kYIjCYn@C|+I&(^TCVTee%7xzP zYxL}=R8N)MT<1Z^t8=A$?ibGP$~GsFscy^L&z=VlI9Gf<({WSrVxCUW%kfU!#O=wb4q%) zde%#>Julh0wtIdO&Qzzrb{bCI7j2n6;IK8?W9+=K6stMUKEtW)a6b0@Dl)I3bS<;r zgBN>{>qUoi$fNQy=Us>MiN_h-GhL`y_g=<-_8JdZh^iHca;ZoX>+< zrocU#v!A9L&ifHIXO{O@ktrQ*bLM)l3#Vamn={}0yKrt4usMspH-+O1(VPTY?!6@( zj`jSvpH_G&j7vWoX>-=#@haxTmbE$Wd%eQ>puEl5>h%eyK#a}V=?xXmcG!*o_R}73 zZsGh|(&p^<<`qs$NAsuNFwH4#%Y5z)7tR2utW(~CT2GWMbIw~>IP81;x1YZ8Mha(f zMVoWgTU0pxGy^ifd5a6@J;#QBdP@rDxTD!0Qd&4096bd>$_S@bIa_nFkg~$rRKezy z2`ML>WT(y*Ln;VohoiY_NQ`i9m$7r*A5uv;%bZp;2&pWbEJt(GkgCF2km|yj zIo;!X=y@81L5HJG30MQ zjSqQ1IES3llR_E`XN=>$X(3I7li+yNQz6ZSbIvJiM#w|LIpz4z^C2yTv&^yKYay+K z^QR;8W=I?1OmJGdE~Kq+nmcxWFQmP2R_iLG-?xNx5KeWcJ|Bj35>7kEKKnwt2q$0A zGef!x2isHA_G2O4g>&0!#g`#Hg|ptV#`%!PgwxT<^=(KW;p}njb0wsoaPD(j@oUHc z;aqUqelz58;iNci_xJ`0XQES9F5eL0ba6C?`-TeVRmU1deZz&b(vi8xH&QsJg0N3{ z->5K-QPE>{OB1NFZ%mjcDx8j0u{kw;sbSb;x}sKn-_xS!>)N(`9x|Nw9nK@ZX(IEq z!|CjsA)JDk9r$lQ_3}L{ob^uB8sM8HoM*HMWCr_Y3#Yx)gCl*<3unJ0Gr>1cI2lf# zru$yZ(Tb_QmxXh0A)PIOru!C1u4;}|pYbgYOGor;gq0QlCD04LCDL|<`JMlU(Tl#N zlB+|gFd(x4oIJ?Yy@clMr-i;{IZ9vTTa8?J@@~17`9;0zTO)d&!3@iPyTExnN3K_W z?~2T7(_sm;)c3w{7Fs$NqPlOBaE^Fv&g;G{!a3o!IjelzgflM0=B)AU5Kdo*v);E; zIOTk{%saka!ddQcHu!c6=bFRW==(@Gv;B6i&AxrY3EF3y?|^XDIu`rDcStyu3);DM z`92NHgbn}1nuPxnDBE{9hcyoQjteKZ(}SP-PKx(FbJ)&x*mqhqFLpG4?mHv74w$(z zfsXmkiOhqJeNOl;3TK)lbJBMSN2THP{7zf*Dc`p_>T||-RdP*tYO^G%F|z7WSTj3 zjs}POtBM(e2~^%6lcPQr{IQZN*6H^u{u(*Ts_MUAI2WAyRQJ~sPSv7zeQNsa2iL@pr-3t4>ie7J=lC4zcz6T< zL-{!xkHb9<{u@RO{0~dpOW{0$|8PGJoICsCA%82;T*1-Y+TT8hOdEd(k-=*}Mo(LR zXI&qs747|x3TL|`6YuXPoGXqsI{14?ou963>*?t4l|!bpzfX?RyZHNwOfcGX^FN+L zrn`S|4o*-1P~lv3JmE3_2;uzbaQgU131_`Cy8HRZ3g@~bGr&JVILe7FkNXp)K3kkz zgZ#kYp`=1g{6~niLY$c>#Xl#9%v1ikIb@#ozaX5K%h?v2=YL5!`<$6^ zk$KPH^*jx~PtpApW3x;m)OZ~jZdDP7UlbJKrCINhB{>j}Ls zrT<=4XM2Y7h5jxw#iHz7`9l8`PEV&#i-h{aIj){CtL_9U8(Kg(L7D2I#l!C$U-d%E z<&bF*S}_NwWoTRuPN&fNIXHbno9EyR4s9FGk?oW9cAdwBb`{RYDK=+ZXgA3foO2UH zy9*~c=S~jo2@cK=(sVBDJwqQ0=h!mNEOQfR3OI!zbJ$pZKTQkmEu1ns6Z+lebcxoi zAgB3XWa>IAPdnFw3OREP{7YHq|DtEcU-bOptOi;0oqZu3^x#ORPiKWbohqOAOk3T(OQ0R@9=|=hOJMgo z0uAz`5SllDUrlI`pD>1KGx+>&08@S+V6!XVsue`r!S98U%QU@#rVG0=jiY6!xLifk ziYlS^UcyNPerjwc@~!S3ET=>tqP@t!B3aW_shTbk8kFNF4-Y`@ja8cV!h-vNt3DM6 z;ul$v&hIFE>f&=dj)L!bfT^N3*V#UbK50x85BG{{s%h2Mnzn~i^vAjTM;(c(^}-XM zP4MOD(H?4t+3Pgu1BUi^8DFLW?l70=N9a49r1Sl9oAVW*q47l5N8|p(v#hrk{S4n{ znu_`}y|!B(y5ye7owrT%7;2OXIu|v>Kr4HiM8vGTeUVmq|oc5k;?EjN#ce!R< z4@H$G5j7oyC)!}o8xbBlnoZOa`a2^!vfIjn9@x1vXrFoPhlVc~WPlQS==AVs-Z@3OBUd!@7U&&ewJrfO}~mECL^Q*=wrdxA_uJuZ-y!7$@!P82D1!*DP!jdr0NPCY zvtt0iXpH{r7+5C#*D)}O+X4JO(yt=l72v_pb19kqpkv@?JnO#}>20K+I|i=857@u8 zeLTiK9%CQvAK9>{wvYCcqrgYRJ|1HqkFkfx_?L&Yojk^$Jf!WT{oq&Rx5o|p!);)D zJlW&N9>?~$;{FUBtNoz>s6D>eFN%#-bblv|SI{wS*)J6BZ^Qne=t0m}@P7n-9(X9| zLeMRc`+7_iWmjXrjt>mp&EqFNaO5?%M|@zX&?qXg4?nz#{84{$Tu`*PA*U-Ec2m=F zhED!S%{q#HN4dXaTyzKRCGEtMiSOz9>bRk( z!cblB_^bE=0pyyZ{@h->-XYTdV7)nxHbvY#hckbsJrGBkHb)#~%JGtEL)?v#bo3w7 z*YIpL)4iBqnesfwl%HN_%JTtJo)4Jj#@$b*^)Lr9z512r7shKvPl|zd!1>r@P`*2zIyR2VVP%{J+68)Nj;%p6p>HPA?YL*hPmZVa zz~}M7^JNVa505t2_TqT50em~Y^0>GPyUBQQ#RnZnqDaTfpdGz^<+!}jMnBU&@VC*fbguV&_~i)nC(~=t!*rtHpdOaHiu?sI zFEL$&^s6pCi{Rgb!G8zk4|egno&&(=dNSpDGUa+Q<#rBm$#Z=dqx>WAE2cdEGv)c8 zDbN2*FJZ62G@}?(y-ryM%IlV8@RKz7*PCPG1BYhu_=yiJf&cM1`w-)@;+Wug%LacX z`oEK`_oC>Nu81RrLE(3;Ko_HbcwLhrv<7v9{u>cB=zGl9OiPAos=S*1X>jSH8mE-f zbVeCX*O%2auDqs=DrnlNqNe3de*DIv=wFgw(+Wo4Q%2wOM&Bl*uddP8!szR1^eu|j z`O8*TqVFW`k#W5{!R}0Z3yq?cXz!kgC~E#b-b9H&9ELq^LEUPDC&ad zC&KQGFJT-oy}UuwQYL-8NuP~+UL32aI@Ucr|CAE>IKr@{?@+G>)mU#FRj$nW<7h7Y zkZHKVarHF*-SCf9(m1zC-}#ot(FWfSdvN}m1~(P`@qt&s|8Z;$TKO}+n1S&gh50Jp z6Cao&^L>2a1w&UD`jWIiKHx{Ye?mR`m(}%M3;+BM{nDY5q8>Q5;BO{y94H6e2QfyE zhbX!q<<2P{NBPiizi>Yuz}qy%H7!-52JJHeBU-rvfd;KKJ*r6)13-=oTn` zISMpBPzB?M*D;qCaeRrRbv&<(D?rQ2D~cQ!M`1nj#r1JfLT^Mw(SG<>8Sq=eFK;TD>1 zmvs2wlU%1_?3Ven*=Kfl3C46b5u zsF81NaJ0e01jo_qf8a|&0F#o#?g{)ouep#12U-td>7(JxFZ362jG zkns>7$i_U+{lWHc4ZGBAuI>8zBib$(LEEEW4!0$GE;@=n?|^63$JL^q-{Z~_`tCvW z6OV^FTiJi3%z8A6LZjG!qbOR+=@NJr{?B&hxXSc{9qbQX0;|Dix~B@$3e**+V~rv! z(AOofeu|8uw~~?XUijr1><{maquhOoR)E$PzlbA#cWD6p=n3!#89$nd{c<(&zc`ve ziV{)(<{}5bg$-RTRxkFu(qB>Zg{=RgsGk`Z4=3t=oO+u3P0^#E8==RGc5ppbw9)Om zw}r-^eub}lVa;(A>k*bOZ1R1NerG#W!{a3%pdBR*or?DE27VTCf%lu)E%}^9(OKyG zF~_;izHxdUWyJeEuaN##G#B8_s!~yPy)nZ3QuNu3~ zf*4|%3B4{2)muV31a7zG*&y$eCv zug8Pd0Ny74jq!|p?V;ZX%=Az6KhshuhsS%)@uA0sJx-!1McSj+pDg06PlC>pb0jYf1|A8yQAyekw^r(S`}=Zyy$Ah!b}te4cgLgHHzD6klD_~I zdyo640PT8!X_r9E2pxw*Mru0F;M0aqNYMQLh~FHiHyiqe%r98)^u_*dJl12Nv&R>p zLfB_7K)JWRCR)Pfuh9Ld;~{jQzu3;R;IB+K3yq@X`*hsX@v?$^Y2^*%Ka6(pet8Vq zu?Bbu)`RbWJ_NiG^iKX?&xgCf{v40`BF-`G3O{GsqO+#<`7y6Yx51vR;V0}j&pfRC zXtkjWyWr_$q<;*|)DJyOF95T?GDdGG<_Y${3Wm;zCprkZB}nJ??f~Zf{#T%kmm13B z_c-KAfpYqAgPV$d6rBgnkvM?$m?`%Y!~fOfFJ{uK7&^t! ztwwIN!Qn>U_Wzj%A2)h?h|BH%32Tyn7}nbIyzNH)Bt>Zz%Y-J=qVr zzuC_Ug8yIqi}SI6G0o{;TRPw^b?9S1%YxsqAKe4Y{==00iO-eT@0i+tX!})8KXm&S z*YhIAaV5}dzvBJ~Xha|Q_XL~|AilAGO@ZG%2+ZZS2IX>@a(%j(@*9A1`Aio>{^0mK z_j?5==zStnK5t|C+99@+K5t{n`);PZUSP`SZ%hy1`PzagkIxS|9%%dDsow*+k%PIP zx&%f)&NPY=5l8w=2+HyK)Ig+1;QVT!i_hmyL%`>BrhGm#1o>B7AsT`9d?x;6V-Jm~ zkM}?(c<61MBPN4Z2Tq5a-ajeoi1UZFxWB~f-q{aC(Q&L}IyZ=-ufN4x&it#8HdGIHy87@6(n}s6oa5AbJZp9e%+6@z?^cKh8s6!u<%)qjR~w zie3T#ebDwV;(h{Xza98;8|cr7AA3M+BaW@byukM-J^|i^^U$N9D=j7Qr4r^Njx!IS zyc-d5^vh*@A#Oq(Rrp@h`wZP@_%9f08UE)6ha3E=!SRBl=+B~B|FcVVoZ|Aiyx2&l z!G7ZNfwSlb_6Mfy4@~)7j47XsG3E1IrtC*d*{_)L`jTnfT20xH81p$UQ$DX{+5`Q^ zl+P`gR)xPa<#P?DT_iu&7wd7}>arK#=eh{2>y7&|6IkB9{}pTp`_tRd!~XWR%ilJ5 z75b@5;1lR&%Kpdn2FBg{E;-J>)$qALr*z?Y2lqYTm)`-OLchxWGsGRH12C^~`T_A* z+?Rm;uc80u-_qxSz24E|xnw7zKal@O8Q#|f>&tcznTYkmubL`Dli?rCZwY%aJ@kvF z4Gi9F@cWp5Iei}1?@S|2{vS;GA3{C!;8&cEFXzCYb5E>5ui{*a&l4^R#eLg%@Q&m} zo7R$jS21ASE}WH1yW#`S$oeEc@bPeNR{`oQ>yr4uQxf0f1AmTWejJtRi?5eVjH4LP z+2i8_8xbdXf4@lV6mRCg_<&vy1@-)ae&YGG+;@nNsBZ!I7h`>X9v}Ep%8d^+8mh~= zjD1+OiSdCF!?gY+p@`403-2RK#q;>9K_4$cJTI!KsEo%b8Vf(JKQW5V;JMJopg+A! z)Eu;A5>YGA2>3-ilz#$ox)a+C{@Mxr1DG!!Gjjc%^eDQR8}Ir!ayYM%eDQ(TOns{v zdTXGr=Ld+FY>)R0&132xhjGB|y>8aoZLt33_!HJy)5MNUwg0?{btd6FX&Czby-j$M z474%E6Vp0|)-be1wC4YaecCYe3xEG;6xzY@eLU*j{-8duez67alYpOqa#!NMSln~^ zysT{m<2X81Let5mHLV}TRPTdQk&ox+Ea>ZN^i@Kf;B$-Z*e}imzf2nL!+~0e122Kr zM4aLFZI$?q^MU8Ne8f?-cOmF5)Pv7A8e-fog?^@QPSnp0ECl8FvJiZp|7U{g`{8=s zKNIQvoWTZAKEK}peXl|<>l-0{fc*gWkHf&{_30MSr5GPf>%jg@*$xXQYI}bGyT0}j zm!snyQ;wHRIbJg5{$R@WV(NkYnQ~lY%5jh>$490uutKG-v6^zc zWn2K`oawXhXQum1xjzfl{kaSE=D08RgP#i>#eP*o9jb`?>Jw|I=4G&603E9Ev=C^Q zN<_y&!%Jy=r5x^m1J48h9O&+Qi7tV5E28=HW3cZ8UJ5_p^rGPZ1o}ljoj(-$eghs= zR^taC&vHLT=yGyFKbO}Wdb#{tzR3gq zd~RJ~KarY*ZxLSO{S&?$xemY7I0zwEvrWJeEW5@qZ~d=3mOC{Y$xL{-xYY|5A?qYA)jEGWZqym)m~- z)W139UPb@htzT?^$SEK8FXY)z;yt!M_^24-a8vkA%5;4Waku)}FW7g&Z&}|fh@U)9yZ!f7 zw9`Ef{;Ci6#m3>>3j4*0(AN_4qPu=M>$4L2wESQFVJPA#>$#iV|9|Im_p>`*1pQFk z`|sjo&>!(R4y=2*-?&}D{CC>*ZsiR&_FRen;eO%#Iqk{)q3aj4=W)dKmhfY{U+$J~ z9rFF(jz`;XbbJ1HJML_^Z8t?#FfZned)%Ho$$VP?`+>+{ok&iJ#Oxlch}Rc_us@Pw|vfi|2w@o+j+P8t}x^N zZvDsO>`uS9(~pAn*8O<5{>zzP`y=jim~!p-up9A)`{w}GQ%pNyy~Odu?Jry&$F&bY z+f~rhN3pT;x$ z|C?sMWc`Onx#y|>U7tJUeUuODZ9D$ltsObbo4e!Rm6tQ$Kl$rl?Pa&?@7wcV_5W9S z_S0bh>G_=Z)Bm;~dH&xEzx*%q2me9duD`vmxU+u$t(=Abq8+`lf8+J?1jsV|U;Ss- z&#qTPwEr;T#XwMZ-2FRyUn25QS!X`*$Gkf(gi*b z$Ni&AxQ~tgY0^x`hb^7iKDaN^h1(ZJ%{u7&DS02kuTf8`MK56g_wA%e`d;C_HE548 zO<%#jk#T`R#nR9$k;W z&(Hns&S%TVVE*9u1OBex?R*{nNBe9!yFOapN9R7__apvZf60CB{jr`WH)4LcfceCZ z8^QVUul-?{YwNibaE}`wh08k8N7Z0&j@MUQ>z5|*OJ0}fTyNTOmF;EgwcGE`A7=bD z3V!&s4_^dH)c)JAP$V4z?pEmT_3aM7YJzi`l~`9*!nqE|iRn4w#XM8bQ&^|k>#Zgz zZ%1X!`L5?8`8mDVMEEhzftc>XzJckFXm4zykLJHYcn&LylDZK!?yBn-QaqBL2*o)} zF^%h$ilh~OqAI0)boKz=0xYTfVRLb;8*zSAwuI)-aq(I1Z5Q5i1@99Wxnp-;)?>%6f&-zP2pN-x5hq?GH_i7IOkqdW6Id;A7b=Awwf8;Lw3D59;70+7_ z=eQLgm@q`sLWVwN=yIV2XiPMplNX?wh9-;M3(yQhkB8~|P8{E=!(U2<;Q0;XFE5sf zq^rO)%lPCRt8pTJzos9~nL)3Y;Cwy`B=d6yy1#C9jif*F>!`( z`e>`!PsHOKo!1AAy}VxYk*&{;7agwhb8$X8I!`|ze-iPD$L$u3gW&oO&wa=`_pjs2 zj?aJ5e}`Tl+4ZpNXO~~(NN~N(ah%(E5}!&Kgz@t^XilvA#YZJR)N)NgJ>`8=XeXZE zaZ#J!3-ioI^phT!Hr4&o9sM!RLi<6#0v!T61>#JqdfLouKx$f*8=r=F4{+VN@{HDvFQ*QPv{5C=d8CB>`^sHo%Ztm zvfXGWpPw`3^Woiz70i7qJYS6S-&pveWoU9QqK{EN%i+0mI@FN;PPhLE+I1Q2I|14Y zahYi@FV-udA!z?k$ahurX!+aVpN5^hlkIWqqbjD~3pCdA(~pFA<|gQLzJG2%kKF_5 zqu~GU@g6ogk~YJxg+NP(^Yd&z8jSk#`;Qz?N`pTE^^2aYaaCZBCp8RSTOa)ce_B*u zr+*E+0RCj-K@B2lE81h@>qsBw!nu&n@oG_hW!6J@P80Wqo8tepI(mLujrw$M;G-2n z@%|M0^S$o>UcM&$h3#HVXfXdDxQ`Uti+RSpS_;>r~a|yIOo5HetKj%=fiJVnSQg^zt7y!U)sNi!v8sb zCZOKB-?YCb!_HctZJ#^)_33};*H)S9g!5rCW5rxa}46Gi^7yLm|F!4O#AH2>asROXf6D)F>lKv4bB<Rk-^j9>L+j|M}T+a94 zza-T5PenTZ{WpC-{e!+5s4v%tBlegD3m&!V3>?w*!)8QupetNZ=I z@_PL?q{3hQ;D6c0oAmePv0ZW{>G57HNzYg35x4(~-An(2evX?w-q}vkklTs&@cQ$= z=#NFdTiDlee7GU>pWDOn`oHL}{{LA2{m^gEBd?-=xxdz*E@_}r#Z5`N(l&#CbIpoZ%8 zZ#LG=osxp*Lf@|7=SlD$G}ggPdqXeNd04+Nt#0^Rdud#4tfm$5ybh=Df0S_r`QF3K ziI_K+>GG;=WvczKH~cUZ>#+0VBB?gkX#;?pVLia-Ry)BT2HYO}WZ1)Pzog!Jyw${d ziS7MZZ>{fH!^qVQA@K667G4DOAmOYx32 z)qz)Ge?xhG#qZ)I=VpMv?2yLTg;F^z(d92YWbY2Vbx{sWd4r$W$@N25X`F8uysf_{ zh!<_qc$DbR3axNm%TF@6E^q|$r)zBbrvOcJ;RyVo?@KNmj^CYI;=&5Qy!(d6p-thX zeyb3zH@FpWIMO#8ynG<17p4ylUJD$K-znN}@bK-N9zjP8P6iG~4Zk!vHIcu097+6E zEc_{S9&lBPq#q5=b(<)EauNE?;PSwQlZ(QJT7GR3=PyQ~2JZo`ir+vgYVan>U!2Mq zd`$9}pz4CtLpSxnZZo+g)iL-ea2enSjr_TuY~NDU*5GTv5x_kSj_k$hrD?Fim4G9F z#~Xal%Q%HdzK1dlZU|fj_&I~i%q6OsT!t1JToEa&k4g?852E)#(oxo|25W`7le{^?9JpeN;^F zEL!tAo{CPcK{2lMImtDtwhOmvb3erko-OTpF}W6vHTfUK)0wX(*Q0k_^6lC*q604Z zRmqL%ijhCp4Xf4UW>mc**JlgK}RlUvdt7jD|-VVdm1yOLYc z6v4WFA1Ak_&93yr$&XOBEB%Y)w)BN7{akW;`q`EKZE`$W*nQjf8eh93<#pkok~>kP z3tvy}LJeG4rF6ruqU-#xVwO=U-Ko3_`%-#Pbr;T;(u;b!a70RPdfJ8WN$E#(T)1M& zKw9I%aVdjovkTWx8AfLW&!XZh@l;jHC~6$5>$48^iBB0ztz5WE%6RJJ!jGj)qQ_i# zU`i4_VQ{_4L__gP)d&|Jo03WsT=J*3D9C@BGM@^&@bQ!d zRN95lrYxe$F8poE5*lsrsmCyXr7Wk(F8oKz3Yy}=-oQ#)Z}4TvhXq#CW*3eKyhYhA zTq>}Z4!dxLz}r-^D%aPZFE=p2Uv|jN?Ko8q1o1WC`hiWHh`;QR=Ed=3ws$*?ko?)X zZr9;>xr0U-{BfGbV+GssZU+SfUnH#`lcfCV@&3%3j$q4_SX=yO_{1Fv%7 zaHPNE!itX378k~skmV~s_IhfL_c$GLrO)?%K_>*yru$RzR8`;KVMO0Nw@8Hk!l)!L(%o! z0vD-)!5P54ftwq=67${Tfv>59!5;z-1@2?;pcnB~mcS(%W^fwtMBqe&do;wVKkyAr zF?c9&7Vun+P5r;61uon>@GY%&;c)tn-gV&_cm?95;B>0~8n36mr*d)J-gNo_t~Mv| zJ?#}dn}(FZ{1Lc9#|%zfilr9^}E`sO!EH(0N4uG4gb_4?)p%`sT7Z*I^l2J7|B@AR6%dVTW;y=m~_7udcx zX_LX<0#5|~$l%kk_lJQ$>8Qcifjl;!P4bCI$8&dZhtk+jcH8EJPuas(UaIS;gKbGoca3SCjvec6X z*AV~ks0ju)7XR?5EQ5U`c>U>B&lp?;IGns{p22#37NV9Ktk-8DYMsG)edbf!4A$#2 zpW1J*UjO;k34`_e&#x|NZ2U7+U2$Q2YggSCoUL{uj-3qTQbq3<`%z)o^->_W8X!2G z9;wARk9tdRw)zNucQue#WgA=>dQ@sYb;ig)4SAKCU&VrA{HlB4=V7S@R1b4E3{2Xh4@uMB^ulVI087s;KA4{ zcBhhRy1^O15x~z2&d#+l8}UB1lzK(*u3US7H+f2_Wk&v&xkQsvORF~x4x2}m0=(DY z?|?H??@^x`tS~;N0{>ueFW{M}Wz??*j{$xjSbt$YD>T<)_OB>aybiZFE3`B)*5@kP z;I+$emnyZas%-F9;3dFM3eL_|auR-#EHzqy8P|QMC+ihrNJKqZvc)LjQ-k+w}(^9smX%vcwSz;EjX1rLEnr( zc{Q>g>r15)yWmBs6;#>!8h2ZvF(aNI`0H@pseC}HA?rs4u z6`ZYZF5>!DRP8ZNMg9l8HRG$O<~+bSof6C94Hw|Uf>Y_?F^DIr6;;bdTAsfqcRDpj zm29l#PeA|Iz%vDBEB?ydmDGFHfCqK@^hJ1!7x<9iY{g%xQ)!jdp(Z;038d!%9@>;~ zw&JhXMW)57qRn*rchFx3_>kai#b33HO{=UXH`nPi(BJn1mwZU$UvQd(Gg(!|;OAiP z#%Wbl1A`m#dK>A71ZPoR*q3p^7MwqW7Olfq3m{+0g&#?)s$yKYb6RzELonv6RG#l^ zsOXlQKb2yqvA&wBnZaisWqmc(Qo$MI!T7=VeN>)@wR|D;3*#~dE0q6O+Wo4#;Ipbh zfYWQK!Gb?j?SLbIQw3+MT9RH{y&yQ9{*d<9R&N@d3+ulp(rT+c25(Np+p}qP)s9wN zemXTM!sENXI&5%LgT1XeJ(X^vKC4peD}Gy_$Co}2sjq4otj|O0s|O6$#Mdd9FFoHb>TVQ2CAZo0Ez~L(ele|;y6no2 zXCc(j8k_pJRW}XR^>3@ZZFKu|{oAU%8k_pJRfSy`zt5yfx$qosJ5|wz=X>K-oC}Xn z>!>;i*7aYO)>ZX%;WcU9)fgAvlGaPTEjT;Zwo|yfkk(gSHuxjK{Z!N=T;J?mW52-N zxwQW3UW2Crp9F4caJ~I_t14}P$}+e)@HfC~4c-BKC2gR3-{9lGzXBgIxYH4$Khqvp zrwkqd>`8xI@z;pB{57B9ZPD~6)DH&l0uBfM&0xL$7^H3+tk)ldREf4a|6rUC6iFYf zq7BXfE(P4k;FYi7s40DjYGLqx;7Y*#4IVWgzhIyKqS@9dNqA-4PwSq>ok$3?6lo zs0Z*egP#KK3%tSLTBYz7YWf((U)kdRYXUqR_#=aVc@oic4fZa<{0)5G;2%)G zK>9d!)!-2HMB4*AvO=ronnWk*u1;>-KMz^-_vzXYg@ZFQuqng41ag&a=ByK=IeE5l>Bg z38-%c&z1exJ~G>beVmmOfqiyJ&r!elq=8b&m^Q zNS~=H3*PCO4}BNXpHuvlFV8P~_Tnoi>2uVfu8dRZ8gOLB%X|cezbxXfg4W4+RXyXv zjWd?27hSkj#&Y$#3wO#`sooZxO6#DnXT~aZOz=+6RFvO1W3@Will7<5Vu_Dy)VBtA zJ%+C|WUNuw1M>oOj?Y_EeuH)V*{Vt!tmDsCRmor- zzqhIT4A${`o2qZHj^Eo=OM`X%-mbbBtmEGf)!$$p|8}SZgLORnKut7Q$FmPqn!$Sh z*{P-)tmmJdir)ri`|0`dL$$(SJwJY^P8;0jV~nbdUFvIthX5}IzGASR|FYF}gZ2EE zt-QUpem%eLR`m_m^XqQa&R{*i?op2#tmoG~s*k}(PvI_N#z$(9!DoQ?rtMW@4A${_ zpITtBj@SFtDuZ=A`&ex;SjV%E)qaC@yxOlW8LZ>gepR)PuD_1=2ULB7b-X{I9yVCV z`-7^B!8+a_R09mw@&1sSYOs#?htvxO>v;c(+G?69nU{iUmL9F zgU{5@2J89YGiCK9{AGpecz;;sH(1B}!-~Hy!Rb1lA5m2e*75v^s%@~2*GE+|gLS+< zsyYa^&yzk^gLS%z*PpA&F1#V*a~0a3%gZKxo^VW+6P!*vs`CE(xH>5~Rq(cq6RP?E zmQSU)I6QrsaZ+U%{Ef(esSX;v9{9_Q)9R!Pf0uDq)xkcD^DnE;`p>HjgWK1@Q;ZoG z)G>oE--q>D=GUss<653^zRYjbP=i-g!&l}qzg6!U+y>_vb$|vL*J#q&#L+$Ek7UatC9JOnr`qfsBh!U>*|cb@1wqrGk;e# z2W$CB(Dz8@P4$Ao`0y(9k@cp*HIV;OKv^Fe+!XD(6tJvg2LA?qmjWKE+z_pAA?(*9 z(`)fl+-$E?wHW)Xj}6`|IMgchq)u;y{6jKxTcZuWjr^Aad94hCi`C}#=d%tO%;$`k z0%2Ckp*sI9=(`liZw)fI3eryo!mYOrt|9d;V9_uw|GDTdXtgo;4BFQtvyipO;1IOG zM`omTO>j2p^QU4~-r<}-opwXt)j)CUQNh`y&!b9MBTafG^q)#CWo;ImO83FOmjd@# z{t=u%oAmiq8LN!obSj1N!&0NHCr!FOuPSS0nDlALUnVu$I%v}M`BgdVl1aaU`remX z-l{QD>(}R56|6Rb)9I6He7;rDnrG7W`Bsdz#-vZL%I978T7Q^yecn~cDxARj(rGpH z4@j+S^%ktxPvbJHS_?D|E!GcT-OH?IEicAOPGipx)>FMvbnKC7O=1sCDGC9{Ur$KYiP8Q*VlKE8ih@K2mK zW!AQ?3r?lJIM-3szgTvHQoe#AhWI2)!^SSj~>a4 zxAq%+0(e|%2kVT%5rQ0@llQT3PS4HEp&uUz3H`dpgovk_smqt2vfYu6wW8g<8GP_uXXKMLOl+&HM zT8E$0c$xTLSL=$wn|82&ceTQ2>-4kTxqjWOnFbd<0`xA!3a zWOlcXy{yw~e2KU8GJ9E)S6K&5NVx4#4Vp&gGZ5CzW zkZ2t?=}oJ%zR6aZC9FS{7DC^!kR+?W;A~=jmjX%FWWgWO>zE%d1(K~71gFz-!70`m zlb_S8WCg4SOSQfd_hJ8+m2Qo3;pSOc)R=hjhU+tg?c$sT1^H3OsAoH|ZS&&$QYIPNjUPPtUAb)_jBUfpy?H)*%;uB5R&i zbD7r9>0`5AwjOoil&n{*0fJL01L;p^Ewo+`jCc(Db;x?vdfUi*1uwM&@RYr5cc;`FDpR#{)0^yO&ZrNCPjtr!C7 zwbZ2d6a2Py(uL<_y<=5-o%Ll?eykTdWW8s#5u8r>1ix=BH0cpy|4r5glU_*hX6t9c zsl<3r))uS9O06#d+#ze5)lYCb;ZY>u9o7VsehBUJWbU+PoAd*McUena>5H;i4v_v{a>Z$s8WtFGW|;_|YyKC$|k^#1UN?5xkM^{(_A z8Aq%GuKYJLKDSQ0(m%;MZvE~`|0L@Rs|3~&Y(Lh2I_s2GN3bscbk=EWnk)Ugth3fK zSNeBZ=d9iThpYRJkD_=R06v%9z1z(eLrFjgy-4pM3Ifs*5Kx*(uc0HoLrAz>db#vo zNufwD(n*MbR6&}kfDpQbB7z{i&&)hW_V?xw{d{@0@7%QAoiW8<+i$zwGR0rp@3?)u zv26RcfO~FVG4t))0v@={GsPjXS;+hdB?33%pq)f8_X@VDCw zjMMY^EZ`rv3Y*II-#g%6x1J^s4S3@=p4pF`|JZ=HZmUf3=>ZmDtI10O1mP?$Pw&r? z074Y;1}MT9Q#>X>6_%Nt7N85UrsdOM%Ff-U_yT)5;k?Nk11boA znU>!e;3<5tneLw-|K5N~LIY-gKYtAPP*`sAxqzxdyve@?R1>!0`t*E$4X7dfVv64j zs3klx`B^|6LEFOjN0)yVP)}&a%=h<|{Uf2DDgKqcp%BgN%hGcXdt>3TX?csInV@Yg z+n&YILKwr$x2HQ=2}@0J-O)x!GR3Po+6lW%{>af@_}R4lM~+X0=cf27dq?4eZFGNp z`)wVaghtH#ezkRU5&D|q-5gzo#TZ}O3i`Jl-G$924{-Dp)a_;48|~;Ld}OkZqp#4F znQ!06(O;N|@wp9&>cN6-2j5?HmLCog zYN30zq}v-RbY%7;J(!0J^O=2_d)P+^XEEOL4AlP|ql8a)((U=mcTYq6!!btqmf0@z z_Qn`t0-Cos#t2K%g}dnUM zUSYg&2kkzC*8e65kI|LEp5T|>`Q(xrTd>IbYw0fJ)r(bosRJr&>or~OcQGUK-VuK0z2MmLUXjr z>bKK`PRzb!5tLg&j%h+a=3){b49{Q53?Uf(7v%FWex{I#uFL9=Glf0qp)mT42gFaA z*7qQ@gi>Z-vJ>i&M{CR$>g=V*!?!Py?}XMS2YJmEx|_V#Yo0LJ9tD8Hu<(~wa{We-M=r%gWt=P?!H0_VW)g^mDWGrB3XH#~?#xP>kpLDO5H@QNAw-{5#)jsT(Z zA-+E)6rN{!1qs7VKH&%!veBnt`Lm8tK|WlzyhOrfgglIH>pCwMnVCL_e+;hYUJJIxglTt^#aEn_GxDC&P!Ozj7(A!}-dOu(M2G=hz zUhppFo&@g?D1nJWS7zQn;}Mu7OyQPCHG$DR0+WT=XdiGja1?smad_Svm?9)HyV^@B z!ainSV(ARee<5BG@;SQy#S7s1Z(ypB&g|;%NENoZ{1@%dNEM3FygwmTxPs>W38}(E zH1EGi72cuWq|^S9RH6Jay1!z=`%hAZdT8EXkt(!D^Zu7qVJx#R`31^N_?kwDK1tX2 zC3V3a;COFAIYIqQftfx6(}Z+LCoB%{-!uwL7sj3Cz6kkGqrePdDVo+J8Uw z)LFt=NJn)2N$~HD0<(p?=ehkMJzGeQu1JP?BAE2Jk?CO8tEUaesBY`bw`*pM6xWbQz z`tItj!g=Om3w`eu+B-rinzxs?3;I>Me36B>e|HFt(Y(F7OX!W}?dRRXBs6b-?h)27 z7h8CH^9Lav&D+2GghR}JM1uOw-PQYr7QfQ{`H?Qo2^kxBKzPbrY~l5hL&68wXuR0M z>m!GSCTLzCIU@8y^Y&|@Fd5C;lSP8R$$|D_A&c3M+=l&qWj`()$2e~<{v_PRc-waH zyfg5m&<%dKbpO2mbVeA*>_<+vrN@6xn2vE?ANpAcMDzCH1tAyB+m{!GB4#_e2Is#l z@RD%GV__OSI zdIwm=mL?Akki`KePY-YxXPUeuKof&aUK?PD`6kB%c!)omoEA`CylwIVdqq)zdYkKd zYz*)cYnl9GKxMJB$>##9h;(!l*Ydvxc#F$Sz86qkOfdObKuvL%$zR!Pi@%s`anu!` znXEhNi{+r)ac#evqk-7mIUVAP3Ct??7f3gtLV{~8#vB4d>ypy$uHwShS^B!;y zg8cGOU{|rtLuyz4)>VAVY?tS-_i?+5)<-mMmshj*al48iptaRB|Li7KLe~X*f@?Cb zm1`WO`Db@=AjZ%6!YmVk-NhniKlykzEzi1(1j1@C=fT~@S!n(|xVspH z=FfwBh*4<%Jh+Fr$+dngec!jIxD(Bv2lo_zM)T*jy~L|%{=BxA_=dSq;Pw69;#-XK z=fk~4>tlYr{P}Qiu{K)Cpy$&^Y=q{|zx#--(fs-E7h-obfByT0*q_<;{%v1zF|!}O zzu8xeV|Kld+gH4d=I`V76Tc{>$Ky-*`?&o?DoCFaZ$I@Dhq1Wp{mg#i6f|!y^%K8C zOHf|I+*smLG;crk6aCR`A-&LeD4MsY`iXJqhmdc;+<0O-nzyI=i}@xWt?{L}6;0b; z@UoV8h}q8SBOZYR#S3KaSocdA18@( z(Y(DlNt}=7?ZrvrVrD;*2HWeoW|G+ZAG-Zw3vVAz7QaIC_Tgl4B$~GmCyNu&KZUXO zuDA?M+nXN5M_g;NM5c;iCI@*<6XQ%?>or|WH#yvEhL~^i60e!!R+DFynCf|iNnO;&=Ii@qk84_YCnn;hj>DIPRA$+1fO z-Q=o4tHu9Jt{dbldcP_=-ljoo#11C63-S|3nA|zYUtD5x@1V6}yvc)t?BXtyM+OCm z7fqfL7qZn3%tKx5R@X)QEuq^5wO3W zYtqDg^xhG4{dBPqT@Tv#Ft-(aaY&c@+@Q`8qtWLoK`S6AUo1rr zss`Va1Z)tyxzXia<>4l=FE_sLvq}8gWDl}Q9BFd2_`NvU4)7PL>?&Kye`HYemw(0=hplcnGT;#Ks`jx>Hq6k&uC`hF<2 z6nt20k4|a*Twx9zxW156VtAXXEFW*T#u>2e~N9ae0};|+QQ&FVsBR`DgRh^p8s1+IsUnSKjwCf<`5_@yr98BI9hk`{q?*(o-fO1$OC;=nR!B{0F>@@b z4Dm%FwWU4ieNAA-wUBxeEDV3e`s+RPd#!rXAr|N9F$m)Sm>d~WUn)n({ebeCjvq41 z@{#l@I;fb|4;o0{qUrg}w=|Ia(65g`eb&-Y%HvkHLI2hSp|Nxvy{G|wKclg9AD6!p zLDz3AHGq7H?(er7aD6OIq`}NLERo>uq=~c`ed80DO$r>1J^|&x0Mb<2fc^-s_ZOs@ zbORj-zaxn>m)y$J?ccEc0{P`&(n4y(t;~p|?Sod*5R8w8;~5Q}f$@QxpnX7EOQGl+ z;K8JgbP$)n2IuQT+DWG|ey%g!UVG^rx)4S)ngf2u97+CJ1n-NJ{n!;PZ>8$q?0f*8Qoq0_)bW7X*ayLPdx^{pDGRMDfNc?PS0;7_}`E|l0Ui!Ja@K+_Ln-s zztiP^V#^Pb9L$j|LZ?Y>YSXwYKba-%uK&MI z{fOF5Qeb;SLuX0Xn4$axj}HA#3Wan{^XHHe)N`e5^u4)|enRI-w;J+z*nAqFFO@dp z4u;?L)X)Xe^2Xe&m={T>(d*#%HYaq6RKn~!zGYHf_+8WUYX|wr!q8<>OZ0KL|Eofm zOB0!$#A6=J))=}%qWJ*5A8}x3=qd?5;bXo6$L9=PEp9_{$@Jt1B$Y>U(d z-3{W+!*)n#nVsZq8sz6;yQR7x)8)DQhV7S{wC6s!8onvC8O76!1qI8r=>TzyjTj~?}VLypP%1{bTx-ul79J=Zja~ZDPfnS$0omQ zcv(_9l*O~du1Iy5{p5wP{(=v$N{yLISbm>c?yBU2zEKyB$8t@|<5nIE7IMb&oAeUn zJpcYp8rYF;zr>OQ<7xO zw*M_*e@eH|yu7(3RqVvKPs^JFVYj4-Xjf1CRDV1KJX}vIpluB*8()CN&@r?%0V7{Rg!}W`SF>2Ry zTX=c%MEVosyu5iP{fp-1%`?fn8{3}3)5kNZD|4~sOXxRSUHzHV2fc0=y#E;XTpEa` z`E^OyOKB*2+_&()V%TeG6#8)u7^yGpoir9*8=l)J;cnIm=(L(J%Wb%5orcbUc#Uw` zItP7p9F*_js&x^XK1cdE`~&Ms^l@0fdw2z_FZwjBKQO$K)gSEx$2%gtiZzItr+4@Q z(i+9=$I8Rv&eg0NnW6s#%Cn=yu6OxrZLDqj(0HVr_mq(HRoYoQ zaFcD|)>YeCC!!D6hS^}Ner%04`H^>f>qGR%P~M%W_Nle<7j%2R!~ylb2UR*)JEHx- zud8;k4)4q3H{txdR_$T!*pGV`#Ftg=W4(k9xZ>WeFL+@gZts~aW~<8rtm@54d`#y!}H|uudJ27g#FY!>l39zN7=hH-rzjYG3pC5Y0k%g@0?E&+N;_T`CSAWxZyKpA8>loiUhi z|F1^y{4RW)bsuvvfuSnMz3>Uv2197vNo=tFm*JDF4rU&AiA61ibySZALC7pdDa2UuKmxq4r6xhf4+5sDc&|>zSY6wguwmk60z8tJ)CYY zmiR*XG7yGsT=xz4wRA#8MJ%)KGkHqHDy#Ph8jmF1pq)7{!q55xb1eA~wzn+8Zas@} z_nOcv5fNZb|CVnrZ!^?KA{^Gcqxkx>XTVjC2(fyP=BD3W*4*Lh(znean!|xr=L`-$9Qg@Uec_)O+Fi* zVQn*k$9a0lvXY5qc8kcdK4kVK54OYipAos%9g}F>b^Qyh`-a^J;1+V{IA<||NE@BF|L%*{qMJyGRKlgXrEP$ zJYenaL$7ZnIi5>M?Z|`H#ppJWUYbQ7v0h-dlOac;J{Nh^>Nb_#U-Bo^PkTldTic_T z{z1ssk;kkXm|ge#xOF#kESU%S->Asr))I6+cyi=VR&^S?zhuFuG=AFJ4DHK&);b8? z4f4y`kw06PqfZ=${4(-_HG~=Z$7Bmx9r=sZF`aJDNpitakyorCGpJq1^SkxkOuoN% zXJIyi$ltByXK^Q;fl-GeuUo65)hNinBX3$eGP~99DlO18QS`0{7Li=wLAvYBIv^)S@O zqUzg@E#&bpL!o^W)zH>y5w(+Cg!;kys3x{A&>H++)<-q94M8{GO5Myhg`52zcSJO| z&0%)sKh13?(LDcYVQa9MZr_#Pw6bkO^Zcf@?V8DF!`s^EOyYETp5J_IYi6=r#3#04 z%&z>UgKZ46>;81G&0vltHh5mNHL8Pc_ENgNSTYyt4_md4Hh=V3IKN#{pV_vfXF+^d zRA<{QlaEJzZmYPAuU{LUhyZ=J>VNrecsy+ejL^R z|E)jZeVnfUkPLcny8b^=Wv1&}oL}39bV_VF0oWpo^rM~gllXDdbfxLHU| z=XhJ26?Azg=>Yw!4V{y0bfjV0A3*PC3+H4TS;F4)-kXF4>r;l0xTS^t~OA$i=of=wHEKI+xfMqf5ZUol9-L+}K~d%od38vA;uqhjW=N65ZfG zcz?#Z+?K%1%eTegZ9Go$;P<%3xx#i5y#?%WuC|q+S1gCwndSgeHgOfd ze{FrCKJB#I-ma#0{T>2snlF#j?lOo;~}=2=!vkuoz75O zDf-Pc$Pb-iHt#iT`=p`|ydU6Yw-qiuE3mB5#sv9=Z_ zUw6ja=Aq|Jp#5)2wg~ijiNVz0F1fxOcGQ-)`%RZqw8P*LR0)BKl+qeCHOu(4Hu{Qb_+jC}kKM?94G0~T7!^8OUSMEdlioR;IgmXWE`pVAeYc>z&NaAr1X77pq z-8LtJ$5%snbUylqZ3Egn3`Q?+aLe{vB#qnUmXLlY2qm`L=uTjXl-T}4CpDq{>vwFg zxY_UXTJ#;897WgXzrULe?%66c+eu@1K2s8X-!|Oj(&&e_95n5JiCSA~JIU84e?&rl z8~wyq$w{|Y%*HRaxjnPhXSOre?`-qX^m$Q!1B<*2-5KH^#JI^}CRdJ;zx~0z<@V^c;naQPF6g&Yp}dRvLe4WeJLXII5c({fUx+wJ?wG`n zxBmv{ABp)|?v1AT%4c{a0a|D)x#%)EVn65=7ucKO{- z`aEs4>_jhr0{eq_5;_rl8Jvxt^&ee+jJyFI4fX`@K(B`DGlGnj_oLInp5S8iLVp?` zC!a>gg5mpX`4YMf+x~d@5A-0m{qgc$^f?xvAeW+_viJn~6}o*rm||D7Ny%YNHyki&071z;tk!9sOn9V45k?dghC0n5U?-IL2-i`4s z7ht^q*cI}?Jih#{yK{~RG!1^OFWlD`5YT2?`AHtERvzU z6dNvkY~siF0r-d52>CjCIvmfD*hu*edK6sW6R}ZpfrOUxE+D#LE4)(72N{g8JS5;5c~(`Yg*I;^jl=o#`~5Ad{_h`A9M& z7seNeO_VonZlm1%2O2N3@cdx2+#4-V zruoAbc`W*MUAR8NR(U0}o%Cb*$2Qr)?8*n`Gb5NJ@`|2KJ2+)e#7kA{y|yXNB3Xm zy3D>L0*-%d+(Ehbettdvg#36$+#$K*0q#w+pg$t6P_E4k-+L~F*{a$V$t}?z&4l`M zyJERFv+I11%Y&Iqls6Zle2zOVk7S1azDv-b3ZBI5OUAB%^NTwnNAu+^b-#uBQ`}GT z@Pp>#JuQzlIX3RJyqvkjLfcpV3CeZahK&xbdfuK9(h?VKxabzoO&yozdwCh{sFxg%Eu89KZ5=d>& zcm01{9CzcrdH(z7d-L>l>%DpUDtT|7p6d^MUD_K0k?yvj>q+eJkIWCGjP8j+3}JXIKK07@8r72xR3t;&nx4IlEMtncN$rsKZ7V&d0f5) z`RVmIi*ghFH+Vvd%ibczsmnxzv}xqUEkrX z_TF^;!SOZUo3CH*|E*vDeVnd8F22Eg)AhfLZ}i@D{pImZl{0vKs<8CiT)E`BUJGe@ zZmwKM_W?H}&6PGMEO5o_G98b<)VGDw5lzSAuNu@s>48pz{IevkrP3e05&Qr=6g`vO z|5nOqWSz1p*~YJ{$oWvNtgE{?V!F> zHU1N2EP5)7cTo1BhqCx*O6600`D*ZcY#-lQna}Jb%b`B8E554|ijD^#itnbZW46nW zu0j8Qe0OCN+6MXm`S>2nF0^w6yYrMLWl@ z2hDGOkME~MquV#KklXS772{{V|9*EN{eZpD)!FsvuT)2W3_c(KrScJTB-wuz@`v~V zN^f+nU*UO2!a!vPUmo}Wm2!+3#$P=K{nH6wE82N}JoNpC+6hCIKFqv6(m3H8WjV7i z`40NW+9!;Jai!_R${Uk=CX7*9UEuLrTWEWGoYDb(Gzj{46UHmu(dD7M z{yJfT(jPs49@NJZCMrYGr}JRGl!Qsj7caE=gel5*=u=+weM}!^ zDY|7%s1GDeRs7KDu>S=K)07bO64>6-gy~8Q`j2!%;@iwnQqi~SKzl!7rjmrSLotOB?}!5Zbnurr_ncId&lEfDHqX% z{XSMJ*O~p~M)zob=c}B&$gUsW4`1aGvmd#p(E8sR#rqPC`^o(M*ELFA^wm-D{%OJ* zr3EwpeKaF}%5r8`{n}q~T;}VaX8Di55`q4cl4vRJ2bCPL@S-qbo}Yv2{B49G#!8X2zVfxjz29Y z#wx?nbo}XZ;Bja=KK7HiIAtoDj*tBsJQv*!;#Cvlm8EDp{&hXDADWIoZH-S*g3)yR zX%BETx+~PzTO=kb$>^crPZE=q9P~66PgXXfSF?DEvJ?F=T#pussmcNL7vN74)07|4 zqrhJ})0H#mIpE>W4COMjt3N(dxrcFHzs^*ipn3f|Q~4Lo>(^O|+pqk7@%nX^qM~{I zIa{fK=Jn@n#T(7*-#JQMG_QZ>C@q-%*mybJ64xmsd7R}h@J639(d1^}Xyzia_4K;6R=O>CS?*ce;zwG zaf=en>?a?C{)#1uTa|r04wXa5)xhO{r|bKYf@&5Lp157<$Lvqy!4|Sx@j;)5>z$Oi zTbcL=+aEihxrqmqIoxdg`XaxB%754S_S%ev`Ez0pE9Gu*KZf?t!I&dTU1mF>1kAoJCK_hxxP;k1NA((|9C#xgN%s zOgyXPG5e9QL-71R@w@_66Lx;?P=35fyrB4_?e6eCapGmA&3ztUycN=S(jQ8fhumxK zLj5P{uF~-@Zs%0^UMlH{Qu>(tHJs1Tq?gL@QtrW3;p^3;*Gk8y+zp_;upr6ez8L)$ zygbRx{rWQ=uNMyezlI|}4!%f@o2a_thC!;@)hUdRYRo%1EHDLX- zN!8qIzU0e?!Tx_us_8!P6}Jb}AMYjAac}=G_iU(-|C3bTJsmv~>f`?;HFTF>^LSxH zcz->)iF=o~+^1^8?6%1*-9v~QyMEsvfd1FycJ9~EV_<(3l0S8icH{Adke{|l?(9BC zr1m3yAU$_V?&f}(8OGy+_C){W-tHZ3eEAb^VZ7wze(q-t?)I?$?Bqf2{vU9ET?+kA z$wS?>^3-Zpb+V6plS(|E z1nryRtpCD#2V+6no?l$0d*-qrc?$00s9CDr|M4emwY z!T#CqgKKir{v&(JI`<9CPI5dQ>XRvX?sqZX6C9Va-o0imzWm3Kelk-wx%;C#Li))} z+2Vc|P3K45n6lmdLLI(*1l+&FDL=SRtj9g;L+CF_IqY7FPPqWjPf~t#_pZ<551YXC zPdV=HK-2F)9;Tdhmpn8u5a@O6`Znw0v^J-G#sUxeS+rc_Z4X~nI~gT>j=j?@*@C(Ok%pKr)ZeTO~{>z`OtN!8oZ^^0*nh01CbG@nnQvf2R6=S%od zZHwmfC48uML-Y9>s;C3ee7=S%>S#2b&tj-wRdqU=&wo)>U5uvnkK?PWs&+J=AHrL8 zqWSy~-f9M#&(Bd!-Gt`zb5v9Jq51q9)z#x@KL18_^%9!aU(T$qq25CC`8#T;PtkmS zkecc{G@l=&rmDB&*K2Mvou89WFK=b)GYO8J0eEyBvYBw~Wf1{2%5Pdoo z+Pi*r)X``@|3+PPI-1YFQCD4pE=ZyCC)HE!Xg>c&JvAC#9*(b*Uwt(L&F9~!uYQl_ z^ILqR?nC!DMdy$DNIik(^IJ4fFQNJT77f(fXg+^ML-i?|&tK6{B_H$a^LHkcXMT-T z9nHrZX{1&~^YKO+s}0b6yphIgJJ?2ch}=6HV38Xg>c$Q*{QK zk1x_pU4rK0i!@UM(0u-h=4v#W&p**z%|!F@Oj@YlqxpCyE!6#JC4;t)TB;||)xjR5 zrFt37$0uo}-bVBBNm{AT(0u-m)+%YwuNR-cqqS_z*(+o)C1eEy0yYC~oi4;g;H zw^G}xU6^_Kavwa|bWr~@t>27vQuR;h z@xl8le)N5%&T3_JXSlyFQ$JVZ(Z4(3d2L!Z^%!~+w1?c&dZ=AKQ8BX)zj!F;KphF)e`iPs|zpWutMVd{*Ie0}P#(!Nn^f5wk51M+M5UQ=y`-o`vq?TDt! zcaI*W&gW*&`};H-qrO3Bbb{}p!CgAB?a7f)pV|>IMjg!TYTu7h*D&+@wKZmp8gKIM zm~m>p$xuU7w=lcjUzn)wVRk)#o1`A*%j5I6N$QFJS%0!x%9qFIZYXsSB03yaJ2yZ;ensyY!}UZmr@PgQ54KYu{mqtny{=rLeV@Je(Xi%(bW z=&dY1T@7b0w$SqI+q4;K4!Rb5{yIzDjrM^1{j)Gzg@c8^B8fk*oui)QaeP1LJGIW| z^mtwG=X|HOVfJV5>x@gAtHP8D5O=+AI*)Cy?D>Vu{P{&lx>gSKls8(jWKyN_Ts>fNaoh^^lxg|cxK-+1jPvJZtJRKO>G76W z`17(gY7sNv-@P^d>UoUw=W}b-n`r)gETEy%c4>3x; z%Z=k9MyXm4dVV()J|1F}+Jc$i-)@OfY6&+P$ga0jea6hkM_uXVR4ex6*C#$0-oFcq zR{NUlNn+F)CRYuLRkKX4-#<<*GP!e5y!zVYy+VTO-K%W-?Sc~3uT75jN>W#veA||+ zrkOl4C`G+!@+L>B`j5#|g3{Dxz00;gt6aJ|z~m%HhH6Li@s={xY&0K_DN{XST7HRF zruwJJQI0INN}sar?{H+R9Za4Zl%viySt9FHr^#8qx#|g%*Lvlt4@_2q^3}Rulx=@B zDNy}PuGN3Nnr(9LpbhG;CTBY~s&7oL8?;Gn-M4Ie9^`v zYpZ(7WD>MZ75kNKFWhUpTF>P2K|9ouCKoz(s-Y(5J9ep?Ol}&qTfL3u;|uLkt^N7- z`S?RWs2`#E_-1?69%w$k* zpelaJ_s_>yJE+!1^YOP1s@>6ie6B<4By_vgbbp6cKQtfD?Xa564Bw-4f&PQE!|GX+ z*QOP!6$a4##gZnz@ZYpzwWi7GX~$H5X1m<2JZNXVkOk z1>mYdXVfd`;U0ATv+51>WN_7>v+8~HtV8tp&Z$q)E5RP*och|eJk+mR2L7xH1L^g! z%d^27(|%SpbkbqE{&}?`Iv4Cg&a2hXGjr(kh6`#v^eS)`xEVT)#eY%Tp|`O3FKTD> zrCJu4pZcQO3w;Ni(T?;HAFQir3fgOePW)N$y+EPh#?iXO}2m({uGM&MH4 zE9z2oXK>Y^E2#%=M@W1FaEPg|E8^rH#6xfs8P*pU2zIP_=rdk30E%;ZkH#+bh-T$9zU34b68n`KX zG<;uhCheBm7Cj&QE4UN-F)TlV+*W&{b%=X{2cV}sqUozd9p+je>_JM@vFKR1A9vI4 zs6Oa4@H6mt=pHp-_OHOZ>Js!<;Eic_)ivm+hK0OKyQc=B--4y|d#V%N7T)LFopxVM zLVpe}1ZSfULjBn0_CVc$J^}V157ZsZesX=dUpBXg>V9-5I5`+z;jBlQpTd1!BpAb+WM(D%Wf;8JE+{q(Wg@GG8w(ebOb^v7yDlReW*)e-2F z)$sjF`cu`%M@r4Dx?o7ooIRJ^N{|ebc=Qw z{TrlzDcwzz$MNNpAU#e>7qnyO_3-#wpF$Boa2WG&5P4WqL)eH=5q>P3fLm9E z-bwI%PkJ@21v=*tb#-kHItzYJH`8lqMd+{cp?@pAmbPj-Uq56C^w+1?)q>Hyzqq~@ zjXn(N$&%4P%bvlP_p(}udqyK|JF}C}pXZ9?<%vz4|B&CAc$+CelgKU-_Z z(7gO?qn$m_Ek)DvYdF{s zP0PPY8J)FYG%f!c1$Ne=U55Ql%IKmcqiOlvD6or`gXZP?=h{XzFW*1ccA|Ot*i}1# z=H+8o?ME~(-@9pNTya*uchfGTdHLR5yN>4Ndw1;~nwOtFv?pj@e)iD*Mbq-LNk&i2 zZ4SS`wES!ZR=F`h>ZP?{=HI_g&*-JCW{xDK@P5{kjNV${T(&;hHVmHnWqhISL(hZX zTS!J<&0{`~C&2ZO&*-nsK-1^jn=%Gy(dfqTyzpSgS6V50FI?{v8ACK_0bl2_@MmxEX#qoGYX!p6X{ysu`if(!v#*4`qq5X@d>EkZgZ4p~vrs;v& z9Zl2Mb8vYyO%LzDRnRm&NSPzFIxfTV?=rsC8l!1?kTSp3+HkYus}?v?i(uy8L!QVO zrPW=`&yQYDEpv?4f;pDFg8a@ibF3D_%-;{Fl{rpJ;mhOsj@NRy?&y-lW%b_l%)&bM0NbS-)nkAJ?1kS>`swBf6{+rjdEGiPhlnR$7o1kTmgGTY^@ z2jKZ+<~%JF&CADmS|YmpSXzIYr@_um?<>2^`};;@F2FeN?;D@F=)GxwU(5JqS}xmO zEU9FH_q#HeYrmrxJK_DE%oUoaFFoE^vWLZ2YW>iGEWS$fLtlgR;+MHv`vIL%3TtKh zYR612$n?|BnY=&KU%P7Zxy%6VPjm}-{(CDkPX@^+6nAlpw^QWwMt*Sp?{}g?mpOvIFFnM%VinffoNWKF3)!npo&5ya5jVC!b zD_yfQyUNpaEy3i)5Z}bi)5of;46V=G2i1 zy@2*|MAka39CIx3g!*zqR<7o4a%NVZ7J;Vqk%?R0;|tUi4Z**tyyR09yfy^Zq`n~MStbN)y=)d6kdTG{vZ8AC&+A9({sLetDb_0Gt z*@v`Xbkk31efN+SjppOs9oCZ3>c8}Q9@cWuuaCg@dD%y_@3|E|zFm>F72|Y#yTGg> zZ7*}7TkFxZzI#+FVs@pUqgo9IJ-=8&(@)jxV_FlFn`EERRx!KM&nYc{xzLSYk5gJQ znqQC8+F54!9t7%-Hn+3dW%S=*4{}z!!R$(Z=d@cqj``;~?H`l7WS`S22h!u?>91Gz z&)O%*_9rzXg{KPdc3NgWp<^PUp4O_y1!yfFTZI% zXr5mF(6%$XuICNy3^Py9!?SN_mrWj*eN!7A%#NR=wSxIyvu|nJnSIGt<~!O4Av9j1 zbn5``BW2&$8lb;sexQBMY?lM8!}z_~5492KIOa#%JY4<)q@SSdzqAnaedfoQe-!Eb z_g|{zusFY-kV3W1CP!wMYE44<@y@7A-#2@z4Pq`7D*iz8kEhyj<|0cT>^~{{sWt;W z8ICtI`GHfR5>4G-hj`vANT@-FR#wiBNcKNk5wo3@52vzUYNyb&e4xI_4D*dZ`EeQi2>m@g{~bVH zX_dqI`EG^h8@ICm#p_jQL=x5QbA^s}crvHn!v+XIm=H$!2fc^m=;;!#z zc9KVMeT5uNFTuDM9RI6qL$4N1m*?X(k0u^^8)iS!2-3pXpzRtf%kaeyG<+ zHv+>K&N?g%e}y)lKUC41Vf@uty1cjE&E$7k)%4-aP~U<3Gn&-U^O#|NCb%B8b8709 zW9k0=$TQ~Jdfj;HNFqV~wMkB0J)PN)bYuBl1N}Mk4a?$LaQ>DC`fGG!s4on&G}LP+ z(DiRvZbZ@iyOG`)9l`SN#(H~nS9ZUf>YsBf3X~`JvYP2%pcBERS66eaUeWZ@N}q*}JVNvH*7{;@MQuQz54Y8qVY~v%&)e$$%)T&oJ1x)J z=^HT4$HV?uFGPRG_Satj3C+jHZm(ZO^YO7i(eI)8c-WunZ@6(h?2h_7^k{ZG9d)-v ze!WJ+@r))N_3~&wzV>H&Rc?ikm)%LPi{|5Hch=kB^4H*eeaPo}C*~3yAH1917nkSb znRe5^MDy`XyXkYdEly}3t+8~|=cC6!el&-4*YDu+Uqb)l2=IOM1Bg>ULT`lQr!K|y zQz5?zv~<`1L3bJswLD8t{Vguv9{T@Aklwl_iJ!kxlkUH_E}-YY`WDhhcjs2x?S=ko zOCMcF?}zspGr%6`TRZ6X`sfwVpTux`p?73*dow%9SMYoIET@mIrO^HJ^6%3R`sp>9 zODwcL(a6$Y@4)ODzqY^LjmKI2W`7y? z(+27nFwX0r1N9!M^musv;ftKF^?@dTn=?euVs_OZhU*)cOB7$ozh>tQ*KeU?n7`4z z)9Cg}6eslmEX*094@T!Pf2#*FyXvbW^<Nn%{hG?GuPtd!gd44-ZzlG-c+f@B*23;S<^VvX1K+bfXWK#Q) z4RC&8IWzP@=tFQmVL3DPG0d*|@hshk*;PN9txso$`QaeHipiO+FGk;m^ppplgvr-(eD%v{T3;{8@zd{`{3yp?Z<51~59{l8eHOEwjR&?R z$DuDa`JbFXJqk_7m$s}6*0Y%Tc-6ae!t|}^8&H2aS|vjNiTQ@I0N%IJ*G1}=F;45p zN2^5YZ_spmUhAUtI_v21+)$=IhVhEmMeB{YEma^tZ?rB(?}1)-l;-EL`atw6D9=A$ z7pt#Ee{cleXIdAhcg*G6^ZkhCKM8tgZcAi1T|Pnomf2OGOw=bZ^WXE=>k{?3%te+W zNIxDVNe@O}f%F6O!RXn{H!K?=eLS_K=$lP`39g*S_HSwO7aXr!s$K&fIFr`TQ}x>D z4p2T)*F*n)g%B0o1ic8#|8n5w==Ll>OVwMU$KQhI3lMLMZsi7}F}tPf9Zjz9mZ5h; zKRO5fvEYHsMWhhECs^#3sgGs$CG;`N#C2KvS!P#zB~O?0>G}Aw_V1!~>-8CEI-g;u ztnc+`W}Y7fuG^}oo1D0AyZ(&Xl^^ZWUo*SfE4y@|fNmeYZw-R>UD__)1N{$JO5ddq z;AZWWu$(|k|etAqM8~FBld;FN*8qM23$MufPuKebN-kF)7 zj|VxSPh@trw|>&+nC#Q)lzxb>kH6nD`cr0CdOoL@-$?h*^NZc<>GJA71yfp2WY_G8e;K0kr;lQQwT_?{8hwkE8cPd^EYNpG5Qby{_n%O?3ao zBn#?G1IVws$SrqWLBEf?rhA}y`}vw)0nNXkyQbG*E|P1r`s6kJBW73mb4_o<>`MY6 zzuBF0P4CC-PxgaPt@~Y%=j#)GKd$SW`TB&m=Z{vou3yIW`Te}1OW)Juh4vx5pAK)} z>ow5yd!%31-PD^f7ZI8sO0)jdyEEGf&(Ch_{urm}3&w-fx8nNS;CMX99sL-_d3wC7 zH{VS6XJ_r*Ejjn~Z@3B14~Pr~Kt{53DL9_gFWVJqQz z(Yn9%^euGzuKL4ceFJkWnFhbtKi56h|6%6W^ZB|bx@9X}o~OUp>z?W=GmnoZ&-Kd8 zy#HIu{aatn>?%KB=z*r?E#x0Po?Ctj*Lwsw9c_J0pO5^b=QF#G@1?%)f7XAgU%}jC2}Lx0EIT*>e@*)P{-%tq7xr@6WA#uAhLay7$`Tc+PX#N~cqBr!vONI97O44lR6 zC)0U=vcMZK9#xt4A9xtBbNDN?@%*mLJU=Xl@nW4mADo+2{=IpBMS0^FzJEfO7jnuQ z4{`euaJ}B8RWzRC{u97bdPU0*VD^5 z#^a;_`Y%QkFGJqR(i2H$u4ME;)Bf^P*_Dki(X_vudKj}GsmS^}DjTyfzLCX0G*+V1 z&|%EQtbK4b>qDae&FhC%jbq#v+8^FNp_);Oao%53-OzT?<11Epe@%6x0k?(rhwsX+ zZZv1Mv;Lcc+!{ttjPw4Rn#OpH)BMXqY8n1$I^Lj^UdweqB>H~D*{s^eI=()RH(A%% zjm!U$4)e?8)-|-<^mrm!`}ja^eWMGSjvxDDZUbW_n%3V>=QcDpFvrR|v=;+%niw_r z(Dk{m<~B9*O#U;snbG}+viM)Q&5i9Q|DD^y=(o2l?v~fmkoT4OgS=Koy2;*ot&R5k z%igF!{^8PYiOXEIuUfQ)7tviY*^$@T@F^^dJM+32mrYL2``nmQR2I+8 z>uShH%e*zOo3YsBy?NaYkK(d;ab6E2&*XD?J&npgmc=jU^)ehL|Crm`sCld`{zqOP zBf{j8ye|xLye$4GudlJ)sfyRuJ zG#<(3$7+;6$k>e@4bOL4=YM5XImOqvKzi$v|Fu!u8G^3u$O$w$PO-*iHFvDnT@}~tejn7Q}ykM5m)8yU- zvyCrJ9#AmH7;5scg71vcCXX$cYfLtIYQa2Xp2-Uf<{QgQURAKba4@_2a~2vA=-1cj z^P`3D%QyafXQ8p4$Cbky>GQ&c#&%{qxp*ADXA4|p>|=J4Rt4}rK*1uT;u&_m2yLHx z<}5L4nH*BE)M&(PCv)L@-`IlXMt74dxh*$*ex~d5cyhr?W3|aS1*?pQ%rL(j)JHcJ z_!=)w-c_*1=yiebKV>zH-(28t3^cj0V6734rq2s^6$BU=CT}VTGzysg$h<-*{|bVP zOD10|2r){SUEd3Y8PB=#dx0>c;xBanH}HFbFrziIokT2U70E_p zX81lI{4OooXk&6jR-(7X#sy|y((_l^ zpT6Gs>{q&fUm^{s_16u?K=ciG{@h~y24f$3V-bD+w9$Bu{s5NWoW03te~qu74#y*< ze{X#9J9mCM9e-%E(VN+op0*hCxiLL$G1Afe`;#rkN#Khc5t0$O z#hAow$MfH5%tRN$@xDvjY4~%q`e9b?P9w);n6bgw$Xtx`zwR==N4Hx|>r=aoU1-6}F3IE<;w=ojUzc1Kre8*fw_B z{a~zP_9X|y;QPV#dyU=9Fn$m8pY&dTz-VxTZ=Zf&GnyPSzCiQuPYxSn(ER(9!^V6x z|K8xR5rpR7M;tNI(R6zrq|i8QvP6oE%O(eT9W@@CywXp5%lv`v2H_7dV}&?|*!sbDn4B8JBs^-p06%yA)B>s6?ewArh&OYo=03 z3PrgML&!&_h9q4?A#;_AnnZ40R6@B#8BL;8L>D#Hf9<{2nsc6KJgC0k&+q&Fe?Qaf zw7mCPd+oK?zVEZoetdYrF?@Nr^uhT<)gXLF=m3??*^8UmIKKy0;fy7iF&Yk>qVp|`sEWSzX z=EHCvJh6`tzdZTd#KAtiX7YE5lYF>v^7o0eeHea^FR{>IeqV4naj(Jre*1^S{RU@> z;hW(8vn4+y4m+Up^O(^4Aw!oOO?>vC#+l;fpe05v`8jbr;XLTS$1gdSIO>q*^M1zf zi4zTm^HI<~|Fz_g#OZ{aJ`2AOzU0ru#|eM21b%*Di3raloCN1zHO@9TQ+y5QzvckW zKaA;b0K9049o}a!@BcaB?+nKM&mqDI|3X;rfA#^~@dq8B&r1Zt7yO9!;`}2nJjmco zQ3UJdmzTtapEelBgEyCi!r2D%`=*5OM#A{Msa*IA!g@UyZA`4u{hWF0wv?^mX5>ka3z zZ52L;a7E~UUjTd|;XmMgYK~ngd>P?s;E!c?Qn&-*0>H1^mBU>Le_J2MS35b}lkg_M z@7PtsHxpiw4C`6DYWNPqj{@FiR}0@uxMm%=f6%TTet_^#wc$P;yGD3C;alK5%|SaQ z{4n7F;3Ia;a2Da$;QjuucCGMS!j}w%{R^jdcmd&;AAs|XPMvU$!IMH`;eG0p>Gi@d z6P^NiKH!xGuNS*Nf%(;v`r%#3r~QhC;bI@&x1?eCNQC_9Vfl;p@1#&gc%S}cdgE|4 z!c_pz2V9Tv8#n6jd(I3uCcF;te8A@t{uajTC)1mRTM_;V@O;2+4QBhAhHo|)-Vd~a z{m~`O!b4D=>^(O;!iQaPZup^y_^ILNef*!7oF85m!M`B98Tp|zVYIZeTZMP}`TK333mhB zIQ#N&D>z-L^%eEh`r3v^5FXdq0{OP#eiriUE`#%w*;j^(3BUIyybsB~Dx6{?e;L&8 zA>yj=Fv1N${&L_40>~c^<7a!o-GYeUc}BOtcH!(e#C@JaydWO&d61uV)!T(j2%ohV z_8YU?hc||h-vRtz5AaI~i0ePE$LFiV9~wMC3?2{rk=Y%?dklWe;M=o1hg+A^@;sls zE(`$v)(5fvT^H_V_*vqDI+mE2eM7iTc`ctM`b~r1C&}&+zQ0PQ{<3-th!;c|9H1SvHzp`%*KS_8d;8lPZMCcn3UT*Muqi<1mT6jbS zZ4aimG5fag41?3fCt*u`oP9@lqrohHS9noH^w0ah==6t#rzM*Fi{zi+KEv#x;gqn( zkBK=@pI%;aUpUQ0+z{-2dC7?I27@uZquCFHKQWlw!-L`9BKTv%<)n_!{ITJ)4aW1& zaH1i6eguDf_;Q1}JSK)a8;t3}eTd;c5%QD5!+rdpmrMy~MDVAE=MpYi1@rN7{|c`) zI9)ti4}Nbndq(&|h50Xm^{ADT86IKqdT|8gTa9}(JgSoBr;Gj|AD{Dh_*aA1i!0## z#iYRO@cBuakM>#OiEtZ(*9%PViSYe|QQzF~ON250v*C3S@#lr#kBC1nyelI9g3|ia zA|1}ZUAZ{ipfdUw^}QHA4{>NC)c2lZNw}rKTtAnD+mbxmwSK^WzahOauqFMlk2t-+b%Lf9|5H0M}&fx(>Kui@^E{OSE39?}>wmcQ-3 zVlb!gxGN3j@^{?rB#-tut~yi4PdDF-wawS4cKa&EIG{`4!l z!wiP|<6(T;I6=9)2v@0Ki92#Cxi2*J+gI6L12_cfT~Sx}H_7hDhR^m^ad#sQ?SS_| zJw+Awd&1uUt_-;TSz6zu5dQv4RrgH7`1>za-BiNrknS(4xvdE|0$dsJ6^Lm*Q{C<6 z!<9vK_Z}aCK>&IE{wC1QE(`)WNd5*?h{^z+% z4QBcC+&zR*zNI_pT#S$P>0)<`!CXFJInenK|9u8Hf`$Li{&#ZgdL_#{8}W zyq4rsAU_*(y1U;K?h5v9c6zwKQ+)irxSQN^EwsHDe@o6yZgqqAC42$>dA!}rJ)Q87 zEX1jVM+0_6FZVLSuMN}u-fm~Y?*Mj1Z@0I>sDEcpANMZe0^c)Pz_m9So4yC8oCV(V#G|Jb=VyS<5DXQ7rK;DU1a zTOY*w>S3&}X{CIuueX$9tgpA0Vyv&Xm13-~14}X1*E>rw*4H7W80+i35%|@dp`{q> z>+lFXGv|KB6|ufPP>QjBc^K=Lhp~Qn80*)ArSY+Tc^K={s8T-GCl6zN@-Wt?QXItg z;$dtrqf7N+dl_4bu|9bi>ywAEK6x1Hi-)m(co^%4hp~Q?;vm+Kai!^F{YWpxSl`p# zJ52qV5Xyo6sCWq zJ#-WF-zs;aTi0MruPWdsB#-`|CYZ3x@*B=>QHx&NQ!E+CBU=^?j(Ft(@3?n=Vg zo~F3(5ytj3)!j}Q+tb7DSA?-WO?Q7GjP2<$H||1{KMUK_Ot-2JznU}4ZAKW|(`@&0 zAD)>r$L)of`v0fgaR#p!SU;X}3k*&Vy#e!&+PP1=D-A~foCbIU%A50!@%A(BR>D}{ zo^ih+jP>(bw?ZrI-?Y9axzD=Q3`TwD0Ip~7deS$~J)1D}A*P8jtsaW@l2`?K9*!l*yn{fRKz zo9$M)80*Uvn4etSA=_ zzyI@G7ctqJ@75%Y_U5~(gwfst_e#QOZ-Lw0;C&YM?*;Cih!e1Xf5{zT@TAbYcj@u> zC3hU*1Atxek~@X)gH!Z)zs$`f{21WMfaefi4C|qu;$`u$HpkiQq^Lz8pgaNj1Z?}MD2 z`=(oRIr6V*V2MX_SG(idBAx{EnWcE;!}+#`c}Lys>kw}Nf1jUs%nfuyyl|}$ zm*)NErV-u&^6m0U+`=1>zY6-B?sn&-%k-4SbhhUUe|20akBg8ZiE zm6Ihs5q~iOa-EkbJKltNE6o39=ecr|!Mxs=@=w5ey*LE+111HOl)Vs71bveNm1KRu zJm0oNl04I3UhgEy^N}CQoeB5vCnm{D2yXzqATLR_^Tl71S6TK!Oz(q}<(-7_eQ>fI zL0G@|@cXcNRpqk=PZCpMKD#!rhD`2{{I4_N`<==) zWevjD!~X8Od9~yjKK`b>I&#ziEzkL>E2kKY@0S+D)s>lu&H6AaxvqSR_@mC$?WLZ4 zm+(`7D+As_*oOMsQ`DEA60QNbGT>su=&uIyAYt@Z1NkFjlU{nK)1*lA{J$-)p)Bvi zpXHq{FZbaCd5z_L2B!;Mf8*_@a+<+>9-*nc;1;cKJ>6H?RCYHwT_g?H?YpT=y%qge zwHM;Hw;|pK?`t&w*@1}fG{5)IRQ^J^FW{qjO=ZQ~k-rGm3oARFB^wZqgZbNUd1uLC zcOw5Q_+HP>KU-!KUh<6YznaO7gOGm%l&{7mgeS~{{rl6J$)v%^KOOe-?ylTib|*Xo z-XF9*?Hsv`a9!x1EOD;MI- zY=b9--iPmj1~?bX^9g?nI4CZbZ3sKiAM_NL$aaX0{TJn5B6|@32<(Sko`0$APuPa{ z>K{kNr;v`72@U ze>%v}z1rV6|4Hw3wQSd)YIh`<`&*?1Z62|i~ z*UA?ObrmY(W^$ z_jH%n`*2Y7kb``9YI09G+lMD6-z4*V_>tsZ@^c>^ncQ3c=);3$A6b4l+N0Bh-wT(G ze0ag+ezJ`ZFP_|AcK6}eotx!kA8y!bfPBV>>vl?$ulVqo zL-%?1WF-%jXZY~TlW&)8eYkM)9r9KmUNiYlnQ8DO@!19NmNa>gTtm1S>|a+Gcgg(* zKPE1N_ldXW-!1FhuhYZxK6mC1k!=hvvYvzW9?Xbjoe`Q}WR-{gyi~x=2qS-(95&L= zA0{&hBY(J@`+%Q6TxJtS{(W-9gMR*fax!7$-!H{zKmUH2XfU=X_<~R-8$3a*EGNV# z<44FkB#-e&$Y(SB@khvf!pI*f-D!UQNLhz4@*j`~Blr)F1A??Fb`(oXmLC&mSkV z2qQmTre*p0>2erhBPmoO>_wy&n)`XFtAsfv0^D|^BVdPJgg-`hT z6Xiz2$e$z+J>}<5lHzH^$bU%odd|;(NDd;5{K<0Ad_RA(97P!UQ)Jo#KYxlGMi}{1 zWv}P`{HbyfVdOt7yS?D&KP=M-BY&D4x7g30CT9>v{=Z~}96$eGGKDbmr^`0^e*ScM zEn(z8B0CoN`H#q6gpof(He2fF&yZ~hBR^A)d&$qwlrsn;|53U94L|=;xt}odACvhj z{rtz|D#FOml3U;O^Rr|zVdT%0DXabbnX(CCbe`!iZ2g0u|Gex- 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

(T}H@mdam_OzOC!_o9?4{p$!2lpS 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 DhO?6O literal 701992 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
7rCKmBC%7uHU4 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 delta 3226 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 delta 1632 zcma)6T}&KR6#njIcXoDm8JJym0f9OTA_Kd?ro;;BM#ZMI35hlhrkFkmksyY$&Cpg7 z+b$X-tx|QJXe46#q)}^P6+>)aFx6-@G-`Y)rX@`z617HO8k;6szdN87pS+v<-E+S4 zbI-Z=?o4JUGcO*k@7yx~J=Vu1)FUFYK$L{OM*fs8zVo2@Y8tp-5%&NW0>xB3`tX|9 zAsTAEl+1YjqRIFzLKmAe>OCvc!t~}vlc?~PMZLX9M>V!{N(6DL9$4faf;y+>4U}aI zHQAuDD#CIJ``j?W2>^yei;>p|Zkggjl#I%Ve14>=J?d5~irI|H7U?iB9n~G?Ntf!$ zJZm!C=jfn2?8}G;tblu*YQB_Ot4Xc6t`&?-KOB>^6>zwVF=(+kH6<~O+h`7JNcALb1*bm8SnY-QmzXmIquVqxejxfzK#EnE{ zHsm*u4!Z9##Mwlrbk3dg!wdd)H@g3?_#}&8+tP0=nvPmgzbpSnDBsLYT7O<9oe5F3 zsa{~?ioWBIKd)b>#h}G#UNePSWo1jU#R|9F+spPi9_P$)s&08A(7oek5}-ED1%KG z4g2Lmp&^Yv7&t9vC{GE+)REEfgm3NhnGbMKn0O5*XwCRm;o}#wo1R0W(2W=#^Ic!? zvCKDjFigWav5nimNm-TCrGTZXUpdCOZNiryuoeFb4vQbCzg4faXR1~iui6pllwqv0 zC5xz`nrL7ro<?Zi`Z4?iZ4NI~mUVvLxR6L=B} z@-U9!Yf43?n6<87{QHv>ghRkK`onY7* z*1`hh0&amP&-nr0;C;-?C7i|z531R(y$unDv>}cw#2QqHay*JR_^v)jV3N&l7@zRe z)TRDCE~1xTzT5a;;n-+6@B3`z)($<6-AG`!*Q#GNwhj#*7#(SZk(!1j+ugQc?U;S&>;W4ATL`_xh6qxyth!LCl!;iiFikU7$C=U- zu|{e{?`&zk( - - - + + + diff --git a/supporting/validator/validator.csproj b/supporting/validator/validator.csproj index ec3718fd25..a2c7978fff 100644 --- a/supporting/validator/validator.csproj +++ b/supporting/validator/validator.csproj @@ -1,7 +1,10 @@ - - + + Debug AnyCPU @@ -14,12 +17,15 @@ true - - packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll True - - packages\Newtonsoft.Json.Schema.3.0.15-beta2\lib\net45\Newtonsoft.Json.Schema.dll + + + packages\Newtonsoft.Json.Schema.3.0.15\lib\net45\Newtonsoft.Json.Schema.dll True @@ -41,8 +47,12 @@ - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. + Enable NuGet Package Restore to download them. For more information, see + http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. - + From 5153d7375bb932807f77f03f739a03b385ac9542 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Fri, 22 Mar 2024 19:06:27 +0800 Subject: [PATCH 59/75] perf(shim): Update kiennq-shim to v3.1 (#5841) --- CHANGELOG.md | 1 + supporting/shims/kiennq/.gitignore | 2 - supporting/shims/kiennq/Makefile | 52 ------------------------ supporting/shims/kiennq/checksum.sha256 | 2 +- supporting/shims/kiennq/checksum.sha512 | 2 +- supporting/shims/kiennq/shim.exe | Bin 126464 -> 136192 bytes supporting/shims/kiennq/version.txt | 2 +- 7 files changed, 4 insertions(+), 57 deletions(-) delete mode 100644 supporting/shims/kiennq/.gitignore delete mode 100644 supporting/shims/kiennq/Makefile diff --git a/CHANGELOG.md b/CHANGELOG.md index 743d6466fa..89e2af73a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ - **decompress:** Disable progress bar to improve `Expand-Archive` performance ([#5410](https://github.com/ScoopInstaller/Scoop/issues/5410)) - **scoop-search:** Improve performance for local search ([#5324](https://github.com/ScoopInstaller/Scoop/issues/5324)) +- **shim:** Update kiennq-shim to v3.1 ([#5841](https://github.com/ScoopInstaller/Scoop/issues/5841)) ### Code Refactoring diff --git a/supporting/shims/kiennq/.gitignore b/supporting/shims/kiennq/.gitignore deleted file mode 100644 index 41cfea69b4..0000000000 --- a/supporting/shims/kiennq/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.zip -*.bak diff --git a/supporting/shims/kiennq/Makefile b/supporting/shims/kiennq/Makefile deleted file mode 100644 index 1610fc723c..0000000000 --- a/supporting/shims/kiennq/Makefile +++ /dev/null @@ -1,52 +0,0 @@ - -VER?=2.2.1 -ZIP=shimexe.zip -URL?=https://github.com/kiennq/scoop-better-shimexe/releases/download/$(VER)/$(ZIP) -LATEST_URL?=https://github.com/kiennq/scoop-better-shimexe/releases/latest -NEWVER=$(shell cat version.txt) - -all: verify ## make download unzip verify - -version.txt: - @curl --max-redirs 0 -s -D - -o /dev/null $(LATEST_URL) | grep -i ^location | sed -E -e "s|.*/([^/]+)$$|\1|" >version.txt - @printf "%s " "Latest version is:" - @cat version.txt - -check: version.txt ## Check the version number in version.txt and update if needed - -bump: check ## Bump version number in Makefile - @rm -f Makefile.bak - @sed -i.bak -e 's|=$(VER)|=$(NEWVER)|' Makefile - @cmp --quiet Makefile{,.bak} || echo "Makefile bumped from $(VER) to $(NEWVER)" - -$(ZIP): version.txt - curl -L -s -o $(ZIP) $(URL) - @touch $@ - -download: $(ZIP) ## Download shim from https://github.com/kiennq/scoop-better-shimexe - -shim.exe: $(ZIP) - unzip -z -j -o $(ZIP) - @touch $@ - -unzip: shim.exe ## Unzip download - -verify: shim.exe ## Verify SHA256 checksum for shim.exe - sed -e "s|bin/||" checksum.sha256 | sha256sum -c - -clean: ## Clean .zip files - rm -f *.zip - -help: ## Display help text - @printf "%-8s %s\n" Target Description - @printf "%-8s %s\n" '--------' '------------------------------------------' - @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "%-8s %s\n", $$1, $$2}' - -.PHONY: all -.PHONY: bump -.PHONY: check -.PHONY: clean -.PHONY: download -.PHONY: help -.PHONY: unzip -.PHONY: verify diff --git a/supporting/shims/kiennq/checksum.sha256 b/supporting/shims/kiennq/checksum.sha256 index 32944ff856..07541e9e10 100644 --- a/supporting/shims/kiennq/checksum.sha256 +++ b/supporting/shims/kiennq/checksum.sha256 @@ -1 +1 @@ -aa685053f4a5c0e7145f2a27514c8a56ceae25b0824062326f04037937caa558 bin/shim.exe +554aac610eae2cd61cae3dea0c66fd8283e95eb9c4af5dd9e591197c6a28e119 *shim.exe diff --git a/supporting/shims/kiennq/checksum.sha512 b/supporting/shims/kiennq/checksum.sha512 index c7014db2a0..2a9352b80e 100644 --- a/supporting/shims/kiennq/checksum.sha512 +++ b/supporting/shims/kiennq/checksum.sha512 @@ -1 +1 @@ -67c605c8163869d8ef8153c64eb09b82645cbae8228928c0fef944d0259a7b2d3791ecf4b4b01e23566916a878ee7977bfc1a59846bccf3c63bd6a1cf4f521b5 bin/shim.exe +88bba1bbe84a1cc0c2492e7c87d761ea449ce80818d619b763f2c6391e114992864e1cf7cd3121350c0bae20bd48a834e56a304d35e8fabcf2dfee58b223e841 *shim.exe diff --git a/supporting/shims/kiennq/shim.exe b/supporting/shims/kiennq/shim.exe index 743c9f1059a749c664440fb84bfac253c1073cbd..96994d71dc4ac04ecc555d2eefea908f6f86a1e1 100644 GIT binary patch literal 136192 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%0A3Pr8JHXYx%Vw)Iu4w@E1g(wd5-uzCl;Pl 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 g@SieQ ziX8db4LxOK6s_6^%L^94kVKIYJBY^z_OTvp_t3UT?{g!a5b5-HIG)2LVDH6Rt;8MA z_3w3|Bkox3T$v`*%_t6meotY^Q+4jB1h_{N){Sb3<3)H8qOaxp@opDmY*c^-rTlRl zaaD9Y7dek>(SFyM?sF~o4$A#4k;kuFrD89T>lXKoEX_q=ACkO9mN&wQ^I`)VC#aE| z*^mXUF?IOlsHNA-Q-5V^9mR(chgzB_!cc94ajA^Y~;i@4$C)UgnOiYRcu6-#h6 z!ZH2JAtnE-Z@^*K4%V=A$H&OfE^G|7&v$$VAw&T0gKVKt( zqfF7W>TOs4s1iV427RA~E}L8kYgX6ZS?vn{`v)*FkuY17j~RiN=RA86K`+l%_~zQA zT_wPM^B334^5IdNr_{#2Ci?)+Q!0wg}4mr#WgxG>|s(id} zh0Xt{Ed^l{_~vtO6_t)+M&Krb$XAC=UlMRgNkW;oJIVPf_{6tnuD8>W!%bh#8FE;~ zHH1f4&Z*RrFA8{9osvm$Vxr%+1{qKO&2eJ82w_;~BL}ha&7Ul$A^XBgr*@ruZsrWW zP>@eE-^H5AhJ&i)0M|b~i<>EsfE!+eU0yAfe70pQ1KpUcMPIMC;Gj5mmwRVdxguWg4IKk2 zgW<0`(d?8zoYl!I)JHi0MPz9mE8!#XBaCg_wgfIw`X|~T*E@NSf8s@d)EcBlo8^lH=w;!)DR#DH zhduBnA8 zHWNQDWx2Uy??y~>%hFqfH&^8;5AjqXNhRYG5Y{yaI)_xdX@6z7>FTOkmIAi_&}DCBoL6eSr8?jK}FX zdzTH*4+AKh@@sc|s2dB$=2HmVee82}PYfBYd1hdP-Zok?t>9+r4j&5F)PE?BM25 z<%(!8+J~zN-eQ+*Ly~)Wi#MV17pL(TL1_Md6tOZ4Ip(SBJvwznZ+FDr;%r>`PDgu7 z2~^=Lb?tLvtJdU;oO6rMukO5(S;B4yl3~&2FMb$HzSb%r z`S*sDXp!-Zv5}?jfwI(iPxhEd`!97xH7UPTI$u8e6v5d;PbL|jG@B8;hwBb0f!)7i z{(`|%pwsfE+JxhhD1Tz*kK#tn$W9?tFe-bzKzMc{Ad*$LOU@Deq=tCmIQ{{aMZ@F# z$sTr@mw!Mj6pEK8aUF83Ar*jFk@MfOn*6cxF3uq~uRH3k-rT-pJoj$TljslT<3(xx z#cQ!Za?>uXYFQf~K{Pqq^TK*;jl|lGMWAoH_(4K+@p7=VA;wqQSLC^SD%n{eO7pp` zSO+@~;nFIL${UKs=-VwJ^&1H^cV*|@EwOezOIZ>cVbR6gFb4|yGQ~`(?G+bTAvKs9 z`13?YnBtYVQH6I)W`tP^7mH@~f>;~AjS`ZMTr4pbpZ69IVnSuz>fJsRO_J9yGldC4CkH; ze8S*gcaVb_uHu$5D4ytD8VDb72FY?Nu`T@NBii@8+h0Z(SUG{(*eG<2_q-qlNS-zT z$OcqY`<~h;r8dLl# z<5XYe8)`;wI7wCp?3PFpb_+owY%;7&%6cazVp{f^e?`l9@9sj3x&jg^cw2#BzUBcJ z{HnGMlH z@fK2%U&@k)kX5wfWr$Igf4`Ydv512c1zGNU-GFO=-l(J28AdE z;CVq+WovPyv5xgV_b`8Fq2ox-OdcXaN3o?|t9;+cob0%lhM)3|UeAA5wo6 zs`8}UEwVKXr+PhK-GKxT>1hAHhl+$^R*^;BbPw&OduT1To-&)~D|#sRTz2pEZj=tE zR^q<00nIFnkRbC>*cs2If~B`Spc{*KqqGjQ2YFS)Q%k>;z{(w}E`s;_XFynsD~UCf zJRr~g;3Cx+rST`!V0>z~^hJ#ON*k^(tqYB;oOrMIDdk53+I^}!178l_--VO6Sn}pCEdA+G#oT@>nIwCp)JQUwXh0RId9s$+sd`lkn3^edbjv-AD0U~jSMDjIlua{ zoHrc7@yc{ak_n1x|8^-2$4^W0JNQ+}dbi7@%$B_ul5^BV=hGflnd(XpUhVU@6{XiN z^mvP9GL(C`-eReJp>CiIbtB&5d^4fhQQS>Tn|Did;E|jV?X5vJ+@2R?+BSSmo)=`m zkPA^o^4KE-nd=d~3gQ~riBKM!>gw6tS;sJn_fvEnK9#i3w%)fI(PudMSST;cr4~HZ)`qZ56 zI|F;!X?XpTS$N(h=3K8Qa5G0CEWX9vqtY|nuc??eNV`&n=2L||F5!Zs_$ULH?lG#J z=^>$A*P(gs|C8BmisJ!*lw~Yg8GLc2{#3^menUIo4Y{P60Gm2b zQdbQ|8pS+Jo)=`?Lb9RN!c|7RMXHtSwl8hnyHULH%viN#;%13P^=W#!!y`*(?}m0g zy}^!$rfRQR>&w_EgM*BX=VeX&Z^lMxxZg51E{>vd&9PCuef!uL7A_5{b!?O_@hxMc z6j|%?Ru`^J@a9nT>8oZX>#^~g*0E8|Y%(^AM#e@d8*^-w@M>%njWsrkyEQgS7;9`4 zKP@U2Yi#_t1WnTfwT_JvmE*}h()`pC;0j}-q)d~Mg!GbwhSOO`(>gY`rYU11hK3$8 zCNVbl0X=HPVX#=j(3WE24mH(MhP>SXM%_u0D`HoRgmJe#|x{ES1 zM?tZ>(kQ6x^#H8L^(&8pjcOEBMf=TBP)hY*M?t9<8q%JZ%?=`?psb1Ycridt0=m;X ziaRqQt5Hx^$Z%cNC>RjW)+i_rGB~_~r3_N~4!xru2HGwf(n_nP&d#Im%{nM1SkqeuNduSl9*~ zD!7!#`3y$Ra9YFcBF^jK?_%q2cwNi>}dYoD*na#Z8fArHF}+w$bN zJWu_;BRkzRJ@B5W68gGOo)WktAcr45zmNwJa-%Clbyu~lSP{~q*1UT|Zr8NyF&$>p zToxFxF8s1AYC5^76H5SXfbJyUR}UumrC!~&-rcHxVbI8o&U{0?dYN5bL~@6QRdHZ4o=-SuuJ>kOFmAG@4>N70X3TPJxanC-K84Q9j2 zZ&wNC!i=UtX-hfLXV$-{+EfEaD&)o;+2UUbr43y$+6M8))!GnU&J7~-yIovTS>J46 zV{}~KsL%}9aZ;f&2I-~XfP?IRG0E{NJ#hP0^uDqohi!v2hfS~AOnX(%I-Ks#36;wn zgEmlb0LDAPef|i1)YzC-9m?>csca*YM?ot zxOvvi6*}Ztd!As+_8fes1b#b5N+_yucQ!`8^Kx~z7_MD;n+FLA7k%YJ{`yehPhVYX z_g2QyTe%b!*vi#fZh!LEI>w(aFBLmzsmak^I}dK_YishP3|~rh3I>`=Ip615T=ex* zXYe&Ji6SHX{9j7O28YPU!59&iBOk!!+qon7F`wj(Srq!0IzBDIwT^9;T=(b6u3Hy{ z{iSgZVh-1p^0`3V$f&}#wriC9VQvTUeO9M;Q`UA0yvhxP)YQ2_9#@k49f7|nbL;!3 zYfi<|INQWfah;#rb?QAc?{;Yt-shV6%SGU5?`~*=7wPWHcydD^Dy{Wc{F!*_*Aj8O zj?0efz^uh}jBD;6R1^n@fRt+KDaljo~Lgm2DlF zPZh*~gFZ!(CLKbbqySnPRONHtK{GKG-vcw-O21tSzGBJU<9Dd1Nx$Osu0mo~sa37JVw@^~jzO2L??dlKRmYc> z-V^L-p3j9f>Ox9rD(K_$t5#@ADrwm$CbK+M;zxp`%=lEjsqzbJOgOu&_sn)p=3j|E z=6g=k)d~5wOSG-&>wNj%9Z>D{E8;$0+I!|y-+N{uzpv6?U1NGvUVOS%Rh$VQU3>kt!80e4qT&1`5v9Ym91Mx_dy^>DF>5cOSZ_zd9Dc{_?}X6m}&e7+XDx<@G*l4&irwGL;6@~ zrxHXRm4!H7vc(0@@D-b{WnBmCqC9&;9KW^26`b*prKLHoFS@5pX&WomJ^NUm1C8OL zX-wdUyp_Q>>Z$(aAuD;<(>FVg3l>}*vGZoiEW3AhoV?uDUk>KrbV`UeDSo!!N^?ev zpSsSF$A}zO(kjBwQS<;7T8!T{fw6;FW%Buyqew0`n4F7s zhOzdMQ14)wQ0@5fo8XXrTtMN@N3YhvH&}s-pToW3=ltQL#n$||ewa{(Ji=ACk+R6r z%B|>V$s>GFZZox)p7P=UB8 zGAEx_$~RVBX9j-8<})>Tje66uSMb=7mYIPrM0^Fy8BJ^DkPw@7*QaCh|5n81IwdFzKaK3VB8XLduu zyDX)tVW~Q~V#j5A`HsiB%Z30AnZMb8BRxWWlb{mq5tz^xTXkPEQT0lhO1Ex?N;u)t z(yIf#+kE~JpTTr#zLd&^jS!K1j+)_Z@XaL464N0h)a{qjh~hKwemL5*L%58W5^(XC zc8;gcfdezG95Y(yUHWFZA=sI(c624kw@lpv&$I>z+yV{i!vLZt<9CQmI9>*5`y|2q za4AySa(JP%fH*laXYmp-Gf+lEsljN^rMjhk1Ia4ZC`cbtGG{LLyK3%NE$g!xfy5;I z(a4U?KrVolNR$#T;i?WE=7pyIa#PfG`cjK2{%7SwboVWZu8E$z^R6Am4fiCu8;a~F zyD0)Ac$a(|&$CJJt4dsvYldAX7>3MS)`{i5%z&q_3h2qSzb(On6`s1cIp-GrzkEU@ zSJpiaM*m7DG=TVab+~So-5{r&8$~Ih& zzjfttbt6jLwjH6t9_SlK)S(Xxc0u1fqR~+-pAPM?E$Zlats-?m<=RzW963oG6Z=%H z`#9Kt-Q%`(b2_Z6@O2*;x_0&#BSIZdmg2wgpCOJXcA~lKV~1xe$fuE#aPo1kyM%HP zreZ*HU9c~dC9a))nk=sSWZmp9*6oQa8BypS=4OjvJNo}AMgZW!oh-G zkZ?;)7GIu7T;0)hP#ZO50|f6!>JVcwdxEdjo**dOQg#8K5C*vgh0q|E%Gh#MBsa^) z9|_Zn1NrYzAgtCyy;n7TIHTv`J|8>~c%HT%>^Nmc;6*g-+pKl_VOAUZDZoVtjSkBu z!o=)6s$75T^II1Uy4=@UKqTTs1`aVSX)~X-T;Os-N%^mpD_7b0O5+l;n)Mxb-HSN^ zY#pIm?huc>)J11fuTjM7yX~Il4(=NRuMu&8%OAW2XANnW2ViV4FGTK?odvH@Ai03= zePuc#OcbwL2j>0+>LxcTF>)f2W6cV?Jjda_**~K&izEK&j@PQr+otP}E2DgCgfs7W z&Bkp-KCP6?r315gE$jMk^Tqwtl3;}A^(_SBV=n?om_8yyx`D$e0cMXo+suZ~$)9Tn2MXU>>P!;0MJnk*}mRZ%;V{_@~!PFc6~ z>r}t4qw6MCDt%a~aKGxVzvp+j>yu@np`YDVfvz0g-n;7Dk@9`%p&|S3s^iujMcR@d z+En8!eW-PCRdUC9bdz-f+6#d(_~ISMsWZGCy)$irJ1{bsFr9kG*#~gJE4pWycUi1= zTnz6L&5ZKiA1ycZML4CpPAGevZ?~`1ojJJ!C5rmI2CpU8k58mBVa&okq zZK0#+Ep&@QvgHnVz&(X{(B5%emYo~hAfh$0jY96p2EG`_NKaR&m%C%h zf#Q;tj@4|wC3JrH>jE>UAhqMItM=)qh*b1BmWYWF}7y zJWG@_0=(`n(;#=3){|P{>Nvx7m1ngx+#M-YRE&%5tgQLgG~72gmUDJiBz*{z8k}Fe zZ*?W{l@yd&9cOCb_dD9YcXHbcR}*e?@b;;Jds*{{7%rQdoZRbmZ(7uO@3^=S?>MKG zN$On+*j2$fTDNpl?dv8Ome$CWE_voqhKaLBiyV3>87f)W-VRVn@;Pf84;J|v&Ch3>Q-lYnpgWX;_UA5hGK?L=Ed5W zxIn119;qR+QSP4>XA8XIFpLMDA)sp#u|;LA84)|MZ}y>UuT=}tv^r^QA2j(W;s(AZHn zFLh8uUTBxfyG6m5`$@Sv%TZR^;cgKZwX*NsgV~|1-YPV#hlaC`SrFHnOl^1-mZVm8 z-BvUm@OGVe!wbzqMXiRfsWaY4EMy^gUY3u(iaurji6tUhr=t>p8N8NOk|+i;7L0n+ zAW3EtSE%nJU&ZT28Xv%x%9qeivVASzJ_C^i?y95*2BY4Rk5+==`pw1<)R(fQ|KPr6 zUx}{IA(jFaeM+&3Eb|>K4TN$-6aSH=YyMtH{Ubs$vO@lp&y7@1xhQ)198)M&qBI>l zD&$`A#XcYUDoZ~JeM3SoGUgBs1>}lI*zZE@#>HSq7NSDo>mqgodT&(wN>}&0Rc#5q z(VE@}-`Q4TeXK&GASBr1bB$$TDt6 zmq#XFRK%L2i7fm|nPSdJ=3p6*EQxH~DOAktQ(1bt`;eAz27IR-jfX2 zIoUl)25g?s21UvZkH}Ia(?)XKOA$v_$egBEE%IXb8o~DK9U&RG9?;$h}#+`<T8M4mNCguWKO4ifrS zUG)5YBr^EEUyH4j7Q0Vc?4igH@=i@HzYYRCWnFswgqaO%)pA zlh>S-BBNC5SY?z&?w8L2CQE5bpip57Xwk5#gq*vw@0ycRe25;!Uu%hur1-FkBE^l4?}}$($1#pMMlpO%8hEI$8u zXW3N*-f~czh}GvVKBowgaE@XFe^7RO9eh1o$sQJ8E4FPH64*2W-bc)UMiI0)Cm2zB zsW-x~JbT01HY8>uF)EQ%i7;Vrsy|OSf{lucrTIqf;{0-AOACvtMV(r@<*0GC#w*K83 zHC~s(0s;HJhQ>Rh6;3P7a?BvIS#<>5WAtrg{f4hi(GAM?PUBO-X^mNqhxcYVQqO^B znO85N--ACw&DzUFcbT3WLe^aPn&6HnW!b%^;SyawZ2wuuEoUI^eCdf!VWqE2YfvyAA9IlAL0*^T=z0*JR)MEz!lYo!&N|AfBxIR{baku^UyEb;8x0gq z@P2}J6VGQIbD;9-&V}gTklGDWi&uBfQ%pcmt+uI{*qzVZKPjt*oo$l^#zE~ zyGaxJJM*X@7{=0iZ*d;vTd!nptgS|{g6V{vVgFmnN$4C3rlgMz0O3xRk6Dq`I z6L!)0vP5@i&DWhicZJr}H5_Ep4vb|kjO0C;!Ji{Pz!iG_Z^V5fxTztCW5bJ-R&BK` za_cA(oj_=L&FA>3f2MYK8Zkek6G(C&t~pa~`mk2T<(>AqrFd^<$%dWhpq~^r2_)FySqndB#Y$J{r+frM%QA)ICU-gMryP6XKfQ} z&%1lnlpODTb$yZ{c0`DstFziilnc|!2sWz?L-5QD&ncJh9DnT$GWzc`wM*@RRWvd_ z->l8D*Ye;!l3Pn$;SINvjdpvi!pFLVyRXXfJtzD0!h@lOf4}sXkwIJ5n8FI6Y1E>xASD~)q}fCRcVCv39*`7o^7Qy!i2 zz!YDkK53T_ z2Q9f~pVcWQ&`vD<<~S+z^1$a(^Z{vhHK)thYb;WIp}e*lb4{S!3X&0L9NRsQvN`sO z{5@a1kiUs8yIF8%D>aUX&!KS3RsU>DTc>xW@O)Gzofrn7srjhXN^<>`{5xy*UCH{J z(S#6<%8%Z$7VcJwtTqz~>9nsLo|W#%)1X&(k52ns_S*0)%pdKeGsuw8u5}$aAZ_>f z3A%b+O{0t?HDA}(l=~RF5Uo!C^Xy-p#rW2tCMT{#IXh_){;nE#`SI{VBGr1|C>sm* z#?^PLy?Iz|XgM~XQ=Qn=BXDC(TnCK4PL9o$k)UY&AEYVIU9X@ zyEu4x28(iY>mOD#Fz&%}#YVUrPQdjr6P&JYbU3An+9`v2K)%6$uw40+J{A)voCwbz z9cwV=U+r9XYkGNF8vcYte2c{AzQKw(Rz>Xj>N;1)zzmQi3QJIgS&)L*t=6@(;f2-1A@oh=efR+KjQLp5Ke;Yt$^(H}qze^}JB2me%nokP&k|VzB9FO;ozW`p;W~n&I178~Akys!B*j{bMO5wVKrJk=y4u-|wH;C@67#me z2dNETsfbnl4S#A&B)GE%CT4VPtP%$C>gZlw-%_E;}1n zv%jxYA5CT@RJz9oehn8XHB}1bR{29^hq&VSoU=B(k&I4dc~@Op`*560V~e5|*#jeG zgxJ$7crR?*`g#?4@b16~vQay|S$zg-uRX!Z)}Apxj71QZyQ@S|v#%|R=-`_(YHOy} zRtH{C!Fk2Dl`#rk$#(rkXO5z4%X;_3R;!hg2$T_hYHDo_Njx^-cxUJ5N%9dWiSr$3 zs`AqOVS{)P59}vqnM};uYT;+9ovlaKfFc&YP#=Sr^(4R|a(8XZ2+u3IovgTenbAGw5SuQN&l2((v`N&YQOkR@vbme;I}QuE9@$Q| z>Apv7-W+(nr`DWW3yE#FHGHFaMxr2UrelZQ>t6}2NL!>4-6ntf$)D@wkBAj?^;A!4 zJ&M+yvnV>)Wzp5JpRO{+*4gJy@sEv7nHl(l3=WFFJupl)%TTwZ>*kk7(I0_JP|@ zvg*Ibo|@{4349o*KFf)m5x9s>SmSmW?{BfFSI2il{yHZRb6DNF^L_G=ZaS)o)?8!& zqT^XyAoL7u&B9U(k?=JDY*X(l6wb4_$o3?IC`iAl2syNlLBY^sC?ecm5;u)qhnc? z#?m39X)4mQM@Q3jh-YTtzrrPvxM1we!0Tu$Y?O+Kv=HgbgwuzbQYx3KE-w`rDu~vR zv!)q7q?7kX{GThPXmYg6F(nWnaH{9CrUoTFqP$OXG-VUb^Lhuh!#^8h>9s{Qj-p?Z z$Meb295}8=$6)gcJ{ZDNEvD);%~bt?W~%mpsXC7{w3^e$ucdE>@1zOSbALD~IKI_Z z%mcMkaBzFu$F4VRufNQeaZh@D(8QX$+H2uNG%Te_o-Yq|6fG7_ax?-g=c8j@nkk=R z+G>qH7bwjJgwCn4&*8fhXMgf3#K_3FG=kFfO=p^qT2p3lzFa%KuIBWbujG^BReY)Z z(Y{1Ai+!Yed6K(xMe;eq^I}>{2#2AW=ZwK62z&D-fA)IVMVfD&gC})h@_jbA9*4}Y z*Ct;|IJ9a4sSnuiTUF;nI>rYuv|Qm_lnNQmhi9SNLJobguIzkreFzU~Bb`vTX@zJH zEv}b?%qkJ6G25=ALQVxtuvO<6Z0lT|DT3*Z(2HF#3@uW4Y(@31dl|rI991_udTG9E z7cGnDHpIUT4GAKquB8Y$jfJZ&8Lpm%tG?!`p7Y6dAxJ2z5E?ww>m`1olobzWQBk$m zvKfjBhSpXu;x_F^s?mHsSHve?MTt9kTFn`FR$G4|pS8|G4y1LWCI@axNRD-FNO**l zIjy;u#lcEO7|YZl$3}D9#r!_=ZC0u!Jh_J6%k!0!d7>!VCAZ4n{xJ>_vv~X~)FmRa z-u@Y8&v+ZJfWiL~3&w1*P|t-a3$Bujg?cwkS*^ z8{(P>RWEGA)UTf^W!yO%F1&GI6#)P~j0N(n?Bmos&q^$uBt zAnk62vO=D0Kc8fehO^)A5*m39uHQe=$g5WUn$XCzR{g#}6C#?AeIakOd?`IMOr)jW zA(P#W@~5-Rb^X_LQRfg&Ux&Uebb0ll6%Ro~i@8b6EOUdWZ|Lp|;k?6B*HPlQR)Wit z)ZOET?!oT94t>h>b7T=(OL6m#3&k|Y)v+cirKV>vyf!JNw&z^ygoW%$6xYZf^+026 z;7_+(t48i)ZB~XG=py2 z3DhPt&qOf?+TIz6f0)~J;J-0mvq@oN!80aQg5J;ww_RNUa9S~Oup` zH&o)DdFaYK+U7CrJ7xA_mbH#HShX?6vih4LE4zr=njz=a>S|_|Zxt_dRJ30PIW64Vxl%lX+RpmrdeaUSTVF>ZOUl{Jey{lB9YJ-q>{8n*V+~IW zux6!N-5pt}bYqdBtym}R9qn+@~iE^jnb4q1KnXYu{54LP}iH>6<1)V(R08^8#{ zjWEwIV2|5^m3pzqep7{3o_(cReabk5bq^tn*n0^V@;i<4l=M$Hk{?i_Y-eA_4w3j4UCJIGHpn-gzZEBMWO#ybir|nv8J?0% zZ-{;)lA=Qj@bD?I%$NFoI^;36zA-A7b3dIur93604{e}ITfKw4qg+9@$pnJMI{$aa!6E*vwtJGN|KBD34fx^w4z9>3u)Px z+6O>;&uMWnpdE~A`mm|m^P$l`afpye$!TF~ z{z}!6f0Roj68C`VKE*#N&OU(GU>#wlJ@-YHrZ()~d8wt|8!Kjg zkQ=&^Tg0|wQE{`%>ENC{jqJl~N{)?CJWj_Bl5o6n#?kX|7AIFD^LrPUthf{H^@#<& zvYKkL)|B3p$S$?|NMK0W03MnXy|6!)UB!IY873$4# zrg@m`c;aiUxeBvvnd7zTQJmzTaP^=_8qgZ+If-Lc@lK9$I<3aj8kVX{21$>a9Hs;M~C^r=2{0x2}5 zeJUsPdG{g9)0i?Ys!OuW;lqcNG*w7au5OOk90~g!V~ED(9H%YaK}aeizAVRG^T#zN z`X>!e@+BD8yU3va2WYT3G^5yy>G}+cH|_9H~0C<9b>vCMte$#OOEd@B=Tmcz}-sC&O-2JnHr{S*sx#Xj9--Ic{b zSY>dxV^>KS(|y+PtAZQUtWR2yJH@1Tr7)4Vg>rK~0?l?b?rGL#g2s_s*0@H#Xk&(V zcibsEo_*ynhBCRhZh6tp`V~vr7hxIA{sEJ0n=m;!pmulJ`D10;DH|hJjPj7*`t=L| zcK@g--^5cxDg!T-Tx!`_^flbJ&M+6+IX2?>BXK-+3CG5RmpRts_^3FJXuaBp}sTwWwau{4%%; zRf&2ZbqaL})hUAXQ2kNEP-9UKqjFJ?qkf8d9`$Eb8R{tNBh)`o=TTA6bt7s7Y6dC~ zRfzg2YBOplY7a_&Jtzk|N`AvkEEtif%<^aG58Cu=?o2cWV*WBS(O7<8lCj}JqVarM zQmfw|{wmR!KQ+mCH>)j7tK)ZQ=*zMZHKt}STzr>vT6U&0Yhg}iZu;U(=aMX^3v*un zk_Gwci=7J#oUSEHoHRh(amF=9rWbtAsbl%iAr{E?M)9JK@Daa(; zl3Z8*k{mND`3cU^uKb+%(aw39+38CclG@_*6&RcgbC;&)EEJO4!b=|7vUP<7GBRD6 z`HL6k5}a~O&tE`-6k)n^-1G^~^t`-Vok;}+ZagdyItrGkvMg}ri-lFr#yk>9&(DX9 z+{|T8>Sck8O~(44B^l26L}L@`iofVl#%BCjKem>}Hq2G1M%17UZEltygD|=^!Zhb6 z_K7GfomcCSnHiN zZA>zvQLVJ%=St-x;YLx5OB4a=InMO?(w>c_ne$z=u-2NEu$HpYvCJi3BpGuU15|6s z$yqW#T@!uf)?paSdyFzFQT9eAxly{EOlzm#+)iINKG8VW&Ma}Zm6u`U{US+NgT_h_ zhK5mOn%9F7n4bmd%ElHGw}G%Mj6J4%70A(wQEi&*O>8vrA}I0N_&81Ci3Vk9+zXWW z<)bzE^#^5~8U%{}VW5=H2vF)H(Zn&P{dm(n$;1>Br-726G}D{`N<7)7Img62)81v` zauZjA(w_=VbCHQ_O?(Ozde)of4W{{N)BLPy-ej6Lo4CcqmreJrCT=rvr-{2vEHQD9 ziIt$xb-=_b)BdQ5)g~SXrCb9ho&%*kFM?7o_Ggle7|;odc_7FK3q~T?3rqvA0}D;_ zCevJEn(M$mxZ9phGJ1ec&hn$3Cy=8UfyjISuR&J_X(a?gZu2 zlB1xs=X&reuo;y0X|+q+ue5zEDE^0nQeNXhp(h)>ww-^gy;<$as&A_u6j2Y-9-Wk< zlz$Q7yMc4(&Py-I%n%aM&(Fx5p9AKl7tBx3(RKx{4D@1{JJ*%HP#iGKotu?j;Ij03 z)G@tDJURKTVKUR_EfoI+%NAz2<_dq)(hqK@AENYmuKYWP;+~%=Bk6pX_;u$pNiN9E z%rGolAyy_Xz;I?TrMog&BN)a#_t0-g7{(3gW&h?&Mm_}wrS=Bpo&H2{L5T%&&bS5cju@@iWST`KW9mSJ73c! z^_!lri}gz3&G=<)VW#R_$cjYDSBPp$|BBA7?wa%~$C9>mVZO^v?lTq^tfNAC;7|Fc76v5?ftanz8#hA;`n!D7-{pDaMl6&AK$rSB_BHv$R!R@R_1D(v~dFUFejyQLvCCjI_4G(5=2*#r=!h zL$lkt5|&kK`T`cd-%)tq^moMq6x!O?!#7Ilvi8vC&noM0^_`Znf(-)AePJ%kCwl#3 znfYpAFL}4zSiLV_=xW!jEg$%4&D*yo(dy?riIF`1OPT$fcrWX(u57iAH@mGh{y1;E z(Mhze;}I=kZu+wHg$#48b|db-$8b(#9B_`wESR6aFwg8)&Qa3UN9Uv$6tr`3rn{W| zjrMLyvZ|-NOt0e?(lztvXRl}%2v>1mvN%shPUrpe7O`e@PLk!H*@x3}m*lQkyu@AL zlnq-!9$ioZZDG!+M>#ho8R#_iZ? zWqfDY0%HZS&F4fU-q0ZjqZ=e-8;__sbNQQN3^8N|`DT2|O0AW~<`g8!vR2#3h~LG5>{y%eo|7hvsi6oPsb!q=wsBI595=qR2-g${Ak zKYItGgDCY+tUB5|icz($uXED`Ss6r=j5P; z`Vv{!$nQGzveuR#@@87~e)O^?k)QAaE&Y$%>4n#4*$ZpX(*LxbUYLZIy)Ygvz3?6_ zeH3X(xksR+?OH81)40{hQ1ruLSdyR27?Yw|1bF24#BUQ7{>j8%FDDvamX# zjl-yIAxXwNDEWPi-zWAa8h=DB_*0@$fvSC8`@iK>qVgkuBo6ttm~jU{v3n8xv8fNi zy*olD!s_bNK zdbO#<{sz-t&iBNeWSU2t<`huEJYd>SHE|{=@u#9B?HrV(xfta{<)M0^@=-!-Axdan zW8xE_*n3bCPZ3JO(-u^Vd)_qv8Wg%Vqa>Z*qr~41l+g7aO58s{iF+yqDC@yk3PsAN zdUKKy`vOwcQEO3Es6oF=GFGBw?Ar-8qlW%I$;d;MpklWq8EL4kC>a~~fX7h*)SwrW zj6~FTjh7kta51X67&jM#*2wpL$4nV-bJ~TI5pyW{`L1-Y6mIbM2$#c1KcCohNcS;C z`$BAF4rm*(Z~t$_vxNDhfH);rQZnsh9z@Lg_g(qRqeTg&nZ#8Oywx@@ zeV;r__}dtWfh^bjX}mpu%QBkCn32l9bYShu1S~J``ACrDf=H_^z~N>_^%QD7Y6EH$Y8xs<2yY_DAhM8tjGYj~a%WgnAg2hblrn zh1!7Hf~rE*qo%rZjmdDir?Ez!2_I%!w%Zt+ztEVP?h?0*^c9A1=@IzKen0%!nUc%1L1_{4V))s_UosKx54tw_kcL5tM;&Np!o|h@>4B}iOI^wmg zB>q-?(qyh~p(anhEhFQ$6)K(#egmD8`8h?if}b&d{9TI|-v#rX-&ECK2}2*w#XJqO z5Hgd$(x|5~1G&MmYAh80GP+pdWEG&2F~hf+bvy;cp?&E1WFORKr{k6#m*vY!r_HR> zlaaX1ZX$6Ctz(I89yl4Zln<>!p_qlLiDuperHqrn1>jV|<$?FBG2AfjBkxNwkHLOE zsN;95SS22vj*M)Qj+I~0%bw3lSJpFDntJ@y>1zKvZ5jQf^eh_me4_WA7Co|#keSP( zOJ*F)#-j0ZyCh0LekmqS25+OhGWff~q*qMxZ=m7CRsVCg+K4ahbG$L$xQi4Q^H)|N z^2?;O<2lomwXr_oG%h>gv`#y3H|{hh8OgZaXG}0gQ@&#`>0kD%NrtE#Q{{o8T&7xX znu|>Hdei)@X`XQ3SWd07jQf)AGji#FVE?K7xtZuO_b=d&=*51*ePcwc>=)){D1GLD zL4yWiS3-OTP}Qh<)FSFMo*GZV?J>239}V@gZsIf6fc^ zzsv2fY#PrD`S1P}u~YiyzsvovG1~rx7~k(-`xu@u+WrZT;`{uw!aM(uZvcgBp70bE z|HqSSz3Y5W`G54|^*{OP&o*rQ`F}qBi(fwT>~qimYSXWO^V`iY{OY5La z9k2c9KYQFH*KQDgG?W2&;Fk5(sj`oO7 zkx`wyIHIq*x@%0g?$^X#+oNZ%>#pzZyy3<^aee#U)c@vN1`Le9^|nE`4<0h~jyr!a zZ1`OX@G3_prqAQhC~HCX!bOkdEY4k$_h^2B%e{2j@)eIg^ziICbJM=v{f8@8J-+&X zI{*LE>HoLOKWWtHG09`cjh`^_-bs`1yPxm4r%szbW9F>X2X*;>yZiqy%HR0L=qIC` zHU7cb{vQASH;jNGYg+$>e9xaXf(bqm()KSj3MB*RR z>Jr1*d$gf#qtRPB@%243YREHeb<3n_lZeLfotltX~Kk=iB@?DErl&U<_CS%3ib*6dq(1D7@Ed@LI4AlsfO}A+a6BlBu@q2vn6tnEU>Z0O z%m(AZJW$THmxFhLh2RgswV>RnTMrHgp9b#%H-RI;Enp(J6-)wmf}_C_a12-pjs>g0 zabPt#0jvWjf&uVeuo09sU^93>Xq2+21?=DqFdCG#U@Z6`=mcfO-yd8J4gy1H07Jo0 zFcAy`CxJFl)}7(tEX*Ci46q}Z2g+^Ym0$!Yd)Y{EEoOO-a|75J+yr(3Uj`lEPB0qW z16~En8uw~Y*0^24D(qvx<6t*10Coq@fw7=bMtcCGz#d>M*b|Hcdx3+%>%bA<_2780 zH#iM+f@$ClU=DaAxE$;Q7J+f#day6}EZ7g+0?KQ}C1AGv4ftg?t_z1WG%mFupYrw5w2m{D2&<4tWrXyI1IRZQib^`0bDDV_0 z_tKleuAuE5+5;F3b_aWbJ;46pbzmYm5S#=ifEnODU>-OcTnRn`ZU93Vs5XN(a4Xmm z+yzE}m0&0EC>RCSfjz)eU;=2{OFUpS$OK?GK^r&_>HZTe-0egT4zyz=!3}IkA2S&&MS%H5r3XB3{!5&~7 zm;jCdLl`J0ff3*=uoIX8_5kz11aK`F;-p=H5#VO96S!5}!Cm4W2OZ)LR*O4WFYaKY zxc4_GNZi3FuoD;yh75!ru?Gi;cF#T(8m4U1FC;WT)$v$6x zvagq4t{HExY0fjvd8U6kg^{0dedH(SF!C!f=l%lYQPV7(BibN7G-`jsv6A0Haw0$B z;K;9_H9wlJ9L0H(^F?jWGU;4u<}cgi-=xExkYA=r&tj8~bV@*ekC@@)v_^i}W_UR> zmfs_$|3}RD3OEgspWBSrWu~8J#3^mz10x$+^r_BMEzH7xBg@H6Kgch=*e|6?XQ1B5h6dl3!_W5~t89Z7v=kvi6a7Cv*yDQQDs9ALQ>OOfIvor7c?ZCG9aD-$JLj z$KzY-ce%=!)<35FYrV8v%a63(cv^tasZSfns`8XJEVKzdixth270q%!Wz~zm&of!& zUD~+t?4->|I~TpI^Q5hdUgDSbF6H*kyh!`E>TaH*U#Bbm!Jgr%2$(WcjJOz4#U zVc9QMbz#vj^{Dj)?ZQgGk#du;^A*kGs7ZrfA@!*Hg6>OJXvvTCDXHaDd|G`=Vv*W4 zXkj{+qx9;P6r?Zda$l^<^gdNax*tw3rl>e152IE4)BIjdhm5xp^DO-6el<#!qwX`> zzwR^IK3C<(>N8TNDQ2B%ic_#@--dJ_(EYZ3I~%R?m?PPN0-|tSC{$1In zEC0!A^>2+g$*L{rd1t(8r+O?&QuOIO^Q{Ew={)PQ*LfbT+H!$e>XL`{>1q0O9;~!e z6tz~`lT=OVw5KXMblQ{5^rQ{wG<4eI%)TjQrps85C!oi8IKCknq>5%&iGL9ti_wqW@>FFA<(wnSk(d9NlQ=|A+pLavjLK8{xGt}Q#j00bPUHQwT&YjV`$SVOd7Po>Enrj; zldd@{{ZunAx=y4oTID5Uyo3>#%fslNsM8sx>cJ`t8FO?$o2cm5ex{jiPEuzt(CTNB z>ibsSWsj-j(JfiWbFbQaYCkDvf0cMfQ)gCM>{nXDPFHPDhaJ_qY#?`Hn?filV=5Jtwn@lvBP!*$Yb<7MAEeeqvRUS~)r4G01Nc=4x;j z_#v19{t3(jH-Rg`AA@VbgWv}6Z{Q~IF!(a~BDfQL9oz%%0jt2{;BioR00Hm-cn*9U zG!Aj54P-;t&0rMfXTUh{5wJh@H-IBB&lfZFhJfQS%ltbHTm`0qJHSD>hl0y7OWBXd zYy*oh%N(>Gd=gB-J{)`&v&{9gFbi*J3+CT|+rXcIC7_h?0q`$iHTV)JJO(MbddxmB zjqn}8bC`vPk&W378i$ek4Mc%|1!KXN!8mXqI0*bHI0AeF91p$&P6M}rY2f={4p;>) z2W4(A0!zU4;1Mv7^di7#F&_fAfVJQ@@B^>}+z%cAw}aJSDOe941slQ5;6?Bi(0(Mz z_!x`2QFzT@nSco|j%)>0ar>8K> z?2>}HANVxpY;ZaG=>%@ZEd6Oc?ze(lF&BV^xJQD!FmC`W!56@z;2*&{P{y27;A>zr zxC@M?-h@|WJIXyhPTLI#(}>F2Z2k$5#Y06BjK(E$76m-+@bSEa2npFh2~+-u@Ht0Om5V9^4IH1b+v{e2`@P0yIdsComB6FTr8pY;Y&`L%=bZ z9|N7_D-le=ybi3xeHfUAxeyFs9uDSUUIW@O_X3w=o&y$vxnMN**MaLX&jl+n-vK_0 zc_k>kYA3h_^E@yX_v^uJnA5-#%tHk+KMz)eKLlrCe-qeq|{u)dK{|rt7{{YSc$ATGP9;o+0awFB6yVKP;rRVE;YE07l3{_5ApQ-wY)-P1^ zsn#!2G->@Ks(ovHj>@a0U(uSDteLEIm#F@v{XE*vUUn;%AK7_Wdc6zO{#TeZ%ic<_ z;^((pziS))HwSlX|0q0>cqo%NH6K88iS+(U?yZWwtT*IVqTB>+3#)krvNExF1@l$; zNV@Tqj?}H@8)T^YT(5;Cyx2>+`tFX_%U{c0ZV0#O)!2ZI?4B2^9wzG^*_$m;SS>*pytv|e+&EWOaA^_o7dU#Qa7`bDY^v_7|8Jb9`eXnW16(R#U0WW}l5khXtJ z)xBP~Nex+RHMwPK>F2BYPy3PkmTmTJ{^i!JWv}l>Y5%(1wSIvrQ?1Wdb*A-;)x4nf zd~x0ykLECG`#dx6Qpfu4mSrz(LhEIRXzAUmt!VqDW?0!{W}150pNp%-*I20Xu6aY6 zW2pHHnoFklD4H{;^}4<+y{recUjAD8997raez95`>b<&7SMvyT+ts`$eJ@P&GAw)9 z*GZceK8xrzcTw}FGzU}jU(!{3(0m`wNff?jJf$gl)O&EIJ*AD8qFaBPS+`t^|EIadn*XOc#+t{Y)7AU|-Tt&* z)2a3HSN2Q7yVBfc&BK%1_jtN$vBX zZS>#vdC)x4rIa^o5Bjau&h-9Q`l9qq>n@>~r3JT{C7kw~te+$6l0Afx{$H=Z^!Db5%g@|AU)Dm* zX4}6W8ouZ7lUYB#&@CZnjIuMLYu0CO7&vO)2O-Hf{_>iBH{CDm(8SP<9ZS74;(Go5 zt9KSGt}Hmd_?2LOhy*BoFXN`)%-99$Ie_k=u^S4nG>(g(1 zvF7gR5xeuh{PZWTZmA`me|O!foSIvrk9ZsTbbf`%>Qx_fG!AW~_-X|L3`?8y`sN@7VF>*{(CY#*8|?YWDE= ze{pSUbFX1PHQtZ;%YVGS?1jhDFYUN`Q98TH`m3(+Wn z%8t*Y=l(kKglI=;vniSmECM zW5YP{=hsKL*FN#H?j!&D$X(mKA3gcJeQfgN?5N)z`}!w8i~G3isq8^FjoJ2#(@ASy zE8ibF>&%qwn&0$Yy2}6PeYBvAe}3k9@T}vNnH#R!UT9=(zu9^4@H-!@T0HWFUXyqH z^`pG!KD;}r`;PneS3UZ4*ZL3E-<5d($&oKzSh8$#zt3LnB&{s^_USK09G(^RyLbDg z&v??)Yf30F z1Vum=1wV~rViJr?@Dr7|MBEZ$Tu3Aa6QdY6R8(9NafxC?#b_cLqnNndx2C6MAR52_ z`|o}3bN~PL^PD+->Qq%%ojP^u^fGl;A7Z-wG+_MrW*u%aLoW_(v7^(X6IcCbTwQo< zlGx|@4PDy5;=`?9c;wI@@1H(+w*R|Du|rn85%#wb!+!R-&P63HjKWu zcBb$3AOBprx#IfyRyV(mVQiTNW=lZf_IYR5wf2a*b-e%BhsLI3hmP^ua@x9Id?`J4 ziDBHy-5Y=38W+_W{i(P$%J%2RBSU`4^Xa>!df1}R8a~*d`^U!ted88vfBwaGyY{X< z`hD5Ny{03Lhn$+9wQTR=yaTUx@}5}Lq(Nrhom9{E!o6pLF0P*&Io$K|fkl;ZCpue_ zD+=CSoAtUc&n!)=Kl#;pS6=Bd>2AW}%hpEE?yCN0W6!ElH=l{$*{S=iyZe^SYm~Ba z%0u^ey7b78OMAIXz>HxZdtPr}N?9lGy*RqCa%^Uq=f#|Z#k+^h^c=Ezcx_o}6+IRfO#WT5ol(o({lss`y`tmIoGy1z` zSJ+JlA|_lpJ|aGGYQ>VvC&jxf5=T!O$j;hRIsE0bVP~boVGn!zwwy97Z+P0}&V$EH zY8Cm_rK_VF-oFsXS2D(2_q_ME=x_IE*1p5(9xN`l0`3%TA*;vZf~0B<7G}i za<2Q49cO(lEr*@k`2MJizfYRA|MIHW2X%Fo2VCyn5cN`?Ki(SDpw}DcyBBN-WH+r! zTy;=MnCxG0XVQ*WON)<=DX-4kFh<=H{7-*M|n5iVS4Y+&(ghK+&J(a zzvybGmh{WPjhecy5TytHU*F4|6xQRT!qpXW%6B(=Pstgb`a!b}txs>*yejYuuaLEK zKI4Dx&MsW^>A7>d2giOpYIDiRHKTUjlBFRx)}PrMuwLfO{r04kjv4=Ry}Ts@t8cpQ zT6um@uF%o*#HT6m^!)l{^TV#*?1?? zmmQpv*Q|56wS`V-$c>Rze z?9_W_e`X3JVym*hU0l*)?Dsq7bg?UpXNyYHA8+B~@NrDelsTXrV?>d|hSx`$KHqL__cUp{n3tJwf@F!*UKgKzS@8F^Hr1C{a0D0-QE3*=Vom1JKK~D zQdGAci!;CfFrdfDHkWNH1LfP}KeHSPFP=5XJe)kir=X@JaMP1l* zrvI7*kGvHh_4**SICSp4VS7?bj_)k&o)CF*Sjp>O8m~NP5g##dSDVvcFZgm<{~Iep zF5f*fVOnJUmzQ@vyUdqdkMf-P?MP{;dC~=L)d6|HM@Odzd~|1Z>fXCM7hP^Qma7=G zZt1Mw>i=;q^ZRu>Ub7r3+4xS9(tg>o@m(q#drxhZm>oCre8AkOAb!PyXUdzgVN$Dt z?At*vd^@c3l)zK7(sHwGVvEhEyJQ6&9{;9Wh2MuE_G`Le2wma-xHX`3ZcQkidvi)x z&zo|o_dMlNzZ2zx-KbqXjFf8w3+0N>Roog5qTCw2fiIQfDEG!`lzWr6DEFpWlzX$~ zRJ~>!sCtM|T<@8~RQ+elsrt=tQuSN7>pWU`>pWU^(Rn=EL)YNh;kpK`l5`EcGj$EU zb9D_{Z_zbub4=H;?XS8$=*@5{)4Zv2oTK5>km z)K~kcB9B~gR4I&`dZuBOs`(|mvp?prX=!ASI3!FLZW z+T%6TXqBhG7}a3DN70ZO#<8}2or;bc7oKq$dr!IZq4%51KYP|{{Cv`xo0D&D_vjY5 zJ$~|Q4*5O0rp?|XLZWwPJ~^@FotO!qH?gXG1TnDQG4*Ji)B5&;`;L<3ifeRwlFG*~ zK2Hme#2c*`JY@xBMRj|`vY!+^d}#bGw!_L(&GtQ1w6h0}x-@BcSUuc4JP1IERdCc& zrA%|tN?EL`RIg7{nVyb3IYsJ8j#b5Et9$i;4n5K%(&(hbNmN8i9Jy7YA|ey*H#8{| zlGPg-dl9WgYWdo~6%F%Trzmaj4D7g@x)-hW=EN>f`Zg*%kv59i-#-AD&|fct}i-zi0t{H+bvJ&>sKTkYsO-znW9+ceqx zJ1tWo8O@TicPdfIZ8DTAn2)&ygHvDJrLeDV-QD02k;j8S{Pyos2F70M-oqzQrsxLE z(?;)By0lum>DoDzr*5}tb91-SBEr(8?R5oo*0U?;>`_WTTzD@a`xgmMz~jSw_9_QM zt)ugNu&Y@}yN3%3_A0xXd9eXH^e^{N%u1zLS>ExzcX#YTz?7VT56HYzyo7Ot0ccgm&A14?pkx^Ksake4;^>kIWtlqug1IoR?5kzf4rW%EjueXz~%|!x3FNWZZ=Q zhpnS0e|bcCbH>Bbmcx)oq0sVl)e+@f)5aYG!(Nc7pzZ^jc0Q`yZNJ*z^Uap1@0pKB zk3On2Z{0YsO@4EkD(g`+A?K))Vg6`c9FJY%Y>g)F`2MJ}-J{vIvp);ahi^XF)cBZU zDBIln!+&BvKhC~8tq*qFFwn7HIB-?vDZ6FUaJfyTHC)tQr8S(p?W8@whHY=Cw1z`m zRa(P7pO)G4Yq)%fN^98v;R!om!{HlMTEjV`R9eHO%~V>$ww*uN%WF7qvPx^XRIkz+ zPP+EJJ->!MKT&B7`$wy^hOHe{TEnFk$L-}c9R9INYdChCN^7_}K&3UD{`)a|c@5jX zR%s1WZ>zM1tNW|8hSOU)$~$n;BmJ};@XhKni=+4E~Se7Q<%n0ig6HJsH}r8P|daL`^} z!$pf!TEij3Ra(R4ZB$yr;TKBm2ts&-Y0p2MFOOfcf%y4YI|VMU)6W(-oPC|`v8;M84`z-eB(gEkTwJMM>_Fp zXkhaElSCyY?{GQL;r5CCeK5A0^=zg6%0(?#fJiucgG`uTLVV{lW!H`fxUrK zfyq1gDZu2OeFiYO&6y3{5jYE&_}wGjok$&OPaR5}7DB%NRb zFmbPlYekYHqwQNjP%-g|_Dw%yB1YSNuJMUcF{Dg3ic}e+Vl$Ew;f=*01L4Oc zJNOwiH7Y|7NT5c+sT&R6sD$YB)QA}Dcu8_o5+!5wnkZ&mMSxO3Ip76o?k+%i z2+EJ9D6>sRg#so3<^nzg6a&Z{cd@zHN^YQ4F8GG!Hyz&7U>^}!v6%p!72m=GG5}Km z(*U~wB>?yC*xv^*AOi2CBk`R!;C;YsKrUX`tpw}?902?XI0tAp7JIn??!{wl0EH7M z>Kj0B%*lR$Pd=ciwSe=03P9t3V&5Ua7fUGWOTg}B6ty4VmW!JrKx!V^2Vg#hxByGn zQPgrkzx9w6VC4piS_7yC`~i?Q;w}sDK41>u5TF!L1~>)q`hucb0rcNuZU9~fj0B_s z(gAw``vEU+qo_c@Z-Co?`rEPR9iTO!9pE8ASA_NfCIS}hg>3``l~B~HfNg*sfc%FP zwHaXTq@%h6b_4bTiUIopcK~+*+dAv0?*PXECjgfKR{#xP&{0hQqX44;M*znG=Kwze zg8g;W06+vF3XlSr2v`JI3~2nKj%o&Y6EGbx8}I?3tqJn>!1yX?FP@u}2SLA}B7eM! zy`@@W{lJ(L6}=4IItjh`4OZnjE4~f;7;;*J{sij~V*_J71Z@HTxz}{m{CX5MKTbz2 z!-D0BrxQP+KKlW>3X4Y|wugl&r>da8uk_WawBPsyl85N;H^BBhe(6wr=rhU(VoRdb z2tSm-S~gE-|K2l@rXypv;$94OVBx*+OeD-T()=CSpUt>1XAT~$YkT6m#coF(wB29vM_LFRt-#Uh-cl6p zLWPqu$tlT^ezYE^R5;RN?Q*xL+1p9dpLF=T&u@*UQ8Vt?#rT(OsLHjnriyyEtMJ>Nkl4LJsHh<+PO|GOc<{*~WL_KSO>x@Pl#wxP$OWeYQ@jtO=d| zl)QB3n!Kx@k~h~WZ|PI=T3@Kqk$X?c8{)5yZ#b}~SM(o$-^X%CnJPya($}b`l*xLr zrmtB~$!o({Yx3Uul)Ro8UoCItQ}X6I<@NgW@B8T4rKVo%Q}Sjx<&A$z-u$jL_2xV! zZ@9iD@2;ohrJ0(%RZq!V%33KBm6Ygli31aQJZGh*1IXdRtJv?J`o9ouPHE-JoXS-S zR_adxIkMm@lLKsf{bX)ucemoVrp|QKN#<%Ma4_J}TzyR0*ScGgv!-l;qwKCaWr@E} z4(ID`>|WDP=k{9rSgHO1a%lZ2b?OgEZys(Xh}t*GN*x1e`BvA-=QmQ#7x{*j8V^t@ zQW6p1!PDBKVU?r46C?8`?0k?k?fTB`JP~T8P6NoH@tylQV~CZ? z1du};&s(UQT#I^8BX@FtLk_KtWX#?fVI@hA>P578`*>>CnKh<1-??3++>UXz`Neh0 zUy85IuUpJgd;Ya~s_Z}PTZ1+Gb_RWa+(G0_@;r{GrMcsT$cfae*&X)b zw>$d-!&ujCYXcc?y3`9e&;RciLOK{<{2WhyI>l?^OZ^Xsc8Vwn_sv54wt{@uWnSEU)PQ-Zc>|Hcl<{@Tbp0Ee{r2P2K# z+i1sZ#K0u?%a1$$H)iL5e$38|y1}v0@$tRVqa)K&qkE+fqx$Lw2VukP-Uy@FCm|+r z81}pk>J=Q!7y_dZkZTnc5|J7^Bw<2YVrukY60s%4o+Efzw~#*e9J5?dx?f^cT6{FA zqd&IgMvk9J>R`l?OifEttG!M2u*b@D?97ck*WCt1Bcx<>s6DC;;wHEwJW3BWxFiW} z8DtOHnM_S0bp<0VST7P&6Mh!e1A(QYRW@~12QIb}C*d=L5x;U6wN*z#u{bKC&O5H# zH*vHYk_L)CkX(s0D|x(qZ}3MvydOZAON0f}_76|2VNnm=hasp=@5JQ62+b59t=2{j zB&{QHJ$fWYML&w|G2U%pT6A(oNOZFOA_%qQG6-g1tsIul5?$zn7+9)Z1=@BH~h@ijj_>m(=fWgHq#%Buv7dz|;`ZLZ`9s zrt6guNd%o3XP0I#(CA8?;5m4v>lz##F){it>At$2_P}m+8B?9)S%=pxA!=|^T!MZ4 zs6FnXkD~t+lXHkcjqdz z*w58qMQdyC!H;VnaSiVAXxDwvk>mSlB8kOXV6B- zHZICO&k%Er+C%!;jkI7Rx!!fZz^-G+{i zh#F;&QjC|blSZjgimeDoX|>k$@-O*Gz%Qpv&iqI5XP>|)*VE$Zj#A_4I^|Ta33u|L zvlrxiPIC0WWF@Z{{_W%Q*4ukJ7be$prhWeAeo*J*obz8lcR{(j{rFc(lX5j4;@_9h z@{xOa@;vrQN8SF~sD=$2I%U@QRr%_(3Bq!2yYsnIF{-k8cW3hdn${}w^scElX%k|2 z6yQDW+HM;AFW4XLr~>r(3+F#O!SjiSdL^GH9{<@b`R}Rk$s3QW?RoOX*#AB4{ja*} z6V<>|z2Xzqz~{fJMgJ}J{ts6NoeSBS7W?S9;<@Zw8EdA^VDxSW){2n>8 zzG<`LJmlZ8>eMP9mHn6B=?~N-s{?=eFXr#&$iEr+53j6P*@n8fvU26?Pp<#X74{MX z-EmiUYUC*&YSgK*r~dl7a{95dv*ma3?ZlgE%few_*-lS~X^tZb`8ni&5(J`!1hnTv ze`)alums&x4wpKItK-nRN!CkeS)}D?92GnJPxu5bE^<^fxw(Jj7uDiNCyYsrt)0P{ zpO}_9DlukMazw(IXsrTgKJmZm`e@F45*~Y09PSsa*4mByU+Vu+38>$edE+&H?GEbf zJ|F#2k-u_ngXBBkI-ARaGdSfu3W z35c?m8XXmq95)enoMWO>oD$VXhUi*w^u*|RpLp^s`$nYnNtl>8E;`xQCoQg9Bpwf< z{V@^oDbc99>!TWL7k1`2U#n|PTe?2#3NmZ*vD6-||04=s2^qhpbVtK0hS7#R!+t}! z@jB-tScEac3}KcqPgpJN5xR(BVx0Ji7fTOIs3pO2$Z|=!p`ZdEe9Hyo zPPeDc^Z40gRc_#NcSIo8JcL?W%OTsTgJCPBi#C76M@s=n_ zgQb1aIf<7C$REok@(%TjcqrU))VYT~NZ+Gd=zHoX=$Gn8Fz4ADtj_q1v4c@>>}DKj zj4)0xPB+dot}uRX++jRoJZ~Ip+G6_2)W@7^o@t(Io^LKNZ!zyNQ`|Z3B6o+o&(-IB zd4*reAL4bw3xY}LCkz&b3!{W+VVp2Qcvn~=tQ7KuuZ3MgfXIsxVv6{MxI^48o)CW# zUyx|2r_@)PBrTIZmextzrCIW7d4qgdZffzeOt4J0Otbvc^0DPJ%Qnjq%deI;il5R& z`9V3STqbg|;u|KQj&v8=L@RVC{RTaoUO<0DucN=DPta%SU+6n@LwyVV^ZHJDPTyM} ztRJKg(~s0g>Bs4l^%;7b{yqI%{Q~_m{Tlsx{TBUq`n~#t`V;!|`Wt$k;Tc04gJKwK zm}yvT*lsv$xMlEXf|zXP6J|GajG1mMG;TNUG8P+4jHSlTrg5euQ>rQ5G{tm*8^?by zR0`o@fHXpik*CVL~Wj<%VWg4?>**{r-^BDd|zMr%}S}$#qPD!6y`YKd7zMn*0A^IWc!wUV^ zh8?J-9@Cj&8IkG6jAY(r7BlOZ6U=!=$2MYHu?*XteT5BX$FQmFRQ4_QJ$5C#jxA)r zWxr#8WG}P7vDNH-wym)fw83N)jU$Zl#u>()#$(1?#-^s{OfQ?vrXHq&rU=tS(;QR2 zX}9ULsnT@YpW5{K1?so;IE{UNBxZUNv4f z{$?C*UMYNvd9+_RBpelf5X|Bji;c|NEPR6jGzcS{sGp->t>3QanL$i6lfq16{s~#+ zGM_Trm;=mF<}_2qG+_I)VeCjYicMyZq6O`Z{>E3-5(~XBs4^2bOapsNYFU{x8m(4fL4Y_8V7w5;l$OUp1t_K&y zC2=#kMcgWGBe#<~$z9``@NM|6JjZwAllk}g#ry_-6JN-G&$kjp;Z-3-7$PJIlZE$% z4}@%Cqp(fbhcP)O{3_fRJj5nqbCDJmv9CBl3>DMFcf@VtPhvgkIjOTGO9Q0Wr8wz* zX`YlPZIcd2rP5i+OU{+Qmbc63I~3an)QoL5n!F0zIWq#lMx%sHMAD6-{=C*KY z{2Kl?|FZB8VW}`)oG(5j&BCnuSz2gWW)YM=O1W}VsaB{Wd}oO3ucU9$o%Eyh1^SK# z-f-No5z@ZE{0!YOv%R4`8?asOqOpg$1GEnEy_;itU@+h zwW1AOX(K&?j-lt!i|DWEUG!D@cRJTp##i%mQfJyyOV-8s0s1xlZ)o{5Ok0L$dNRwIZ3W|6k$vpe22U zp9EhqNSbRot(+(0AENfzO82G*(|$E7B74E~i|MBM4QSsCu7E4!E}$JQd|y72zlJ;hjz{F~B`5(jTC=J9|W!FsdpSRa;VgJ7dZV1!4gJn!XJcK+ zWlP!PY#DnEGC<%YqX%r4KUVuB<5FX;akVkexXzewEP#)*)mZe%%Q}~cj`pLUR$kic)i#x!hc7 zt}<7{LV3VOd2>FTKSy&MXT{1D!i90+Tr5_wbk4?Qa#>ssm&@gG`CK99PBB*sZ7S!8 zURQGz@4R4(Qd5g&)7pkZ&k36dJY~ ziVV99C5BS01ZD8q$_*8UO8ABM3~r1EY=tM|#b`3lVzZ%RMAEBaHP*5D@N){;t*{@v z*kZQCE`M5J1x}CztI$&j5`tmBLWMA4gb*%739&*v*49+$+Z4fuyN66+Haw4P*tVrY zF76}pgmpr`P#_cvTZJNc*Tq7KP%0c3%CMeP3fF`x;g(P>+!GMyO7svLi=MDl-eNn^ zNAwf@#Q?0#tjLLyXoU_3iNRtB*61);vT)o<#ES7^l9(!{i&I3KI77@7XNy^)KfDuK zVHHl16syux2~vWU5G7OzQ${G^N|chX6exwtR)xyfQKgWb8`l`#MLYNx0UQfE){_h7 zLb(xGTjIG?ZVG1jY%UwC%xZ2O=K5BwHYKoeXSfRZ9k(zG-T2157vGNe;{$k>m-wE1 zFdxc~;G_6>K9!%s&){eC+5A#|HNTE8;J5O-_!9m&e+DbUHU1W?g&XFq7rZt<7J*;Gh%1|*sdX|9GO3n0Z^kl=C5?FvZm79{5esd+(SevlRmN%e%3LLs3j zNGBDNnE|O}i%Z4TxbrFyw~D*O67jfrMywF8;Xdr1=q5Fmyrg!LpA;aml7u^*U?~)L z1W{7FlqyY;W?TFsD8WPU6ubo=csn%o z-3na~fu4s$$CIGnHt2R1^g0(hoezC3f-aXrkISLQRnTDs9)tFJLv#J1wH!1y2-+G3 zO^t!_L2Q%TIOV{93+Rx zVRE<}D<{e6vJGB+mYf6MHBZi$3*{oYST2>zxuvbJ%8|yIY|vXCCPZnX%r`k1*&&4)j3PfLj(0wl)>xoMRtb@_&05`*S7=BPr2V z$kPTX7SZL9oR8iLPr;_o)fef@^_0QKU^RprY*@vLuv$@!43k zj7tceMEe`UaDSO@$b|Qs?^x@|3g-zc?hQNc1554?TTa88TVc(EV9!Hf(ZgWVvoP~Z NG21-_)cgPG@gHcOj)hHn!BBIB6SxY!Wc#zTfBEnIvfK z?!NnZKcDxHh0omc`<&-I=Q+=L&U2n~QhetQDM^wf2Y#k0NxR|FKfn0?_0JHJC(e9h zqV(#x_paP+TlLd>p1V=xvppMz`^l8# z=Vl1k@!TxoCJC47S%}}uZu@iOuHJZGnBqR)lVCuSR@ofV@~0ctCDM8%yKRDPVurNV zCQ1Kj#YV1$>&9;r;s`6`w@XqA9Qv1Vr5r>O67erd@;8c%l$Qz!cf_Gc>C{IyDPQ=$ z40+;f%+x?u2(i}Q;^nNj!Xm>^)(K6qDYn`-E;ls z_4g|GN>X?;VyW*`=x(@U{`rBB>#c0kaSsyukv<;o;V`gd=7 zT#|U@Ws;7bgn1S-{!pw*aR$q)xvD zxZeWYZvpPN0QXyf`z^rz7U2FYtDFV6-vZok0q(Z|F96`I&?T3*brvocxeNW4Q)D?- zO@&!jNK_%uE6l;qt*2PShbkoV#<1kakUg;$p&)N4r7nmrVp$l8{@c}}pW0CB=6%)L z+xH-Emih*KUxjap`U-sOMcj+>>rYcn)!KP55_~tQ-$de_h`LwR;kz3?MQ(l!l!H(e zLSec2YX~jquGZcv3?X8?{7n1cFOB8S^F~RIUI?P9Myy`wFbbVPqtFrLUjuRV=2}%y z)tlw!Ypf7ef4|(EIa>V|xq0H3R`33c)la1Ae|ga~S+Ub7bO-t67+4xrLG(n7Mp33w zm=oj9uV1+qjDxG>srCX{-EBsA*yh1-J z0s$|NR|t|}6VZX@ZpBr~Grl5vgZaj+>8XpkYHT=HweGIUsMSlVfL|X%EuzzytP-Dz zV6{9GOs>*=k3J^jBjhOGc<6!wQPo58F8n`4+aTHzIm z3jJv3(lOL-k(BY~jl4WQ8wF-sF`7F@_;q97VU!|XO(LEC;#*Y56J7XX4uDthgRh5p z^%^&;bs0~zAq*Ze!mcT7v1@tW6VFrPyeD>8PJ?g?H+4So3VieryyPCX!p*+!wsmTq zb|tUblv`$Dei)8h8%@bclh(62uhIOIY1YeHCQ`Jv*+IT?3gOIQtevg>wntw!9J>;* zEI1Lzp;qrn)z5FeA$CKM&$M#tQN!_=UYKRpcp_36FS%Nf1qz{cD|?Nd$+os&X&L`t zV0EAwb_Y7>uI_Z)o+arQ;`xwknyt-Pb-O*dx|H7^&lzwTC7YPvowNe^moEbcF$(XA zbAK@z6DXuf5G;*I`0t3=$knSd%4kJ%V?}FjQ|cKIQnDVs)=M(=5|>`+E;Z9VNMt3M z%!;KiB}8mt$?Zqk3`!1VvJy{oo0_ACTzZKcOUn%_F-t`>P-Vr2H*Tio@m3%X^v zPJNnwhod(P=q?4?OwXi+_7plKH~(+I&Wc@~h2RC0(OOyxbFI)K%kf)IzU35I4yHR5 z2wKi6%UNqVpgl^v+j6q0U}xc6KOF5*Pb$zojs@I$$s%o=2!S4Qjl%5CLVvQzX|0RI z?|@h{eK}T9U~w5Myn8`+?;$YYOFIOtTn3d@cUc1YbY+i%|#W(tyASXAyy2)Y)?W+`pS9 zMzNvJFUd_$BdVb;Theb)Gr$4}&z*&tlo3lID5Rq>+h#REL}R9BqkDQM3%KOhXPPa9s?$)P?3AU`tb{Lq5%d=hj z_H3u_$mTbpvEIE%8*L2~@_lR>iQ-ad_J@BU$l~Xq0t{{Mr-&=(kAAVSEjRwPh7L}U zq}bg?rcJw$s$apb(5o_Q7P2Z=EGHgU?lYM*!sXS)!m;m!GO1uSsHsbHh>=Iz;K^5ffzN z$L!Nn8gIesCT&hJ)8_)u#N*8LYvCh7Q;aiheT|YJ@qVlguORfLD+TfdI}7iTasa}n z(#SZ7aA+q7wLz#hN{S%N%?+0FTh9|UxEgOEO#~}hwY3Ox%5tkUqJ~nl#-W!u&GbbC zk!jYzn=2|=-f79cK@pdaI99lvl{od3=5AGvU9q68xm$jwje^P~t3uR=3dI~@g+-V# z@pu~D_}l?L_Coz33~Z)L2vG;c=H88?`rl%#--6v8D^Nrk$8+EG5Bjtj=RTO1xrKg2F+?62A>W zlBYbz&y-=}H#D*NozurMfG?)s{2!!G{}0kHU`IL1V7^%YM}IwCj5qN)YYY=yPuu6I zjLKj?pYM-W=a7_fpd)MKMZVGI!QVdDe=*b;6*1HhzsC;s=SJnR(NVb%T9E(#FkdrT z;p9YxUmRx91#aAi>4*OA-f^Tr>fJaGNEPz=?)NENF&cIrMR+B`2gE;Y?t@Ip_OR{Q z8OGh&nR;e6pNlB~VWvD}ZgPOH=2lW?GO;Cy9ykz}FZ(?DhEtt^e!=SlebPL?q#rZ_ zJi+9PxwXzU)L}1B3W;@bf5oQ}c_Y{6XEk+EE6 zi>Jh;v+7P-rp?rv>DZRE7WWWu*H44BJN5i*-UBj^O*34#>UHkYV2JOSMs2vjDC7w@otF#B&>y*$-0)fw837isrxU_d%d>P6T0(XD=e1QbKB>pAvlXVGx+yXyr zjq@*{s3S#msp0DxSOVV>olW$a+J#K5eO<^*lhLuQnP+6T9lzV0yNPw2ktdZn@k!}z zL`Wan15v47S9|m|$MxEiT36~45fOM_UfN|i#x4#`~W>CuaZV^g#?`$+n8RywOa$-EK=dK=$@$_uQv3W&uf5CELLk4C^D2xN&`XP7b8?mIzwq=OUu%SrTh%wqxd zm*L6zZ^N^E3_M+c`#*wb*0Kt@bgpb4`~i2@Z-K@ z{sjS#n0jKQFih4o?-WC%wL9WOUdo>r%{oRHfws>rR3TudO*DYgnjnovAl}+&dzaG3 zJyv_8#4*yOQQ)vz9hq0xSxsuSP6-oB85iRBfmSdRM}QdRMvi#nx#dlS4aa2cen915JDaa=ykKqdcOr$h`1&Ef9%6)k9vw2a&DMV3 zqpui_O=~`?Oro@+M4H|ivoA0KG`5L`=SKYzw_f2{9W2-1<=q*C4i{U~15ORrp2Pc+1_P?ipN}NzdodPAX~xwacj^Uh{ZY^6 z4Qzqom=O%E)<5LA*1E}xJ%(eQt-I7zQG7NcS@Cgw2t$=r=`og%vx|Ku#ta8+(E0VV znqjSNcwWCYl(pr4OSI|2Dtr^#B~GZG#I6TTl&;nfqLE`lC5mN!Y$I=5k*MFQR=;I* zT(M-6j8eJRE%B)rFs`LQZG4vThYD!LSw6Dfa4kM!yZgZNd-JjqL!^dKyKB73__}cjLof1Q^sE>>C5a z#7=jc7>C|J;S*j(DpX^B!2eO?L#`VL5yW97yju zyaZw%vCe*h9$@c*rW0y1kDv@T^fvxJRa6m&pLN6*v*JEx1DOSSz&snEU9PBzvJIRE zEaWe2sQtZ!3Z|oiM5#azEAEfWE*0yl?&_w|7(m}bycpR`wTF*`dw^eoxLyUA((ZLg ztX;bovUP#uZV+9kjYN*}XUWt8oWoe%NNAR-KW*7}`jPwU#0rgX!SAE1b&I4Ber5FBx@IK>Q{M8kiT+O^ME=l{3GPztwif+Sq|@};A2)$ znZK|tmZNo>dK%@@(_RtZSH+hy>S=F@ZyUZH$<&?=U{^*X$^1G{$bpD6{0dE;J3xap zPj(lB+^X}?3BROP?#zeNxSIlGRiUohGXZm^IQC>X5!nV&78Ag(Simb%v8VI@Lyls1EB%Vy* zjZiHqDGjwQNu5lr@Lz!ras${zS5(CDt1Tg%n21+XdFnlwp%W}z-VcAp;PDEL5s_&dhDb%UiqsK-A#dQE9vC*$ix6Bup5>Ou2=tMXO=Rjf ziif>{K5t;y+uj{zX)XN)QmFhFC7<};e48|>zC((m`Jj3ge+I3xF5e+Fb!B z__RqYB&of}J)uh%B?phJ)6<$zMO73`(A(yZ?grweXt;~Im>xuvpvP#KOjPi(feG+_ zbQ3Hh!A6%z81Lxr!zd8tGf$(@B8TS8){7kc_XGlk>W<{(Kw0)lYrv1>qRq7S3~uaGEy>=X(zd=U>8bp8ZDivv63zp*KGR zk3pX2;pr6Z+R%B3jFF(;yhEhEM39)!&Y=W==?uJtt%AQZ@FPGBcKE89{uN*^A{lGV z!4pQ{B|R`?^%;$=|$8xqQi$gBP*;-ly>as<~^ZlSrGTit9MpoO<4{-r4 zdAp6;lV$Qhv9ovSsrpujeuvZBt(QYDagx=Z(gWuj2Om;4JP2uX@y3TXtVHV&j~B1l z@Q{kp$3(M=8kHyYB*3U|aZKo(5E#;Lcj{#>bs1`z(|@ZeFKNTsfiio^Jt=lc$y~CD zob)BZlq5-+h)6i8h)j~yNo+|E0M`!Lbm57mSP`uFR3vq+UOb!^IJf- z#lvWkRrU-1fb$|bp#N4(v#?XVu`)7SJ9&o1tdq*TrB@O7x=@#>vc1;Dda!9X-i@o8OIRy26F z6^#`m>G161zT@f@sOOCy#G|s=dwqM=G;6s0`eK3;BkFDI793|ESd9Fwwy00=yECf& zO!Q3eT$IE_ps7WZ0!-SPgW+)wsm)A(5OJ85o8Sn3ZLueCr#2t}%SUp=Uh&?%UHk$q zgs146-b3HZPttesar!QKAK&Vy(xuPHNjoP(mmd~R@&Vz@=@QO$``|qLjpQLXEFkUb z6Ru-dKU^c=+%-&L!Gk)JbKxgWw38BdokLeUlR3TwcV}{6e26-ehvL47W9d^VgySqyQ)#m# z?W+z6iYXs9Mnd%O27e&-0(7#|+yhCnGv!&-7vB|7eO8*T4)cG++AxxQX~~cNKuJ3; zDT(a{%y+D&gM2=kq)kYLwfVT}?3m35nz2MZT6$a1N|?VN7wG1|cBpD9*H-r z%}p5``t*c|8(UziE>rE}%MfP?#IaKYHaCPte+DC48aK0*vQ5rWaeXX9B9R!~z#3?- zagjzD0TN1-g_pAKD+TMG(O74JngNdhRfb1!@04{_UXm5hO###1ruM4LOx7YL6h+IyJd$NVb~;WWa{R*4e{7i(unk~(}B zYn;9z`SE8!^EgtGN zi?U8{#}7bek~(p;Ko2-nJg+2cv>pr!14Fs_Ir4W91CyIc0+8SMy?sj>OVN5A296+8 zjd};7lD14bE7wibdYwj%vs(T@HtL;&9oQR4$_Dw3Pm*NqRrssrhfB^GHRqTKUzJ+nF#ezXfK6eh$27y9tHa-_;8j{pR?t4qsGOp|6dF@61xM<2Xy@IV zr<|1^2FBb*4SH4&jJac6e&gdWV)x^}gk9z^&fN^*r^gy7WlC#GOX^Ck!=`oGtSI#l z?1-R|AA?xhd+lexr~M|$%>I@rmTfqEerX4NT=-?+cP)N#8reaWjrF${+FDlF;xWK6 zrCV{Wh4z*e_C#J|(L^I(7Oj?AhcjenvqhARcX5;s1fEPSeR@TvCW^H30- ze1&yrJu<|-=HH@WkjBUL?VqM9)y50i2up&#Q;6DWo`q;qR$)5Ur{Z@95okH0&=Nu_|$De!u^Ot|M1z0IP}kWtpT+fzo74J>Mp>x4nzBCGFFx=jekI-^u>-E zHJH>{x2eC=KAx%Muy#;_BD1ObG}x~|zP5VQrG1=aQG4NvmFi#|e9&Zq0uudsgU$}; zAD+LzllPKLj)mb|E^#Vl^^0tCk;XtClylNlAy~NvT?= zTl;rq1oMrJ?Of-x~;t(>EjyeVP;muWJmx@ zjZ#~ytpJ+-^YizYg^UVY8JF@Pd-PX8m4BIeQ&~uu-jPkyL8uux~&67B<)FmTEO=arvN@Q>De)LyMeS=%4 z`##t@6}STo>-0^oD&46E9eR-yn_7Oy?bfbS>&pVb&VY9GN{DG*!jyEYn`(phNzQw z-?;)zqS&R|u%Yd3M`3LPR3d?WFQWc95N+OeJ%DO5^uPfD!(kT4)C2FcK$adju5CDp zGCla6lJpHH^{@3L0BSP=ZE?epzz|x4{s!IPWVjya<3Kld)`%G1Nk?+jv*KZM4f;2X zzM?NdWH)onHT@M8bP%A`o|2Sl>lsdSP!QU;Ha%&*E@30!4KvjRqgn4k{%jwqszbPDVb-{)Qny*-CKU{sMr-@B zEILD-q$SWN@_Uoe$D(Y##KA-G>YK7jO(fI^JV0rx)3+&Gok%Ky#a0F+^J}bPu)v9> z`udd#Mv;Trpt~3sI}O`g-4^?Z$BHZ(D=izQz7#pV#V-Emn9%cxo>eQ8kkIMRrV#^C z#2$=ABCtPmL5m~49`Ut$A-tj^4^0pqK?I#dsS^les*C@V(9x5%GyOLL!@)2S9;br_ z7#Lu%X)Nx`WDjJSJ!s7uJQyKiG(ZQ?1qXvcF#sMy8V!b%+pV_1JxDnX-SO`#6DETr ziWXd9NzsNbLO?HZBpvd)a(M=Ive3y&Tq3-#sfriTT8Lo+_ueAUldDf zEjHO_+GiKl?xt?#`dAhqBBF~;qpGe53pmKI$Yk&GRVWNK;t)TJ2w@O+&Qjn<0aaXw zm#Zy#0qR3Zxgkt0cTTZ^2BFnbX0XK+!wyDlg5s^Sa;Cx-1cpS!v)Ez&p6H@0Z<|Y* zY&DL(O&33EMN{MYS{L7f_Hp`61wVi`j6a6t1AHI8;M_?#cHzJ$`BQlek+DDEFb2pM zM~~zABBGIFh>xEtT8;bKRR^iuwDx4JExFZw^CUH+>8R4z8noS9YEv=Y?OMCN>8N@t zc6>&g)@7YsqAaQJmN@?mbBxp=|J6e9cX3(+n^~+ zD4y>mDiHZ5dry?bsL`U1v z@j!KMg;Q>_!NY>i=A)`JFGDuYpiTxeA{UmqWUa%MbVjcnX0@KC?nkp|ou9GO0Wd(^ zK(5TX;*0#6Q>+UMY`{6t?o={aQ3f@!hwwZgH~j>zKG9g=43@@j8c4M%OGw=*H+?6b z{=eXwTRmVjA-)V#6RS5ap*hqL-Onqfa#)_9`jph!dP>ZX+Vj?BsIxI|?gXwwC@Sja z8$}k_LS2LhmBiAK6v!G^{EA)L%~Gv{osXp$kGhh+?j%JwQ$3;8rQjW9{An@$+#0tjSK^~C zqARxMmJI%0FM%Ji;buifIj;jJi)AFzej?JWl&>Hq0pRB#iUZ5D2ryz;wOJB4Rwk*x zT?&|F7U&mjvIs1J7*XI_(5IbsA}+`$;Z6usv&|bJB$%qFoNvS|z~bNsmjys)p~(u< zNtUV3HMfA@{(J1z!C1tSr1gcttyyh`w+%TxErC!=Lq$I=dxl%HzE>f~GDkPW&B0W3B8NamB9hcWEhW9}rmnP{%@F-u=R6&|6lPlJc_ z^>XtuBzp()wq(l9`{Ct2=&|xPx#gy}p`7H`(ItzuZaxQYN8pr=`90vw%_rn0C)%?b zQ?H?h)a*nflM{`Mi#MWLCiAo;nD^ga9| z+x9cf19exKTQZHnkIb8bd=GjIk^n)@DuLRkd7%EcWFv(_YmOJ-CYmsQ zrix5P zS{gx}0}ZvAWRQmq!wfLNii(C>Q&JyesdJEFra0K&{57pUQ&Qb*MHaMsFWHnznp|r6 zNI0E$U;^nNv$ts?K>#oE#8#MFGt0OWCly2uN@eV7j6=;VYEEuuKvW!d8W9NQfOtD1 zA@=b{Q3*&)-AGbnluy2utm%*pE>lrq6u0q3Al>k_;5?9}gZ%L`u)_?*0a!8u01IRT zp*Sgbl?8bY2AUc|J6r|jmGf%>82CVt{{|vA{}lJoEHNjS#GFPST4<1)rh#Ze<(y+) z!+36+Qz^t!)P$u7#%{+DnYYQQcpH7<&}x38PaI;+w)&MA3=+@E_}}BW5t1G0h}(%q zXxq@IV}5J{Y0?3X7)8|svmJ~ti1TESe;fURJ+dIqlVBIvFZtGRS!+OcL7YQGoLzC^ z%#0IfSAB^uaG-uAE5=sjc>Bi=t*t+)T`X%bQ+gCOOxF)cesvz1<^fWpxC>3=mhlMn zSOC8P<5sq2mwq@X59 zHL>{vsdiLhcPi7dI1flR3fPpi0ZByLl_c*#Aqqi0@h3PhKp~-X7lyflUpGhu2{H$a zZxTiSg1BbhrYv<<u8>g(J*exM-BCO7{JuspETQLS8+_lQGo z`bPxwRPfku!2@y?lr$eyf_W>h#pFHWf{6jDu%=9M-XodnL{t}M1@T!^Wi_bYtbN^` zw0Tk9*F7~iu%($e(#0Y?M}94kjWNi=@Kg0TV%#E6C*a$O2@ES5YSMq=HCFx zBXtZ0tRr*&&Otg9{}IWqmXYlxwvVqOzSBmjBw|810mBNy3NpxdVzR*aYyXF8)K| z#j>-He-~by+48@mD6n_D-2e#zkn6;Lv7w~yTQdi&16Ii}qi4tUN;Ehu^$JM{C*%># zO3PyO4%DOFlO;g{V=J(0K8}&k0AOW&wo?oZY)o0Xn;7)_d3U&KZhqjG9=-CUZ}}7l za@EZOFZL~;hFk5P`l%1Jd)RWf1EBQ4#GE;>z3+*QD?mx#9j?tCLA)hX#_8w{T*G?; zFkMNKpEE9wbOzo6VMsg!A9jhU5b-cFo~p!#=djoyqn`(OA++-zt!8ddaTNU#`=U+L4Cripx&}7xJIjOlho|y6G|2afPWPSS!60aMXP;_>{sO1 z+Jfc0@YggX(THPr=y5dX0z@Q z+RGiIy@X##4>TDe4w2jd9TWNlE6<_kwmKh#(xkmuJHXD&&6(zcAm0v7Z3z#T(XPMv zToE)KA~#CG=BfVunEj_V@N&o#+FmzS5u9YIFRiO;jneAcf0G3n`js#qagp%|@gNwJ zptodC;-)Bq(Vq#e0{mK^qYN6rxH1VTYeWTZXps0HfE)1O!|STpzg1$IuVFFVp#h@R zWRi5GQvNP-RKi?wuV_lBx|XEp_$6f~?skePgr*wyA+N8%xjETa;HXKCq``nnh}L8B zXO7A5cYh&sT#Z4C(^p{du^a{;tFklJtPYlzhTV6K*aQldo_8Nz;asoJL928^ki*tG zk^5TjWo(m6yLeIYp^in`g^P;Acc$igV^NK9_fOqyf?nj(9&db{|OzckG?ESzC(f^Nxe z!m8yK&=3Z=QshB5bo*|sJ5rRHYfL5E$v+jlDhDccvU%nsndT!I<|A`?YP=X2_?l38 z8G~)P_k{PTcff0!NA7~6C%S`u%1*O(Y|iPO36b2545s-B&U`V(KwCsw9qtCAaEF}~ zePW44yX?Vi=ju|l?%~gi)`iItY>IQR`}Gb)r110D<&^WhgkYgM=&J68h z#^w_+$F}z93)|LJ!RUN3rDG+`dY~ht+}NFg5QMEAXw^&;MgNq6^LI72E^h2js!8zG zULCk#GY!XcEhxcqu#BLRR4@qT;n+r&`CPaT*Cgob82GoDE(zfc#_ai)GD90GSFenu zhNb!fu=md}O~qVN(n6t;+%da%042sl6{~fbPugNr;bR?7k`ggBWTwA_I*~pFqPwrw zB{x3=%zM!(V*DMkL2KrO%8h&&2?NAb?V#!FQ07BAohJkdH@^-ggvC0E6)+?G5!KkH zq_D0h<(T8io2WKR(HYJFpkX(C$Oqf%=TMeG7v)B`i8YPdhoMMSr8(!@s0=WK!q-x% zZ2FK7!~Ru4B5u}?VknKHfrPXX!;1_rpj@KWd@8kwKIFqY6<7b&qR);g8l+N1^dTQi zmHR9$0JTbr%P%(k{Fu_~so>r8Az#G7e~i+J?xqvZfuKayj6jZn6@JF5CdB7qEn}Oo zt%6nYNDuj&3lobQF}}uajs_4?eTw{c0nG3jeXM~KatcCYRHD}0SVL=NxVOqr>xnf# zDlzD!cm2WyUnqD_(J&_Xi~lMnxSIv%u4cjP)!c)2p%MJT{3iNdp6y-}j9d(#Mk{dx z<~Xwo8aVNf>+Y9l&n0F>Y|2z_*0yI~Ybq%|CHvZ%>%gX%>!&&lE{IQU|0x*NG>cI! z|EZJTfuqOA1I=lct! z*u+sks&bKK@-m11fNM=@aBT(nJy?->IJ)ykm<6FoQWYjZ>Ta?zjivZHYExOqE=q|& z0?oUTrt7X(5ag}!V@_&IC?u)#BaV>1m@@JyV{)y(G*>bvYE`t{Yrg#o0E_b@qcAJT ze*l?gCsoBhY`>7AFWSvIwVqoa=*ne|Z#ivCfevQ|=?ce@o*Ww*H5J$XL35_ok-MVt z;@Z;%lKL{4AQJy&eGdejxyjT92HgztH?Sk(4L6fUMl@nBO5rafP6R5LBSmY&Ze4IS zGP}9xQjeR9MK^chkVTs#`dAUK8>_07y#fybM zpd^!~Vnq1?us!UeHee%$GsfR}PgLj4RDM;RcZHh9_l{(XorDrT$d_QBU6EIL3TZEj zG+KybZO{oqE)lv0cX^1{FQ?%E&%pK3gmjcnWYqCRS*Qo_j6+F&J5^1dTp$uc7WIS< zb&x)Z=b^F4)GA!?yBy%gvcnCijsy?v)iVW~ap6goHgz1Ak(1>RI~E5&k&JK)b^h|h z=sZLbx}cK*wmFr5;vGRjH}?5J!Frq~@co0KmIHHKpc){iK59!U-L^Q3j^bSffKk?{{4%uRBMi~|MN*%S{y3Vs(Si=RRA zz-=wNxPK)Eqq6s9;;S?+JINY8RIUvrZ~r_fw~kahS@E8`n-B_-L9V~7FPHUFS*zubHn*qDC-mSMl|Ng8_R^q;zYoywGV{#~)X z^XCuSXi91AS-55N2Mk(LM=XWZ1<3`zE_Go3!FPtXihZ6oWZS-Zw0Sw={?9hAuCbc# zm&?18hS2g<*=?(qmG){m(YPCpfBF|1k4=YI&Gu8uUR<*qKL)V<>lm3Ve-1AT`I`WniwXc8 zc0hD)e%F!nzJqe}9@J^LiU@J<{JWY!8mi5T{b@`C#m*z=30L2)p zX}+hxcSf0rxs+$KFt8sOIM_>@dzesOLU1T>3GSoA?|y46CrZ@=2#3nAL1UW}#N|8y_Z2NFHN2xvV}-%$r9 z%WfDgj*JD_I09B8<1gt$uMm~u1Z^x@ii@XX(R~m|+keS;#W`|1|NiwOtfG}9_%1WH z8n3^WYlloQsx%N;UWm`aiW|Zy;9+w4X>j-;|D9hf4$WD*M6~lVM)P?kj}3jZGU{c{d}}fOfrPVokC8ph~YZ* zDTyC}9u~F`!vNw&V7)>p3=(|#%T^|^;U50aRMMK#jeT>mr?Nz=cd&(^TkPd{!U;S5 zuXH0)ObRNLclAg7ulMBXTCln^|^ zEi{(W+$(42ttV4zWS%{rrXcKKXrV4E^PWf=$ono;pgJ2bQc2uad7a#?xU(Hw5aP3! zleyC{DFCOFMTzkZ%FXv-{=lB(r#4;W#?>oSTmjY3x+=Os6(2)S5uM4-q|a21k5eXT zwVpIZZVkBe?^B%lTda%WbcY-mXQ#{A+oJM$z&WVIfkoV&gb8i+1q!ayT1}V!;Uvx$g6Xq?M1e> zo@7U={V*$B)Z#Wv7O|2=v3KU5*Xwf4!bPNuAS@FV;`Y{GY_&zS>Y`R_huI-&8k$(q zb_(m95LK3x3A-a>saaO87tZBN&j5>+LwD_HXwP9o?4ySB0u)aIlr93r83*MxRy#Zf znr>*x1T>(@Jk?z{ALiy&yv`$kYq6^nz@?U~aWukfRsmwiM*+jed->-nblJvShQ` z$5px?V`xCUcxB;aK{Rl zWUPZJgffoVVBk}L2Oza2PI@|DowW0wGq7<;+PR*bWsX=uh?jx=U-@%dU$MnzCUvz+e(Nf_BW;1abY%T&x%` zk{1>rBOQaS!=p%moCagW3WmqQaQR{u^b`qVZtPP~WR#N&a!p~m<@|{fyt~o-ES*{x zIw}m~DLS;y;mL%l6vKFd5+vN;78x*ajpiNj2C?v%IWUnD@6;J0Imn+O_OSu?@kKHI zV=x@UI7KD<`Aw*>;pg8*0Bau;&1gHR-+wMQe@4yomjMZ`Kavt@o%g*e{>^vB@Kd6f zGA6Nx7UC;XYeuULlryRIaO>Wik168{T5YX|ak_pQ#-7T&*tq-+%7pxYl8ShWWk*)F z+VXRh^EXFT+samZ!O|9rAAnJUMPRMPbY#&0Wr|VIlYi&d$@1In@{hUvTFX6%(>|85 zz3K+J$geeZQLc9GAj>^b7|}pHNW|GXU4AXf_B;a+8}f5EDDDtjuvA12I0_x=xhfJx*7%~xc)S_%Jg5y=0{_-+Yz3X0JNel;puiO_Eq4|SZvw-<74FTrCE*5h zv@dLfsf?NeW@Fc{Ahn#J6=E31(=<8wk?~@7&hVbdt8!cNH{XT&;@hPs=ztCSgu9}8 zRW9C1?QKT4%|drxRfhc3Q{=D7lwT`czzzoa-+?gn!c1+*sl0{v>$i5A+09Qr;>Y5~ zKSIt}Kr5MR>Q&h-RXKW9mR@yjOI3a>7pe7>dNn*Vli|T5t#k2C^+EmsC@Tgf7bio8 zSSmd4fuqx-GB`>BA-h|pmcj*ONbvx|0LpwKh%RYw)7LIHlYGhwGkR}@n*=yq_+5$L zHTZe)%f+t%zuWMG>T7|VMsO$ zGf-_whKcuJi6c-qjav4x|&x*e2QuX9tSJ%kUV9FRGXxY2T;-0 zf(7}7>U3t)dYoDp%o%RP;B*#bLe(Jk(helQM7@gHBF;N!?-l7&5vP}C@{-Yp7l?+V z+N0M>>hJR-@;As1Om6xoeDhZ-%koz#-u$m9v-87p^Krzn0(V1hSatcaAmF@I7$ryS zy|h*AEVwoePA^pezmxpm!-ti+TkZK?HKXC{wuS0sW2qgfK$nCndYj9Y|ZILQl zX%nop*aP|N6;J*~#hw4K;>uSc0Blnn`D@iOlm~95*lqBDN~Ksq{)5WZ`HC_I@U_?9s@$Xv706A*ZnU9g%B|Ya^192lp%wDejUuW{l`%8EgQjUFJde1A zZM{co$UrZI>Ux&swDwx3! z;bDWJht;1Uj}tY=UVw+uj9)+N<2aqU}5do)p}o zzb@u%`be1o-+Z>8%%Uc-=n;;@afr%7)S98z(1L~w+mz&n3v1OhDw~YGlH;eu08cbr zxK|n1aG^lKLqMeWfvtrD>ql0{^0eU`6o@CjvMrVrS-ZAndD@?`!ACRYtS;NA%9vl5 zYX~`F{`rBzESKsoD~~{zI#C!`;4wBgURVy6l?u7jVyWAKF+4Mjn}$3IV9daUL+t(4 zDP`qWMUk8!KLoiLWx*2;^6vp{nort(Io=PqjEqLJqNNwCtaSE+Qx$8LX45Qf18@HP zEOio-8a%EOTZ*q+PHkwy)-3t8hG-4c_1VoY!@)Gd4%EIDA4lwb#2Lf&^-5A_Kaa$} z#qS^RdjY?f@RMwIDG4Nl@lLWhQn^+L-T>)o+c0#i*TcdE3(VDK&9$@?z+BM*QRO*0 zXy517s}{+x%fRl#L3p_CArkIIG4m`;I#MX(sCj*JO&KD zGYzaV|6WW)3}7S$b0=*rq}A9|)zezCpyB-eN~*W5;rt3USr5%+dy^|c`9_^T$PV#; zJZqZZ$}+r3@uz=JH7ojUK0r!-#f+3t79NREEmGF7n9B5<(l)bYTCf2l4)8^MxR0uv9RWQpq3 zsc-G}3%TyAqMZnUMQ8(cg z!v!Akl1-4`5L-JOyVHtxB%+mMtXZ*JL7XtbUh?_G6!{lOy^{JHoAJfOw-N1-U-J)t zhxS16X^iH`%)5Tdc1N?hC2jE6+A(SHgx2lX@tQbBw{{#}7^l9+CV?`vj|UNtT_De- z_nolUQXLqpUu(6)qybP}MEB4JsN>4Yc`h&=ODX3+r>r#pQ_V(tZSH*fTrOBM z?2#SnK?q6T!M)mYY;@q&Q)3gW;X;Ft$Mgy_T2g7)sof|m&0>2k<~pu%e*-$KmuBH8 z(8(`{>=&gKr?X%#t-@IPXu0Ld6#qG+wCL$8}Eu7}eI{eWKi8x9Cbqu?rw5RNkra9$56>wD`Cf5W=LUFJ=LPzeS+sZQJ2ArYZ|-3#3XUGzvvdKa4! z@JQI!_BXl)-7Q!p@ozXC2S)q2k3J-KOPUqh!)6b|03$wFp~AcmLk7!e7^dPBj4q%VfiAuH6de4DO}-x$jL`+YHC7imi;&w7 z9pJP}^nRqHO2+Doon{*;fn8xvI=9fP0A<4|oYwMjer%A1!Y!^DghJ4}nCdUKtx3xda@_szq!GJSZ>NARy!4ULiQVv z??85(2Tg?XC@&8u!|iyoQT=!JE?wi8MEM?d;%^Z((ckRQ%w!b@gnEV3-#dh2nrXu# z)n)d^s7YKm!`&_nN1;P|)Zvty=~%>Anr#FhjHT#naop>|!&C#T%DEfHj%|6itt*sU z8uJYJl^YuKo+dY|G4C7XPHM~pTx~3>esy;vs)?=L{RBCsyESrd+x<8>%XX8bAIopd z`kd{&@ey)u|t-1=o_8%8Y7XYeW&h2qpIxQEt*ld+2VFmQ7o>$0wnRYpY$jsTEPo6DR*bC%+>DIA zvGPNV>ZOYUA?-6ej$S{5I+XuCsLVQ^uER|f*3o+wC@B|zUhwTMz~VJw>n8rl;7$kh zWBTHL6C4>=e?jEcdAVvb>%iRyydw$~WGR#xdhNN=^70^m1=U3Crh1OHzPZ>wkX1{T z;5%1Sleh_+8(U~G&EX)hYdD?=!u+tG*PtY{-vCd=rP<-4UFXmu&ff=j4U^~BvD;`O z*AC&XPlN=q<1j5c0f8Ve6uXM88G`n8Z{E#{)9^bA0N)TKz%;6XB)?zl=~PFMdjLWO z>Im`ifpaLS z?n72gt!jPgMR3brJKaP?0X9VWFJqNM)i5w0C%+Cia1N8MovMp{T1`{4^K+nqNk{Ik z66L)BvY$XlMR;G1jM0~&ApFWXHbfx%hSX~YqBeDQYXBTxnH-sA6xi3%*g9~pD-E%< z!eQt6Ou#%612%wd`F22?QmrpUufXg7Ks5r)YsKvfm*`j)!3i;^wqH_QR&K(9Nyovx z_kl?1n%PmsNnN%Qdeabl7f_r;8nJ+99eNNS6goc;hX=QA$pgE=df`1fsJeY!Tdt8` zE_SznVrLzLhkfleGYrQ>T(sgJOvZSC=J+*OL7_o`rJBW##YC&@{SA(Yb{+>UU@4oG zm;63_N(P@wc*NCN{&&C_Qc^?~tU|acNSX0|B>Z5cD{mu$1~rR=!0eDv`p}g?5q9l5 ziOgPe7nK3Cei6XnWbnJ>(8-`hXx5U9{u9$Y94ePzPhw{Yi{8i*)^%64?_I^VlpQo4 zwS$0&ZhV1Z9BLjqa^6@}qIF>SVL*rc>c3)k8%u3uS@i2kG|-q3Ac`l^8Po|Xr%Jcu zaQR*1kxT2sF>quFR$kb&pR4vAQF0^pApZxd!@A0NQyC_3i0{r5I7Cy0m}Pp7xcf7N z(<**|@&?XT7?~idBzBm<`F6}*&aXz}UbCG4Gcr_EP}ZH~quyhpB@ViBaV6(~7!m7m zR+-6C%Gt%3E66t^J093!sf5-35dSI_w+<3WmAZsR3>(w?St>dg!UfAR{N1IpGJeMj zK!o?{iArya*vt3<_egiVWg(~)Z=%fnYUHC_ZOY|%JYdx-JhsX&A}hU119CyF>W{!^ z$A>saYz2r8kXr*sLb*}rfQ|yzEr~mj&I)?Sa}Wlcqsn@4ekS>ndjKk3LY+dKInLYT zNkk`M6^Vlim{i5TJeapV54P&KRe{4twN`@fr|E z;s_ga0#f89k6+WVmpECRM}?xO%t@7{Q)QYP)hzSQCORQ&nX0-w9%D?VU{99 z(`(rhv2Gs1`nr=N8I~xMyhFzhm6er^LLK&CIfIsW$fiyRXTi_!OGR^WxL8VFhB_(S zf>#Q{+wkG92`q&WQ3L|`; zi3P)=d~X{bW)PPmpBWW)Gsu=poy;fwfTV8gi26wsuP_2GS{PtCZxmlN#H$KMz>L_j zBCjR6J#Y?-BcxXnWbv9e-N+VZVfJpEL_0Yx1Xi-ro=0HU#L7izM zb9qoz`aX=`F8Z_M)?X9cMPedUle!NThRZHW8mMH! z^~SMPFOvSNRc{tmi+KjrGu$*A!qOv^vmCk>L`uH+E{I(L4$bNu-s7ys=^gU+A3JpH z;IVgo7x8*1TAhDZ*pjqgwEOzELclZfbD$GSie#I$ z4iPf3+m-0DSW_!J(ClFMg@VUAjl zO2bW907#+q6=2~N8+8oNgk+$7-h#6vb8#lTFx$4GR1q}<)~SmGzFtHSFVz=QG%rI0 zh)G{eanzoeZX}@LZ&a|9e!1PLrkDR>6Kq((OzH1jUx^YG`Yo1t8um9rj%mXx%|9!q zVX?~7ODxLd_+142nV9_$S?D#EG1(UhRn+|0atRb-3`Z4n0ZI5LBJ(1bcnmNNS5o5~QNf$Mt?Z)*F zWWGXZ%|>py#Gug-k9Z^&2O;0^ZvaMcSZ8D^KT6;ZB-6bHyE5w%o4Hij%;60(?En3^ zw)6f6G;}WbzKi1kl2!O(4n4Q2VOLxWjtR@*=NNLc?V+0#6VT{Qk3xG)ozEHPH%TBnfT&)(MCLM z4a1X~G(tTBpu_sDXD#zIVGTCdD26c4^PyEiQ&-{%5}@XK?V^1<{;ElKT{eFQOILht zdg(*xt4=_dfsWvBNVxRzRd{EnJ4&}kjpF0{ces^`y@A&x))C+_dQqS?!>_~c7Ps_a z=Mr%STPlb7r$8<616lu9xXYaZp5E};b;PA0dJe^s8$O$lm#J!9tut33w_fW)MYxqA z{?3Y9-PRhtHYb1FR-CRywYI~t*$Cg8e_1^IgV+>=3r51-f;VCS#{u0-BIB!Kxvi-y zTA-+{b>XajM*doy)C^!Da8{8{9n0T1TK>=`jZadZV zh2g5LNVmZl3a>|ba-E8s|8JluP7>dOIWL`cXnB%4g@0!>VLKAW*t0;}9s=FtjSVOM za@o?jetrT=fqFhT8@;#&e+kxB=c0+cnm>uj8%xK+Mn-`objP5a3-U}H+kkE`K}K$v zK^VaGDRE`>?rhIs6!dK>!TI|K_kwKk-kbcIW75rbwFne&^HMElt64O#H%aX^9Fyjl zxOcf^7@w^lF~=mIT|K7795o)}74zc7i`rfX{^D214;t`KIRZ9vS5&-TEM8nlY~Hc6 z1P$B4z^n({>7XoKetlszXf>_cw*Vx)*A8t<>=XHQs946$AGsHS-2n{qUGEUD03w%`7wZJ`-nIuCVOq75@P@;gM5sL;aaYVyoASkg3 zF$oa?`;c_~9fxWZ zOv1y=_h0**nFO`Hy}y1RzaN=%_SuiMUu&!Zg zzN|0}=!;#YA(w&{7Iki&6dK0>sj2Ym0WM|pcR*KclN$%~s*hP+f(YUZF}v7{=q^3ZE-B;So-u*x)wvp7vTaQ~ewu zOhsIccJ35gP3zJU^&aaD0v+HNjd_3*C0G8)6XusO zCX*wodC?+Cyi@+jlP_ESHU6bW5|_&#c>-PUvc70I;wG@aB2k;bj)NN3Ca`Phd%C83 zf_#fsV+Xr#HMM-%4i?pCaq1;@uoHZ7JJ=I!JB`cyVjG)9(`D-IMB2Y%8(YrkSkeKp zjWxHTIL!0@M7XyLDJ`*NH_iG*7m^CY}k0Ij*{6E%GCo9H3C z)brpPISGdq^{#C zDehGD{fbM}s=ng7m{<*q^{<|tibW+-T-R}f6i-&u|M%iz0c;hYBgJ(cB~m;^rS>b1 z39pzP_u20PfD7Pbqs0o?s^LzlL06-VfX`QdVlBqI|IZi!$MwVs$1ElgolNP!G)+Q& zFinTdagI-u!d0hPIb(WmucF$No#o@c9QkZ5G))Y)9~&w}O#Nr-a5K zoAK-qbS3Ck?E&!eidSTVi{H1b;Egfy%W5)*kOsg3sO^>d0!QZyRfJ_tn~;b0|6(VL zP}QYg;Ox{K1x#yV*#htL}(-kHs?w z6K1T5eDC6i!mKPfYQ1fG^pQBpiF|<@`LQoD{eZ|P5DEKI38)o6W%Rtl3+>%5O~U&? z0)onpkwV&Bc7~<|u7!t)$sxoP%uE4zzXDzuv}8IVnFQ8U*p4ymic#JUx(LvzV<)Qf z1(I`lj|o=lW71}`@2W+vc3|1LHV(_mORP~dw4JUtUJehxA7UyLIOI9u|Augek7_So z)UF}?x>4yez5!=GTzxcDy&ZXasCaj%d>_%Akj85<`Vp>K+xg#)4E+OjS~dh$mT+-? z_s_t3t-xfSbHU@e;s=(Cp;kv1{>@Q+!#f7|#>Y)hadkw1e_S*#!rr6&KVG5+gWF_D zaYqk8&z_85Behe=5k^tQ8d2Pnb#Q*E%BEj%WzlWGqijYD)yjEj^je6M2^;0OAt{go zWln}}uS<@Y{`Mjet>lPK8mzhSPdM}oXNjoDy*TE+ZtjFL>-pV+i3li zLM_8smFg4GV%xlx0-cv|%|iAaNT}j_k0uZMTJ{P zhN@<0G1Xa5Z{T;92m`@UKFV5&!krTx<8{g4%AA-#gTKB0l$u+|)I{$yT3e=%sl`(s zxJZc|rn37^MpJyBp`F+@hhD!R_`6-4gJvRW8h|$qflh>sK#0D4Q)oVh_N*N0D~w(d z?7;&ekFMy&lF&Lmhk=c0>_YxD!?~HT>yk7h7(Zhll@yL5of?#3`uQdz#BWaCL>cXDdrR zT#@mTtWhJ$XiMKk_|Y^pRpy-qPju}=EHbo0-7eY03(A?mAEn7$lLIa=jEkQ1O=N#9 zKqD4@WU6{z{7t2rMCL&ab*km2LCzMHgyn$o^%tc*)V?|gxDYeGLhaG#tRBej#I>f; z>r1-bm;3bGr=JFc{!-Y%Y((_Vko z*E^WJ))YI}s;Ikly3@|kM+dZ~$aOhX;dGpS7Kwx}4Y!?*?G4`E#-7`yHVN!^gq*>i zvSoMqD=?XG*KL+}l}-pcHp94}%JGlP+XkmdIoUD5eLb(_C9s0R8ArTVW)Ll*~C z3U+!@|BcjNq2RjMqRiD}@_QLFFY3Bpo}V+HGvxW#73vtdqbU_S6nB*`?e@kt_r^%K zxCTC&hGx&`%LV$Q{DA)4QZL~vUeQd!RJ`i z1cg?qUWSFMXVhK)JJN%#DZbpfiMhz69&0i_V|Ie4Cb{e7cA~2v;qUP!FKW}(`~rrd zt|pLHJ5af1nEv|h#MeA2Yq$9Z&IxCvik=ASB+Y@$ z@Jvw)krnZoNaGK5e2w0!4M1*P{vXB|YXJg|%HJeaHs)6riXPOMXGNSrf{KCt1s+uyu>%S8q=KvV*hP z%*AZmvlvM5CQ1PDa~WM5`?^9=-p9{#TVV)I)cE;Z?E0fb>c*q_HuHP>wsSul_TSo? z+Q8OopOf98~Cam-*m#y6kfCDr05)h(QrXTwws1X zD3B9;r+2+w1U+fS&CcLEXM;POp_`raniEVqTKfWIh37(MerM5|!HY9l2mK+R*D)WI zt^p7|5$y{KTQIQ^e`yh{05H-1aadMq zA21sPvpXWuB%`@z`4u*lQv+u!)zWx1-)~5n&NlUQ20mQKOm%$7`n6hJhttSE@>;2H z@4C^eE7fbH@Z9Uav{L<9GMkNVlgHt@F=<-bcDz>e1GK3BBfqP1x=OYh45V!q$0Hr9 z$=~2TsWx-^xHlG`To}Be$W}eNQVAZCwgQ7t*FA|^*?-OiFn`-C5;>)nZ+rC+KyIoameWKrlafK`DjQvyEE*>c< zHMU8OmnUj`gB#{KH5L`YmCXSPq&)V3yY`ewdHkuR>PCSsPW=6&+u%N_Qr}Fash1y! z1AlM4DOBfVy|Dl@K~ahD_W$sT`Ga_+>!i}}CMq2kuT(g$lbuqlVW(zc2K{q2U!rTa zkfBh1INtP4HOaqLTMuj((n1Zw0_UO1m)u%dBxAzM!cfuo^iRWLnnM7`OYreo*Iz|8i6~j*h&^01(Gl;I42k6{%D~nkrkSQXL^|iPW_GRr zklD~d2ds0%h0xP*)t(Z7{b{A@M`RFqWB1;mg64DV-f?Pq{BgXxC;m85eJlPrMpeci zuTrz(kA-S-{BfGP&U##bC;e1ocnfYH)z_h9y25^>E7E6cC)RQFOIQ0OvRtbrKD3nu z{3?DttlnzGuyU5oKPI+xmU>In%BRn&@@RpoKYNnMRQ;L3Wj_l=kFmQ)ZkPIz&R!ASt1u`zMJ;UxIFs*B!E54 z7l6Gh4(ucWR%=%V2A5b+Jx87jRl}F6=naU4HK>p3f&q6tQ&=)ZU(_=onyy*d1+u?8tm#zo_lNZ=-C*Ca{sb2DmxnclTxIGI-}(*fCoC~e$$rE7HYt6> zI@yHwF-mbje_>e7L0x2frqHIMOxF|ELNFtS2>nXc14YA4XrLuRJ*U3r4cwa^werQF~|FLx-2h|p2OBN@nJ%}utz zU>cEYR|fC-I~Imq9Z5Wi93WiWsitgUA_$+p+|}_p^x`FpGFYo-xQ9p?b(xHEcj##b zsN)I#1UIkauT(3F6aEzU#?*yqu60fCXdqd(JSipWVhU^d!W1KLQj7Ag@XU9vxIDk9 z027?GO;{{p&*-f54ZyHbb%_w3e4;ZONGIdsaW$*#Hvg5xBZ}t7%j9=SDWIK>chv#0 zdtK@k%9(`*s4GEJ<6L=@ zDxpT)_gz=8UPeD~2UKVFiy{PDh+g{FL1yRUHf1S#kXa~@w;Ot)s9^%em3RlNsXnPk zL-mcu+y&Sz!R(b{cQmBZ*6Xd}-`N&Dz*P(=#9ksR?9Hx3wO@*|TfO#rLWG~2p}nc%^JBc zeJ3WxNzoHNNA%-<+*HiTgu7BbygqgxHmsr?Clc6F>;$x<{Y`7m~wPD!V4%kp@@P(OZaPr$ z86wz7vl{eXbad08;XNYKmt;|v-I}O|zV1JK!Nip)PoSt2aFDff3 zW7q!hw^Vsz?wU~fF(;}PM;emC{{dUha~dSuxnkt1e~IRAU`f5{_;- zf&p|GlRVy>#RyQub`{0ClO=4-O6@2}t-lRigL2IFoPy#k+0eM{2v(mQi?(cD8$9qX z_b+&mGJ=~+^LLmZBi1L!UPq)vxxOI?3w;cKa!aZ$Ivmk5C3LV35ibjNt5giKU^N_i z#UTWLVwcJUI*nGjhy|Ml6nHb14OV;JiledTo&$rmNEs|xhyv27KHm_FHJ0bHD2N_5 zn#hho5(7v!ZLmPVb~MvVLM!~3`5_~4iNWcK;KZ?klorR>@De*M4we|;vSLs6+a#Q? z+k%~TN2{ZgOBtXbpKH!*adzKKo2ISP|$PAtu3RajGs2j;#hWs2l3 z5E!m*!%h|>UzF{{nc2?nmo@`V+%}82 z%B=7{N>%vAm8pyBWT1!3Kyw>l8}%FOz7FZ$5FHCw2H8uU5C$^jWu`~3?K##SlXO#s!~BY6C0$~V#i^~*M$wMShDU`EjpK*tZdtyJ z7MpF(j^?@@tOI{$i+$|m7Q0PUso^cH14Xu+w9VukV3#9iDEd zUlw$EfwP`Zhc!)gG&@>j=J(m9s?k)y1O|2q<|^?OoBfCQiUlB4WG(|g;W4T*d|x6Y z>|WUcVds#F5@oB_yC5N@EG-pe0o@%KqW*xYqe=4pfkHtYelQ!y%x}{}#K- zwzM7e7wnykPmf+NE^>OO`^5(hTGlfHP9BJgIm+~lBy?qiiuAw>Vd2 ztZ){jFG*=3{AtwDPz}2SPYZrD z8THYRoKc)aUd1#~JU2m6pfu>Ay=Zyxqr3QwMZ!mR|In|GlxJwpW#()sdiC$$5po66FA1$ed<0tj%S=&DXJ78H7i4BbvV#E3 z(%RSz8;(s}1WVKny0lzz451(F>aiynG+)wONVU|hq6Qshk%lCZ6yH|ShBl=N;alKtI#=6PcmiDWlob%H5fads?8!Dv1H-+7(^Uy zt}^06i~-z!aUn*T_syJG@^Z*sGbluDZwaeS$Aw7adWfLYRwa#_qjk5}m6I&Bz?W=* z;UFY7YBN%tyS)`NLas!Km=U_>{xKu;@!h|k2d#QUm})9A4>A>*GfYM1q1y6R{p{8F zuBd)mb_HBbt;&p&=Z*LW!NCPYn5oZvT=bd6$!;h~eM^d68f}FSyGu9C1%MqPEMv5h z0~eF?VhjxZSEz}J28NprFy7osKY$}d#YaV{L8^r2i5@eJ)Om@v<-KO?uY__2lMMlu zK{Ohktzo%ZBD@?IZ*u3Rr;%;~`awN73K#ww)cV+hz!Or<`LvjSz*n*`blc?KIURn` zlx|r46x8Fpw4*A1?U~ncW&DvM9=^H1CWtI`TsWN9g?_D5u&o?H5(_4eSC?WCNP;}ideerfu0=J)qQwmr~f*mnc%K2 zjKEQ^iJKm`20qIxRvdMO`%j6wb0;@sj)p1R3p|Gd`;GErVvN^0TNNYq5cotDb&wW5 zbawowfHUuq_I!@26h`vU=2jb_^Qc-#Gpj6Hd~B%%-GwRq+DipH^fo@_UE<`wS- zdr?@R*?%f8QZid>>~Wma&sAb8-Yv~e(RTZm9}+UTdCynWb??)@XtYC7r9!Cz;-djAl58R5CkDs)M(iaCTiOqtqG zV%37V+RdeSx%{8S!X2%Yf9lS4@iVJbwnb(B8{yJ~<#jW@HLA13IknL`xqBZ5exA0a zslJRk!t1Djl5xBycFWn+uNj3f4mdqT;eP=L$n56L91D4Ghn*`y%{XwHp7?N$#0uN1 zsUM?V6jLhH7y*>{tTUWgZqINMv=;m`ND__a`O(JsIs43S;xN}9{|@V^-|{XOuQGDn zg~CtLQbncbpg$M&=y3RHUQuRZO+t3020u*l91Of~=v?Sj2Yas%To|63gmaNWrC5V= zczs~9ZaTVH5*227h3%p(?;tnW{immhq+W84+*TQ?f1KLG_0LEfl_=O81)&itpk82* z{XB>bQKr_KH5xq~kIOPEa^|@rr;>bEhr*ALuWDgISUge(hAk}E@;VRxv82dDU;ruN zvf4kaB(}k9N^&xsQ_Lz^PBX0L;R7F|b>G$XO=kO5fnOV0kc)O8Zgej5Inj0f+kP+&yc0F~0P7`1HeQoojwcDMIo%cApLb&< zmL#@Ju~kHw%9s1c^zlbghWa;<~5k?wfE4dR|J(4ARkOA74{e+cKv7MP(@NmA9bI+DB-0_O{K@8 zU{g*>X>7s@jz9G|d|xBwMRXnbEaJ3eVW7(A8u|Q|e5SYCbH(rpubHOl6G;-&O-sfE zypg&aDa;ukT*efvBdoTN&RJcfBV(WB_U9i1F9H{dD$`W{LWK?k&RJnOmVa4f{!BA} z3iXe5bIyWJXT*NOMhcE@05}mqAsi2!-x+z1YthJttfjVtC!)P^#{Nk`hj*I`;zG2=#dToAcG5@wg<~Q z)9Cy*3ker_va$XnGKa(Rx20Z^iTmi@SZZhcM>9RG zOEO!`+_{CGZA(8!K(8JDzF7t%I$VEN8mi=%awQTp_0)MBtmY@SZe`+IWo)B#y-dA+ zr>yWoia`2G&b~a0M71rR?>U`sl+oR&B`5J`qYZ-OeDRzJ3{wyNSs3%8-C&%k zR9(DPSxQ1R7^4M})jB!WyCh*#a=!_>=YI8 z+f^fC*`&a4yOM=HY!5tcc`ZP)nhft6QUWd_rf0|+MHDI0Rc=Z@KO-u<87wg{3@zhy z>q<*DS8T0^j=enUZHw+lh?=(>8zcxlsF>8fYBEHA2cPX??+M};m^LH zZr!YES~*2)COs&-KX5~9vhcg5;?`urRu6wBPlDFgoCN+CVY_R?P}Z{VbCtoW=6G*O zmeOb{HS2HcFsxK~W%N64rioVcxjQn0Np-0JV}>^*5iG4|9?;R;i}R!6V+9XC-Zhz# zJV6I02b;!`G^vy4#qZaiQFY?eLlX%Ac`mz`H+KZRD}GH~Va z&`NX@Q5^=ORH(nuYR7ci6Q>iL(k2S<2Q*^B?;T1zQAi_MuJhqrsU)+iz#nU>KcdV> z{!1E*?3k(Ha(lmfqbr&s`^7ogvvX+|QFDbE`*wKxg)jC3P>st~C|IkTeXM4346(@W z7r4;hp3$+85h|D@h}K=dp4@OzwA0{zfPBjYrtAUrJB~KMGU0>hXz5aucuqGd zgxeP-(13NVVxLFv;Z)(o9;Dvh5x-`B+~B6Z3)b4n z7kq~}obY}vnMoR@_v2T~`~zhbuSgND<}uG+e@f%)a0HW{w{O-!wJp2c ze{1m6mHwHvr!-U(Yfovg3TjVjxUQ)^C4faQu05rJx}^4$hAOM}lm_cO>df@)0c(_J z)V{llrG)9L5TjTW61lkFOD?yMK4=LOIruEl_MMpAwYljn#0A+U6?oU{^SC5eC>$fr>;4e1TrZC>04xU#% z5RYsr$c>q8AO@&QC*|k%_bwIp`Zh>y1Sy%=UG~JKY#4;Ilgf-U>U(gaz`nvXao2US za6QfLI`IN2V}iIK!tW*5%X$|0FU3Jo0indig;KVfvPnej?z(3v zs~#kOw0vQ~ydGT6z0o08Ru=47=vBL#1T1AwXzxZp;*mZSTqJMqx)o$ITVW7J>&#g? zvox%}WoC|NaMu+}c5ZsD5?89Ugxi|-b>$CEyUn3TghC zkn@KfHT1!l_CqJnlM9CbFmS@>EUi!rQQj#-U+iRyfR<&naz<1|OQo#4j^%5^?=l`E ziXisgt9S8U%QlbQ;RNF@2}fBE{VaYjEG-4U z;0jXsD#(lQ=-n!wxz83{V0qii0x<6A;)tw*dMud#-EhP1nNw!G#f`P^8myg}S^c!@ zeqKtMkQ2kj66NQS-UV;)*!*9MeVrc1#(UJbzs38UiyFRE8~FWP$?g@XVO@3H#cZgv zTLq1l$Uk-XVW8Ju+&sxgSVtIADp4t^(!SZuD-HX}(C*!gZtYEMtc2KRlwIm%Mf`r0 zrLCUl1bZg=hYLUK0(dK$v2r-C8wVxbZ)tLAUbB89B$;Rq&+AwWk*FU_O(#njTL=+S zm{oAEYlT~UC#gGRom8K-TcO_L%-2$kU$H1CRGHglAh8+`h+8+XgK;8yOZa{p%god1 zpA0(8H9E_5K-%z(qa|vc?2~Ww#6ly&t0smP>?W~w#y*=ZEv;q7p|qOs{-r0h;Bdo& z*O8^~FakXb2t-Z`GI(*`zwohG_M^+fk4Y=oAYcbJ&|*9WTPI@v@F}{c&9YGDiVh?} z8ig7QEQq0C;j-mISzMx~@ZC2+R0=NpFM9ALN=egg*r9w5e^^syz1kp%Xo4u8tQb*X zxw0;wq-;y$COqJG0McEW)O>l*slWJhFwA58Zc~qP zeMpR_|FU4R3|gV_cI3U3GPMUf1h!D5C&h5qONUzu$JnVeP6Mx@M%aVr8W}c+8)Tsn znH&L&YqhuQCnRZ2bip^~0(RGZD3dfj!;}077cNn^yo?sB z2ovH-e%wmQHdC@a$xm7-NoGopCwZNf(n&j%8tzGc#!7k1Ov&{mueVZmn<=9_$uC$b ze>77jdXn3$lyzpx4W8uPR?1J!ltNGPJ}afpOqu3MK4hgVHdBf`$?aCkoo31`5V@6d ztE9y35iPV;B`Qg4tPEq#B2G{8LsrT#GsWdee%MMGV5W@oBsWmL#raL_CQpm@r1%;ks;^U<$UP&x6n62MKxf}Vh))m5*yc;EP{=i7 z;py1+5dT3xPV{j&aoUo)NFIMEkN1mWySU}7;VriDao$t~4a7D+DUY}4M^QLag*=Au ze}PA-vQ!r~+bU60c?)iz7QX+ue5USe_2=QxQ1UiPzs-_2S{lMzY~yXbspDJZagIE` zqaW{($HV&ZPI=tLV{rSJ_}G+cZnMP5D#riGS!5XdUt^OBO=cvV{D~h8&RmIac@5;Y zd(-vCr?|1jY7#T1w-TJo|-^@=us#bK-PlkUDxld+Q{}_&t1G4WE<|K-8HmkKVdMPugI-q*7T4hC1F^ANvNJ}G#g)>SM$8-I^v$+34hw*C=H zD_KX0-C~}rmB#%-=K|*UCh5(2moa?>Z}WrP@2iaaH9YXG<&_Z)pn@6OC?(XTuoqZ7 z_t%)k<2lOua`fsPv85~2jeUvvJW4U$ohH9mDlRncm-B0^uo6ntdE_wee~9O;HT=nI zEm6IHlqA`3^47^)Y@<}5{>mfQf!IdfzqKS)`BLVDAA6i9xeu%yQ@hF>q>D5KnJvw^ zahfkxDr>eaJa`HI5+vtP<9^AsM(zL=Y6)Xip@wL9;(Hbe z6-yyeGv`UX=Av_JHrLsb&R9|3S{l%QE%8!ATjs*zrEe___NiIzCT3Hy38rHIB;aBS z(CSOjG6MuugzH3_hF)~4m!!;B@${Z~K7IpYY%`!O{5P0GF~OLKL=esU=-3Jf-5){i z3&-{2O0~NeFjr;RssiuU#y=8vl2%1=Oq5`%NPSc{EaAo{Yl&OAn9aCLp6C?e z@>e3rOD|JDLH(!70I%f7@b#00a_I}CSpLrkdwQ3gm)DKT4XW)WYWV_Lu^HUtghY=G z&eqq!C&d4cxSJ1-mM8Ihr>`e+1FCj;sx$nh+<`8pxq-$m%a_YRcw#Ovns)EYAOF<^ zC%!D$ayGaU{p~?IH@@Eb@>c~va)qZmJ*|N^O%c{PMPiFx%>@ykwNsP z<9f8$%}u2@n*c4nLssER;)JZ%?at_pYAbwvqn#=_I<*hV?}E)^`7jJ*Cu-#ywGdrO z%ba*-2r)=IFkQQY=JEd#ylbBgZf-hWd@g;H5{<>gF+OB#@xE^}%@~h}OERO+^<;k5 z!JTB{w9G;VA1XhDk5#mY8oci#QvP230e9VJY*f}90H>qg(d#4#$y6du>0bMf z&}&+6hWpo-{~Y+?LhU26D7B}no}Ivs|CAyqlrP?^7%7*GqtwW6%5UO$2$XF^%7RC; zUJ@BrMdYZXvMb{9C#5%cMV$U*ZA>iEDxO^8#1^%fOwo6GML62s5z&|@bBnQms||U{ z$XER%h@L$JseU@Xs0L-)?u4+($g~ymL&01T5aRWB!N{HS=ZdFco86zIf0HP%GjN_Z zyVj=Lm|z#yB#f(3F|ByB`s^F;VtP_A;m9etd=IXsIF=D-QG4893D?YJTX&QH3iqac zBM(R3b*^(_r?Jzu&Luz2by@P0v@RE553j@VUHYr;-{WExZ!kxj*g)>zqekxSp@K0+ z+sHkUcg*rT%uAk>*>h;RN0|izawH>*ufGTptMBo7#f!*#ANMI1;o2KuYZn>2XeO#ah_Cn zPZK(XUSR)l@}KSn;In(bswZ1@PhS0sp6HGIrJk7m_-DG&mfw=T=eLZx&0J2l8bkaB zpj6+FBsKO&K6D1(wHw=H+oZ5(-J5uf@1!IFIZN;lzq#~+(U-@h3S<8(GR)TMKkOgL z49E-(@x00`9F~z~d&tN#lQOc*t+BuMU2#6{&mc3o11ag~|EB|y)a=yL%P=Jl+kQe) zx$YGoRhX2bTkb+LGqBZ=2D% zzt>kD8~@q*UyGZ4Z0yo4KDB?)eaYeZv8V(44bPdC`yl3ts_Xph1v2)LVdxjx#HpZ5 zJt~Jf(vqx6$EbbD0NhosS*vAl&@9m0N~nxSWAXF56#=$>TPH1z+u)*LkJ_&YSCRUv3ia2 z7lKV!JGL3SLf(fb4rh~24xUP0fePXy*gD~zthk*xUqAenRN&p`-Z(AkYWFKOJutos zA*k{Y0q*m(x_^`oGBgg>?^t=h5qP-KIiz9Q;FD84`&V%O?lVM>btR4p_o2e!h#+>p z{Wj?WQCRSsyz&yGydBvW{r0X8XWTf$g0tZc`_-P)D?X$&#X^s+U@3;Y4~E0?fCkgN znqc*Ar&yE#2#(~u4@PftZzPIyg8(-Dg56ZI+0?4#GLPl9yY59P?%h}9=+Qn%jN%s>Z?li>+UE3M+&ImCb!c$G3!cuc_UB~Lr5%tDaUS#=5*eXMhObiIWk0>+6hUiG{-1GQ1in)_GZIMDWJGD7 zTIj6^Y2?jvv_b-TdY0Ve-ZY|2J$n;pvv^S&6P)f$3Z6*|4EANtEmJ>>r)R}*yExs2 zM<-A9*~Pn}ghLVMvKRvN6Q2>@76Al);q$2tK2JH)hxfJgp(`$Zs97;?jIH_xb@mmu zN#U%xx%NOyIKgLJ^IRn2K`SNZAD4r}5{*Q~`Je=SPuOW}&d7#EmFmHrTtg>_L~EpD zz7xS-CLvJ}HiEVBxa*%0kpenoj{Twfo~UfMr$cK`^6>Q2o}EjU7+WMUyx}Z=dCzII zPre~7kQ$qc0c+-T?IY-nr*rYKaJ}RR6=&sjhIKt~9xBX4%#N%jiSJ7N&CZ3VWwBTa z8oDXZ&c%-=M$jSCMi4fMarqr@V$L>aN!PBr{$K4{r|w!bkm%BA)A>)ZCoPZ}oa!Rt z@PdV*8{s-HlxQPt+|%^$Rcjn{FY`L-r_UCymthLNk1MmU>Zp9|-%)9pjy~{}9sR+y zzK-TdN2eBiMMtyx=CHz=L0Mo%uQ`X=p?Yb=u@jUTHmC4ujp^**O#0E zj@~7N#C5ZJF%u08@MYe8kO?z1f_hmZ}2Wet>u!%{RavcIRq zh?MY6ba2!{ZlrSLf{^MJ*;wYKIwa}@Mksuol)Pqelb(06tK1+UCKkkHjz=Ynp^JLj z(R*yo^P;Tm^lTAm-K(dQIWb}>vNWLaWNFMqjQ!S>y|*dM|g$r>y9En2U=&xJe(?tjGd4dI=OjPVv8ar7*GJ$k_wmvudU6TQnWr z*7v@N`&IP0zW4WNHu@`LRu;ys?NkJU^V!6}^$4e3XBkRc=6M+y5I;@Y!yLHP$2d1E zaJ-5!y@T5Ui~CAn@_ZB~E>Pe5ReW`+TX_tP>-Yr}BCa%esp|L%&sI0Ore%#OWIR0= z`Y%$~=~BZP0F}cd%d}$=S@XQdO+Qk77b*!}gO1<4X7F`}X3DxZT@aqKRTPOG!EL$j zP5JEK@N_Gog;>qO=A^uqzyL%sI_AXQJ~E%1zgC;a|HKl4!?$%gi&y`I`!vj5O}f`S z1VoKaQN4ymESfRDog%l>_yuZ`L{YK@u8`{jeZTjYiB(k=h{Y_KLl7lh|9kT~IDW80 zFn596EJRzD*^SqAJloP8x=@Yjt0z5PPsgvxE`5gUc%e$^%OO@;x}}aFIXGIgLJ$r-bHe2{0|ICzSbfyyA5EsA#y}VgJt=V|3Qe2Ue8)AW7uoc$gePm>n^A>Zyzw)dwJmLXx=|KFoES($dNp{zdCkf`HV9`UA!Is|ao~+>G9+?L; z>{bp4-x}+FZP<>HpNPAsnH)$|<3||`PrVHkt3CDcOIvM$8Gx@H$zZ+((e6^-33?Bt zZ}YE2lTK3dNg26~wMIom;J)ZFmWr)oJ#~QEBON0;7R#+=Q)E(ajK!R(&T>IFF?saB zq!@zBz%XtII_#Yq-&d7?gN)H&tC2nZzx*8eQmOluRO1BGCa4srssz^cCBf~M3g<@$ z`W!q<59X71G~utBxmKK&a~p_%)T8&3zAeF#h&kFlCsw_orSNeL!NsT)TLE*tx#`|f z+JOT)QbYkkQI_QmojeNK)xrfVyFW6KjKhn}y{S-q2}t%L9sk>Z{v=_%`8|__KNJ{& z^Oh8!6Z>cf5jG}C;5k_|82$K%dbat8s@EThkC56TIhdbbT83ycl z2o@OSTV-wFh(*qp88RSa!Y^=}6*1}@o?gXE^5uK$tVkb&g| z)o1-=tI@c>{x$#LU#>@lBznx*bxq4tsf$HVl$k>R`L(xZ^XRO-m3hFF|JDpARccP- zfLpV8%w?EU%}hyM&AI*o=CdoB(bb$4|B_|he&Q;Z-~RXbaxkx4#$ltyB0Jh9R$92F z5v8tmMS&mGHQl!i0wd-VvGlcUgC65`JTPw08o3Kc;DI6Pga1aWaH1f8|E=n8yco79 zK2L;qO}EAIk(xTu+NgmGFr7PlA^r}ye~kwTuzh96wrbES)CMFw@!jWt&RWA3Z8Z%f z$a)QXUp6(-OVn2Gxd0NbK7?9ZO4W&{U{MtWjs}LRGQbGtf_gHL`c`R}I$meds_(V~ z-@J^FLlX;Enb|`5Y64HKwj4SU#Wsd(>Y*SZmGNTO>OBsd(}oKxadn*?QK`&Rgx25{ z8+7nEdob(7Q|hs^RE!s)T%!4EbO(O42GCfwx0d z##yV9s(zJ7`8;CPeM#rcJSgbAw(i_JZx1XFT6M~_x4p8rSW#dE;JG-SziQNHxyIxgf%X>}ohI|#Gu7<% zysi@cXFZtK1i#OWtO`M}1`hR~;N_WB^By9 z?4h@c+hXlEc$hd09%Af6CHGyelKc8Z$8fEZiz-H&v5!GE-sV%y53aBU2$LD}yQM_h z-KQryZqWIhPr z4;6L}zzs%oGz6!-NC?8k*D{DY3e#XUxevHeCUDWQ!Qx}!x!yY&aJgBc^yN}53_R<+ z|9w#q#aEGe8T$5kP>Ls17b@sYjykk9F%p~pO^-y!w^-oB4=Gy%U8gdq)?wIjizGqx z5mkiFky2mKm$F~gHS^IwkfRI1IDWi4hVfNDil2QcWxC;pD0p6^WH_O^;EF3dx^$n|WO6PU?a;-k_T)R9+D2l*k zX1`PFnlbB-kAkbNS;DfpS_`#95T0TZhuF=b$f-(~qs+%85%*0sCw>E44)<6I9T&(UJd2252?MwNJxez+`@6E-F zUpMEXV2%rQM^|G()Oqb2*T%j$HCH{Qr^Yt!%Tx23o*KKmPWZ%nj#|GkM<2ta=$oT= z%(uiG?dRQ^qZa+?U!0?LZ127~V*j2yM}`ZQ199TcTNrtlY1+FmeLvF{LyWhRkbIj4 z1PfigK}50QaxR+tl~agi_MI-9o}R=c&g=NK9FeB&#%Mu^@`!v1G{?nJy~x(W*k+N? zUxEe4sT=QOvu#I$cdjeTxFS!nOUwi@mnn=6sksk{WioDlkRLWpoSXz9iNgugykG1O z8eu+{{Nm^QFf-PH7DAhAQ6(Bjisi_upAB)}gIMBCt|C?oG5;N~556I8`^;AIf@kbY^J_bV zD!c_Vu;QMGN`tI`BG0t7qrjoLq^KPnk>`Pq)9_3Q)E9Ud;wLZQ+TR=UM62>)E0ZxA z6*_66y5`5SF~l$1=@s@w$pYsq~-5eph3Xll?27g(tMDrgo`024#F{br<3TgiT>z2i-|?FpB|`Q zCm&62g8DXVuBGF@W!zx3EIr0Wu_Xx|OT6D9kEg5R`)+_b0QrwUp510J&{xXBx7!UI z`K)xcB#k5Ukj4>g8OMxh((~gQatdeG?^yLWvT&uw1Yt9nM4IF@HJxz7XJ$3t+FJ1i!-$4 z7>|o~lczM~Q6FrV#II5mv)0m0fMnR1 zJ3Ko>7Yy66p!>D_1M@@ax{iFJ)SP6babCg722EBg2}g9xBv9e*oPNO)W3uKv4}Z>-^pNyld_`J+QMjv2thj4S}(v! zbtT~?&Q^Ao&8B--q0#{qrFH3E`4Ql33*8u+%JtwReraA?FgXsa=al<_iz#R9HzIkj zdUme36w+gIc>F5>E7oZ@dI|!WMK}@z0MEASkE2OT>{H|%?%*^O4&c1q#`uSgSr4Ce zZ)pkPQK$H*f56rez>!Bl*R8ocY?eO+hRs7xb_mwea_cU zXOfn>X_*hkw8wf5ssY}k`CYBvV-&Rox5Yx`%H41^O@^Hp(tp(Nn9Xp;k3+@V!?&Cb zXViv@U+{Q)mL(gLU9z5yQYRs@y-2mqDG+8i?nPm{oHDl22+lVNXZcRJe)ol*$hIltZ)`SEU<$nPz2w>@*@TvH~{2{BxZBTx>%-)f?Ym9bk z-3Eh192=bq&3ifIZNiL+13eisa_N=2K(N^!+!w=K;1P;BdIo)pxfQ&;z!51YMc^zp z)pso`S)9!6YT3+^GB8qidhu~7eH4QT^=%4z4lll98Bw**F1=LPmd#jfy-c-^>U~rY zEI(qSl0X_2EZr)xcsr>aFhJt&I+16fDhOWfLdCjVPvLfa97)u*;^U$KiE3O^_gy^@ z(cYK&b?kTa;J0+|pihn7{4Th_$-!3ppe}^^4z$e?|5G@4&vB&IM*>Z7$))lpPs_6D zi<1kgH!rz~R>m{45F=n+~IY7xT2w{HM7QAP>^JYTe%GN;rM)H*_Rt8If1seJrJ43ke z^IVgSh{v&Hc(}|N&R!i&G23rtF|nLxI}1II#h-@K0W&jrgMl`EFcJ%;2Tq7e&tVHK zAUJBuKcIKFMzJ_I8gQ<{1`@Oyx$P0uxc(s?!u8+dZ;ARgbdsT;gM`++VMJg+OTC{j zwrF-d%Q~`DnW=V>u)<@?s3bmpeb=h=70&uMmL&Ve&Jp&I5!OwtmHNfgS*Vntl(p}O z=ic-Pl<6L$S#Iq(HIBf{)$lCZzEzZahRb0wyJHdI9B|HGqTUb^n8QEQtg>~oj_L#p z%Uw5{Jo@3P_`~q{Lk16=P~tc_wkr743h72+D3B4F=X%rYdUI_93C4y8dPXsCWO3F_Ui zfvrp596m}Z8L2AuNf~gog~AW>m2r|&HMYvnnahOMNW`m9y?ip(N^x4LmwM~FLiOVy z4BTs*LmS5P5Pa$m=rr5Z(4$xJR(m?1lf=Ec9b6cEY7KW_TWkG8@&lx;^$+qS3r3Eh zlbjxG%DPO+<*Ccmwbs8yYB1sqop|geR*YSf(FAcVPOT_PhImk}Q&d+0vp5bF??IZjRo?a5jDA*#M zT;8S`|^LOCcdvZwU358{H zLt$AB>{{YB9@6_Dv{r^Sni_mcer@5&vay`T5cbsp zqh8V=wIUy0966dq40yB5Oraj*o91~#*H46^CF$Z1*W3yzp$)PXUYa1(upWZEM`a%x zXCfab8{Lujle9h0x;*NCZv^DNvFqT`P~8L>1|6QxsMC8g(J$_W8tMFh+^-RirmybS z3-NB*zp7i~|8ckWU-=c?LXS>kh5qY+QT@^me{VB|5tQm91IM0eRpur}*4JQgvm-5bZ(r}7Ksr*UTFgQUu^^BS{xb56vh zYBaDS$p8>TXG3SW-bt~rv);B5H{WJXd||7(OqQ`laFh6Tj@g$jHnzxo;W}fGAm*0= zCR8uWyW^)UcyhSwo|1A%G^T(S6WD&6=lj=YGR_8iC zk}cQ^xLxuP2e*TlIJm|ZsrY{bTFZe09s>l*XeQ46l{3bpL15 z;*{`O4Zfxp!eM#FW+){bmJFe=?8&+&~#op$OpC z5@B)pvHD_hthY0Aiw(WA^7KY9cbU8XNygtWcN*j9LNfOQ2h#O;uzjYz#gn1vvop9+7KwzpNc=*zb67aM%5q2XmTbGK0Ly zeJQ?uTCMG4Xo&PCI_>!+a8xF*QcCI#Bug<^DueNI|7~?08M@mAtH^2+tn#4lmb-59 z|AJKnq5mDMvUhYJR*`IfAFCu^elAvVKVZ^<7G}{q)*M?oP#8lQpN@Ot2qvJBf_y@U zVv$BL^3o5%2)(5dj6C!qn8aSqPZZJvw2fErj%1GMv#jI%L=)hh8d+f* z$%oJufqz5N^Bti7$*fb4B~FzTgX|Gn*BW#|RUvR!g3 zds=dtOE!8JssVA7Bo!yHiq(fz>vbQlZR+^CEX+6#lB_62M%}u&yqT4Jv3Q|b+}QGv z3|zOhoJ`Vshku1HEx#*2HrJ@r*QW0GI3vtQpr2uUN-U#eA$=>a?=o~Dy%&irua_l= ze93vRt;~Cx)uGG&mk#~@54uA}Z&;%`cA`L!sQ*Lw3J7@8-1R?YU}Ku73NN#p7_lYw znve-KG*lzsfn3~D?ErRt?gBgGuOESZG8)KxFs15)83tZO0=X`6pMzMVH}r#9uzO+@ z(U^YQse$Ak=1MDMLhsdeKpiYuKqKVKR2S;Zm+~RH-}*%Q7^!<1XiDl9S!-PrAN|jn zB28-T)$-j-;EHFU4>vb18O`u@_k9onpH-zPxXu^;96ksynGDc)PaDWA6dz1_RJJ`}jmkcAR9IX3 ztS-)A*RV#f$?Gh{0W~90lrt04Z=%zT;;n+%O0(5P`}OEEqQoBPrN@n4SA&?uNAE&1 z>mL?8E!q>?jGbt1p5xHWl7n{@qP5-ZORB7#t=6Gk6xVnP{GmVO7?BJS^B)&{@Td3b z7K^&uFKp^X*P~CSjqKB$EC-W<;R(VYkQ1vJ0A(G@PVH{O;SYna9V67KnUB%05RTQV<;uPn}#&auFO zBb+T-hoKGPS0MCg4}WPRE3^fHBdnFcXgJrGs2mO05Z0GEgSish)HHUu<9uF3uod&a zfeiQ6*7}oFKsK%zNsHTOy8p1(u_qLEQkN0QKakhb-5p+T55`>X2SjpW=vF*?-1q;I zw{Z5?Lu-#yK0H(G06q=XyC~=RWZ5-FtfZpPc}H+NlI4|Y2A37d5KS@kuc4c9bbCHo zy5HE3|Ag^*5#wz$&zi=Jtnh5Ru|WznPKh;48^S%g;pUh~gx@oCx6Sf~9*DfXhK9rh z9RMG=Te=XI-WidZSh4T`I{x9OlHd>584rdt$YBm+N19~bAR~yvul5AK|6}(bdL78L z;~q=QP7o$6rW;hls0e%(+n~p4mzjEQ=D`)_SF1z^Yp!1jwBKg2U}Fd4HJh0$Rm99^ z)a#nt%?=uC1v+zZ!rvKX^YkwLI>w$GIswDey=1fz)+>QspetP~Z)O>@`h%X{Ws|Hb z_2@Z1^>i*9QQ2>r`eipWu6)CIRL0+I#n>Qq#^ohuW}`Xpb!*n&UOJ+(%-CbKe^|G= z>NP8yIo}%Ckgn46*5azrTJfp z1{0`w%`!-yGw%8*C5_$=sQ}}<3FZLnSXR*gxS9&4j zS*z8fm&4Mb{fq0)nTy!}ss+?qJzG1CEwV53_T;sCA}c1Fd4MO!T#BI;;W{W9S$UJq zHEAtkb6;UX~=%E52Z%4~5!rtZt(DD$*bh3~bmAikMVO>D{lcJMC3CoFe`sz*sM*D->( z(NU2SaZhQL>JwCmL}?@kA-#x_=YaFV&hx`XE>GlKM`@c1KtV^qTNk%F;*QehH&9v} zl;bGPp&g|)n~u`39Yel}vWabWnKX!Xth%43Xh`U?4+Nc6_gG^>C=jhAqg+d=+4&EcrPC2aK{xhiMO<->Rz;p;F|lK|9TlTjys5eo_Isza~ydc ztlN?j9MA=>FDbz@H__Krt_&s$F1Z{9S5>NU&p|Zgca^Ej<-uqP-*sGMn3`%UVJ+>z zMkkjp5Y1XSB}?>>K6$i$5>D?r)lj+f>KKYh1NwoaX;1~O#IITe^2vkkSCy2wX*x+#- zBNlljdRSj9!; zjd^E(F0Mwhe*X4RGv&>BCx6b1xa%R$N%BaF_#heZ+DHE{dv5|3W!3+U-@pLFA~Px| z?xUchf}*IQfHMdv8Yl{~UVp|k67=im*I^@hl(B@;tT2Ae zqcMI35H}*x-O>fb$y$?x9=5VI4Z^!4 zIC?{!;alJ}A_cq2i`E94kLKK_|At&H3kz6xH1Ln8H!Zf1xXXUh}G7d z)z-x7a2#F(r_T_l6ToSln!(&0V5EAFhsctAg03po4TDqRbTSw*FRf{|gxM#wCC3Ll zf^ka^9^Os0rFI&6dv21?F`apMG@f!U#ohk5Q3+52*vX2$N`gHptByeUJ zfy3xF4?0MLJK%UpDAv6T_x#m$f@0lk(9wn^so7hjL_(8L?+d43w_{V1&zxF(1Z;8O zzK3ZvF5tknSkZ5)?S=^J;i4g_>{mIABShmf(7V%KCOq_)Y8#z|7hZJ=6rCO4ev9%k zjbsIg{jqXmEk=>N07buA2UdnWIc(4cfj)Cu6we<=Nt;w+>-$qd+NAa-;^2G4EnITY zxj=CvJz6F>1&|x*z_q@TninLoo>co$*z7QAdrNvC);?6_yj9jX%3-a?Gv8E3vR;ve zS#28~)>SRH#>sG+WP6>)TeFi*4z%65o6oImhZ%Tm#VW6a?s^fl%^MxyEZ$3lFSFA4 zQv!8ow41n@PGI7(D4opWrYRh?^-dtMf7}$z)`#ccH_z^hArxMo6*IgcP%$F^z6FVK z9!QsvSWSVg`-q#^?t5Neo@(~iY!tNI_%G}kL3_XuYQ!ycK9Sfr$ge*zy^YM{b{l7$ zR_-SCcYQ!n3_kcK7m{UM#6ap%mEMt`hH5n57}(Rp^`UKLp{&n_ke(h37Pg=H4r0$) z+hfbo-9pEyKKFB?!|8I0*4|j%Ywe=zRTyLLb3UgVD^v@*4A~l5oQSl<-gZd7ERLbP z3Ky88A3BSjK7#9gsSaY9m=Tuk4*vbIO;A_sPb!YXVvrf=R0 zK=GUR19(eUD3Ih`xceDZ!$P1>KRyZwhaR`$AH#PIoPVsB!x=w%ZZfoCV}!Tcx*Em0q2xCd z&(1LJI2*0SB)YLAh&#cJig@@n4tP;}J4TBGJ&ij7;_&^|aab9wrdGQeUuQ9pc-IV@ z3W--h9K>F$nr56u^r_6Yq;mkbaY6Y?8pz{~lxoC>ZTeLJ^aI#ei;-&|<8+n^9cnbX zGcBE&X{KHqT@^lT;l@#rF{3Y{aSR^;6a*?%XtxCs3RjFta4jA`d8VJ=f~O4T)X`o2 z!6*~Ox&xG}`7Ij*Er!GFYpYoIIc$hkA99ze8_XvoCOjFA&3JRJg5LJifEL4T5e6$k z7=z#nL7oI+8o^@HF2+|r9u6H5n5CK{3en?2M0FURDGr^_pW|@nakwCk0b&G{G+qO= z5W^#;g@*&p+-<{+qfMxn7?dofSa6derzCHc8LqvUkE=2G*IvBqCj>b$*Gs%hBapav9x7*l&Z;<(}& z_?i&flsnsEH8$j;R&-Ei4$3|uLbN?=nla#`*T$}f8?T@W=O1*$g~Tt`T+dtGfVYWt zb>UiDqbut-?M*)$Z{EeH<~FA=)p8-mkv)yWK&RLc?Vv62Zk~#!kl&iFSWioAUTw`2 z2}(_UjHU%}K!0#pOgNB2T>K_ka4pEzocs+WXY zj9l@)*d5s%eglRAJFE5V{tLyoG9`)d*-;@Sv!>%|_{hj{4xi2s^@o@oSJ~5F`K;Mt z#>J@7e1d3$3;f`#)P!3PgC2;NMTA}zukovrr>u@$gxVSJgyp(%%CH zwPl;%HR#Lcw$DJ>eK1}ZqHwu9wD*jax6wRt5kX{ubwQNOxCcgBOTiK1sqzt65>xgm zFUWN+nCgf(;-c&eW-1|Um|t!$h%yD%4Hkyhk}LzCK&+FzjzsZTt_!w}(^Y0J)O`ds zxZr+zGCDHjRsCx07O?n(0z30@sUU(v*v2blTbB^fUg|Jhd~HIxqtl@?gCpJ=0pAah8%lRg zE%sfv=?;%!zpE?0>5}wYo+n6dC+@X;@;i&q2s5Kjc-63srNRv0b@*a5Xl*e zBs>7XbxP8Vr z5|L5wcLW?4r=$F>b6PCG{RGHolyQuXdRMwtAQ=(lKPSWXBm0;bTnMa*!4X7LS9W;< zbcItK(Nj&4EyUw|IM14&Bo`JISarx%Ts!1|Xbv39>JK`EJl!E2{T@Xxoot})b zjLmm9mtz}TIUPJu-o1p8Yo9ikd(;$C@m_WyN|=VrQ>=6e8|?x%gkHn=%?VO3OSGN> zh;6WQ`L)vKe(<)j%(cO{R43bMZt4wvi*Ez;7A6PiTYa&s>LzN$PT7W_>$q4i)f)HD z#Eih53PIO4rvG;4^2X5X(_N}fgE!8=?#hj28#Aoj&3(-kFMN+cc@J?h-7aV*HY@UX z02SZjy0Zohk|zW;D4e;qLi9r(Mo~sd)0EwTgOXX@Tci2^1e)h6(+9fB2Is921i!oiIC!ft__`+PWv)s2 z4QrC}Ti0Ms1aGr9JJ}!?SMBQ^U5)=nm1lD~WTK)l!c}JUgU#$M2&fG~Z1zcOeO=e! z{$zuPbGg5O5opUA?E)Hz=IQ(mR}EE$8~J|whzP~{c?en9MJV+b_V$5?<`|f{&z`2U z5NIfH&rJR*SBUF+45kRQhw5uDcvP493ni$zf@zSkSOMt6y&mFT_miKMn~~Nt6(TukGI4*xMv6zdHTS(t=dis!(I=J?pyn zDn^!&v=&6T+Uw8empeiuhmsYb3{pTldL`yvqTtq1q+FY%C@-_}qr;!82K$YHlzq)k zqCp87ZYrWdTzfM0mSM0&YUTYrp|OIue&h{aP%T*0?DK-^hBL5cxWyWa`qr8}UzEme zQOrZV6P7BvU>!hde02yaD4uP=4h}3!+F{V*Y+S?aut3`%qp04JWZ#+m<2ywYx8N8I zI~+%}&~e)ZCY!QH12FN)KWqW<1YVVd96lA#Iaws5BsIy=Adg>9^MQcNrYrPa2xy(z z&WMG0yfHy$x?dFMPfGDge~-E2!-KESBfPG}FJ|CUU~JWHr=o2fdBnSn_(ZUG9Xc^Mk>Vjo4k$>=9zId!UT2 zY*L|y^};1h06PTk&Mt2@+3%-=^(ISptvoi(ob!hO!=(oM{fyQwWo4HwajiPKS{Q9$ zY_Q;ZTbDA3OdHJ0n(ge$>Du(`_7+w7znIyT*&SJEcX)wa#ayu}(9JyroD;(dK3wo>k;lv9NTI75YcskQMrs>KxKfyo*YQKEJaT^|kF2eF5Hv_1S-BO%(A zoOT=i%?`rP_}BcZuW+d;Gn$KZ6Rj0xMhl`F`}s*Pb174Nd(5H~_YH8m8)f-F5!Drp zZo8ld?Voe%PRlR~yMYMljFh_6uBC)1igKweyVk?2?N4{6EAV!_On=GL^*bRC47E+w z%r#klN9CqJyoWN#O9A~8l>&0kOW^<&kjef4l?zU6Qod0NKO!?Igu`NH?8+K!kpUQ4 zW^B0L5`}QGtU*pUzBkKwey-S;HCiJ-hgpu=&n(YEZuSxplp$Poa?Kq5W+`1nU#bwk zqtd~_%Caa*uA=Ok1BPL#!a|gbC&*Oz9Ag=?VGk8x^mZPXo0Lv#B5Pk%#jtla%6_8)D=sXkDv!)R>aRN9!|zOiFFL! zVc2l%GlQ}qd)iOLl+XYv(W2NH3+Q!m0y2!ow0e!*w z)g{Oy8gSWVbGsT4aG5S#<2rL*EA48^E<4zjQ=OJp9cE!+H;V2qqSc4pSlXj&ZKg7| zf_+D7t|5aiIP_sjETs~oE&E(Ab2)+>!y0zYtYx*>-I&0r1*NBP?*ToHfOE%})%v6Q zaw?7^HO&;?sj@~(yGpVW<70XrAGC#7UKoTEOUdsoa7tum4BkgrxT+6hWsu0q!D=wit_-Zex{E#A$s>CbNNUaq{ z4CKhQ8J;m%b2$uxElN|Z?W*y>GAA37;4-gr3<$k&?z9P1mzkXNe^Qemr^e`Vl80~P zoT2vLkzOV18rsuiMxLHsC3*+!2Xi@WQM%Bsl0SN}VD73OV&0J@JYCT#+o`r~P6_xz zd_Y4eEV0pu3iCyb8uFW3aBvb|VwtNEoii3Lk`&$WEyn>&^wA18W0JxVV}YC>Feo^5 zf^52Eu}`g=Qy#~D4IBq=;yA8|VMJMyA`+2BHz43aVQ>q^n+RQ0beIh`N;YAHg%5X2 zl49QBBt^_^;7xqzA3=W*{tznqFb;ZR=z}Tg+ItTXT=4>Jom|`e2)%^G(VL3lH$dE- zvPN5rvOVY@ur`lheygAetRXr*F^~dcVBzMZVfq-1B4REeW*Trfg~9G7GrM{0WHiV8 z4*O3_IsHGwAE=3bfH0Nthj@6nSRNNfMQ(SK6i#>GehkAM7?EZ2;#7)^ltCSaI+CR5 z4t~<81mhl&yYSnk1n)u@RmI+Bu*NhKL7m9+O~nFG*{zEbZhNV8O(?}~T?81Bp|ZWl(Xll5grGjZ z%#0tZg}@Mr=S)meL{%Yl)n1IAF_!C#OoX_$kLXAv&o3ungSyRFW=95*{hZS(XljrEJ9$j>7I8v960bTiVeiKA!|Ss^&Li93bkk|1ZR#sJim*v^AM=~x z*Nas~y2Sy@u4Q-DL;TleA;!V~bnyGc+1nD2fNQ2CRX>THm|8DLB<7BE1STWZbar^)#`8K zuN<8W|GTArnH&pes8t6Y>yza5R{00D3oyjCY^K{ABw-fnL*7aUOI_C_{Wb_D+VW1B z=l$~NYqd$1^qsnUQo%OJ>e>vS)8FqN5g|VpyoS9DZDQUy4}>in3n?$vjn((6%ODj{ zoKx&CUE3(bS6_eLqBg%m88&;C-j453i+Lux&E@|0hE6n9H&r*;9{fAXj0&ppRZ^pvhI%6D`F$Z3#@~qbMyhs(YZaR~u48SXqP`Yp zgRw#ig8hOQzQz$-l}_^(5;*M`MO)Sbq2nI*+d4Y!lXqiI~||RY1nc8*&rq<;}wu&sx=6 z-hugI6&eF|37u-!@#9o?>l)G28w@SflNcV>8!GhZyVkPzgYu8ANkac-Wk_?is=&-1 zSL|A`%3V=ssl>O7>-Cdm7^b$Y@nfCd)*j{N@)@TQ_ ztiay&g1c+}L0b|Q2ym@{;6dIg4!o5IiwaQ`VPSB0eWrqmHT)o%=nvtBO6!CM$29gO z)TtZk;PEpR%qO)mM^}=JU`Ha06>qWqmz~y+)4Q-e;^7pZZlDygGmAL?em||X@mUr- z+Y}-uQg7)C27q(m7`WJ2*Uueh>IF*BvV@!?bzMSWVLDK6IrdK;T_um`;e=)H)O86Y zkFQJPk%JJdVWjL#>+nH+u_9!$pOw-YvNws9uX zg;1wHs5J?1gM(2PhIDMj5QWUDe7{nX+C)a-71VLn(6%}4r1>&kKog#)5pa(pRzejo zUj$M7v_^ib!#%&ICA%P8v7Ywt*pKm zA&_gRpWjk%6$X}wyKB$IG~Z_tv-q3o4m>dtQ;ER{rqw$)Q||JOeH80nWEwMU$uc@= zy(sO$`9=$EPmj+)9JYTF9TWoys25D-h$tE4n0i5zMH*1lw45}U2LG8-|QYWHrQd#;b<5 zHrzl$k620pw1t~~_*`?!Bo99>&tnTNcFV}w^* zRzJ^`zGSKPsdA$Sn1un4No~9U>g(sU!Y>+KeIs^>9SnTd88_MLx>GPiRYx$T=}2U~ zA-ulU7{iiijlr#5?b9~I!0$0Rg*_`VF~ys7)7!0W+i^73k64K3U;ar z1DvBG!`gD>M%welnKFb}5C#`0CEV-_161(AGrS5_AK}m*DG&_{ao4Hw_u(v`!?02^ zxIVxc<4|WbMI|Z;wc`LK8V%x!GR9j{BCaOqDC00_kH}nE-(mdb2Xq?&&JYb_F@?A? z>eAy}LF*>rVWb}0mp;#gH3sQnL%2b(gBX{_t zc^w??RA3{^+sGrrVP$y}bm&?Z!wdTC7)iVs!NrSDaq(hrh!+=Ok=1amt`}ORWiTo) z+U&C-rr>s4GP`pp)0ob-EBlMK{U5VMFGp?NB%-0Az88eq&5cA^g}Gu~EhkZ_SVxx< z;6sFEy|U}FdI1tuuoFEF`WuCQD;#M98*h+1Xq-)N9@wuf7qFyNKc~fTZS8%!Bxkj? zSKGy^siwsjS=08{*+8NSexMcdU8{HYSUf<5ZBXE4KS;9f_|&ZS#IpH_qu6|QC#VIr z3+u0DQ)`TOf^K6!VvAOeA(xN`UCpn!8IP8+YjI0Ay37_D`O&A-*<|U}R$n`HecM8; zZz_#uXITk7q)W!Tg8wQ!tg14a&M@2SUbtj!0k-Q&y)((&AKT|n(kE0FRGhw|AQ|n! zt18^KCc|@k1f)2y_H3&Xd{`pmuYv+3NJLT954ZTgYz1~Wy$NYVJl9prKie;HH-7xYlw=fMPdd>119^uu- z0yA`U-1yM0!i13^ZnJzqv7lFjh+4&E(-eFVbNdPV(YXI#@GPgvPBfVC%qks!1TP#R zoAi>eZER>W6Gl^c*hH)HSF7+`1Vs?5YDBkhpz)3&TFG2v@mD{;Z+>hnoa6=zLo{xY zpm_aNtoJo9@K@2Ng2L3dhk^V2zIy*y$qU6&Z&4qOr|PiCgW)Q6+NNRyi_>x%eNt?4 zJU(lcKjabV=w-_xe~?Z_y1S&qVr2f1>!dTovm8S%>CN`G(Yk(vMLr%D7)PI#LG-5! z{^;D+Ixz9JN^do|4ULSwYKf~+m1M>q8TP!T>Ds^^dNarw^Bb%wj$Ra;#(cWo1ACZy z=&fAJ`J1FRTnnCKrzUu{Kx=LA4>R;JS=Rf9)%RH_EuSEd5M$u$R{98->umhOhlX~8 z&@^y{;5}v-$P9c@ZjL?VuMoPIO>jI^g5ir+uE}rhx9SF7khDLv4;C2ZV~Z0m9#mqO zkD)ns8-vw+Nt0p!#gc%260gHb&upT~#J_q=0 zK|U^pGM+yLOSIq#fchYOIP5z{N9fQn%8H~Blufkb>mL?!80J1BM^`Gm%fx|QfX zu@Uud8C&UR+MO6Xrh&{c+3Xk(bXK{K4*=vmy zU%?!C$#s0AlU!P{+i&-gq=MBBbG0_?rDODZ4*2G#idWl>W?hZF$psemwd}UL{;*Q) zz6;vRuF0?f1fj~>Ya|?9NWAlu*5+nmX$7y&u-FDG@-TFp-&$Be{_vDAI}Y)v&UQ&6g$wx9+CxQ{`6%@F6CGQ)OjI~{BuFW6b!*p9i8b98#D1i1qKx6*dvJN z&}mg_euZLp71lnGlO&MTpCyO&cGOZ#(iQZCN`B*}!nJURUmCVtqaiUBr#*LUDD+3Z zNWZp`_FojP74Yq8KWR&|Q6?V;7rai>QbDkPYA>090{=Tih2zJ(4GdUnFfX}Z8OTcO~euaUq_9GHp?UB<0H@#6DJ%<$}wzTOUAd^TJ z&Gt6W_f1hs6A3AXqg|=aO%KU4^!B);;07+K3UrkNTl5uo6JTG7n|6T~HKwW1V{iuv zjy?IQX|B0Y^J`75U6t=s=na(4f^wz6S;78NB1D>9CH~s$Y+#n%ZG@ljyNx25NYa86 z+-PxT?&HCaM@7!Ty&}IM7;?GVX=)HCSK{KI^ZB&`Bt^7qg0kHgj*e5|=G@`d7jDiX zYn&;9cGf7{S>sG3Bh$`|HMOA88Id@`x3b1mV_>Yg0M>w&@YR>G#<`s}jv{N6oHfp1 zNMFVp#-z{{*8jzwnL5dC{(^;+)x3L}9H+c{svIlD=hbI^t&QG0mS=KEhLgqOG-LyBW5`@J{i4SbnCVLXR~zitn-*A72GD zUxlMwvJ3XE(G^T`)Pf0|q4a_;lZh#IBXY&w8;U-sld#gE&K|J7bj5gR`)hLgCfzk8 ztu33R!6c{ljM1xn1nxX1J+yMs51kT^lPt3tz^Z2d5$zAqHp1+aE-&knXnjDY6&Y#3{ zTh4RJS7)xjB?+Cu(I}n=Y%Y9=oMER-Zm#0nIrdmHzbv=IN?FGFn~JOpf}+QTJy`b? zTuxyR@|lJa_qUnjpdLgoapxaV znySO$U~s9e!G$U#%3La^xg47-c?vAYX;MlSgO&+irFV}|Qd%d)w+f%5ia%XJ;-W@m81nI!Dn} zgZDoX$2nZTuDz<*cg~{R^gS|<-A+|)H^0Ez<6Q&pblwa;~CXZMhBSSauj^40oQCF=b8!JW1N!{r^=P4I>o*+i*l?_ zp2wzVr6Q;dy~#$zAFi)O0*F$6w;UrSFleJK&c#nWrj1!wrJcnsbtb#oD6G=|q>Qwy z)!QCud-Uiz>?OGCbpglu?=VGwCg}Ri3 zIH-eaUO2f8(w4~&CRS+2;~KDEC;p@zx~@rkxy-19l@qMa!O99&r%bObSjfB=PJV>I z2>Ou21A-??u1KbIwXev<$kk(T$VXp|0hG44zD2S7$0VN|d%S>Ch9?Wn@O32@9mX+9 zKH>J*krwPyW=c-dL%$o$$|yxWEyeP47VhIN8%&GzezZw3cYs1^28LH9DRfwB*TJg^ zc&-d_IYaQJK-{$Nt1l(n9YaZrO49+wzEX=y+VR`f^g1i{vIU~x2`y%pNbf3=>+dqh z31J&(zJW#;A#HYOQ5Ub(sy~roXo%4VO_ZxDJ~795L_7QwIYbb!r0Fy)m6&$IM6+#} zRM<11b0~S4nM!CrjVS<~;G|M7oNTY3e$}he=zHQ(TgmYsAP3#wNYCZ{U;EWvG82L? zn+e`fTkFh(ub>V>orSsz^#IDY-c0BVH5_UZR5X+pY9mw;)Ly7+s4GwcE~M@OH5_UR zR07m8sDDF!1hp5+4QbT@uR-01vIPyjp~gT>hgt-+5$biQ?NDDq?SncB6^*dhfRCVT z8_Wb}sF6?_s1T@Vs8pzxP#d5&Llr}nKpllT3)KL170SF3;i1Mrg+L`iErZ$s^)}QO zQ2U{(p)NvQgEB|@4p4oe==U7>lLkdUCr=H-ABS@!gA4R0p&Vj0LWP^Z;5)^i`Jq2s z^cvxs+F!T=x4-&DBqyqpQqmGL;?fgUnMo=w%vsr)i?id>RVg_tZDyt_Ei+>=G^*sd zjD)nrk+wp%;4Z}DUyk4>%n>4lDT0UKjRXSXGBPr?s?4m!3{_5YN;->Jm6VyS%1(?+ zK)^W}af{LtDXw_fXcJY5X^G2#36x}fVouIPRbqBF{0~k`87Ty0>e3Qa6r<={^rXs7 z(I%_nGt<*SkZS1Qw49-cyTf-*B0^+lXtOiZM4GdGQ~}!TG>-t)qQvC5WhqD@J#GaI zs+5dnacL<;TSs^zwu62+ErK~NI~yS~5_47H)naWj@v|k{U(gKJ2&GU@{I&QCvYd|c zpdQ%~W>2Uvs7;;R+QTCZx&-#4&k|`gP*OaeaObrFGV)IDX`SMt@T>kJjWC3lex1Yb z=oFsf-v_fqUp4ek$|uo6>9+iZJEcYO&dFGkk(ryJN?abFn59k0%n)+4*(t12@!BOU zON`f|P^8+1^oa&ZN%TtQu_ycm0d=00OIliHd>o7PFU!e@y~f`6{e@KsmouK1S7j&t zVc0pJ>~N!aJ80#p2jlRE9NGvVBo@Lv(VPslfmsWrBinf*z6gX&Lf9(07Xz_UA?y^* z`$Vh+Qhe1w3SS4rs-9pJ-RaN?{cZzkJ@o;Q{L5DGdLRcr6G(g=E1JDU^cC$jA_j^W45WG-BAUZQj1VyzNc7AT&9S06K{O|e<}}fqC8Acu z<)Zs45%WY`C*lSXUlehZh?{{#*P9}4743^e+%94|*st^#`U2g7{eU5&IZZUbD4KTwUEp2~>i%Xdt<3fi#p| z2PFD807*W-NwhBlQhW!2RDX^GiT+xk1JDShcx0hVrsSKvV))laEjR*UvcK=Lm<$NA+5Bz}zr z_Uhzcs&7(#lFD1E2Vvkh)klf{VF>R8^TLIT;&Kubh(ze)6B6UofLU=l@o{O~4mV3f zPlkmHwaF>u0K>wCNpU$^NzeNk(Hq5+mfapEF>X-``OnEsNzyJP!KI`h!}M9&?D1n^ zmz_wxSG<G<&NkN!2Nf3N}1z{lcw2x&V)ZF=k zfRAN%9Qr=;?*Tu=`w=K84~WX}pOqQa7mrE9g;78%TSO!HB0RhclYs6(w_#vCZ~@dR zs38cn3Yy_?$9vL(2h=DidSZGK0{J3>A<(aaS^yQhEJ;fr=b;E2yKGS>Juzsg5UX90 zm6(}C&O$78xoN5#E&APf)nZ*-b^^EO-8$DVqw)d=V5g(b9k#JzH_zBY{r_XGa8F1~ ziqoaBueTIT6`z)wqs!)WQJKbNbGAMyycj<|{_Vk2w4A?0R7d(xbZ&R&q(3>9*kvi% zS{-tqkdl*?78jqGo|vJj8xlJE>BzmRgUU{E{7+;EvGJK%D`=S0o|O(p z#p)8Y7;KmK%WdxbPOb=xfn3~Ti~|3Ld4KlzLQ^Rav!N~JU2?-vc6o}nQ?-_Sz)ySL{xXSnKYvRMa^q6a&9&S4`b`p45$Fe0fr&Zs*(q7PSqrMk z)YJpg;&O62xv1i_D!0en{Ammgeu-X#Q_wWCMh*Q7T4;st_9D zu`Wc2jmyZ)SdpHo%TdvkB_|6_kOFD(o!AL=6)H~15>n86relWUA>=}z0gM+iF>^_T zE(tb^pvz|NX~JmOaV7k1*c@R6VvEP>hKImIj)BgT$QG8cI5Y4!P4E)vtMTXfm=zlz zO~JsKhOXR3knE;pCnhp08biU))I@D$T$=7NyKu>lzLVr{T6>iY$VTNvqYMYvFwPEI zPGbfu0Unitg_U4su9O7@1zFN>oTm^*DY>bJW!q`XntQC=zEgk(oZa|?2#GLhUUUJ6S{V^E4$2}O1^*6SuJvZrwi+0)7x znf*m`fM}+=L}6x&_TeJp6+#w&43N@J6YbN1DyS@|zEIgvL~9-t(YjW|=YeFO4@GpY zgCaUm7g()(M>M|&B)YakQ92((k-yzgMAu0uaz6(}?lE8>jkTP?6yi_o^H|eI-{GC_ zFJwWLKsm4T7ZRYTUnv4MK=obkFGNEXLka)#7lNVQgra_D2e1T6c;WB+pak?ZTJ#iJ z^hN1FsWp|Z^e^|zBLDN z5_Ocr&M|u;X8!v-IGLpwn}|^N1y#q@=W2gk>3nq@nd0$n!lri z`uiLfHVO1dDHFGeOMf4pe|@q+ffSZXnDgQ9(q7JT&g%(<=Be_~PYz4zNIjbe@~cJv zoC6+aBTY_80&@rZ-Crv)cG5F7D>$~7I|Q618Vhl$sr$4iFiF;Q3!_dkD& zAEzt<;i*PuqI?$N@A4YL#07w zL202@L2ZEA1V#Segern6hS~|W59%OPHB=o`15^`K3zSUXA=gzx?+m4aa)a`O@`lnt z1w%zcB||NTdJ(D!YA4h|sN+y)q3WQTpsqsQhI#-cdl9l6C`YKiP_9s8p@N|zpvZqL zFb!%s)CQ=nP&=SXq0U0pK{Y|OLa7Q79x7ayA%sGz8-a0Z6l5V0$vR<5c8U-lrzN+9 zxD^7qGlZWU(!gH^*FmP5tjlJWC@+L#{t#A|&2)k=9pyhIagh)jmo4~bWdm0T(~;(M zU7FypTP%bpW(hMPkeQLWObASjC;yO1te`O2OoMn4Ha;1M@F_F~L3lQ(MjW6H_PWKo z987i)mo_ndQ6h~;5N9Uo5U*rK@we;!L$MVKDl~LdLc*vOES?1X+*P6YsYtT|KOs1H zVtV?-oE%Cgob?w7gFYk!<_MUHkSP461{Z-ZoensK^||DqdNC;+jT%@oV)za-k0%Fl za34HAnu~PU@wjQ$Bl(ij=`i#3sK@WHn~pe%)+vZ>5ik^H;ty&*LoyRp)5W|I5|90X zi-F+?mj#^3z7=S*$on#w17RNzgC`Nwr+@1(Bl+{c$NjGrI{ujn z|LkAq7@ik8{+VMA^H2Us;Z^^iuK;;#pU+>n{$DR_DAHlx@-+yvIV9=DQ!PBNc9TGZYCeH1KN6d+gijH}P z^Z&2i|6jp>;ZMCE^>R}G=k^4*|Lz6<5A=X$Yuo=}1KB_NNj(_h^JX3Y%+3DUKPi0Y z{QR^0b`C*$`4js8Zg>tuiCMgqiX+yHl>)a_LNDpa{U2qw-P51_|Fhh7_)-cTdalEc zJ&X>dpBXeexAHam5+KbVOMwuF36(%gU@eg3i48!SXBvSdGi(9c09%11qZ79AwO~1r zWN1nt$=sZQ4nP%<;}{Ty90xPj=(S=t@TC&N!Aw&BpGKiuoo~3 zNNd;2fwb0~2PE0y1|Ve2!X{vU;F~~NYcB$-fW^Rpz@5NBz;&#! zKzpDKkmiDRKxdfkfv&(VKu@3p&=;rx1_PDA2w+zrjd8mHX^h()7z=wxU>eW~xE$C6 zxDMzH+yv|e+zRXsEC%)g?gI7&mIC_$j|2MyYk>oRO+Xc}1vn7+05}LJFG76)Is#pR zD&SzCJ8%fl8#ojg2pk3s0}cny1C9VD1KojIpa<|p;3(jmK)MogJ8&#;Cy<`9-v^}k zk}H8v0nY-xfepY3z^lNCz*e9SQ1%|`4NwVG1N#CsKsTU2a4awYr~w87qk%!d1mF~4 z7H}$X6>u7G18_QUGw^9(5ikU}12_X%0;Ibs4g$k~)xg=nI$$Kw2&4z0Zv&qJ%HBtP z0y+Yh09}D;z_Gx!Kn>6g9Y_dJ2Bi567LbH!m~DUwKwDrI&>px7NSj_a0J{S>108`y zz#hOIz}~dI@^a0)mP67%afGLapf%7PXan>H+5!WC_P{V;Z{R$j4^Rs`fi$hwuk<2AZi*uYfkdu|Qj(hTMT6|-BWDk^o1bd(((99eBA~VpP z%)a0knSp_1)_`AR2F@c41f7Jzpp!5JbP|T4odRX6&`yE9fyF>B*$^NBAjt*EKjRom zbM0U@D<^wCS0^b6{YV~6KavV_B#8-`xj$O3p}emUZ|KSx+9no05kUcd)O?vErs^h-fb=tmL| z`sK9ehtrkDBsa8<$IVG1oy)}hC5!TpI7lbxmnhPcF47SP4$yCj7>-s|=$9;pr?px7 zEfM`M5#!6jss;UYV!T>0{VXw_#bP=n^`{?6dg!-=Nv>$kSKsv91Vc!$HD>VpTq-t>K?I^lsYIDMO`UXVTr zdcI;XmC0zRK6v2kPTzB?6QrLFJ=F^j*rJ+3uY*1qk|16`$ez-oIzsvg=&4?K;OkHR zGe8~bX$(O1!vmuLvZp#iG*kRkPduO_KU7ypPw`WIp|r>k)fvh!(NFcp139O7a=;O? zr@T=8@c;#AR?t(}2o{#=5v5CEsV)(nXo5(I;+!M$kn%WLh=D!TFN%}+K8(o=q^zEPY+C)GI*_@J>5)jOh-By&{vNdFA}hQOp1%bMzZ+@ zBzF(^rt)3R^2PNlnSZXQdMo*%y6b@&Ky>m|!6}TNRELQ+q9>iv9Li{>RWzww_@0zd zmUpV-B(tMBL-m~WG|r>CPI`);>O1l6&v~KxFO}UQMn6xN+Ji&`wFya2?V>}^>lo2V z?L)FpXJsMLPvywjrpIN#G5PiHV5@pd>(n8o6tJOr@%$K|D*4(e|y=4klg?P@aPBX2X@ zKW{VKK7-{)YBR*sFtN-y#bL1NT!(lY;O(|^JquuYOrz|80-}w#6JFkv8NWK0WoQ3V z{)5=)U+QmySY6=XonTf^d0&FH8l=JVjJ@?tPkH9N=XnlbbvZ}mI_05rdYnF<2Py3^ z#w9835LQw=?Qlj1Pdh|RkLmzVgY$c;*fxo0oX5OBnJm(gj_;Y&0;DtoS()-QLRra6 zY4E;)(%|LJ(+FT~p68F#LHi7-AMwZE$IFPP$4fv;FO<>3`8JK^md6{$?0LMQtOPjU zo*XZ=B3@ghcq3TZ@_2cj>O72c-YCE{D*b2pCy(h#lw3Io^Ckn zQMf)>EEn=a>(df#VT}Hc@f@`#;!`$5nhO&Tl|Xl3_2>R<QBrJOy+G{s8m@o(B2?KLG{<_W&b+2Z6D`I$#=*WB|*7$ARmB2Y{P^ zl|Yg?3YXECv1>cpSJFSPMJ^Yy$2Awg7(wJ^)q& z_5257f3QF7oZa6M4$lv zk?g52%xOT9MGXPE!JG_~!)yy23v&oi1^**~8klo{O1RqrLtx$vj0S!POaOiX%mPxM zvkLeva0753un6&xtZFmN8-OHxdW!5}CYg~l;wS>%yB?Bm>qz^S6rs$39|x5dzfDXIs<7u z;0=2v&=qFtpPWID2hbB{YT4c}j|Td}yd0PZ^F&}U%+CWg2;UV*GBPzV0`>*K1YkJ1 z!+s1f3+5HTTKFFfTm|!DU^UFHzzr}b0XG9*0?H9?1h5F^bl?tPKJZQ0`vFT}{ugiq z%s#+_Fs}o8!i=e~P!01oU>z_QXawqjw}Eqj!AQ3oQ25%P_SOpazzCo-@C{%X+`9u^ zVJ-y5BHr;pPne$rM#J3^=nHcsxx?%P42C%h7y*2f?13)=vw-gc^MJ*`Wccp^+yrwp zxx?HOxD{p^?QKGOzQAIb*8_I}KL(ZpmjRChw*vDJt{1Qt=DFk!^B`ao%n862;C`U6 z3pe`$l)#-p6|e;82|NbW0FMASAbf9N7|ip4G`If=I1lD>pceQ&@I~N9!0o`dfSVAm z4{#sMZv!iV^MS$0hZpcH%qxLAVb%Z}VBQGKg4r9`0&^a4Im{D)4`5ykd=v5Z1RAff+Ct!M-0*1@l5+G{TJoy2HE*NU~}b&>QAOz+(9C4-AAk78nNqV+mn?2bc_e z7HEXOp};(tQ-Ci5Gl6dcEr7+q%fJ%gCg4Hfd%$YoSHL>pr$8fc3h*{C3&`g|v~yJY zcE_=Pihr*cu|A3G6BwVkK9RK%u1{g#Q?5^CG;#eBR=>GEjpbF+uV_z;#!OPWnXEl= zKTA8=(`-fZLo*La&u4+${|b?2np^Qve0-*&E(hRJB0m43 z{iS42najXyF`bCTmuIJJ&Nl!F!J*SWBQ&`$upUTRB z>oYpVlf~)*x95@?uBZJtQk=XFar>35?D@EjN=O>3(QZ&lAJ4vj+z;(>?Xd6gPrF+s zd%m}b`{#V;`o)Z=T%XL!jO)|ccY*6O7*DyLOPC}*@moZ3Lw_YX9GBE` zSpzRKuBX4`hh}AxAL0>j4_to3)8aBbF6remyhSXJT+b!H()^vblnz-6ul*h7EXGku z{>P=oT>i%;#$3k3)8+C3UjMkB)5-Ppm*z_(yW-MiF2kc;@_fEYeV-(!ruiqCc_{8q zvVhL+WbW)voZ+c+|HPdRGsz?47!Uc}n)kJx`|r;7o%>*JpM!cvy(!70s3a&2Dqn8@ zxPOvCN_-%_ly{QP(P=LV%Vk^qOGC0m$}Q(3Km8!-NnXmO?p)r;%bUwi=`V$)zJZqq zmzUBGNRj~(eOX9Rk_U20Qs+Ey8~(R*9=MEj8Tc*9HhH>y{!49-wc7119~t zjh?2)uPNhE#fen=eMw^mOc-fl9`wxM*3(NPrLJc_YNHXZ1Co%Lw}M9YdtFdxLrMHc9@%D_pO`Vqq;jzu3J5S!jEtD zifQfZ{cqt%$FKjjC-=jZagTO)OO3;9vZ-so!o?MlssWoP>c`t`k*8#Rzdv!A%5-qZ zmTktxP8l{%+eX|Rv$XrH;Qc4x|2b&(8XAc!zgxcfu6e1p&x^wRmYur87d~;^W4L@N zTag&@v|DbEhCAuyuLR6GRrT7?IiFqrap;xetsnizj~J<$UVZg;%LbPl;&a->v2L3H65~dlfDHao-DpDXYyg?kTrL_Fkde{<0u6eznI}x8eC$ zd#Fz=nYgRq;tTJ{rv!y2+kbT7;VZAYUg~}|*>h;%uD7oFul=^-sCo2_S;>a?2QOP) zxO4_;P{JQq@}Ie>_&jQJ*KhKKq;H0)PMtnU9Q7r}xZ=`eM=5PYVWJum9uyZ=0?+_PqIhl2_h_T~AGNFFEka#T~um z3AfMANNpSEkQ%wzanA+KQJ>+wECXr>B3YU3O%Ajs2YSuWs6QpE~%e)HLRX_>2=w)|r7x%Xb?qTE?y^@oiy zBQ8c?^gR{bHf500s;J@^-7iDJ7w7hj-+jfj(Dva^DHDudX!rB0TCfeDXR?;ja5sKA1aul!f2S zUnbikUO`!Zd$vu`{Km<kl$NIHAs1>9*@`ZrRh-m8Tasv=)D{*r)3AuOlnd z?6z%tO(+YV>$h?L^xNYNvqOy+mL3||_nyt#py{c#pPpM4(kS2h;TD~+!MBO#@o0Yk zKC8ST+n=4_Y+pA1g+D%9?l|nrSq~<>VH)h@IU>Z)!Qwq1-$!nHA8g2t4tS?zdy`*I z`OPV--dv=8SuwEJg)hGSVB}YhVV@R$HsROFV_$#clS`M(9-X;$I?sGX(Nl=sY|GZL z8=u!5asS-U`>D{wIn|5Pf3+&!GOP8b#liO*XBSO$QJ(uGXMNyaL$^~F&M#zbnOHa5 zIQy%gXZ+FAdeldu`y0=FW;^q@MK3;kbp}!zFYr>_r7xa1?!ZaHRin^-S}qG7oY8^$h;=+ zyPtnVHJ_Gi)*5nK-TlrrE`4*!F5IC|9B$^B(|$Da>8>i(e3Qn4a_ z@x$>yBrOYT+_T6Ee2d$;xVNp@>C#5aYM-2L7t|x){owMpui`G(#Sh;n8?t%J4_R@q z5B{lqkIv3PaU;9x4rQDG$G-quj^)fm?1BI@13BRwUrSsJ%~E2J$|;LWO7El zA?oYf%i>tOE-dtduz+l(9Uh5d4`Zt0qM>k;pcy0~o+r6(v0zF*)Q`Bd&t z-X9$EoB7V^weIiS-L5@yui}kg`lfm}E!?qHf6My*)eS%FD0^no$>U$H&r%QAb|&4! zXz#qbXXfUV1&!`6B?M1+@3pQCim}nYJ$G%s6Fl_$s3EIHp4aP&Hs$$r|Mr5%rr=ZQ z&&irx-wI=CnxhCUF#eI*2xhV_f|+GE!OY58Ft_S2m|G7P%yB!ig?yY~VKYgvz;+dx z?QB72H(!w1rwEqzI>EBb^Ma+rCc#qiu3)A3La@SPtyW!63D#X31nX`$1?%pXX7cXN zW^yMFGkK2yGn*bUW;Q*u%xs)DnAtiPnc4Q*V`kg?jG1kpYi4$RY|QQY4mP*zNBsxM z*NpgLDIqW_`j?rYnXC}1h@t3X#f5I=1P8-rX9GyjU?c{;(G^5+i zC1g&e7kGL=Wh=S7JXu1x=fPr4J1&1Wtb5=Yb@bQW28_NwfDJ$>4jx~}U$X1?b>yeR zuCvZFfSV+2Y2)UWHJn!+c<OR#xWUOH#pxYWF=!KJ6iyCK-$V@M1HoXna6TOM&z#U<8yn~CoTO?7Y%pEo%))) z;{)v9>~-h0hhoSEwMF9cEbflKv^{MaB%C3TxzJ@z0ML%zra?P6>j&uP#|DjH`*DE4A zD>GM!%SoZBiVzo{$tE;8OSAbzh6Rx*;^80v+hkj8u}a)OS(DSL~NRm;m=lFO59^wz_v##yd5A@H9ke%-!10i`4Jonu1xw z`@lW^@ZI|#sMWu(y|HM#9PZa+`uF@;eIeqMy7%{ZYFRj9zG>2@>VKW7u8ca3Tc9)* z9$sTUR}Tm@v|d<=@I^mnb#>dRUKaMHoBkHeu{W*`*!my!**W3;)eWGpH1S~{r?1to zEq+m!cNuT1#2(5U`syzAtq&KS*l`dyJmobn$g%uZ{qE}bTuxQ=M10c=bC>K^ugoaw zX0+&w@J%!9ek@TxA2Q?k&jRwJaUHbFYp;4-)Z(#OH^w9U#}VJY_MQ63jAgD19ESM` z4bA35e%+@&c5LMH!)i>vLQz`TuF3n=&7p<26hGrOso2#2SQZ{of1JDf{SRNlZBr`W zLtD~I)j{_guNAHxL;Tz^sY{vqi0hdfA!5Jk#>gta5c} zuA9bY$0J{%;dWooyX9*C_}*QP{O;)|gso6yZLUx!WcOa7Zbo}7+7+%Hc2GU`>3xT6 zP7*&J-FH2DP(3U8%H#mmNI${TrkifjA+<-(Prtr;3E_o1y?ft0r0yO!$)nG8HO!lO zykB@&UH#VU58OBZ=8F}kv}n~4^@#}0qGAO)?yB)gj-e?=#g-d9(u z-*tK6UuB0?enLy6y~FWJ^`)Xy@9p{t{Hp%t`lXmE_0J7$E6r7|py%||0nJrvmFvwk z2QSnQjfH-D#!>Z}xg+-MFnJ;T>_fYSW9pnw6GBpMBfYG9tFCM~rp_)}KFFmF{L+lv z`;*mi^{VgZoNziu{7XB#?Um!|>>XD&Px;otPuSEw?vJh~)ON3b@ydm=mL9HFk16vkoZgK57N0(0XscG|ZM$*DVI1oF^78$o zG&O4d-a(U9zMyAQO0PFo)~Mf_=P_`_P1OJB9iA({sZl?-u5HnzQ{YF*M5hZaHR?+a z_AVo%hx!S@lV>^%Ijz1oV7r_0IVZ%|^`k|LPOH21vLD%dXE#5gHlTFro2S()o_c3T z$^_hWmS?xD?1$6p19HXwi@#1pefaL#cvIJwK^`@AQ3OeZwsAdm&NiFj)VZ$75me8&39CMd2_DgP- z@XdwXEMc{RnqPGU+rBDTvb)JKUc7{n2{2bit?sd)FV6J-yfF*LqkKQq_PAB zgb4xpC^Rx`te9jPEE?%$hRQTFQqe?4<|O%1G?Gzaky+A2MMV?Nn9)e%`|oq^(R**H z{pR)Fy!pM^zu&p*tiAT<+H3E%_BrS7<-*3L4(`HE#=%`!)W640@50F6I=BntvK`!o zz6lQQ!p`0-zo3+o}DL{3~-wcWv8SoCWLcVT*-gS)WR za&Q;cpXuN(q(1Gm%XeY-HV1d1{GfxoFtWtKU05{L!ClyPp@X}yj&g7p_OxIMLe-;+5pM(PvV7=yu)n=P97(A z0D1vC0m<{wEFrtNX#o@T9N1l+4d0%R8D@O zeQ;$?=6u`cT2z>oL-OQjIi}>i1rA|e?vkQHSYtUzKE&Qefa-h5LDg?#3nFTRD&1lQGzWO;_t~oX@@4W0M=~ z-+%0UOiS9sU{tGhChzb-Qe=Thls#Dgf1gp zO+Yzd3sn!i3731$GfCriBe1N%e59;&q}vxz7J1m&4}2)3Jd%#oLqcGAfq4n79O>f0 zS2vJ6I`Cv%Zrezj?`vCNK9au^6SD``050;OTqG_pE*h5)S1PUyTt&Dlag9u-s7Ge3jh$HLEB)i_J_MWsfIGtTbc~D%cT}K7tMjXwXnvPp)MR2-wlCUZ`&MvPy zC@#$|uLf~sO?29lW~Zx1TrI|65)OVT&BQltuX-rmm=3ky3LC3qyoF` zx!M-xvtf@PQe%AfT=oGcWso^Kc#<;e&vwda10;Ef{KUU;;(BY&ck&eZVX7a}ei-S( zaXwp@_5cU_sb;{V0qZmg?wUhn-aElZqU`Y`=hl-DNN@JjNxXYTejwc!>!ZjzSA_Q0 z;A-~wqZ9EYbO0xP^x!`7O{aXD5b#52q)hq(haUvjPm;EB{IRsTCrMjB;aJ+*lcc55 zZnwQ{CrR5DkhcFMY3Yf_%8l+y2ThedBhvtB^i6=?xz35oEMJGu+5a*+aS2$8* zhaVDrRJ@OxfQy6%7osd8%kG%E`MLx0-80EYJ&cP48G48WknQq`Y^94n5_Po9L6k{k zWyBtQ!;O1aR){_%Au#Xx{=DB;?}d_&;&GAS(%~x7uGhssOLyq&05{@t;~PTKdFD9j zuDk~4mEv+R6pXL|G`CGIbSTcVTrysD=!-k=8*xwKS^)zCiF4}@Z0EDnaRw?b5?p#9 zf3s%zs9anmxZ|R~<%~-*pvymE1CZdhk??-e)jkq+wA{dYN&KNq9|1?{?IC;_xgeMx zn!hGDm=5o|LHs}TvlG(`mIc!T`|YjrQ8X?RzK<^?e)ioy0*=x{>tC_*#Pm~td187~ zbuc}!eHE*GR3$DF-1dd?XUv*ldSHH%Z*2&@C4_&|9uCeQ+P^33PfSl-cVhbX#$bAA z`x1V4V*2$PPfTw*Nq$dA{?Pt?@ydzI=XVCvcZBe-VoxwVbbMC58B7nY|Hb!$>8&B< zANnAe9-4pS{u9%0`ZSmx+P;hba$W%oe99ITxHaFDZ-nSU`8f-f^?0z5jMaOVAp1^eFx>!9E$T7Yg&UiC?K?+c8!# zl}XA=fxD3;;=~HaLsOICydv8nQ*V1f#WAnMYgI~K0jg^BkmKI{1>xUFPQB9#=R3#V zC%|LJaMVOvUcAUYm-Q$O&vOz=;CZ3IJ-fB=7>Rm&_#7PEKc%pEHrzktXFH`)I%yp_ z-+XdmmfJa;uZHeu*aOCzll$!@-5WmZ@1(OhBx|4@6R* zlGxcxN^o>$THd1Ugc8C}az`x)J9aw#?3BEc(qwqoqHYhHT9TMOzii>c?BZ0oPC*sa zlT~Xc6JVamk%_?WLJ;%u(bF^Ia(4-{!*NDHu(75OM1%C#juL zcSZ&yJT{ zSkmSIX}HvrRIq@szA(?`F9RH%3pui%qW%z;lAU>T_IKhVJ&CqEnNY&K01k)H5(=_r z7v&Y$BTB6uo|f(8GSO)#SO3U>atLgq*Ul@tbn zDRNvTOttUrrs2PjK_@1o?x(_1j-7!FddSDfz0T>E!-JyTz$Q?5Hopro($p z-sMY5aoF;lysYfWxtYb(--o-mX@y7Wltju%Du6ec!UEz##yPsV1nvHv&GqjiMG=V# zAY7AKoJV~2%%P?c%Iwmke1Dsi?i5MItMB1osO$qNo}6sF4JC5@z4e z%67)H1nX*M7D*2EXy5zSLbNy1>1)v7>U^sIGX}>>c8**?{FZ!6lx4% zl9h1H{LHL*wjV`26;pv}N+~68vcKk;e^A72e~9AFT=h)PjzG(5%y};~#|jPi^*(UiopwAkwMoxMJY_ z(VOzmEbw1k96ZCwNrZUb7>4&}cPzQ%0zWSw-S6D2`;7yaKhiTq?tIHCZPseYC!BJzj=|grnszTW9B(Ih>+q?!9rZ zmzuZtXM62eO+h)9zuEnM&o}r^cbSv32kUEX_~j?PZuf^?q_0Ez<6VDTfb@&S3g z@}APC+@Nkz6)j4S)hFo{`X>EFeUI)j&Ndihr}?IN*nHjkz&c=2UYw(WGN;f9Ob&B| zJ%#%TCvtPS72Hc)KNrPc!&mSh^GEn=gfd}=@TtH^2~v*aQO-~*orm!>FEOt4&mhE9bV;|(!bHC$0;=betIS+ppKaQWl z&*3xp0{#~MLB5`Ul7EhWjqm0^g=0@|4=AeyJW* z2h|~!0yiGg>a_-~QESqY%yhHUY_OiS_E;ZUln>t$piirqcIGvvi|JXYh=>TY#FeMsA){ZZ@GKG#O;7wMDr z>G~W!Td&kt=@0Au`eFTDeEEu_*z7Y$PN%PCce5sX^8k9XO}I-MFMHLAYN~p*`hdDl zeL>r)eWsnFU#RoCrYGn*`fd73eYL(pe@@@8kA(E37&DD)jK#(><8GtcSY_zw$6s1hhSTR!^u@G{k(@=} zNaxcP^eVcM-bMG&hv+co3}zg23FE`~-oRYPa@#~^8`Q_ucB9jH+bA*bvmUitE%dnvx(46~eK)g``4w|NvzmE`d4$=(tQ7AP zpA?@KpB0}Mw~Aw>$=Y0PkM_AS(!9Xb%`41Tto_zE7FFrU+o|+u`a=3rTA-)X*V7B= zTj^T*9r{DMkNz{A!Q?UPna7#uxb56N?qhB=e-2+J91*;tCZ>v4i}S=Ru~1wp-Yq^L zc8Y%!$4K*~LTQWH&(g2g7w9kOoUz@=FrPFx zo8Oq@tukw~^#VBm2AM&4Ig4+404CBZorM0RgZFuKA$=SD5ZyvQN55hBYYt}B2IdLo zOJSTiOUxEGLi*klKNP8`XRSal zzp|)$d^dysol0xy**5g&GrE>p!~Bf>6L&Fx1)t4_2}NR)c(ycEu8{vOM=48{XO$O~ zeP~0fx?Fu;jnr<}9?)q0bmL6JXIx?ALdG98T8*8?`^MMC7|6#=Gt(?ESDS0it!AJ3 ztvSkyu>@<1m1-4RKewKT!p21wrtY?p~Be{62tmn$(G)wzdA7LaIvyE#p zTh29;&8y7o%v`h3EHi6R?jXtEhVzgB-ez+lRS|p~e~7$2Xh_P6G zG%*QMwh?1h8puHUI+sFuk5>WHvE7nLc(Hm(0!Kvbj6Bd$^~$ z&D`tUC)@>SS1w=3m-FlSXZWpHNyiEC!u7&J;X&a^;WOcYkbu@bi1z(Kd`W*Xiy0Bx9j*tFhMbnhoYg^BMCU zb0k`Lt#yla2lQ4SR*^#%5#)TdGmK87uf=FDpv!21SHjOXUsn zZp^HoDiai5Sqr%fQ!iE%)O*x7RaPs~?$mec;f7?S8w;?i4H=i3DdvqBjeAgUv}Ib^ z)?I`r1NdGHz(Zd|&!8947c`8jhQcM;d3&CwAN z>9M~x-NNnQ4s*l!^Q1H7bL5$Fx;#s3F`qZLnfp!3>mkc2wSrzrPh@!HU(H0YFR?4R zR_HyIU&L?b(}mSSo%oJ?p&GBQR9C5M)yLH5)W4{?+ET4r+opY`jnQ@e6eH45jn|DF zbE)~T`K8HP1Ek-y$38Ux2n6;Va6h8kXmDh(P#V>l6WTO zK#BRa83EmYzV!!dJN_y18rEUx3!lfTm>0h zCq5>=3@KwILz*ewfOY8?Qm6DcX_!1tzD(BSY4QzNO*@rS)mT+lC#yB;*;rNX)edPl zqwg0QqOsDbHrJSsL)vzlZ<&Ub42?C%T4mK+P1f_)ZtDxek5uQIxoDb$#=4WfmtKuk zrk5VUEM>;9rR;000qg0P+@yL^ zGpnFKo@U--Bz6}2XUwwETmttvtgm50vN$MKNT{>OL(RozAO+emgUMoYnS7>*sbDIZ z70f=^Ilb%2g`1VqxdvF zonOIM@zs0{U(46=YhV#I@Qr*E-^{o3otVu%d>=o+5Au{S0@hKq;Dv2O3$ox7l7&bT_>Z7Dz92dp~`U9;An8iV0^%FcC~76T`$Z@eGYwCNnzI z$TqRfYzy1UZeiQl9c(+>!FIA;Y&YwSNgvzK4zLH=L1_r}hoc1%XhRfQ5rcNbq9yTY z3lB}XLavglp)YIYI(dy;553taH_6R%i`*)2k=x`Qa=Y9icfvmCmiNg$a10J$d`hB{tfVNZN}7_c%vCa!ENF;)XyH<& zT&aLAUZGSe)k+Plj5=kFQm-_?+GtXmu}ZcoTa-3v=ys(8v!+YwhK}q}d`6;?3>%QD z@lc)MTdlB0Xb_r&7GVqa2OUC}uutd}`k|qQgm5uJj1ps@r{XaebTLs(!Fn(k7E!)f zDprUq#A>ltTq8C>AGe5G#2sP>R?dB5uh=gh6o;C2f*y#rkC0*8CS-Gkt4IJg=Gj>anS;HM5=rht!g!NYv;uL8WQ z2H)0zXHDSO7Vru)9bD>F`jvyqkP@y&s8P_vu~>I`RaX<$6g5qqt7fVBYN=X*{Zch- zx;3y}n_%s1fo<2JcB%W+UbP=PhauQ`5n7ZMqs40R8n5YEA}qZ$tXWxFzE-MLXe+RK z*J^99uV~U*um{+ob!c7MKCM^l*A8k!TDTseN9i%x0mj3c*Y!j_MNiY`>REceUWz^8 z3cXsd)z|0^dK3PO=#1z8&g@H;Q=!E&U?&#I<(L6gkp4PIej}v56%yYLY43)l_d&`B zA>kt+-O-TjIE98>`ykV)kmn4@auMXX5;9x^`K^cSHbZXPAhVs2*B#!SY3Ctb}@bJZfXT&+~ApbhGvmm1Y(wN-6X+tp53pFP;a4PXaHX(O~q z*r8r64trZ!^J&Ris+O*0z$Puy%C$4()tXu2R`m_OUP^0t_ zdZZq$d-XV-)@9wNC+n$tx}Kru>P31vc4}364XmDey-{!0TlF^BKb?BF-lO;F1Nxv& z86%*ZqYbYSXV8WWt2Eh2g}ssi+qB3iH!6)PqsFK+>WxOD8J23B(T@L4dTcv*GxGwo zjd_Xr$EB;oZVQ?BX?C6EsIA&qgW4Lf_uFA~VK?7r^cw@lL0C^wW-NB|GOT1D?Ai>I zEE3^ZC+e71rVV@CPV8@om~b|drLkN0vB_*Io6csixzL?eY%SY}6}8>Jj`py9SU;mU zFX!V@xO`}|I<5hltdkpn{)&O^nG79PYU{5$=q{qUcG#M$m+$8f@4h|AKmzL_bv=+YFQh92bGs7K)P}j-qe90Fc_)vO-tStC}oW~^y#Skv0Es&!&r>&D9Fh4iOG;!) Date: Mon, 25 Mar 2024 18:07:31 +0800 Subject: [PATCH 60/75] fix(shim): Update kiennq-shim to v3.1.1 (#5847) --- CHANGELOG.md | 2 +- supporting/shims/kiennq/checksum.sha256 | 2 +- supporting/shims/kiennq/checksum.sha512 | 2 +- supporting/shims/kiennq/shim.exe | Bin 136192 -> 136192 bytes supporting/shims/kiennq/version.txt | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89e2af73a0..78cc9684b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,7 +50,7 @@ - **decompress:** Disable progress bar to improve `Expand-Archive` performance ([#5410](https://github.com/ScoopInstaller/Scoop/issues/5410)) - **scoop-search:** Improve performance for local search ([#5324](https://github.com/ScoopInstaller/Scoop/issues/5324)) -- **shim:** Update kiennq-shim to v3.1 ([#5841](https://github.com/ScoopInstaller/Scoop/issues/5841)) +- **shim:** Update kiennq-shim to v3.1.1 ([#5841](https://github.com/ScoopInstaller/Scoop/issues/5841), ([#5847](https://github.com/ScoopInstaller/Scoop/issues/5847))) ### Code Refactoring diff --git a/supporting/shims/kiennq/checksum.sha256 b/supporting/shims/kiennq/checksum.sha256 index 07541e9e10..51fe5eeaf7 100644 --- a/supporting/shims/kiennq/checksum.sha256 +++ b/supporting/shims/kiennq/checksum.sha256 @@ -1 +1 @@ -554aac610eae2cd61cae3dea0c66fd8283e95eb9c4af5dd9e591197c6a28e119 *shim.exe +410f84fe347cf55f92861ea3899d30b2d84a8bbc56bb3451d74697a4a0610b25 *shim.exe diff --git a/supporting/shims/kiennq/checksum.sha512 b/supporting/shims/kiennq/checksum.sha512 index 2a9352b80e..6c39fc8386 100644 --- a/supporting/shims/kiennq/checksum.sha512 +++ b/supporting/shims/kiennq/checksum.sha512 @@ -1 +1 @@ -88bba1bbe84a1cc0c2492e7c87d761ea449ce80818d619b763f2c6391e114992864e1cf7cd3121350c0bae20bd48a834e56a304d35e8fabcf2dfee58b223e841 *shim.exe +9ce94adf48f7a31ab5773465582728c39db6f11a560fc43316fe6c1ad0a7b69a76aa3f9b52bb6b2e3be8043e4920985c8ca0bf157be9bf1e4a5a4d7c4ed195ba *shim.exe diff --git a/supporting/shims/kiennq/shim.exe b/supporting/shims/kiennq/shim.exe index 96994d71dc4ac04ecc555d2eefea908f6f86a1e1..3ab79dd5e6fdf80f120db47cf062c8246733feb4 100644 GIT binary patch delta 10295 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 diff --git a/supporting/shims/kiennq/version.txt b/supporting/shims/kiennq/version.txt index 861668947a..903cd9f2a0 100644 --- a/supporting/shims/kiennq/version.txt +++ b/supporting/shims/kiennq/version.txt @@ -1 +1 @@ -v3.1 +v3.1.1 From 77b66cc8905e1872f550ff833d4d531a9f2a527c Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Mon, 25 Mar 2024 19:19:44 +0800 Subject: [PATCH 61/75] fix(core): Fix arguments parsing method of `Invoke-ExternalCommand()` (#5839) --- CHANGELOG.md | 1 + lib/core.ps1 | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78cc9684b4..70904eb80c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ - **config:** Warn users about misconfigured GitHub token ([#5777](https://github.com/ScoopInstaller/Scoop/issues/5777)) - **update/uninstall:** Remove items from PATH correctly ([#5833](https://github.com/ScoopInstaller/Scoop/issues/5833)) - **shim:** Allow GUI applications to attach to the shell's console when launched using the GUI shim ([#5721](https://github.com/ScoopInstaller/Scoop/issues/5721)) +- **core:** Fix arguments parsing method of `Invoke-ExternalCommand()` ([#5839](https://github.com/ScoopInstaller/Scoop/issues/5839)) ### Performance Improvements diff --git a/lib/core.ps1 b/lib/core.ps1 index 24b6c8b0c7..525a4951e4 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -600,8 +600,7 @@ function Invoke-ExternalCommand { [CmdletBinding(DefaultParameterSetName = "Default")] [OutputType([Boolean])] param ( - [Parameter(Mandatory = $true, - Position = 0)] + [Parameter(Mandatory = $true, Position = 0)] [Alias("Path")] [ValidateNotNullOrEmpty()] [String] @@ -651,6 +650,7 @@ function Invoke-ExternalCommand { $Process.StartInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Hidden } if ($ArgumentList.Length -gt 0) { + $ArgumentList = $ArgumentList | ForEach-Object { [regex]::Split($_.Replace('"', ''), '(?<=(? Date: Wed, 27 Mar 2024 17:32:39 +0800 Subject: [PATCH 62/75] refactor(core): Rewrite and separate path-related functions to `system.ps1` (#5836) --- CHANGELOG.md | 1 + bin/uninstall.ps1 | 4 +- lib/core.ps1 | 126 +++------------------------- lib/install.ps1 | 16 ++-- lib/psmodules.ps1 | 5 +- lib/system.ps1 | 158 +++++++++++++++++++++++++++++++++++ libexec/scoop-install.ps1 | 1 + libexec/scoop-reset.ps1 | 1 + libexec/scoop-uninstall.ps1 | 1 + libexec/scoop-update.ps1 | 1 + test/Scoop-Core.Tests.ps1 | 37 +------- test/Scoop-Install.Tests.ps1 | 13 +-- 12 files changed, 197 insertions(+), 167 deletions(-) create mode 100644 lib/system.ps1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 70904eb80c..51322fd91f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,7 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) - **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) +- **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836)) ### Builds diff --git a/bin/uninstall.ps1 b/bin/uninstall.ps1 index 3baf30ba42..9e89481959 100644 --- a/bin/uninstall.ps1 +++ b/bin/uninstall.ps1 @@ -12,6 +12,7 @@ param( ) . "$PSScriptRoot\..\lib\core.ps1" +. "$PSScriptRoot\..\lib\system.ps1" . "$PSScriptRoot\..\lib\install.ps1" . "$PSScriptRoot\..\lib\shortcuts.ps1" . "$PSScriptRoot\..\lib\versions.ps1" @@ -98,7 +99,6 @@ if ($purge) { if ($global) { keep_onlypersist $globaldir } } -remove_from_path (shimdir $false) -if ($global) { remove_from_path (shimdir $true) } +Remove-Path -Path (shimdir $global) -Global:$global success 'Scoop has been uninstalled.' diff --git a/lib/core.ps1 b/lib/core.ps1 index 525a4951e4..af62b8156e 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -581,12 +581,18 @@ function fullpath($path) { $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($path) } function friendly_path($path) { - $h = (Get-PsProvider 'FileSystem').home; if(!$h.endswith('\')) { $h += '\' } - if($h -eq '\') { return $path } - return "$path" -replace ([regex]::escape($h)), "~\" + $h = (Get-PSProvider 'FileSystem').Home + if (!$h.EndsWith('\')) { + $h += '\' + } + if ($h -eq '\') { + return $path + } else { + return $path -replace ([Regex]::Escape($h)), '~\' + } } function is_local($path) { - ($path -notmatch '^https?://') -and (test-path $path) + ($path -notmatch '^https?://') -and (Test-Path $path) } # operations @@ -715,57 +721,6 @@ function Invoke-ExternalCommand { return $true } -function Publish-Env { - if (-not ("Win32.NativeMethods" -as [Type])) { - Add-Type -Namespace Win32 -Name NativeMethods -MemberDefinition @" -[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] -public static extern IntPtr SendMessageTimeout( - IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam, - uint fuFlags, uint uTimeout, out UIntPtr lpdwResult); -"@ - } - - $HWND_BROADCAST = [IntPtr] 0xffff; - $WM_SETTINGCHANGE = 0x1a; - $result = [UIntPtr]::Zero - - [Win32.Nativemethods]::SendMessageTimeout($HWND_BROADCAST, - $WM_SETTINGCHANGE, - [UIntPtr]::Zero, - "Environment", - 2, - 5000, - [ref] $result - ) | Out-Null -} - -function env($name, $global, $val = '__get') { - $RegisterKey = if ($global) { - Get-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' - } else { - Get-Item -Path 'HKCU:' - } - $EnvRegisterKey = $RegisterKey.OpenSubKey('Environment', $val -ne '__get') - - if ($val -eq '__get') { - $RegistryValueOption = [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames - $EnvRegisterKey.GetValue($name, $null, $RegistryValueOption) - } elseif ($val -eq $null) { - try { $EnvRegisterKey.DeleteValue($name) } catch { } - Publish-Env - } else { - $RegistryValueKind = if ($val.Contains('%')) { - [Microsoft.Win32.RegistryValueKind]::ExpandString - } elseif ($EnvRegisterKey.GetValue($name)) { - $EnvRegisterKey.GetValueKind($name) - } else { - [Microsoft.Win32.RegistryValueKind]::String - } - $EnvRegisterKey.SetValue($name, $val, $RegistryValueKind) - Publish-Env - } -} - function isFileLocked([string]$path) { $file = New-Object System.IO.FileInfo $path @@ -873,7 +828,7 @@ function warn_on_overwrite($shim, $path) { function shim($path, $global, $name, $arg) { if (!(Test-Path $path)) { abort "Can't shim '$(fname $path)': couldn't find '$path'." } $abs_shimdir = ensure (shimdir $global) - ensure_in_path $abs_shimdir $global + Add-Path -Path $abs_shimdir -Global:$global if (!$name) { $name = strip_ext (fname $path) } $shim = "$abs_shimdir\$($name.tolower())" @@ -1010,26 +965,6 @@ function get_shim_path() { return $shim_path } -function search_in_path($target) { - $path = (env 'PATH' $false) + ";" + (env 'PATH' $true) - foreach($dir in $path.split(';')) { - if(test-path "$dir\$target" -pathType leaf) { - return "$dir\$target" - } - } -} - -function ensure_in_path($dir, $global) { - $path = env 'PATH' $global - $dir = fullpath $dir - if($path -notmatch [regex]::escape($dir)) { - write-output "Adding $(friendly_path $dir) to $(if($global){'global'}else{'your'}) path." - - env 'PATH' $global "$dir;$path" # for future sessions... - $env:PATH = "$dir;$env:PATH" # for this session - } -} - function Get-DefaultArchitecture { $arch = get_config DEFAULT_ARCHITECTURE $system = if (${env:ProgramFiles(Arm)}) { @@ -1104,45 +1039,6 @@ function Confirm-InstallationStatus { return , $Installed } -function strip_path($orig_path, $dir) { - if($null -eq $orig_path) { $orig_path = '' } - $stripped = [string]::join(';', @( $orig_path.split(';') | Where-Object { $_ -and $_ -ne $dir } )) - return ($stripped -ne $orig_path), $stripped -} - -function add_first_in_path($dir, $global) { - $dir = fullpath $dir - - # future sessions - $null, $currpath = strip_path (env 'path' $global) $dir - env 'path' $global "$dir;$currpath" - - # this session - $null, $env:PATH = strip_path $env:PATH $dir - $env:PATH = "$dir;$env:PATH" -} - -function remove_from_path($dir, $global) { - $dir = fullpath $dir - - # future sessions - $was_in_path, $newpath = strip_path (env 'path' $global) $dir - if($was_in_path) { - Write-Output "Removing $(friendly_path $dir) from your path." - env 'path' $global $newpath - } - - # current session - $was_in_path, $newpath = strip_path $env:PATH $dir - if($was_in_path) { $env:PATH = $newpath } -} - -function ensure_robocopy_in_path { - if(!(Test-CommandAvailable robocopy)) { - shim "C:\Windows\System32\Robocopy.exe" $false - } -} - function wraptext($text, $width) { if(!$width) { $width = $host.ui.rawui.buffersize.width }; $width -= 1 # be conservative: doesn't seem to print the last char diff --git a/lib/install.ps1 b/lib/install.ps1 index 0ed13707e8..2a244b44c2 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -783,7 +783,7 @@ function create_shims($manifest, $dir, $global, $arch) { } elseif (Test-Path $target -PathType leaf) { $bin = $target } else { - $bin = search_in_path $target + $bin = (Get-Command $target).Source } if (!$bin) { abort "Can't shim '$target': File doesn't exist." } @@ -876,16 +876,16 @@ function unlink_current($versiondir) { # to undo after installers add to path so that scoop manifest can keep track of this instead function ensure_install_dir_not_in_path($dir, $global) { - $path = (env 'path' $global) + $path = (Get-EnvVar -Name 'PATH' -Global:$global) $fixed, $removed = find_dir_or_subdir $path "$dir" if ($removed) { $removed | ForEach-Object { "Installer added '$(friendly_path $_)' to path. Removing." } - env 'path' $global $fixed + Set-EnvVar -Name 'PATH' -Value $fixed -Global:$global } if (!$global) { - $fixed, $removed = find_dir_or_subdir (env 'path' $true) "$dir" + $fixed, $removed = find_dir_or_subdir (Get-EnvVar -Name 'PATH' -Global) "$dir" if ($removed) { $removed | ForEach-Object { warn "Installer added '$_' to system path. You might want to remove this manually (requires admin permission)." } } @@ -920,7 +920,7 @@ function env_add_path($manifest, $dir, $global, $arch) { if (!(is_in_dir $dir $path_dir)) { abort "Error in manifest: env_add_path '$_' is outside the app directory." } - add_first_in_path $path_dir $global + Add-Path -Path $path_dir -Global:$global -Force } } } @@ -935,7 +935,7 @@ function env_rm_path($manifest, $dir, $global, $arch) { } else { $path_dir = Join-Path $dir $_ } - remove_from_path $path_dir $global + Remove-Path -Path $path_dir -Global:$global } } } @@ -946,7 +946,7 @@ function env_set($manifest, $dir, $global, $arch) { $env_set | Get-Member -Member NoteProperty | ForEach-Object { $name = $_.name $val = format $env_set.$($_.name) @{ 'dir' = $dir } - env $name $global $val + Set-EnvVar -Name $name -Value $val -Global:$global Set-Content env:\$name $val } } @@ -956,7 +956,7 @@ function env_rm($manifest, $global, $arch) { if ($env_set) { $env_set | Get-Member -Member NoteProperty | ForEach-Object { $name = $_.name - env $name $global $null + Set-EnvVar -Name $name -Value $null -Global:$global if (Test-Path env:\$name) { Remove-Item env:\$name } } } diff --git a/lib/psmodules.ps1 b/lib/psmodules.ps1 index c65fd65c7b..3ba2f6624a 100644 --- a/lib/psmodules.ps1 +++ b/lib/psmodules.ps1 @@ -42,7 +42,7 @@ function uninstall_psmodule($manifest, $dir, $global) { } function ensure_in_psmodulepath($dir, $global) { - $path = env 'psmodulepath' $global + $path = Get-EnvVar -Name 'PSModulePath' -Global:$global if (!$global -and $null -eq $path) { $path = "$env:USERPROFILE\Documents\WindowsPowerShell\Modules" } @@ -50,7 +50,6 @@ function ensure_in_psmodulepath($dir, $global) { if ($path -notmatch [Regex]::Escape($dir)) { Write-Output "Adding $(friendly_path $dir) to $(if($global){'global'}else{'your'}) PowerShell module path." - env 'psmodulepath' $global "$dir;$path" # for future sessions... - $env:psmodulepath = "$dir;$env:psmodulepath" # for this session + Set-EnvVar -Name 'PSModulePath' -Value "$dir;$path" -Global:$global } } diff --git a/lib/system.ps1 b/lib/system.ps1 new file mode 100644 index 0000000000..aa26cf2af0 --- /dev/null +++ b/lib/system.ps1 @@ -0,0 +1,158 @@ +# System-related functions + +## Environment Variables + +function Publish-EnvVar { + if (-not ('Win32.NativeMethods' -as [Type])) { + Add-Type -Namespace Win32 -Name NativeMethods -MemberDefinition @' +[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] +public static extern IntPtr SendMessageTimeout( + IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam, + uint fuFlags, uint uTimeout, out UIntPtr lpdwResult +); +'@ + } + + $HWND_BROADCAST = [IntPtr] 0xffff + $WM_SETTINGCHANGE = 0x1a + $result = [UIntPtr]::Zero + + [Win32.NativeMethods]::SendMessageTimeout($HWND_BROADCAST, + $WM_SETTINGCHANGE, + [UIntPtr]::Zero, + 'Environment', + 2, + 5000, + [ref] $result + ) | Out-Null +} + +function Get-EnvVar { + param( + [string]$Name, + [switch]$Global + ) + + $registerKey = if ($Global) { + Get-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' + } else { + Get-Item -Path 'HKCU:' + } + $envRegisterKey = $registerKey.OpenSubKey('Environment') + $registryValueOption = [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames + $envRegisterKey.GetValue($Name, $null, $registryValueOption) +} + +function Set-EnvVar { + param( + [string]$Name, + [string]$Value, + [switch]$Global + ) + + $registerKey = if ($Global) { + Get-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' + } else { + Get-Item -Path 'HKCU:' + } + $envRegisterKey = $registerKey.OpenSubKey('Environment', $true) + if ($null -eq $Value -or $Value -eq '') { + $envRegisterKey.DeleteValue($Name) + } else { + $registryValueKind = if ($Value.Contains('%')) { + [Microsoft.Win32.RegistryValueKind]::ExpandString + } elseif ($envRegisterKey.GetValue($Name)) { + $envRegisterKey.GetValueKind($Name) + } else { + [Microsoft.Win32.RegistryValueKind]::String + } + $envRegisterKey.SetValue($Name, $Value, $registryValueKind) + } + Publish-EnvVar +} + +function Test-PathLikeEnvVar { + param( + [string]$Name, + [string]$Path + ) + + if ($null -eq $Path -and $Path -eq '') { + return $false, $null + } else { + $strippedPath = $Path.Split(';', [System.StringSplitOptions]::RemoveEmptyEntries).Where({ $_ -ne $Name }) -join ';' + return ($strippedPath -ne $Path), $strippedPath + } +} + +function Add-Path { + param( + [string]$Path, + [switch]$Global, + [switch]$Force + ) + + if (!$Path.Contains('%')) { + $Path = fullpath $Path + } + # future sessions + $inPath, $strippedPath = Test-PathLikeEnvVar $Path (Get-EnvVar -Name 'PATH' -Global:$Global) + if (!$inPath -or $Force) { + Write-Output "Adding $(friendly_path $Path) to $(if ($Global) {'global'} else {'your'}) path." + Set-EnvVar -Name 'PATH' -Value (@($Path, $strippedPath) -join ';') -Global:$Global + } + # current session + $inPath, $strippedPath = Test-PathLikeEnvVar $Path $env:PATH + if (!$inPath -or $Force) { + $env:PATH = @($Path, $strippedPath) -join ';' + } +} + +function Remove-Path { + param( + [string]$Path, + [switch]$Global + ) + + if (!$Path.Contains('%')) { + $Path = fullpath $Path + } + # future sessions + $inPath, $strippedPath = Test-PathLikeEnvVar $Path (Get-EnvVar -Name 'PATH' -Global:$Global) + if ($inPath) { + Write-Output "Removing $(friendly_path $Path) from $(if ($Global) {'global'} else {'your'}) path." + Set-EnvVar -Name 'PATH' -Value $strippedPath -Global:$Global + } + # current session + $inPath, $strippedPath = Test-PathLikeEnvVar $Path $env:PATH + if ($inPath) { + $env:PATH = $strippedPath + } +} + +## Deprecated functions + +function env($name, $global, $val) { + if ($PSBoundParameters.ContainsKey('val')) { + Show-DeprecatedWarning $MyInvocation 'Set-EnvVar' + Set-EnvVar -Name $name -Value $val -Global:$global + } else { + Show-DeprecatedWarning $MyInvocation 'Get-EnvVar' + Get-EnvVar -Name $name -Global:$global + } +} + +function strip_path($orig_path, $dir) { + Show-DeprecatedWarning $MyInvocation 'Test-PathLikeEnvVar' + Test-PathLikeEnvVar -Name $dir -Path $orig_path +} + +function add_first_in_path($dir, $global) { + Show-DeprecatedWarning $MyInvocation 'Add-Path' + Add-Path -Path $dir -Global:$global -Force +} + +function remove_from_path($dir, $global) { + Show-DeprecatedWarning $MyInvocation 'Remove-Path' + Remove-Path -Path $dir -Global:$global +} diff --git a/libexec/scoop-install.ps1 b/libexec/scoop-install.ps1 index 61cad28883..fac03d71f4 100644 --- a/libexec/scoop-install.ps1 +++ b/libexec/scoop-install.ps1 @@ -25,6 +25,7 @@ . "$PSScriptRoot\..\lib\json.ps1" # 'autoupdate.ps1' 'manifest.ps1' (indirectly) . "$PSScriptRoot\..\lib\autoupdate.ps1" # 'generate_user_manifest' (indirectly) . "$PSScriptRoot\..\lib\manifest.ps1" # 'generate_user_manifest' 'Get-Manifest' 'Select-CurrentVersion' (indirectly) +. "$PSScriptRoot\..\lib\system.ps1" . "$PSScriptRoot\..\lib\install.ps1" . "$PSScriptRoot\..\lib\decompress.ps1" . "$PSScriptRoot\..\lib\shortcuts.ps1" diff --git a/libexec/scoop-reset.ps1 b/libexec/scoop-reset.ps1 index c30eeb6e1b..e073cd4dfb 100644 --- a/libexec/scoop-reset.ps1 +++ b/libexec/scoop-reset.ps1 @@ -8,6 +8,7 @@ . "$PSScriptRoot\..\lib\getopt.ps1" . "$PSScriptRoot\..\lib\manifest.ps1" # 'Select-CurrentVersion' (indirectly) +. "$PSScriptRoot\..\lib\system.ps1" # 'env_add_path' (indirectly) . "$PSScriptRoot\..\lib\install.ps1" . "$PSScriptRoot\..\lib\versions.ps1" # 'Select-CurrentVersion' . "$PSScriptRoot\..\lib\shortcuts.ps1" diff --git a/libexec/scoop-uninstall.ps1 b/libexec/scoop-uninstall.ps1 index 44f5561db5..7931158eec 100644 --- a/libexec/scoop-uninstall.ps1 +++ b/libexec/scoop-uninstall.ps1 @@ -8,6 +8,7 @@ . "$PSScriptRoot\..\lib\getopt.ps1" . "$PSScriptRoot\..\lib\manifest.ps1" # 'Get-Manifest' 'Select-CurrentVersion' (indirectly) +. "$PSScriptRoot\..\lib\system.ps1" . "$PSScriptRoot\..\lib\install.ps1" . "$PSScriptRoot\..\lib\shortcuts.ps1" . "$PSScriptRoot\..\lib\psmodules.ps1" diff --git a/libexec/scoop-update.ps1 b/libexec/scoop-update.ps1 index e632be72fb..517aeeed1e 100644 --- a/libexec/scoop-update.ps1 +++ b/libexec/scoop-update.ps1 @@ -16,6 +16,7 @@ . "$PSScriptRoot\..\lib\getopt.ps1" . "$PSScriptRoot\..\lib\json.ps1" # 'save_install_info' in 'manifest.ps1' (indirectly) +. "$PSScriptRoot\..\lib\system.ps1" . "$PSScriptRoot\..\lib\shortcuts.ps1" . "$PSScriptRoot\..\lib\psmodules.ps1" . "$PSScriptRoot\..\lib\decompress.ps1" diff --git a/test/Scoop-Core.Tests.ps1 b/test/Scoop-Core.Tests.ps1 index 4c95067e23..3fb7fbd663 100644 --- a/test/Scoop-Core.Tests.ps1 +++ b/test/Scoop-Core.Tests.ps1 @@ -1,6 +1,7 @@ BeforeAll { . "$PSScriptRoot\Scoop-TestLib.ps1" . "$PSScriptRoot\..\lib\core.ps1" + . "$PSScriptRoot\..\lib\system.ps1" . "$PSScriptRoot\..\lib\install.ps1" } @@ -167,7 +168,7 @@ Describe 'shim' -Tag 'Scoop', 'Windows' { BeforeAll { $working_dir = setup_working 'shim' $shimdir = shimdir - $(ensure_in_path $shimdir) | Out-Null + Add-Path $shimdir } It "links a file onto the user's path" { @@ -201,7 +202,7 @@ Describe 'rm_shim' -Tag 'Scoop', 'Windows' { BeforeAll { $working_dir = setup_working 'shim' $shimdir = shimdir - $(ensure_in_path $shimdir) | Out-Null + Add-Path $shimdir } It 'removes shim from path' { @@ -220,7 +221,7 @@ Describe 'get_app_name_from_shim' -Tag 'Scoop', 'Windows' { BeforeAll { $working_dir = setup_working 'shim' $shimdir = shimdir - $(ensure_in_path $shimdir) | Out-Null + Add-Path $shimdir Mock appsdir { $working_dir } } @@ -258,36 +259,6 @@ Describe 'get_app_name_from_shim' -Tag 'Scoop', 'Windows' { } } -Describe 'ensure_robocopy_in_path' -Tag 'Scoop', 'Windows' { - BeforeAll { - $shimdir = shimdir $false - Mock versiondir { "$PSScriptRoot\.." } - } - - It 'shims robocopy when not on path' { - Mock Test-CommandAvailable { $false } - Test-CommandAvailable robocopy | Should -Be $false - - ensure_robocopy_in_path - - # "$shimdir/robocopy.ps1" | should -exist - "$shimdir/robocopy.exe" | Should -Exist - - # clean up - rm_shim robocopy $(shimdir $false) | Out-Null - } - - It 'does not shim robocopy when it is in path' { - Mock Test-CommandAvailable { $true } - Test-CommandAvailable robocopy | Should -Be $true - - ensure_robocopy_in_path - - # "$shimdir/robocopy.ps1" | should -not -exist - "$shimdir/robocopy.exe" | Should -Not -Exist - } -} - Describe 'sanitary_path' -Tag 'Scoop' { It 'removes invalid path characters from a string' { $path = 'test?.json' diff --git a/test/Scoop-Install.Tests.ps1 b/test/Scoop-Install.Tests.ps1 index bafdfbe847..140327d11f 100644 --- a/test/Scoop-Install.Tests.ps1 +++ b/test/Scoop-Install.Tests.ps1 @@ -1,6 +1,7 @@ BeforeAll { . "$PSScriptRoot\Scoop-TestLib.ps1" . "$PSScriptRoot\..\lib\core.ps1" + . "$PSScriptRoot\..\lib\system.ps1" . "$PSScriptRoot\..\lib\manifest.ps1" . "$PSScriptRoot\..\lib\install.ps1" } @@ -57,17 +58,17 @@ Describe 'env add and remove path' -Tag 'Scoop', 'Windows' { } It 'should concat the correct path' { - Mock add_first_in_path {} - Mock remove_from_path {} + Mock Add-Path {} + Mock Remove-Path {} # adding env_add_path $manifest $testdir $global - Assert-MockCalled add_first_in_path -Times 1 -ParameterFilter { $dir -like "$testdir\foo" } - Assert-MockCalled add_first_in_path -Times 1 -ParameterFilter { $dir -like "$testdir\bar" } + Assert-MockCalled Add-Path -Times 1 -ParameterFilter { $Path -like "$testdir\foo" } + Assert-MockCalled Add-Path -Times 1 -ParameterFilter { $Path -like "$testdir\bar" } env_rm_path $manifest $testdir $global - Assert-MockCalled remove_from_path -Times 1 -ParameterFilter { $dir -like "$testdir\foo" } - Assert-MockCalled remove_from_path -Times 1 -ParameterFilter { $dir -like "$testdir\bar" } + Assert-MockCalled Remove-Path -Times 1 -ParameterFilter { $Path -like "$testdir\foo" } + Assert-MockCalled Remove-Path -Times 1 -ParameterFilter { $Path -like "$testdir\bar" } } } From dfbeace06607494c07cc49408df9ad66fb3778bb Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Mon, 1 Apr 2024 18:02:32 +0800 Subject: [PATCH 63/75] fix(system): Remove EnvVar only if existed (#5858) --- CHANGELOG.md | 2 +- lib/system.ps1 | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51322fd91f..e14e1d7697 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,7 +58,7 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) - **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) -- **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836)) +- **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836), [#5858](https://github.com/ScoopInstaller/Scoop/issues/5858)) ### Builds diff --git a/lib/system.ps1 b/lib/system.ps1 index aa26cf2af0..388cbfb783 100644 --- a/lib/system.ps1 +++ b/lib/system.ps1 @@ -57,7 +57,9 @@ function Set-EnvVar { } $envRegisterKey = $registerKey.OpenSubKey('Environment', $true) if ($null -eq $Value -or $Value -eq '') { - $envRegisterKey.DeleteValue($Name) + if ($envRegisterKey.GetValue($Name)) { + $envRegisterKey.DeleteValue($Name) + } } else { $registryValueKind = if ($Value.Contains('%')) { [Microsoft.Win32.RegistryValueKind]::ExpandString From 9ef03c24fb67e394b414ca36f2c9194d5cf48bfb Mon Sep 17 00:00:00 2001 From: David Watson Date: Mon, 1 Apr 2024 06:31:01 -0400 Subject: [PATCH 64/75] perf(scoop-update): Check for running process before wasting time on download (#5799) --- CHANGELOG.md | 1 + libexec/scoop-update.ps1 | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e14e1d7697..6693705877 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ - **decompress:** Disable progress bar to improve `Expand-Archive` performance ([#5410](https://github.com/ScoopInstaller/Scoop/issues/5410)) - **scoop-search:** Improve performance for local search ([#5324](https://github.com/ScoopInstaller/Scoop/issues/5324)) +- **scoop-update:** Check for running process before wasting time on download ([#5799](https://github.com/ScoopInstaller/Scoop/issues/5799)) - **shim:** Update kiennq-shim to v3.1.1 ([#5841](https://github.com/ScoopInstaller/Scoop/issues/5841), ([#5847](https://github.com/ScoopInstaller/Scoop/issues/5847))) ### Code Refactoring diff --git a/libexec/scoop-update.ps1 b/libexec/scoop-update.ps1 index 517aeeed1e..60c50ad4b2 100644 --- a/libexec/scoop-update.ps1 +++ b/libexec/scoop-update.ps1 @@ -241,6 +241,13 @@ function update($app, $global, $quiet = $false, $independent, $suggested, $use_c Write-Host "Updating '$app' ($old_version -> $version)" + #region Workaround for #2952 + if (test_running_process $app $global) { + Write-Host 'Running process detected, skip updating.' + return + } + #endregion Workaround for #2952 + # region Workaround # Workaround for https://github.com/ScoopInstaller/Scoop/issues/2220 until install is refactored # Remove and replace whole region after proper fix @@ -281,12 +288,6 @@ function update($app, $global, $quiet = $false, $independent, $suggested, $use_c Invoke-HookScript -HookType 'pre_uninstall' -Manifest $old_manifest -Arch $architecture - #region Workaround for #2952 - if (test_running_process $app $global) { - return - } - #endregion Workaround for #2952 - Write-Host "Uninstalling '$app' ($old_version)" run_uninstaller $old_manifest $architecture $dir rm_shims $app $old_manifest $global $architecture From 0b135052ce1b9936deda9cabed25ec55b2ac68a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Svraka?= Date: Thu, 4 Apr 2024 15:39:51 +0200 Subject: [PATCH 65/75] fix(scoop-shim): Import system.ps1 (#5864) --- CHANGELOG.md | 2 +- libexec/scoop-shim.ps1 | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6693705877..49348cf15f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,7 +59,7 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) - **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) -- **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836), [#5858](https://github.com/ScoopInstaller/Scoop/issues/5858)) +- **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836), [#5858](https://github.com/ScoopInstaller/Scoop/issues/5858), [#5864](https://github.com/ScoopInstaller/Scoop/issues/5864)) ### Builds diff --git a/libexec/scoop-shim.ps1 b/libexec/scoop-shim.ps1 index cf775b1d6b..877b65b2e9 100644 --- a/libexec/scoop-shim.ps1 +++ b/libexec/scoop-shim.ps1 @@ -35,6 +35,7 @@ param($SubCommand) . "$PSScriptRoot\..\lib\getopt.ps1" . "$PSScriptRoot\..\lib\install.ps1" # for rm_shim +. "$PSScriptRoot\..\lib\system.ps1" # 'Add-Path' (indirectly) if ($SubCommand -notin @('add', 'rm', 'list', 'info', 'alter')) { if (!$SubCommand) { From 5a06eacd9ca0e04c4a5f2624809adb71347112c0 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Mon, 8 Apr 2024 15:23:57 +0000 Subject: [PATCH 66/75] refactor(helper): Remove 7zip's fallback '7zip-zstd' (#5548) --- CHANGELOG.md | 1 + lib/core.ps1 | 7 +------ libexec/scoop-checkup.ps1 | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49348cf15f..d11f225165 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,7 @@ - **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) +- **helper:** Remove 7zip's fallback '7zip-zstd' ([#5548](https://github.com/ScoopInstaller/Scoop/issues/5548)) - **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) - **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836), [#5858](https://github.com/ScoopInstaller/Scoop/issues/5858), [#5864](https://github.com/ScoopInstaller/Scoop/issues/5864)) diff --git a/lib/core.ps1 b/lib/core.ps1 index af62b8156e..5e60cb3c0f 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -423,12 +423,7 @@ function Get-HelperPath { $HelperPath = (Get-Command git -ErrorAction Ignore).Source } } - '7zip' { - $HelperPath = Get-AppFilePath '7zip' '7z.exe' - if ([String]::IsNullOrEmpty($HelperPath)) { - $HelperPath = Get-AppFilePath '7zip-zstd' '7z.exe' - } - } + '7zip' { $HelperPath = Get-AppFilePath '7zip' '7z.exe' } 'Lessmsi' { $HelperPath = Get-AppFilePath 'lessmsi' 'lessmsi.exe' } 'Innounp' { $HelperPath = Get-AppFilePath 'innounp' 'innounp.exe' } 'Dark' { diff --git a/libexec/scoop-checkup.ps1 b/libexec/scoop-checkup.ps1 index 02def4eaa5..32b0ef4a5a 100644 --- a/libexec/scoop-checkup.ps1 +++ b/libexec/scoop-checkup.ps1 @@ -20,7 +20,7 @@ $issues += !(check_long_paths) $issues += !(Get-WindowsDeveloperModeStatus) if (!(Test-HelperInstalled -Helper 7zip) -and !(get_config USE_EXTERNAL_7ZIP)) { - warn "'7-Zip' is not installed! It's required for unpacking most programs. Please Run 'scoop install 7zip' or 'scoop install 7zip-zstd'." + warn "'7-Zip' is not installed! It's required for unpacking most programs. Please Run 'scoop install 7zip'." $issues++ } From b008fe5b117c050d42506518dc38356200ad1812 Mon Sep 17 00:00:00 2001 From: Xuesong Date: Mon, 8 Apr 2024 23:24:18 +0800 Subject: [PATCH 67/75] fix(scoop-virustotal): escape character not available in PowerShell 5.1 (#5870) --- CHANGELOG.md | 1 + libexec/scoop-virustotal.ps1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d11f225165..79612b524f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ - **update/uninstall:** Remove items from PATH correctly ([#5833](https://github.com/ScoopInstaller/Scoop/issues/5833)) - **shim:** Allow GUI applications to attach to the shell's console when launched using the GUI shim ([#5721](https://github.com/ScoopInstaller/Scoop/issues/5721)) - **core:** Fix arguments parsing method of `Invoke-ExternalCommand()` ([#5839](https://github.com/ScoopInstaller/Scoop/issues/5839)) +- **scoop-virustotal:** Fix the issue that escape character not available in PowerShell 5.1 ([#5870](https://github.com/ScoopInstaller/Scoop/issues/5870)) ### Performance Improvements diff --git a/libexec/scoop-virustotal.ps1 b/libexec/scoop-virustotal.ps1 index 93b60f232d..e1e7b9f75c 100644 --- a/libexec/scoop-virustotal.ps1 +++ b/libexec/scoop-virustotal.ps1 @@ -136,7 +136,7 @@ Function Get-VirusTotalResultByHash ($hash, $url, $app) { warn "$app`: $unsafe/$total, see $report_url" } Default { - warn "`e[31m$app`: $unsafe/$total, see $report_url`e[0m" + warn "$([char]0x1b)[31m$app`: $unsafe/$total, see $report_url$([char]0x1b)[0m" } } $maliciousResults = $vendorResults | From 81e7dec78ccacaf65311b71c88676422d26a4ef5 Mon Sep 17 00:00:00 2001 From: HUMORCE Date: Mon, 8 Apr 2024 15:26:38 +0000 Subject: [PATCH 68/75] fix(scoop-alias): Prevent overwrite existing file when adding alias (#5577) Co-authored-by: Hsiao-nan Cheung --- CHANGELOG.md | 1 + libexec/scoop-alias.ps1 | 11 +++++++---- test/Scoop-Alias.Tests.ps1 | 13 +++++++------ test/Scoop-Versions.Tests.ps1 | 2 +- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79612b524f..7912cc5d07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ - **update/uninstall:** Remove items from PATH correctly ([#5833](https://github.com/ScoopInstaller/Scoop/issues/5833)) - **shim:** Allow GUI applications to attach to the shell's console when launched using the GUI shim ([#5721](https://github.com/ScoopInstaller/Scoop/issues/5721)) - **core:** Fix arguments parsing method of `Invoke-ExternalCommand()` ([#5839](https://github.com/ScoopInstaller/Scoop/issues/5839)) +- **scoop-alias:** Prevent overwrite existing file when adding alias ([#5577](https://github.com/ScoopInstaller/Scoop/issues/5577)) - **scoop-virustotal:** Fix the issue that escape character not available in PowerShell 5.1 ([#5870](https://github.com/ScoopInstaller/Scoop/issues/5870)) ### Performance Improvements diff --git a/libexec/scoop-alias.ps1 b/libexec/scoop-alias.ps1 index d60884c351..48a956fd64 100644 --- a/libexec/scoop-alias.ps1 +++ b/libexec/scoop-alias.ps1 @@ -44,13 +44,16 @@ function add_alias($name, $command) { # get current aliases from config $aliases = init_alias_config if ($aliases.$name) { - abort "Alias $name already exists." + abort "Alias '$name' already exists." } $alias_file = "scoop-$name" # generate script $shimdir = shimdir $false + if (Test-Path "$shimdir\$alias_file.ps1") { + abort "File '$alias_file.ps1' already exists in shims directory." + } $script = @( "# Summary: $description", @@ -67,18 +70,18 @@ function add_alias($name, $command) { function rm_alias($name) { $aliases = init_alias_config if (!$name) { - abort 'Which alias should be removed?' + abort 'Alias to be removed has not been specified!' } if ($aliases.$name) { - "Removing alias $name..." + info "Removing alias '$name'..." rm_shim $aliases.$name (shimdir $false) $aliases.PSObject.Properties.Remove($name) set_config $script:config_alias $aliases | Out-Null } else { - abort "Alias $name doesn't exist." + abort "Alias '$name' doesn't exist." } } diff --git a/test/Scoop-Alias.Tests.ps1 b/test/Scoop-Alias.Tests.ps1 index bd365718a8..e6fd33e7eb 100644 --- a/test/Scoop-Alias.Tests.ps1 +++ b/test/Scoop-Alias.Tests.ps1 @@ -8,7 +8,7 @@ BeforeAll { Describe 'Manipulate Alias' -Tag 'Scoop' { BeforeAll { Mock shimdir { "$TestDrive\shims" } - Mock set_config { } + Mock set_config {} Mock get_config { @{} } $shimdir = shimdir @@ -23,23 +23,24 @@ Describe 'Manipulate Alias' -Tag 'Scoop' { & $alias_file | Should -Be 'hello, world!' } - It 'Does not change existing alias if alias exists' { + It 'Does not change existing file if its filename same as alias name' { $alias_file = "$shimdir\scoop-rm.ps1" + Mock abort {} New-Item $alias_file -Type File -Force $alias_file | Should -Exist - add_alias 'rm' 'test' - & $alias_file | Should -Not -Be 'test' + add_alias 'rm' '"test"' + Should -Invoke -CommandName abort -Times 1 -ParameterFilter { $msg -eq "File 'scoop-rm.ps1' already exists in shims directory." } } It 'Removes an existing alias' { $alias_file = "$shimdir\scoop-rm.ps1" - add_alias 'rm' '"hello, world!"' - $alias_file | Should -Exist Mock get_config { @(@{'rm' = 'scoop-rm' }) } + Mock info {} rm_alias 'rm' $alias_file | Should -Not -Exist + Should -Invoke -CommandName info -Times 1 -ParameterFilter { $msg -eq "Removing alias 'rm'..." } } } diff --git a/test/Scoop-Versions.Tests.ps1 b/test/Scoop-Versions.Tests.ps1 index 536f9cc7c3..7043ee07cf 100644 --- a/test/Scoop-Versions.Tests.ps1 +++ b/test/Scoop-Versions.Tests.ps1 @@ -99,7 +99,7 @@ Describe 'versions comparison' -Tag 'Scoop' { Compare-Version 'nightly-20190801' 'nightly-20200801' | Should -Be 0 } - It 'handles nightly versions with `update_nightly`' { + It "handles nightly versions with 'update_nightly'" { function get_config { $true } Mock Get-Date { '20200801' } Compare-Version 'nightly-20200801' 'nightly' | Should -Be 0 From 92b71c6057a1a594beeab416cc4d002da17867b1 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Wed, 10 Apr 2024 14:55:20 +0800 Subject: [PATCH 69/75] refactor(core): Get rid of 'fullpath' (#3533) --- CHANGELOG.md | 1 + bin/checkhashes.ps1 | 4 ++-- lib/autoupdate.ps1 | 2 +- lib/core.ps1 | 40 ++++++++++++++++++++++++++++-------- lib/install.ps1 | 13 +++++------- lib/psmodules.ps1 | 1 - lib/system.ps1 | 4 ++-- libexec/scoop-info.ps1 | 2 +- libexec/scoop-status.ps1 | 2 +- libexec/scoop-update.ps1 | 4 ++-- test/Scoop-Install.Tests.ps1 | 2 -- 11 files changed, 47 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7912cc5d07..235f360f0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,7 @@ - **helper:** Remove 7zip's fallback '7zip-zstd' ([#5548](https://github.com/ScoopInstaller/Scoop/issues/5548)) - **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) - **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836), [#5858](https://github.com/ScoopInstaller/Scoop/issues/5858), [#5864](https://github.com/ScoopInstaller/Scoop/issues/5864)) +- **core:** Get rid of 'fullpath' ([#3533](https://github.com/ScoopInstaller/Scoop/issues/3533)) ### Builds diff --git a/bin/checkhashes.ps1 b/bin/checkhashes.ps1 index 0420ee1fa8..cbfb0af40f 100644 --- a/bin/checkhashes.ps1 +++ b/bin/checkhashes.ps1 @@ -121,7 +121,7 @@ foreach ($current in $MANIFESTS) { Invoke-CachedDownload $current.app $version $_ $null $null -use_cache:$UseCache - $to_check = fullpath (cache_path $current.app $version $_) + $to_check = cache_path $current.app $version $_ $actual_hash = (Get-FileHash -Path $to_check -Algorithm $algorithm).Hash.ToLower() # Append type of algorithm to both expected and actual if it's not sha256 @@ -146,7 +146,7 @@ foreach ($current in $MANIFESTS) { Write-Host "$($current.app): " -NoNewline Write-Host 'Mismatch found ' -ForegroundColor Red $mismatched | ForEach-Object { - $file = fullpath (cache_path $current.app $version $current.urls[$_]) + $file = cache_path $current.app $version $current.urls[$_] Write-Host "`tURL:`t`t$($current.urls[$_])" if (Test-Path $file) { Write-Host "`tFirst bytes:`t$((get_magic_bytes_pretty $file ' ').ToUpper())" diff --git a/lib/autoupdate.ps1 b/lib/autoupdate.ps1 index 803e994b6c..c07fe6ba8a 100644 --- a/lib/autoupdate.ps1 +++ b/lib/autoupdate.ps1 @@ -278,7 +278,7 @@ function get_hash_for_app([String] $app, $config, [String] $version, [String] $u Write-Host "URL $url is not valid" -ForegroundColor DarkRed return $null } - $file = fullpath (cache_path $app $version $url) + $file = cache_path $app $version $url $hash = (Get-FileHash -Path $file -Algorithm SHA256).Hash.ToLower() Write-Host 'Computed hash: ' -ForegroundColor DarkYellow -NoNewline Write-Host $hash -ForegroundColor Green diff --git a/lib/core.ps1 b/lib/core.ps1 index 5e60cb3c0f..830ee7aae7 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -450,8 +450,8 @@ function Get-CommandPath { ) begin { - $userShims = Convert-Path (shimdir $false) - $globalShims = fullpath (shimdir $true) # don't resolve: may not exist + $userShims = shimdir $false + $globalShims = shimdir $true } process { @@ -571,9 +571,33 @@ function ensure($dir) { } Convert-Path -Path $dir } +function Get-AbsolutePath { + <# + .SYNOPSIS + Get absolute path + .DESCRIPTION + Get absolute path, even if not existed + .PARAMETER Path + Path to manipulate + .OUTPUTS + System.String + Absolute path, may or maynot existed + #> + [CmdletBinding()] + [OutputType([string])] + param ( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] + [string] + $Path + ) + process { + return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($Path) + } +} + function fullpath($path) { - # should be ~ rooted - $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($path) + Show-DeprecatedWarning $MyInvocation 'Get-AbsolutePath' + return Get-AbsolutePath -Path $path } function friendly_path($path) { $h = (Get-PSProvider 'FileSystem').Home @@ -1300,7 +1324,7 @@ if ($pathExpected) { # ├─shims # ├─config.json # ``` - $configPortablePath = fullpath "$coreRoot\..\..\..\config.json" + $configPortablePath = Get-AbsolutePath "$coreRoot\..\..\..\config.json" if (Test-Path $configPortablePath) { $configFile = $configPortablePath } @@ -1308,17 +1332,17 @@ if ($pathExpected) { $scoopConfig = load_cfg $configFile # Scoop root directory -$scoopdir = $env:SCOOP, (get_config ROOT_PATH), (Resolve-Path "$PSScriptRoot\..\..\..\.."), "$([System.Environment]::GetFolderPath('UserProfile'))\scoop" | Where-Object { -not [String]::IsNullOrEmpty($_) } | Select-Object -First 1 +$scoopdir = $env:SCOOP, (get_config ROOT_PATH), "$PSScriptRoot\..\..\..\..", "$([System.Environment]::GetFolderPath('UserProfile'))\scoop" | Where-Object { $_ } | Select-Object -First 1 | Get-AbsolutePath # Scoop global apps directory -$globaldir = $env:SCOOP_GLOBAL, (get_config GLOBAL_PATH), "$([System.Environment]::GetFolderPath('CommonApplicationData'))\scoop" | Where-Object { -not [String]::IsNullOrEmpty($_) } | Select-Object -First 1 +$globaldir = $env:SCOOP_GLOBAL, (get_config GLOBAL_PATH), "$([System.Environment]::GetFolderPath('CommonApplicationData'))\scoop" | Where-Object { $_ } | Select-Object -First 1 | Get-AbsolutePath # Scoop cache directory # Note: Setting the SCOOP_CACHE environment variable to use a shared directory # is experimental and untested. There may be concurrency issues when # multiple users write and access cached files at the same time. # Use at your own risk. -$cachedir = $env:SCOOP_CACHE, (get_config CACHE_PATH), "$scoopdir\cache" | Where-Object { -not [String]::IsNullOrEmpty($_) } | Select-Object -First 1 +$cachedir = $env:SCOOP_CACHE, (get_config CACHE_PATH), "$scoopdir\cache" | Where-Object { $_ } | Select-Object -First 1 | Get-AbsolutePath # OS information $WindowsBuild = [System.Environment]::OSVersion.Version.Build diff --git a/lib/install.ps1 b/lib/install.ps1 index 2a244b44c2..19f8d9b3f6 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -81,7 +81,7 @@ function install_app($app, $architecture, $global, $suggested, $use_cache = $tru } function Invoke-CachedDownload ($app, $version, $url, $to, $cookies = $null, $use_cache = $true) { - $cached = fullpath (cache_path $app $version $url) + $cached = cache_path $app $version $url if (!(Test-Path $cached) -or !$use_cache) { ensure $cachedir | Out-Null @@ -239,7 +239,7 @@ function Invoke-CachedAria2Download ($app, $version, $manifest, $architecture, $ $data.$url = @{ 'target' = "$dir\$(url_filename $url)" 'cachename' = fname (cache_path $app $version $url) - 'source' = fullpath (cache_path $app $version $url) + 'source' = cache_path $app $version $url } if ((Test-Path $data.$url.source) -and -not((Test-Path "$($data.$url.source).aria2") -or (Test-Path $urlstxt)) -and $use_cache) { @@ -638,9 +638,7 @@ function cookie_header($cookies) { } function is_in_dir($dir, $check) { - $check = "$(fullpath $check)" - $dir = "$(fullpath $dir)" - $check -match "^$([regex]::Escape("$dir"))([/\\]|`$)" + $check -match "^$([regex]::Escape("$dir"))([/\\]|$)" } function ftp_file_size($url) { @@ -665,7 +663,6 @@ function hash_for_url($manifest, $url, $arch) { # returns (ok, err) function check_hash($file, $hash, $app_name) { - $file = fullpath $file if (!$hash) { warn "Warning: No hash in manifest. SHA256 for '$(fname $file)' is:`n $((Get-FileHash -Path $file -Algorithm SHA256).Hash.ToLower())" return $true, $null @@ -1088,8 +1085,8 @@ function persist_data($manifest, $original_dir, $persist_dir) { $source = $source.TrimEnd('/').TrimEnd('\\') - $source = fullpath "$dir\$source" - $target = fullpath "$persist_dir\$target" + $source = "$dir\$source" + $target = "$persist_dir\$target" # if we have had persist data in the store, just create link and go if (Test-Path $target) { diff --git a/lib/psmodules.ps1 b/lib/psmodules.ps1 index 3ba2f6624a..9d0cb7ce8a 100644 --- a/lib/psmodules.ps1 +++ b/lib/psmodules.ps1 @@ -46,7 +46,6 @@ function ensure_in_psmodulepath($dir, $global) { if (!$global -and $null -eq $path) { $path = "$env:USERPROFILE\Documents\WindowsPowerShell\Modules" } - $dir = fullpath $dir if ($path -notmatch [Regex]::Escape($dir)) { Write-Output "Adding $(friendly_path $dir) to $(if($global){'global'}else{'your'}) PowerShell module path." diff --git a/lib/system.ps1 b/lib/system.ps1 index 388cbfb783..2a572a9fde 100644 --- a/lib/system.ps1 +++ b/lib/system.ps1 @@ -95,7 +95,7 @@ function Add-Path { ) if (!$Path.Contains('%')) { - $Path = fullpath $Path + $Path = Get-AbsolutePath $Path } # future sessions $inPath, $strippedPath = Test-PathLikeEnvVar $Path (Get-EnvVar -Name 'PATH' -Global:$Global) @@ -117,7 +117,7 @@ function Remove-Path { ) if (!$Path.Contains('%')) { - $Path = fullpath $Path + $Path = Get-AbsolutePath $Path } # future sessions $inPath, $strippedPath = Test-PathLikeEnvVar $Path (Get-EnvVar -Name 'PATH' -Global:$Global) diff --git a/libexec/scoop-info.ps1 b/libexec/scoop-info.ps1 index 3cf58e4118..853de647f9 100644 --- a/libexec/scoop-info.ps1 +++ b/libexec/scoop-info.ps1 @@ -160,7 +160,7 @@ if ($status.installed) { $totalPackage = 0 foreach ($url in @(url $manifest (Get-DefaultArchitecture))) { try { - if (Test-Path (fullpath (cache_path $app $manifest.version $url))) { + if (Test-Path (cache_path $app $manifest.version $url)) { $cached = " (latest version is cached)" } else { $cached = $null diff --git a/libexec/scoop-status.ps1 b/libexec/scoop-status.ps1 index c72f75bcbc..a62cad2dd1 100644 --- a/libexec/scoop-status.ps1 +++ b/libexec/scoop-status.ps1 @@ -8,7 +8,7 @@ . "$PSScriptRoot\..\lib\versions.ps1" # 'Select-CurrentVersion' # check if scoop needs updating -$currentdir = fullpath $(versiondir 'scoop' 'current') +$currentdir = versiondir 'scoop' 'current' $needs_update = $false $bucket_needs_update = $false $script:network_failure = $false diff --git a/libexec/scoop-update.ps1 b/libexec/scoop-update.ps1 index 60c50ad4b2..354fb2e839 100644 --- a/libexec/scoop-update.ps1 +++ b/libexec/scoop-update.ps1 @@ -71,7 +71,7 @@ function Sync-Scoop { if (!(Test-GitAvailable)) { abort "Scoop uses Git to update itself. Run 'scoop install git' and try again." } Write-Host "Updating Scoop..." - $currentdir = fullpath $(versiondir 'scoop' 'current') + $currentdir = versiondir 'scoop' 'current' if (!(Test-Path "$currentdir\.git")) { $newdir = "$currentdir\..\new" $olddir = "$currentdir\..\old" @@ -262,7 +262,7 @@ function update($app, $global, $quiet = $false, $independent, $suggested, $use_c if ($check_hash) { $manifest_hash = hash_for_url $manifest $url $architecture - $source = fullpath (cache_path $app $version $url) + $source = cache_path $app $version $url $ok, $err = check_hash $source $manifest_hash $(show_app $app $bucket) if (!$ok) { diff --git a/test/Scoop-Install.Tests.ps1 b/test/Scoop-Install.Tests.ps1 index 140327d11f..130d6a7517 100644 --- a/test/Scoop-Install.Tests.ps1 +++ b/test/Scoop-Install.Tests.ps1 @@ -38,8 +38,6 @@ Describe 'is_in_dir' -Tag 'Scoop', 'Windows' { It 'should work correctly' { is_in_dir 'C:\test' 'C:\foo' | Should -BeFalse is_in_dir 'C:\test' 'C:\test\foo\baz.zip' | Should -BeTrue - - is_in_dir 'test' "$PSScriptRoot" | Should -BeTrue is_in_dir "$PSScriptRoot\..\" "$PSScriptRoot" | Should -BeFalse } } From 6327146b9754639ee80a81f4af25c2b0f08a5d4e Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Thu, 11 Apr 2024 15:56:43 +0800 Subject: [PATCH 70/75] fix(shim): Run JAR file from app's root directory (#5872) --- CHANGELOG.md | 1 + lib/core.ps1 | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 235f360f0f..a8ebf9c44f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ - **core:** Fix arguments parsing method of `Invoke-ExternalCommand()` ([#5839](https://github.com/ScoopInstaller/Scoop/issues/5839)) - **scoop-alias:** Prevent overwrite existing file when adding alias ([#5577](https://github.com/ScoopInstaller/Scoop/issues/5577)) - **scoop-virustotal:** Fix the issue that escape character not available in PowerShell 5.1 ([#5870](https://github.com/ScoopInstaller/Scoop/issues/5870)) +- **shim:** Run JAR file from app's root directory ([#5872](https://github.com/ScoopInstaller/Scoop/issues/5872)) ### Performance Improvements diff --git a/lib/core.ps1 b/lib/core.ps1 index 830ee7aae7..5dd5c2a8ce 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -933,6 +933,7 @@ function shim($path, $global, $name, $arg) { warn_on_overwrite "$shim.cmd" $path @( "@rem $resolved_path", + "@cd /d $(Split-Path $resolved_path -Parent)" "@java -jar `"$resolved_path`" $arg %*" ) -join "`r`n" | Out-UTF8File "$shim.cmd" @@ -940,6 +941,12 @@ function shim($path, $global, $name, $arg) { @( "#!/bin/sh", "# $resolved_path", + "if [ `$(echo `$WSL_DISTRO_NAME) ]", + 'then', + " cd `$(wslpath -u '$(Split-Path $resolved_path -Parent)')", + 'else', + " cd `"$((Split-Path $resolved_path -Parent).Replace('\', '/'))`"", + 'fi', "java.exe -jar `"$resolved_path`" $arg `"$@`"" ) -join "`n" | Out-UTF8File $shim -NoNewLine } elseif ($path -match '\.py$') { From 7054c9d3385519e18036a4c94c773eb52abac8c7 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Fri, 12 Apr 2024 16:09:11 +0800 Subject: [PATCH 71/75] fix(decompress): Use `wix.exe` in WiX Toolset v4+ as primary extractor of `Expand-DarkArchive()` (#5871) --- CHANGELOG.md | 1 + lib/core.ps1 | 4 ++-- lib/decompress.ps1 | 22 ++++++++++++++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8ebf9c44f..4955a93f7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ - **core:** Fix arguments parsing method of `Invoke-ExternalCommand()` ([#5839](https://github.com/ScoopInstaller/Scoop/issues/5839)) - **scoop-alias:** Prevent overwrite existing file when adding alias ([#5577](https://github.com/ScoopInstaller/Scoop/issues/5577)) - **scoop-virustotal:** Fix the issue that escape character not available in PowerShell 5.1 ([#5870](https://github.com/ScoopInstaller/Scoop/issues/5870)) +- **decompress:** Use `wix.exe` in WiX Toolset v4+ as primary extractor of `Expand-DarkArchive()` ([#5871](https://github.com/ScoopInstaller/Scoop/issues/5871)) - **shim:** Run JAR file from app's root directory ([#5872](https://github.com/ScoopInstaller/Scoop/issues/5872)) ### Performance Improvements diff --git a/lib/core.ps1 b/lib/core.ps1 index 5dd5c2a8ce..768ae0692a 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -427,9 +427,9 @@ function Get-HelperPath { 'Lessmsi' { $HelperPath = Get-AppFilePath 'lessmsi' 'lessmsi.exe' } 'Innounp' { $HelperPath = Get-AppFilePath 'innounp' 'innounp.exe' } 'Dark' { - $HelperPath = Get-AppFilePath 'dark' 'dark.exe' + $HelperPath = Get-AppFilePath 'wixtoolset' 'wix.exe' if ([String]::IsNullOrEmpty($HelperPath)) { - $HelperPath = Get-AppFilePath 'wixtoolset' 'dark.exe' + $HelperPath = Get-AppFilePath 'dark' 'dark.exe' } } 'Aria2' { $HelperPath = Get-AppFilePath 'aria2' 'aria2c.exe' } diff --git a/lib/decompress.ps1 b/lib/decompress.ps1 index 4fade6dd0a..d75f43fa7b 100644 --- a/lib/decompress.ps1 +++ b/lib/decompress.ps1 @@ -279,14 +279,32 @@ function Expand-DarkArchive { $Removal ) $LogPath = "$(Split-Path $Path)\dark.log" - $ArgList = @('-nologo', '-x', $DestinationPath, $Path) + $DarkPath = Get-HelperPath -Helper Dark + if ((Split-Path $DarkPath -Leaf) -eq 'wix.exe') { + $ArgList = @('burn', 'extract', $Path, '-out', $DestinationPath, '-outba', "$DestinationPath\UX") + } else { + $ArgList = @('-nologo', '-x', $DestinationPath, $Path) + } if ($Switches) { $ArgList += (-split $Switches) } - $Status = Invoke-ExternalCommand (Get-HelperPath -Helper Dark) $ArgList -LogPath $LogPath + $Status = Invoke-ExternalCommand $DarkPath $ArgList -LogPath $LogPath if (!$Status) { abort "Failed to extract files from $Path.`nLog file:`n $(friendly_path $LogPath)`n$(new_issue_msg $app $bucket 'decompress error')" } + if (Test-Path "$DestinationPath\WixAttachedContainer") { + Rename-Item "$DestinationPath\WixAttachedContainer" 'AttachedContainer' -ErrorAction Ignore + } else { + if (Test-Path "$DestinationPath\AttachedContainer\a0") { + $Xml = [xml](Get-Content -Raw "$DestinationPath\UX\manifest.xml" -Encoding utf8) + $Xml.BurnManifest.UX.Payload | ForEach-Object { + Rename-Item "$DestinationPath\UX\$($_.SourcePath)" $_.FilePath -ErrorAction Ignore + } + $Xml.BurnManifest.Payload | ForEach-Object { + Rename-Item "$DestinationPath\AttachedContainer\$($_.SourcePath)" $_.FilePath -ErrorAction Ignore + } + } + } if (Test-Path $LogPath) { Remove-Item $LogPath -Force } From 98cf8ae4daf8e41249709cd43e66d41b8740248a Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Wed, 17 Apr 2024 22:29:20 +0800 Subject: [PATCH 72/75] fix(autoupdate): Fix bug that 'WebClient' doesn't auto-extract 'gzip' (#5901) --- CHANGELOG.md | 1 + bin/checkver.ps1 | 9 ++++++++- lib/autoupdate.ps1 | 24 +++++++++++++++++++++--- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4955a93f7f..fcb7d9adeb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ - **scoop-virustotal:** Fix the issue that escape character not available in PowerShell 5.1 ([#5870](https://github.com/ScoopInstaller/Scoop/issues/5870)) - **decompress:** Use `wix.exe` in WiX Toolset v4+ as primary extractor of `Expand-DarkArchive()` ([#5871](https://github.com/ScoopInstaller/Scoop/issues/5871)) - **shim:** Run JAR file from app's root directory ([#5872](https://github.com/ScoopInstaller/Scoop/issues/5872)) +- **autoupdate:** Fix bug that 'WebClient' doesn't auto-extract 'gzip' ([#5901](https://github.com/ScoopInstaller/Scoop/issues/5901)) ### Performance Improvements diff --git a/bin/checkver.ps1 b/bin/checkver.ps1 index e740208d99..07d954c671 100644 --- a/bin/checkver.ps1 +++ b/bin/checkver.ps1 @@ -260,6 +260,7 @@ while ($in_progress -gt 0) { $in_progress-- $state = $ev.SourceEventArgs.UserState + $result = $ev.SourceEventArgs.Result $app = $state.app $file = $state.file $json = $state.json @@ -285,7 +286,13 @@ while ($in_progress -gt 0) { } if ($url) { - $page = (Get-Encoding($wc)).GetString($ev.SourceEventArgs.Result) + $ms = New-Object System.IO.MemoryStream + $ms.Write($result, 0, $result.Length) + $ms.Seek(0, 0) | Out-Null + if ($result[0] -eq 0x1F -and $result[1] -eq 0x8B) { + $ms = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Decompress) + } + $page = (New-Object System.IO.StreamReader($ms, (Get-Encoding $wc))).ReadToEnd() } if ($script) { $page = Invoke-Command ([scriptblock]::Create($script -join "`r`n")) diff --git a/lib/autoupdate.ps1 b/lib/autoupdate.ps1 index c07fe6ba8a..bd24e04015 100644 --- a/lib/autoupdate.ps1 +++ b/lib/autoupdate.ps1 @@ -37,7 +37,13 @@ function find_hash_in_textfile([String] $url, [Hashtable] $substitutions, [Strin $wc.Headers.Add('Referer', (strip_filename $url)) $wc.Headers.Add('User-Agent', (Get-UserAgent)) $data = $wc.DownloadData($url) - $hashfile = (Get-Encoding($wc)).GetString($data) + $ms = New-Object System.IO.MemoryStream + $ms.Write($data, 0, $data.Length) + $ms.Seek(0, 0) | Out-Null + if ($data[0] -eq 0x1F -and $data[1] -eq 0x8B) { + $ms = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Decompress) + } + $hashfile = (New-Object System.IO.StreamReader($ms, (Get-Encoding $wc))).ReadToEnd() } catch [system.net.webexception] { Write-Host $_ -ForegroundColor DarkRed Write-Host "URL $url is not valid" -ForegroundColor DarkRed @@ -93,7 +99,13 @@ function find_hash_in_json([String] $url, [Hashtable] $substitutions, [String] $ $wc.Headers.Add('Referer', (strip_filename $url)) $wc.Headers.Add('User-Agent', (Get-UserAgent)) $data = $wc.DownloadData($url) - $json = (Get-Encoding($wc)).GetString($data) + $ms = New-Object System.IO.MemoryStream + $ms.Write($data, 0, $data.Length) + $ms.Seek(0, 0) | Out-Null + if ($data[0] -eq 0x1F -and $data[1] -eq 0x8B) { + $ms = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Decompress) + } + $json = (New-Object System.IO.StreamReader($ms, (Get-Encoding $wc))).ReadToEnd() } catch [System.Net.WebException] { Write-Host $_ -ForegroundColor DarkRed Write-Host "URL $url is not valid" -ForegroundColor DarkRed @@ -115,7 +127,13 @@ function find_hash_in_xml([String] $url, [Hashtable] $substitutions, [String] $x $wc.Headers.Add('Referer', (strip_filename $url)) $wc.Headers.Add('User-Agent', (Get-UserAgent)) $data = $wc.DownloadData($url) - $xml = [xml]((Get-Encoding($wc)).GetString($data)) + $ms = New-Object System.IO.MemoryStream + $ms.Write($data, 0, $data.Length) + $ms.Seek(0, 0) | Out-Null + if ($data[0] -eq 0x1F -and $data[1] -eq 0x8B) { + $ms = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Decompress) + } + $xml = [xml]((New-Object System.IO.StreamReader($ms, (Get-Encoding $wc))).ReadToEnd()) } catch [system.net.webexception] { Write-Host $_ -ForegroundColor DarkRed Write-Host "URL $url is not valid" -ForegroundColor DarkRed From fa06e921c2ad5b5d5d3831c2729867878a57599d Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Thu, 18 Apr 2024 19:09:08 +0800 Subject: [PATCH 73/75] refactor(shim): Remove CS shim codebase (#5903) --- CHANGELOG.md | 1 + lib/core.ps1 | 13 +- supporting/shimexe/.gitignore | 1 - supporting/shimexe/bin/checksum.sha256 | 1 - supporting/shimexe/bin/checksum.sha512 | 1 - supporting/shimexe/bin/shim.exe | Bin 8192 -> 0 bytes supporting/shimexe/build.ps1 | 22 --- supporting/shimexe/install.ps1 | 8 - supporting/shimexe/packages.config | 5 - supporting/shimexe/shim.cs | 179 ----------------------- supporting/shimexe/shim.csproj | 43 ------ supporting/shimexe/update.ps1 | 10 -- supporting/shims/scoopcs/checksum.sha256 | 1 + supporting/shims/scoopcs/checksum.sha512 | 1 + supporting/shims/scoopcs/shim.exe | Bin 0 -> 9728 bytes supporting/shims/scoopcs/version.txt | 1 + test/Scoop-00File.Tests.ps1 | 3 +- 17 files changed, 11 insertions(+), 279 deletions(-) delete mode 100644 supporting/shimexe/.gitignore delete mode 100644 supporting/shimexe/bin/checksum.sha256 delete mode 100644 supporting/shimexe/bin/checksum.sha512 delete mode 100644 supporting/shimexe/bin/shim.exe delete mode 100644 supporting/shimexe/build.ps1 delete mode 100644 supporting/shimexe/install.ps1 delete mode 100644 supporting/shimexe/packages.config delete mode 100644 supporting/shimexe/shim.cs delete mode 100644 supporting/shimexe/shim.csproj delete mode 100644 supporting/shimexe/update.ps1 create mode 100644 supporting/shims/scoopcs/checksum.sha256 create mode 100644 supporting/shims/scoopcs/checksum.sha512 create mode 100644 supporting/shims/scoopcs/shim.exe create mode 100644 supporting/shims/scoopcs/version.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index fcb7d9adeb..95c2239935 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,7 @@ - **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) - **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836), [#5858](https://github.com/ScoopInstaller/Scoop/issues/5858), [#5864](https://github.com/ScoopInstaller/Scoop/issues/5864)) - **core:** Get rid of 'fullpath' ([#3533](https://github.com/ScoopInstaller/Scoop/issues/3533)) +- **shim:** Remove CS shim codebase ([#5903](https://github.com/ScoopInstaller/Scoop/issues/5903)) ### Builds diff --git a/lib/core.ps1 b/lib/core.ps1 index 768ae0692a..37c96ebe43 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -979,13 +979,12 @@ function shim($path, $global, $name, $arg) { } function get_shim_path() { - $shim_path = "$(versiondir 'scoop' 'current')\supporting\shims\kiennq\shim.exe" - $shim_version = get_config SHIM 'default' - switch ($shim_version) { - '71' { $shim_path = "$(versiondir 'scoop' 'current')\supporting\shims\71\shim.exe"; Break } - 'scoopcs' { $shim_path = "$(versiondir 'scoop' 'current')\supporting\shimexe\bin\shim.exe"; Break } - 'kiennq' { Break } # for backward compatibility - 'default' { Break } + $shim_version = get_config SHIM 'kiennq' + $shim_path = switch ($shim_version) { + 'scoopcs' { "$(versiondir 'scoop' 'current')\supporting\shims\scoopcs\shim.exe" } + '71' { "$(versiondir 'scoop' 'current')\supporting\shims\71\shim.exe" } + 'kiennq' { "$(versiondir 'scoop' 'current')\supporting\shims\kiennq\shim.exe" } + 'default' { "$(versiondir 'scoop' 'current')\supporting\shims\scoopcs\shim.exe" } default { warn "Unknown shim version: '$shim_version'" } } return $shim_path diff --git a/supporting/shimexe/.gitignore b/supporting/shimexe/.gitignore deleted file mode 100644 index 23053de093..0000000000 --- a/supporting/shimexe/.gitignore +++ /dev/null @@ -1 +0,0 @@ -packages/ diff --git a/supporting/shimexe/bin/checksum.sha256 b/supporting/shimexe/bin/checksum.sha256 deleted file mode 100644 index be9604386e..0000000000 --- a/supporting/shimexe/bin/checksum.sha256 +++ /dev/null @@ -1 +0,0 @@ -be80df7b3e50671e360eac64b195543ff38d4a6ae4926d71fbde7d4f70195945 *shim.exe diff --git a/supporting/shimexe/bin/checksum.sha512 b/supporting/shimexe/bin/checksum.sha512 deleted file mode 100644 index ed53cb10f9..0000000000 --- a/supporting/shimexe/bin/checksum.sha512 +++ /dev/null @@ -1 +0,0 @@ -7f2bf0f3870ad00ec24a349e8a1643607da54a414cd0d91f0b4ba0d629e9df2a8ce5658915e4f91738e411eca99ff5625274ed3e072c661755169d7530bf3d9e *shim.exe diff --git a/supporting/shimexe/bin/shim.exe b/supporting/shimexe/bin/shim.exe deleted file mode 100644 index aedc51715dca73278ffab7892b346ac9852bbbda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8192 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 diff --git a/supporting/shimexe/build.ps1 b/supporting/shimexe/build.ps1 deleted file mode 100644 index e2ad5d5f9a..0000000000 --- a/supporting/shimexe/build.ps1 +++ /dev/null @@ -1,22 +0,0 @@ -Param([Switch]$Fast) -Push-Location $PSScriptRoot -. "$PSScriptRoot\..\..\lib\core.ps1" -. "$PSScriptRoot\..\..\lib\install.ps1" - -if (!$Fast) { - Write-Host 'Install dependencies ...' - & "$PSScriptRoot\install.ps1" -} - -$output = "$PSScriptRoot\bin" -Write-Output 'Compiling shim.cs ...' -& "$PSScriptRoot\packages\Microsoft.Net.Compilers.Toolset\tasks\net472\csc.exe" -deterministic -platform:anycpu -nologo -optimize -target:exe -out:"$output\shim.exe" shim.cs - -Write-Output 'Computing checksums ...' -Remove-Item "$PSScriptRoot\bin\checksum.sha256" -ErrorAction Ignore -Remove-Item "$PSScriptRoot\bin\checksum.sha512" -ErrorAction Ignore -Get-ChildItem "$PSScriptRoot\bin\*" -Include *.exe, *.dll | ForEach-Object { - "$((Get-FileHash -Path $_ -Algorithm SHA256).Hash.ToLower()) *$($_.Name)" | Out-File "$PSScriptRoot\bin\checksum.sha256" -Append -Encoding oem - "$((Get-FileHash -Path $_ -Algorithm SHA512).Hash.ToLower()) *$($_.Name)" | Out-File "$PSScriptRoot\bin\checksum.sha512" -Append -Encoding oem -} -Pop-Location diff --git a/supporting/shimexe/install.ps1 b/supporting/shimexe/install.ps1 deleted file mode 100644 index 8c5ec99222..0000000000 --- a/supporting/shimexe/install.ps1 +++ /dev/null @@ -1,8 +0,0 @@ -# https://github.com/edymtt/nugetstandalone -$destinationFolder = "$PSScriptRoot\packages" -if ((Test-Path -Path $destinationFolder)) { - Remove-Item -Path $destinationFolder -Recurse | Out-Null -} - -New-Item $destinationFolder -Type Directory | Out-Null -nuget install packages.config -o $destinationFolder -ExcludeVersion diff --git a/supporting/shimexe/packages.config b/supporting/shimexe/packages.config deleted file mode 100644 index 628240e693..0000000000 --- a/supporting/shimexe/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - diff --git a/supporting/shimexe/shim.cs b/supporting/shimexe/shim.cs deleted file mode 100644 index b7a2c0e56e..0000000000 --- a/supporting/shimexe/shim.cs +++ /dev/null @@ -1,179 +0,0 @@ -using System; -using System.ComponentModel; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Text.RegularExpressions; -using System.Threading.Tasks; -using System.Runtime.InteropServices; - -namespace Scoop { - - class Program { - [DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Unicode)] - static extern bool CreateProcess(string lpApplicationName, - string lpCommandLine, IntPtr lpProcessAttributes, - IntPtr lpThreadAttributes, bool bInheritHandles, - uint dwCreationFlags, IntPtr lpEnvironment, string lpCurrentDirectory, - [In] ref STARTUPINFO lpStartupInfo, - out PROCESS_INFORMATION lpProcessInformation); - const int ERROR_ELEVATION_REQUIRED = 740; - - [DllImport("kernel32.dll", SetLastError = true)] - private static extern bool AttachConsole(int dwProcessId); - - [DllImport("kernel32.dll", SetLastError = true)] - private static extern IntPtr GetConsoleWindow(); - - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] - struct STARTUPINFO { - public Int32 cb; - public string lpReserved; - public string lpDesktop; - public string lpTitle; - public Int32 dwX; - public Int32 dwY; - public Int32 dwXSize; - public Int32 dwYSize; - public Int32 dwXCountChars; - public Int32 dwYCountChars; - public Int32 dwFillAttribute; - public Int32 dwFlags; - public Int16 wShowWindow; - public Int16 cbReserved2; - public IntPtr lpReserved2; - public IntPtr hStdInput; - public IntPtr hStdOutput; - public IntPtr hStdError; - } - - [StructLayout(LayoutKind.Sequential)] - internal struct PROCESS_INFORMATION { - public IntPtr hProcess; - public IntPtr hThread; - public int dwProcessId; - public int dwThreadId; - } - - [DllImport("kernel32.dll", SetLastError=true)] - static extern UInt32 WaitForSingleObject(IntPtr hHandle, UInt32 dwMilliseconds); - const UInt32 INFINITE = 0xFFFFFFFF; - - [DllImport("kernel32.dll", SetLastError=true)] - [return: MarshalAs(UnmanagedType.Bool)] - static extern bool CloseHandle(IntPtr hObject); - - [DllImport("kernel32.dll", SetLastError = true)] - [return: MarshalAs(UnmanagedType.Bool)] - static extern bool GetExitCodeProcess(IntPtr hProcess, out uint lpExitCode); - - static int Main(string[] args) { - var exe = Assembly.GetExecutingAssembly().Location; - var dir = Path.GetDirectoryName(exe); - var name = Path.GetFileNameWithoutExtension(exe); - - var configPath = Path.Combine(dir, name + ".shim"); - if(!File.Exists(configPath)) { - Console.Error.WriteLine("Couldn't find " + Path.GetFileName(configPath) + " in " + dir); - return 1; - } - - var config = Config(configPath); - var path = Get(config, "path"); - var add_args = Get(config, "args"); - - var si = new STARTUPINFO(); - var pi = new PROCESS_INFORMATION(); - - // create command line - var cmd_args = add_args ?? ""; - var pass_args = GetArgs(Environment.CommandLine); - if(!string.IsNullOrEmpty(pass_args)) { - if(!string.IsNullOrEmpty(cmd_args)) cmd_args += " "; - cmd_args += pass_args; - } - if(!string.IsNullOrEmpty(cmd_args)) cmd_args = " " + cmd_args; - var cmd = path + cmd_args; - - // Fix when GUI applications want to write to a console - if (GetConsoleWindow() == IntPtr.Zero) { - AttachConsole(-1); - } - - if(!CreateProcess(null, cmd, IntPtr.Zero, IntPtr.Zero, - bInheritHandles: true, - dwCreationFlags: 0, - lpEnvironment: IntPtr.Zero, // inherit parent - lpCurrentDirectory: null, // inherit parent - lpStartupInfo: ref si, - lpProcessInformation: out pi)) { - - var error = Marshal.GetLastWin32Error(); - if(error == ERROR_ELEVATION_REQUIRED) { - // Unfortunately, ShellExecute() does not allow us to run program without - // CREATE_NEW_CONSOLE, so we can not replace CreateProcess() completely. - // The good news is we are okay with CREATE_NEW_CONSOLE when we run program with elevation. - Process process = new Process(); - process.StartInfo = new ProcessStartInfo(path, cmd_args); - process.StartInfo.UseShellExecute = true; - try { - process.Start(); - } - catch(Win32Exception exception) { - return exception.ErrorCode; - } - process.WaitForExit(); - return process.ExitCode; - } - return error; - } - - WaitForSingleObject(pi.hProcess, INFINITE); - - uint exit_code = 0; - GetExitCodeProcess(pi.hProcess, out exit_code); - - // Close process and thread handles. - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - - return (int)exit_code; - } - - // now uses GetArgs instead - static string Serialize(string[] args) { - return string.Join(" ", args.Select(a => a.Contains(' ') ? '"' + a + '"' : a)); - } - - // strips the program name from the command line, returns just the arguments - static string GetArgs(string cmdLine) { - if(cmdLine.StartsWith("\"")) { - var endQuote = cmdLine.IndexOf("\" ", 1); - if(endQuote < 0) return ""; - return cmdLine.Substring(endQuote + 1); - } - var space = cmdLine.IndexOf(' '); - if(space < 0 || space == cmdLine.Length - 1) return ""; - return cmdLine.Substring(space + 1); - } - - static string Get(Dictionary dic, string key) { - string value = null; - dic.TryGetValue(key, out value); - return value; - } - - static Dictionary Config(string path) { - var config = new Dictionary(StringComparer.OrdinalIgnoreCase); - foreach(var line in File.ReadAllLines(path)) { - var m = Regex.Match(line, @"([^=]+)=(.*)"); - if(m.Success) { - config[m.Groups[1].Value.Trim()] = m.Groups[2].Value.Trim(); - } - } - return config; - } - } -} diff --git a/supporting/shimexe/shim.csproj b/supporting/shimexe/shim.csproj deleted file mode 100644 index 3cd82cfc8c..0000000000 --- a/supporting/shimexe/shim.csproj +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - Debug - AnyCPU - {381F9D2E-2355-4F84-9206-06BB9175F97B} - Exe - Scoop.Shim - Scoop.Shim - v4.5.0 - 512 - true - - - - - - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. - Enable NuGet Package Restore to download them. For more information, see - http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. - - - - diff --git a/supporting/shimexe/update.ps1 b/supporting/shimexe/update.ps1 deleted file mode 100644 index 80a59863bf..0000000000 --- a/supporting/shimexe/update.ps1 +++ /dev/null @@ -1,10 +0,0 @@ -# https://github.com/edymtt/nugetstandalone -$destinationFolder = "$PSScriptRoot\packages" -if (!(Test-Path -Path $destinationFolder)) { - Write-Host -f Red "Run .\install.ps1 first!" - exit 1 -} - -nuget update packages.config -r $destinationFolder -Remove-Item $destinationFolder -Force -Recurse | Out-Null -nuget install packages.config -o $destinationFolder -ExcludeVersion diff --git a/supporting/shims/scoopcs/checksum.sha256 b/supporting/shims/scoopcs/checksum.sha256 new file mode 100644 index 0000000000..71456d0529 --- /dev/null +++ b/supporting/shims/scoopcs/checksum.sha256 @@ -0,0 +1 @@ +0116068768fc992fc536738396b33db3dafe6b0cf0e6f54f6d1aa8b0331f3cec *shim.exe diff --git a/supporting/shims/scoopcs/checksum.sha512 b/supporting/shims/scoopcs/checksum.sha512 new file mode 100644 index 0000000000..56bcb421f2 --- /dev/null +++ b/supporting/shims/scoopcs/checksum.sha512 @@ -0,0 +1 @@ +d734c528e9f20581ed3c7aa71a458f7dff7e2780fa0c319ccb9c813cd8dbf656bd7e550b81d2aa3ee8775bff9a4e507bc0b25f075697405adca0f47d37835848 *shim.exe diff --git a/supporting/shims/scoopcs/shim.exe b/supporting/shims/scoopcs/shim.exe new file mode 100644 index 0000000000000000000000000000000000000000..9df58e1de1faf8c6f3c5b58a8f1f371661aeca55 GIT binary patch literal 9728 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 literal 0 HcmV?d00001 diff --git a/supporting/shims/scoopcs/version.txt b/supporting/shims/scoopcs/version.txt new file mode 100644 index 0000000000..9084fa2f71 --- /dev/null +++ b/supporting/shims/scoopcs/version.txt @@ -0,0 +1 @@ +1.1.0 diff --git a/test/Scoop-00File.Tests.ps1 b/test/Scoop-00File.Tests.ps1 index 4161c37792..4ce5c57ef0 100644 --- a/test/Scoop-00File.Tests.ps1 +++ b/test/Scoop-00File.Tests.ps1 @@ -7,8 +7,7 @@ BeforeDiscovery { '[\\/]\.git[\\/]', '\.sublime-workspace$', '\.DS_Store$', - 'supporting(\\|/)validator(\\|/)packages(\\|/)*', - 'supporting(\\|/)shimexe(\\|/)packages(\\|/)*' + 'supporting(\\|/)validator(\\|/)packages(\\|/)*' ) $repo_files = (Get-ChildItem $TestPath -File -Recurse).FullName | Where-Object { $_ -inotmatch $($project_file_exclusions -join '|') } From 5819b5a1ef6ee8740c4310f0d0ba06a88c39917f Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Thu, 18 Apr 2024 19:14:53 +0800 Subject: [PATCH 74/75] feat(path): Isolate Scoop apps' PATH (#5840) --- CHANGELOG.md | 1 + bin/uninstall.ps1 | 3 ++ lib/core.ps1 | 80 +++++++++++++++++++++++++++++++++++- lib/install.ps1 | 27 ++++-------- lib/system.ps1 | 70 +++++++++++++++++++------------ libexec/scoop-config.ps1 | 5 +++ libexec/scoop-reset.ps1 | 3 ++ test/Scoop-Install.Tests.ps1 | 17 ++++---- 8 files changed, 150 insertions(+), 56 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95c2239935..b020b5d244 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - **bucket:** Make official buckets higher priority ([#5398](https://github.com/ScoopInstaller/Scoop/issues/5398)) - **core:** Add `-Quiet` switch for `Invoke-ExternalCommand` ([#5346](https://github.com/ScoopInstaller/Scoop/issues/5346)) - **core:** Allow global install of PowerShell modules ([#5611](https://github.com/ScoopInstaller/Scoop/issues/5611)) +- **path:** Isolate Scoop apps' PATH ([#5840](https://github.com/ScoopInstaller/Scoop/issues/5840)) ### Bug Fixes diff --git a/bin/uninstall.ps1 b/bin/uninstall.ps1 index 9e89481959..98b5c8d513 100644 --- a/bin/uninstall.ps1 +++ b/bin/uninstall.ps1 @@ -100,5 +100,8 @@ if ($purge) { } Remove-Path -Path (shimdir $global) -Global:$global +if (get_config USE_ISOLATED_PATH) { + Remove-Path -Path ('%' + $scoopPathEnvVar + '%') -Global:$global +} success 'Scoop has been uninstalled.' diff --git a/lib/core.ps1 b/lib/core.ps1 index 37c96ebe43..cf60f27e4c 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -132,6 +132,9 @@ function set_config { $value = [System.Convert]::ToBoolean($value) } + # Initialize config's change + Complete-ConfigChange -Name $name -Value $value + if ($null -eq $scoopConfig.$name) { $scoopConfig | Add-Member -MemberType NoteProperty -Name $name -Value $value } else { @@ -147,6 +150,74 @@ function set_config { return $scoopConfig } +function Complete-ConfigChange { + [CmdletBinding()] + param ( + [Parameter(Mandatory, Position = 0)] + [string] + $Name, + [Parameter(Mandatory, Position = 1)] + [AllowEmptyString()] + [string] + $Value + ) + + if ($Name -eq 'use_isolated_path') { + $oldValue = get_config USE_ISOLATED_PATH + if ($Value -eq $oldValue) { + return + } else { + $currPathEnvVar = $scoopPathEnvVar + } + . "$PSScriptRoot\..\lib\system.ps1" + + if ($Value -eq $false -or $Value -eq '') { + info 'Turn off Scoop isolated path... This may take a while, please wait.' + $movedPath = Get-EnvVar -Name $currPathEnvVar + if ($movedPath) { + Add-Path -Path $movedPath -Quiet + Remove-Path -Path ('%' + $currPathEnvVar + '%') -Quiet + Set-EnvVar -Name $currPathEnvVar -Quiet + } + if (is_admin) { + $movedPath = Get-EnvVar -Name $currPathEnvVar -Global + if ($movedPath) { + Add-Path -Path $movedPath -Global -Quiet + Remove-Path -Path ('%' + $currPathEnvVar + '%') -Global -Quiet + Set-EnvVar -Name $currPathEnvVar -Global -Quiet + } + } + } else { + $newPathEnvVar = if ($Value -eq $true) { + 'SCOOP_PATH' + } else { + $Value.ToUpperInvariant() + } + info "Turn on Scoop isolated path ('$newPathEnvVar')... This may take a while, please wait." + $movedPath = Remove-Path -Path "$scoopdir\apps\*" -TargetEnvVar $currPathEnvVar -Quiet -PassThru + if ($movedPath) { + Add-Path -Path $movedPath -TargetEnvVar $newPathEnvVar -Quiet + Add-Path -Path ('%' + $newPathEnvVar + '%') -Quiet + if ($currPathEnvVar -ne 'PATH') { + Remove-Path -Path ('%' + $currPathEnvVar + '%') -Quiet + Set-EnvVar -Name $currPathEnvVar -Quiet + } + } + if (is_admin) { + $movedPath = Remove-Path -Path "$globaldir\apps\*" -TargetEnvVar $currPathEnvVar -Global -Quiet -PassThru + if ($movedPath) { + Add-Path -Path $movedPath -TargetEnvVar $newPathEnvVar -Global -Quiet + Add-Path -Path ('%' + $newPathEnvVar + '%') -Global -Quiet + if ($currPathEnvVar -ne 'PATH') { + Remove-Path -Path ('%' + $currPathEnvVar + '%') -Global -Quiet + Set-EnvVar -Name $currPathEnvVar -Global -Quiet + } + } + } + } + } +} + function setup_proxy() { # note: '@' and ':' in password must be escaped, e.g. 'p@ssword' -> p\@ssword' $proxy = get_config PROXY @@ -303,7 +374,7 @@ function filesize($length) { } else { if ($null -eq $length) { $length = 0 - } + } "$($length) B" } } @@ -1350,6 +1421,13 @@ $globaldir = $env:SCOOP_GLOBAL, (get_config GLOBAL_PATH), "$([System.Environment # Use at your own risk. $cachedir = $env:SCOOP_CACHE, (get_config CACHE_PATH), "$scoopdir\cache" | Where-Object { $_ } | Select-Object -First 1 | Get-AbsolutePath +# Scoop apps' PATH Environment Variable +$scoopPathEnvVar = switch (get_config USE_ISOLATED_PATH) { + { $_ -is [string] } { $_.ToUpperInvariant() } + $true { 'SCOOP_PATH' } + default { 'PATH' } +} + # OS information $WindowsBuild = [System.Environment]::OSVersion.Version.Build diff --git a/lib/install.ps1 b/lib/install.ps1 index 19f8d9b3f6..12d4220015 100644 --- a/lib/install.ps1 +++ b/lib/install.ps1 @@ -906,19 +906,11 @@ function env_add_path($manifest, $dir, $global, $arch) { $env_add_path = arch_specific 'env_add_path' $manifest $arch $dir = $dir.TrimEnd('\') if ($env_add_path) { - # GH-3785: Add path in ascending order. - [Array]::Reverse($env_add_path) - $env_add_path | Where-Object { $_ } | ForEach-Object { - if ($_ -eq '.') { - $path_dir = $dir - } else { - $path_dir = Join-Path $dir $_ - } - if (!(is_in_dir $dir $path_dir)) { - abort "Error in manifest: env_add_path '$_' is outside the app directory." - } - Add-Path -Path $path_dir -Global:$global -Force + if (get_config USE_ISOLATED_PATH) { + Add-Path -Path ('%' + $scoopPathEnvVar + '%') -Global:$global } + $path = $env_add_path.Where({ $_ }).ForEach({ Join-Path $dir $_ | Get-AbsolutePath }).Where({ is_in_dir $dir $_ }) + Add-Path -Path $path -TargetEnvVar $scoopPathEnvVar -Global:$global -Force } } @@ -926,14 +918,9 @@ function env_rm_path($manifest, $dir, $global, $arch) { $env_add_path = arch_specific 'env_add_path' $manifest $arch $dir = $dir.TrimEnd('\') if ($env_add_path) { - $env_add_path | Where-Object { $_ } | ForEach-Object { - if ($_ -eq '.') { - $path_dir = $dir - } else { - $path_dir = Join-Path $dir $_ - } - Remove-Path -Path $path_dir -Global:$global - } + $path = $env_add_path.Where({ $_ }).ForEach({ Join-Path $dir $_ | Get-AbsolutePath }).Where({ is_in_dir $dir $_ }) + Remove-Path -Path $path -Global:$global # TODO: Remove after forced isolating Scoop path + Remove-Path -Path $path -TargetEnvVar $scoopPathEnvVar -Global:$global } } diff --git a/lib/system.ps1 b/lib/system.ps1 index 2a572a9fde..affe2c5450 100644 --- a/lib/system.ps1 +++ b/lib/system.ps1 @@ -73,63 +73,79 @@ function Set-EnvVar { Publish-EnvVar } -function Test-PathLikeEnvVar { +function Split-PathLikeEnvVar { param( - [string]$Name, + [string[]]$Pattern, [string]$Path ) if ($null -eq $Path -and $Path -eq '') { - return $false, $null + return $null, $null } else { - $strippedPath = $Path.Split(';', [System.StringSplitOptions]::RemoveEmptyEntries).Where({ $_ -ne $Name }) -join ';' - return ($strippedPath -ne $Path), $strippedPath + $splitPattern = $Pattern.Split(';', [System.StringSplitOptions]::RemoveEmptyEntries) + $splitPath = $Path.Split(';', [System.StringSplitOptions]::RemoveEmptyEntries) + $inPath = @() + foreach ($p in $splitPattern) { + $inPath += $splitPath.Where({ $_ -like $p }) + $splitPath = $splitPath.Where({ $_ -notlike $p }) + } + return ($inPath -join ';'), ($splitPath -join ';') } } function Add-Path { param( - [string]$Path, + [string[]]$Path, + [string]$TargetEnvVar = 'PATH', [switch]$Global, - [switch]$Force + [switch]$Force, + [switch]$Quiet ) - if (!$Path.Contains('%')) { - $Path = Get-AbsolutePath $Path - } # future sessions - $inPath, $strippedPath = Test-PathLikeEnvVar $Path (Get-EnvVar -Name 'PATH' -Global:$Global) + $inPath, $strippedPath = Split-PathLikeEnvVar $Path (Get-EnvVar -Name $TargetEnvVar -Global:$Global) if (!$inPath -or $Force) { - Write-Output "Adding $(friendly_path $Path) to $(if ($Global) {'global'} else {'your'}) path." - Set-EnvVar -Name 'PATH' -Value (@($Path, $strippedPath) -join ';') -Global:$Global + if (!$Quiet) { + $Path | ForEach-Object { + Write-Host "Adding $(friendly_path $_) to $(if ($Global) {'global'} else {'your'}) path." + } + } + Set-EnvVar -Name $TargetEnvVar -Value ((@($Path) + $strippedPath) -join ';') -Global:$Global } # current session - $inPath, $strippedPath = Test-PathLikeEnvVar $Path $env:PATH + $inPath, $strippedPath = Split-PathLikeEnvVar $Path $env:PATH if (!$inPath -or $Force) { - $env:PATH = @($Path, $strippedPath) -join ';' + $env:PATH = (@($Path) + $strippedPath) -join ';' } } function Remove-Path { param( - [string]$Path, - [switch]$Global + [string[]]$Path, + [string]$TargetEnvVar = 'PATH', + [switch]$Global, + [switch]$Quiet, + [switch]$PassThru ) - if (!$Path.Contains('%')) { - $Path = Get-AbsolutePath $Path - } # future sessions - $inPath, $strippedPath = Test-PathLikeEnvVar $Path (Get-EnvVar -Name 'PATH' -Global:$Global) + $inPath, $strippedPath = Split-PathLikeEnvVar $Path (Get-EnvVar -Name $TargetEnvVar -Global:$Global) if ($inPath) { - Write-Output "Removing $(friendly_path $Path) from $(if ($Global) {'global'} else {'your'}) path." - Set-EnvVar -Name 'PATH' -Value $strippedPath -Global:$Global + if (!$Quiet) { + $Path | ForEach-Object { + Write-Host "Removing $(friendly_path $_) from $(if ($Global) {'global'} else {'your'}) path." + } + } + Set-EnvVar -Name $TargetEnvVar -Value $strippedPath -Global:$Global } # current session - $inPath, $strippedPath = Test-PathLikeEnvVar $Path $env:PATH - if ($inPath) { + $inSessionPath, $strippedPath = Split-PathLikeEnvVar $Path $env:PATH + if ($inSessionPath) { $env:PATH = $strippedPath } + if ($PassThru) { + return $inPath + } } ## Deprecated functions @@ -145,8 +161,8 @@ function env($name, $global, $val) { } function strip_path($orig_path, $dir) { - Show-DeprecatedWarning $MyInvocation 'Test-PathLikeEnvVar' - Test-PathLikeEnvVar -Name $dir -Path $orig_path + Show-DeprecatedWarning $MyInvocation 'Split-PathLikeEnvVar' + Split-PathLikeEnvVar -Name $dir -Path $orig_path } function add_first_in_path($dir, $global) { diff --git a/libexec/scoop-config.ps1 b/libexec/scoop-config.ps1 index dbc1925305..ff0bff3eee 100644 --- a/libexec/scoop-config.ps1 +++ b/libexec/scoop-config.ps1 @@ -115,6 +115,11 @@ # Nightly version is formatted as 'nightly-yyyyMMdd' and will be updated after one day if this is set to $true. # Otherwise, nightly version will not be updated unless `--force` is used. # +# use_isolated_path: $true|$false|[string] +# When set to $true, Scoop will use `SCOOP_PATH` environment variable to store apps' `PATH`s. +# When set to arbitrary non-empty string, Scoop will use that string as the environment variable name instead. +# This is useful when you want to isolate Scoop from the system `PATH`. +# # ARIA2 configuration # ------------------- # diff --git a/libexec/scoop-reset.ps1 b/libexec/scoop-reset.ps1 index e073cd4dfb..aeef05cc83 100644 --- a/libexec/scoop-reset.ps1 +++ b/libexec/scoop-reset.ps1 @@ -80,6 +80,9 @@ $apps | ForEach-Object { $dir = link_current $dir create_shims $manifest $dir $global $architecture create_startmenu_shortcuts $manifest $dir $global $architecture + # unset all potential old env before re-adding + env_rm_path $manifest $dir $global $architecture + env_rm $manifest $global $architecture env_add_path $manifest $dir $global $architecture env_set $manifest $dir $global $architecture # unlink all potential old link before re-persisting diff --git a/test/Scoop-Install.Tests.ps1 b/test/Scoop-Install.Tests.ps1 index 130d6a7517..966c2c0c50 100644 --- a/test/Scoop-Install.Tests.ps1 +++ b/test/Scoop-Install.Tests.ps1 @@ -46,13 +46,10 @@ Describe 'env add and remove path' -Tag 'Scoop', 'Windows' { BeforeAll { # test data $manifest = @{ - 'env_add_path' = @('foo', 'bar') + 'env_add_path' = @('foo', 'bar', '.', '..') } $testdir = Join-Path $PSScriptRoot 'path-test-directory' $global = $false - - # store the original path to prevent leakage of tests - $origPath = $env:PATH } It 'should concat the correct path' { @@ -61,12 +58,16 @@ Describe 'env add and remove path' -Tag 'Scoop', 'Windows' { # adding env_add_path $manifest $testdir $global - Assert-MockCalled Add-Path -Times 1 -ParameterFilter { $Path -like "$testdir\foo" } - Assert-MockCalled Add-Path -Times 1 -ParameterFilter { $Path -like "$testdir\bar" } + Should -Invoke -CommandName Add-Path -Times 1 -ParameterFilter { $Path -like "$testdir\foo" } + Should -Invoke -CommandName Add-Path -Times 1 -ParameterFilter { $Path -like "$testdir\bar" } + Should -Invoke -CommandName Add-Path -Times 1 -ParameterFilter { $Path -like $testdir } + Should -Invoke -CommandName Add-Path -Times 0 -ParameterFilter { $Path -like $PSScriptRoot } env_rm_path $manifest $testdir $global - Assert-MockCalled Remove-Path -Times 1 -ParameterFilter { $Path -like "$testdir\foo" } - Assert-MockCalled Remove-Path -Times 1 -ParameterFilter { $Path -like "$testdir\bar" } + Should -Invoke -CommandName Remove-Path -Times 1 -ParameterFilter { $Path -like "$testdir\foo" } + Should -Invoke -CommandName Remove-Path -Times 1 -ParameterFilter { $Path -like "$testdir\bar" } + Should -Invoke -CommandName Remove-Path -Times 1 -ParameterFilter { $Path -like $testdir } + Should -Invoke -CommandName Remove-Path -Times 0 -ParameterFilter { $Path -like $PSScriptRoot } } } From 78f6fecd601aa198bcde145f7083d9a99bd78f61 Mon Sep 17 00:00:00 2001 From: Hsiao-nan Cheung Date: Thu, 18 Apr 2024 20:05:13 +0800 Subject: [PATCH 75/75] docs(changelog): Rearrange and update CHANGELOG (#5904) --- CHANGELOG.md | 68 ++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b020b5d244..00e336583e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,73 +1,73 @@ -## [Unreleased](https://github.com/ScoopInstaller/Scoop/compare/master...develop) +## [v0.4.0](https://github.com/ScoopInstaller/Scoop/compare/v0.3.1...v0.4.0) - 2024-04-18 ### Features - **scoop-update:** Add support for parallel syncing buckets in PowerShell 7 and improve output ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122)) - **bucket:** Switch nirsoft bucket to ScoopInstaller/Nirsoft ([#5328](https://github.com/ScoopInstaller/Scoop/issues/5328)) -- **config:** Support portable config file ([#5369](https://github.com/ScoopInstaller/Scoop/issues/5369)) - **bucket:** Make official buckets higher priority ([#5398](https://github.com/ScoopInstaller/Scoop/issues/5398)) +- **config:** Support portable config file ([#5369](https://github.com/ScoopInstaller/Scoop/issues/5369)) - **core:** Add `-Quiet` switch for `Invoke-ExternalCommand` ([#5346](https://github.com/ScoopInstaller/Scoop/issues/5346)) - **core:** Allow global install of PowerShell modules ([#5611](https://github.com/ScoopInstaller/Scoop/issues/5611)) - **path:** Isolate Scoop apps' PATH ([#5840](https://github.com/ScoopInstaller/Scoop/issues/5840)) ### Bug Fixes -- **shim:** Remove console window for GUI applications ([#5559](https://github.com/ScoopInstaller/Scoop/issues/5559)) -- **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) +- **scoop-alias:** Prevent overwrite existing file when adding alias ([#5577](https://github.com/ScoopInstaller/Scoop/issues/5577)) +- **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) +- **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5614](https://github.com/ScoopInstaller/Scoop/issues/5614)) +- **scoop-checkup:** Don't throw 7zip error when external 7zip is used ([#5703](https://github.com/ScoopInstaller/Scoop/issues/5703)) +- **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) +- **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/issues/5352)) +- **scoop-reset:** Don't abort when multiple apps are passed and an app is running ([#5687](https://github.com/ScoopInstaller/Scoop/issues/5687)) +- **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) +- **scoop-virustotal:** Fix `scoop-virustotal` when `--all` has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/issues/5593)) +- **scoop-virustotal:** Fix the issue that escape character not available in PowerShell 5.1 ([#5870](https://github.com/ScoopInstaller/Scoop/issues/5870)) - **autoupdate:** Fix file hash extraction ([#5295](https://github.com/ScoopInstaller/Scoop/issues/5295)) -- **getopt:** Stop split arguments in `getopt()` and ensure array by explicit arguments type ([#5326](https://github.com/ScoopInstaller/Scoop/issues/5326)) -- **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) +- **autoupdate:** Fix bug that 'WebClient' doesn't auto-extract 'gzip' ([#5901](https://github.com/ScoopInstaller/Scoop/issues/5901)) +- **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) +- **config:** Warn users about misconfigured GitHub token ([#5777](https://github.com/ScoopInstaller/Scoop/issues/5777)) - **core:** Fix scripts' calling parameters ([#5365](https://github.com/ScoopInstaller/Scoop/issues/5365)) - **core:** Fix `is_in_dir` under Unix ([#5391](https://github.com/ScoopInstaller/Scoop/issues/5391)) - **core:** Rewrite config file when needed ([#5439](https://github.com/ScoopInstaller/Scoop/issues/5439)) -- **core:** Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution ([#5436](https://github.com/ScoopInstaller/Scoop/pull/5436)) +- **core:** Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution ([#5436](https://github.com/ScoopInstaller/Scoop/issues/5436)) - **core:** Handle scoop aliases and broken(edited,copied) shim ([#5551](https://github.com/ScoopInstaller/Scoop/issues/5551)) -- **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395), [#5452](https://github.com/ScoopInstaller/Scoop/pull/5452), [#5631](https://github.com/ScoopInstaller/Scoop/pull/5631)) -- **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) -- **install:** Avoid error when unlinking non-existent junction/hardlink ([#5552](https://github.com/ScoopInstaller/Scoop/issues/5552)) -- **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) -- **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) - **core:** Avoid error messages when deleting non-existent environment variable ([#5547](https://github.com/ScoopInstaller/Scoop/issues/5547)) - **core:** Use relative path as fallback of `$scoopdir` ([#5544](https://github.com/ScoopInstaller/Scoop/issues/5544)) - **core:** Fix detection of Git ([#5545](https://github.com/ScoopInstaller/Scoop/issues/5545)) -- **scoop-checkup:** Skip defender check in Windows Sandbox ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) -- **buckets:** Avoid error messages for unexpected dir ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5549)) -- **scoop-virustotal:** Fix `scoop-virustotal` when `--all` has been passed without app ([#5593](https://github.com/ScoopInstaller/Scoop/pull/5593)) -- **scoop-checkup:** Change the message level of helpers from ERROR to WARN ([#5549](https://github.com/ScoopInstaller/Scoop/issues/5614)) -- **scoop-(un)hold:** Correct output the messages when manifest not found, (already|not) held ([#5519](https://github.com/ScoopInstaller/Scoop/issues/5519)) -- **scoop-update:** Change error message to a better instruction ([#5677](https://github.com/ScoopInstaller/Scoop/issues/5677)) -- **manifest:** Correct source of manifest ([#5575](https://github.com/ScoopInstaller/Scoop/issues/5575)) +- **core:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) +- **core:** Fix arguments parsing method of `Invoke-ExternalCommand()` ([#5839](https://github.com/ScoopInstaller/Scoop/issues/5839)) +- **decompress:** Exclude '*.nsis' that may cause error ([#5294](https://github.com/ScoopInstaller/Scoop/issues/5294)) - **decompress:** Remove unused parent dir w/ 'extract_dir' ([#5682](https://github.com/ScoopInstaller/Scoop/issues/5682)) +- **decompress:** Use `wix.exe` in WiX Toolset v4+ as primary extractor of `Expand-DarkArchive()` ([#5871](https://github.com/ScoopInstaller/Scoop/issues/5871)) +- **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395), [#5452](https://github.com/ScoopInstaller/Scoop/issues/5452), [#5631](https://github.com/ScoopInstaller/Scoop/issues/5631)) +- **getopt:** Stop split arguments in `getopt()` and ensure array by explicit arguments type ([#5326](https://github.com/ScoopInstaller/Scoop/issues/5326)) +- **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) +- **install:** Avoid error when unlinking non-existent junction/hardlink ([#5552](https://github.com/ScoopInstaller/Scoop/issues/5552)) +- **manifest:** Correct source of manifest ([#5575](https://github.com/ScoopInstaller/Scoop/issues/5575)) +- **shim:** Remove console window for GUI applications ([#5559](https://github.com/ScoopInstaller/Scoop/issues/5559)) +- **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) - **shim:** Check literal path in `Get-ShimPath` ([#5680](https://github.com/ScoopInstaller/Scoop/issues/5680)) - **shim:** Avoid unexpected output of `list` subcommand ([#5681](https://github.com/ScoopInstaller/Scoop/issues/5681)) -- **scoop-reset:** Don't abort when multiple apps are passed and an app is running ([#5687](https://github.com/ScoopInstaller/Scoop/issues/5687)) -- **core:** Do not call `scoop` externally from inside the code ([#5695](https://github.com/ScoopInstaller/Scoop/issues/5695)) -- **scoop-checkup:** Don't throw 7zip error when external 7zip is used ([#5703](https://github.com/ScoopInstaller/Scoop/issues/5703)) -- **config:** Warn users about misconfigured GitHub token ([#5777](https://github.com/ScoopInstaller/Scoop/issues/5777)) -- **update/uninstall:** Remove items from PATH correctly ([#5833](https://github.com/ScoopInstaller/Scoop/issues/5833)) - **shim:** Allow GUI applications to attach to the shell's console when launched using the GUI shim ([#5721](https://github.com/ScoopInstaller/Scoop/issues/5721)) -- **core:** Fix arguments parsing method of `Invoke-ExternalCommand()` ([#5839](https://github.com/ScoopInstaller/Scoop/issues/5839)) -- **scoop-alias:** Prevent overwrite existing file when adding alias ([#5577](https://github.com/ScoopInstaller/Scoop/issues/5577)) -- **scoop-virustotal:** Fix the issue that escape character not available in PowerShell 5.1 ([#5870](https://github.com/ScoopInstaller/Scoop/issues/5870)) -- **decompress:** Use `wix.exe` in WiX Toolset v4+ as primary extractor of `Expand-DarkArchive()` ([#5871](https://github.com/ScoopInstaller/Scoop/issues/5871)) - **shim:** Run JAR file from app's root directory ([#5872](https://github.com/ScoopInstaller/Scoop/issues/5872)) -- **autoupdate:** Fix bug that 'WebClient' doesn't auto-extract 'gzip' ([#5901](https://github.com/ScoopInstaller/Scoop/issues/5901)) +- **shortcuts:** Output correctly formatted path ([#5333](https://github.com/ScoopInstaller/Scoop/issues/5333)) +- **update/uninstall:** Remove items from PATH correctly ([#5833](https://github.com/ScoopInstaller/Scoop/issues/5833)) ### Performance Improvements -- **decompress:** Disable progress bar to improve `Expand-Archive` performance ([#5410](https://github.com/ScoopInstaller/Scoop/issues/5410)) -- **scoop-search:** Improve performance for local search ([#5324](https://github.com/ScoopInstaller/Scoop/issues/5324)) +- **scoop-search:** Improve performance for local search ([#5644](https://github.com/ScoopInstaller/Scoop/issues/5644)) - **scoop-update:** Check for running process before wasting time on download ([#5799](https://github.com/ScoopInstaller/Scoop/issues/5799)) -- **shim:** Update kiennq-shim to v3.1.1 ([#5841](https://github.com/ScoopInstaller/Scoop/issues/5841), ([#5847](https://github.com/ScoopInstaller/Scoop/issues/5847))) +- **decompress:** Disable progress bar to improve `Expand-Archive` performance ([#5410](https://github.com/ScoopInstaller/Scoop/issues/5410)) +- **shim:** Update kiennq-shim to v3.1.1 ([#5841](https://github.com/ScoopInstaller/Scoop/issues/5841), [#5847](https://github.com/ScoopInstaller/Scoop/issues/5847)) ### Code Refactoring -- **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) - **scoop-download:** Output more detailed manifest information ([#5277](https://github.com/ScoopInstaller/Scoop/issues/5277)) -- **helper:** Remove 7zip's fallback '7zip-zstd' ([#5548](https://github.com/ScoopInstaller/Scoop/issues/5548)) - **core:** Cleanup some old codes, e.g., msi section and config migration ([#5715](https://github.com/ScoopInstaller/Scoop/issues/5715), [#5824](https://github.com/ScoopInstaller/Scoop/issues/5824)) - **core:** Rewrite and separate path-related functions to `system.ps1` ([#5836](https://github.com/ScoopInstaller/Scoop/issues/5836), [#5858](https://github.com/ScoopInstaller/Scoop/issues/5858), [#5864](https://github.com/ScoopInstaller/Scoop/issues/5864)) - **core:** Get rid of 'fullpath' ([#3533](https://github.com/ScoopInstaller/Scoop/issues/3533)) +- **git:** Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses ([#5122](https://github.com/ScoopInstaller/Scoop/issues/5122), [#5375](https://github.com/ScoopInstaller/Scoop/issues/5375)) +- **helper:** Remove 7zip's fallback '7zip-zstd' ([#5548](https://github.com/ScoopInstaller/Scoop/issues/5548)) - **shim:** Remove CS shim codebase ([#5903](https://github.com/ScoopInstaller/Scoop/issues/5903)) ### Builds