@ -1,10 +1,18 @@ 
			
		
	
		
		
			
				
					
					 param (  param (  
			
		
	
		
		
			
				
					
					    $Path ,      $Path ,   
			
		
	
		
		
			
				
					
					    $Index  =  " H:\AnimeLib " ,      $Index  =  " H:\AnimeLib " ,   
			
		
	
		
		
			
				
					
					    $VarConfig ,   
			
		
	
		
		
			
				
					
					    $RecorDB  =  " animelibk.ini " ,   
			
		
	
		
		
			
				
					
					    $Include  =  @ ( " .rmvb " ,  " .mp4 " ,  " .mkv " ,  " .avi " ) ,   
			
		
	
		
		
			
				
					
					    [switch]  $Single ,      [switch]  $Single ,   
			
		
	
		
		
			
				
					
					    [switch]  $Force ,       [switch]  $Force ,    
			
		
	
		
		
			
				
					
					    [switch]  $Sub      [switch]  $Sub ,   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    [switch]  $testrun   
			
		
	
		
		
			
				
					
					) )  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					#$Include = ".rmvb", ".mp4", ".mkv", ".avi"  
			
		
	
		
		
			
				
					
					$SubExt  =  if  ( $Sub )  {  " .ssa " ,  " .ass " ,  " .srt "  }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					Import-Module  -Name  ( $PSScriptRoot  +  " \PathChar.psd1 " ) Import-Module  -Name  ( $PSScriptRoot  +  " \PathChar.psd1 " )  
			
		
	
		
		
			
				
					
					Import-Module  -Name  ( $PSScriptRoot  +  " \NameRegex.psd1 " ) Import-Module  -Name  ( $PSScriptRoot  +  " \NameRegex.psd1 " )  
			
		
	
		
		
			
				
					
					Edit-PathChar  $Path Edit-PathChar  $Path  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -13,16 +21,54 @@ $TargetName = "" 
			
		
	
		
		
			
				
					
					#$DestinName = "真の仲間" #$DestinName = "真の仲間"  
			
		
	
		
		
			
				
					
					Write-Output  $Path Write-Output  $Path  
			
		
	
		
		
			
				
					
					#$Index = "L:\AnimeLib" #$Index = "L:\AnimeLib"  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					# scriptblock 減少重複  
			
		
	
		
		
			
				
					
					$RegexpSet  =  {  
			
		
	
		
		
			
				
					
					    # 全域化   
			
		
	
		
		
			
				
					
					    # 因應檔名不同而設定多組正規方式   
			
		
	
		
		
			
				
					
					    Set-Variable  -Name  " EpisodeRegex "  -Scope  global  -Value  @ (   
			
		
	
		
		
			
				
					
					        " (?:S\d{2})?[\s]?-[\s]E?(?<Episode>\d{2}) "   
			
		
	
		
		
			
				
					
					        " [\[\b\s](?<Episode>\d{2})[\s_]?(?:[vV]\d|END|FIN)[\]\b\s] "   
			
		
	
		
		
			
				
					
					        " \[(?<Episode>\d{1,2})\D{2}\] "   
			
		
	
		
		
			
				
					
					        " \[(?<Episode>\d{1,2})\] "   
			
		
	
		
		
			
				
					
					    )   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    Set-Variable  -Name  " NameRegex "  -Scope  global  -Value  @ (   
			
		
	
		
		
			
				
					
					        " [\[\b\s](?<Name>[^\[\]]*)[\]\b\s]? $ "   
			
		
	
		
		
			
				
					
					    )   
			
		
	
		
		
			
				
					
					}  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					if  ( $VarConfig )  {  
			
		
	
		
		
			
				
					
					    if  ( Test-Path  $PSScriptRoot \ $VarConfig )  {   
			
		
	
		
		
			
				
					
					        $T  =  Get-Content  -Encoding  UTF8  $PSScriptRoot \ $VarConfig  |  %  {  $H  =  @ { }  ;  $S  =  $null }  {   
			
		
	
		
		
			
				
					
					            if  ( $_  -match  " ^\[(?<T>\w*)\] "  )  {   
			
		
	
		
		
			
				
					
					                $S  =  $Matches [ " T " ]   
			
		
	
		
		
			
				
					
					                $H . add ( $S ,  @ ( ) )   
			
		
	
		
		
			
				
					
					            }  elseif  ( $_  -match  " .+ "  )  {   
			
		
	
		
		
			
				
					
					                $H [ $S ]  =  $H [ $S ]  +  @ ( $_  -replace  '"' ,  '' )   
			
		
	
		
		
			
				
					
					            }   
			
		
	
		
		
			
				
					
					        }  {  $H  ;  Clear-Variable  -Name  " H " }   
			
		
	
		
		
			
				
					
					        $T . GetEnumerator ( )  |  %  {  Set-Variable  -Name  $_ . name  -Value  $_ . value }   
			
		
	
		
		
			
				
					
					    }  else  {   
			
		
	
		
		
			
				
					
					        & $RegexpSet   
			
		
	
		
		
			
				
					
					        $EpisodeRegex  |  %  { " [EpisodeRegex] " } {  " "" $ _ "" "  } { " " }  |  Out-File  -Encoding  UTF8  $PSScriptRoot \ $VarConfig   
			
		
	
		
		
			
				
					
					        $NameRegex  |  %  { " [NameRegex] " } {  " "" $ _ "" "  }  |  Out-File  -Encoding  UTF8  -Append  $PSScriptRoot \ $VarConfig   
			
		
	
		
		
			
				
					
					    }   
			
		
	
		
		
			
				
					
					      
			
		
	
		
		
			
				
					
					}  else  {  
			
		
	
		
		
			
				
					
					    & $RegexpSet   
			
		
	
		
		
			
				
					
					}  
			
		
	
		
		
			
				
					
					#$Path = "L:\Anime\202001 ネコぱら\[Nekomoe kissaten][Nekopara][01-12][BDRip][1080p][CHT]\[Nekomoe kissaten][Nekopara][12][1080p][CHT].mp4" #$Path = "L:\Anime\202001 ネコぱら\[Nekomoe kissaten][Nekopara][01-12][BDRip][1080p][CHT]\[Nekomoe kissaten][Nekopara][12][1080p][CHT].mp4"  
			
		
	
		
		
			
				
					
					#$Path = "L:\Anime\202004 ストライク・ザ・ブラッド OVA IV\[Suzu-Kaze][Strike_the_Blood_IV_OVA][01-12FIN][BDRip_1080P][HEVC_YUV420P10]\[Suzu-Kaze] Strike the Blood IV 12FIN [BDRip 1920x1080 HEVC YUV420P10 FLAC].mkv" #$Path = "L:\Anime\202004 ストライク・ザ・ブラッド OVA IV\[Suzu-Kaze][Strike_the_Blood_IV_OVA][01-12FIN][BDRip_1080P][HEVC_YUV420P10]\[Suzu-Kaze] Strike the Blood IV 12FIN [BDRip 1920x1080 HEVC YUV420P10 FLAC].mkv"  
			
		
	
		
		
			
				
					
					#$Path = "H:\Anime\201901 盾の勇者の成り上がり\[LKSUB][Tate no Yuusha no Nariagari][01-25][GB][720P][MP4]\[LKSUB][Tate no Yuusha no Nariagari][01][GB][720P].mp4" #$Path = "H:\Anime\201901 盾の勇者の成り上がり\[LKSUB][Tate no Yuusha no Nariagari][01-25][GB][720P][MP4]\[LKSUB][Tate no Yuusha no Nariagari][01][GB][720P].mp4"  
			
		
	
		
		
			
				
					
					#$Path = "H:\Data\Downloads\因為不是真正的夥伴而被逐出勇者隊伍\[Shin no Nakama][01][BIG5][1080P].mp4" $JsonPath  =  " $ Index\Anime\*  $ TargetName " ,  $ ( $Path  -replace  '(.*\\[^\[\\\]]*)\\\[.*' ,  '$1' )  |  ?  { Test-Path  $_ }  
			
				
				
			
		
	
		
		
			
				
					
					$JsonPath  =  $ ( " $ Index\Anime\*  $ TargetName " ,  $ ( $Path  -replace  '(.*\\[^\[\\\]]*)\\\[.*' ,  '$1' )  |  ?  { Test-Path  $_ } ) if  ( $RecorDB  -notmatch  " : " )  {  $RecorDB  =  " $ JsonPath\ $ RecorDB "  }  
			
				
				
			
		
	
		
		
			
				
					
					$WorkData  =  $ ( if  ( Test-Path  " $ JsonPath\animelibk.json " )  { $WorkData  =  $ ( if  ( Test-Path  $RecorDB )  {  
			
				
				
			
		
	
		
		
			
				
					
					    Get-Content  " $ JsonPath\animelibk.json "  |  ConvertFrom-Json      Get-Content  $RecorDB |  ConvertFrom-Json   
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					}  else  { }  else  {  
			
		
	
		
		
			
				
					
					    " "  |  select  ID ,  WorkName ,  TargetName ,  DestinName ,  Season ,  Episode      " "  |  Select-Object  ID ,  WorkName ,  TargetName ,  DestinName ,  Season ,  Episode   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					} ) } )  
			
		
	
		
		
			
				
					
					$RecorDB  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					# 確認資料狀態,缺少則進行物件資料建立 # 確認資料狀態,缺少則進行物件資料建立  
			
		
	
		
		
			
				
					
					if  ( -not ( $WorkData . WorkName ) )  { if  ( -not ( $WorkData . WorkName ) )  {  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -42,11 +88,26 @@ if (-not($WorkData.Episode)) { 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					$WorkData $WorkData  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					$Seasons_TC  =  " " ,  " 第一季 " ,  " 第二季 " ,  " 第三季 " ,  " 第四季 " ,  " 第五季 " # $Seasons_TC = "", "Seasons 1", "Seasons 2", "Seasons 3", "Seasons 4", "Seasons 5"  
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					$Lang  =  @ {  
			
		
	
		
		
			
				
					
					    Season  =  " Season {0:00} "   
			
		
	
		
		
			
				
					
					}  
			
		
	
		
		
			
				
					
					$Year  =  @ ( $ ( $JsonPath  -replace  '.*\\((?<Y>\d{4})?(?<M>\d{2})?).*$' ,  '${Y}' ) ,  $ ( get-date  -Format  'yyyy' ) )  |  ?  { -not ( [string] :: IsNullOrEmpty ( $_ ) ) }  |  Select  -First  1 $Year  =  @ ( $ ( $JsonPath  -replace  '.*\\((?<Y>\d{4})?(?<M>\d{2})?).*$' ,  '${Y}' ) ,  $ ( get-date  -Format  'yyyy' ) )  |  ?  { -not ( [string] :: IsNullOrEmpty ( $_ ) ) }  |  Select  -First  1  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					# 依目標檔案位置變更磁碟代號  
			
		
	
		
		
			
				
					
					$TargetDrive  =  Split-Path  -Path  $JsonPath  -Qualifier  
			
		
	
		
		
			
				
					
					if  ( Split-Path  -Path  $Index  -IsAbsolute )  {  
			
		
	
		
		
			
				
					
					    if  ( $Index  -notmatch  $TargetDrive )  {   
			
		
	
		
		
			
				
					
					        $Index2  =  Join-Path  -Path  $TargetDrive  -ChildPath  ( Split-Path  -Path  $Index  -noQualifier )   
			
		
	
		
		
			
				
					
					    }  else  {   
			
		
	
		
		
			
				
					
					        $Index2  =  $Index   
			
		
	
		
		
			
				
					
					    }   
			
		
	
		
		
			
				
					
					}  else  {  
			
		
	
		
		
			
				
					
					    $Index2  =  Join-Path  $TargetDrive  $Index   
			
		
	
		
		
			
				
					
					}  
			
		
	
		
		
			
				
					
					Write-Host  $Index2  
			
		
	
		
		
			
				
					
					# 取得目標資料夾是否存在,不存在建立資料夾,並取得資料夾物件 # 取得目標資料夾是否存在,不存在建立資料夾,並取得資料夾物件  
			
		
	
		
		
			
				
					
					$LinkPath  =  " {2}\{0}\{1} "  -f  $WorkData . DestinName ,  $Seasons_TC [ $WorkData . Season ] ,  $Index $LinkPath  =  " {2}\{0}\{1} "  -f  $WorkData . DestinName ,  $ ( $Lang [ " Season " ]  -f  $WorkData . Season ) ,  $Index2   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					$LinkDir  =  $ ( if  ( -not ( Test-Path  -Path  " $ LinkPath* " ) )  { $LinkDir  =  $ ( if  ( -not ( Test-Path  -Path  " $ LinkPath* " ) )  {  
			
		
	
		
		
			
				
					
					    New-Item  -Path  " $ LinkPath ( $ Year) "  -ItemType  Directory  -Force      New-Item  -Path  " $ LinkPath ( $ Year) "  -ItemType  Directory  -Force   
			
		
	
		
		
			
				
					
					}  else  { }  else  {  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -66,26 +127,14 @@ function Get-StandName { 
			
		
	
		
		
			
				
					
					        Get-Item  -Path  $ ( Edit-PathChar  $FileObj )          Get-Item  -Path  $ ( Edit-PathChar  $FileObj )   
			
		
	
		
		
			
				
					
					    } )      } )   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    # 因應檔名不同而設定多組正規方式      $Result  =  $File . Name  |  %  {  Get-NameRegex  $_  -Regex  $EpisodeRegex  }  |  %  {  $ ( Get-NameRegex  $_ [ " L " ]  -Regex  $NameRegex  -Exclude  " (BD|DVD|HDTV)RIP|BIG5 "  -End )  +  $_  }  |  Select  -First  1   
			
				
				
			
		
	
		
		
			
				
					
					    $EpisodeRegex  =  @ (   
			
		
	
		
		
			
				
					
					        " (?:S\d{2})?[\s]?-[\s]E?(?<Episode>\d{2}) "   
			
		
	
		
		
			
				
					
					        " [\[\b\s](?<Episode>\d{2})[\s_]?(?:[vV]\d|END|FIN)[\]\b\s] "   
			
		
	
		
		
			
				
					
					        " \[(?<Episode>\d{1,2})\w{2}\] "   
			
		
	
		
		
			
				
					
					        " \[(?<Episode>\d{1,2})\] "   
			
		
	
		
		
			
				
					
					    )   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    $NameRegex  =  @ (   
			
		
	
		
		
			
				
					
					        " [\[\b\s](?<Name>[^\[\]]*)[\]\b\s]? $ "   
			
		
	
		
		
			
				
					
					    )   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    $Result  =  $File . Name  |  %  {  Get-NameRegex  $_  -Regex  $EpisodeRegex  }  |  %  {  $ ( Get-NameRegex  $_ [ " L " ]  -Regex  $NameRegex  -Exclude  " (BD|DVD|HDTV)RIP "  -End )  +  $_  }  |  Select  -First  1   
			
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    # 建立回傳資料物件,以方便後續資料處理。      # 建立回傳資料物件,以方便後續資料處理。   
			
		
	
		
		
			
				
					
					    $OutputData  =  " "  |  Select  newName ,  Season ,  Episode ,  newFullName ;      $OutputData  =  " "  |  Select  newName ,  Season ,  Episode ,  newFullName ;   
			
		
	
		
		
			
				
					
					    $OutputData . newName  =  $Result . Name ;      $OutputData . newName  =  $Result . Name ;   
			
		
	
		
		
			
				
					
					    $OutputData . Season  =  $WorkData . Season ;      $OutputData . Season  =  $WorkData . Season ;   
			
		
	
		
		
			
				
					
					    $OutputData . Episode  =  [int]  $Result . Episode ;      $OutputData . Episode  =  [int]  $Result . Episode ;   
			
		
	
		
		
			
				
					
					    $OutputData . newFullName  =  " {0} S{3:00}E{1}{4}{2} "  -f  $Result . Name ,  $Result . Episode ,  $File . Extension ,  $WorkData . Season ,  $ ( if ( $Sub )  { " .default " } ) ;      $OutputData . newFullName  =  " {0} S{3:00}E{1}{4}{2} "  -f  $Result . Name ,  $Result . Episode ,  $File . Extension ,  $WorkData . Season ,  $ ( if ( $File . Extension  -in  $SubExt )  { " .default " } ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					           
			
		
	
		
		
			
				
					
					    return  $OutputData ;      return  $OutputData ;   
			
		
	
		
		
			
				
					
					} }  
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -115,17 +164,25 @@ if ($Single) { 
			
		
	
		
		
			
				
					
					    # 單集模式      # 單集模式   
			
		
	
		
		
			
				
					
					    $List  =  @ ( Get-Item  -Path  $ ( Edit-PathChar  $Path ) )      $List  =  @ ( Get-Item  -Path  $ ( Edit-PathChar  $Path ) )   
			
		
	
		
		
			
				
					
					    $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . NewName . Episode  -notin  $WorkData . Episode }      $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . NewName . Episode  -notin  $WorkData . Episode }   
			
		
	
		
		
			
				
					
					    #$BuildList | ? {$_.NewName.Episode -notin $WorkData.Episode} | Format-List        #$BuildList | ? {$_.NewName.Episode -notin $WorkData.Episode} | Format-List   
			
				
				
			
		
	
		
		
			
				
					
					}  elseif  ( $Sub )  { <#  } elseif ($Sub)  { 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					    $List  =  @ ( Get-Item  -Path  $ ( Edit-PathChar  $Path ) )      $List  =  @ ( Get-Item  -Path  $ ( Edit-PathChar  $Path ) )   
			
		
	
		
		
			
				
					
					    $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . File . Extension  -in  @ ( " .ass " ,  " .ssa " ) }      $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . File . Extension  -in  @ ( " .ass " ,  " .ssa " ) }  #>   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					}  elseif  ( $testrun )  {  
			
		
	
		
		
			
				
					
					    $List  =  @ ( Edit-PathChar  $Path  |  Get-Item  |  ?  {  $_ . GetType ( ) . Name  -eq  " FileInfo "  } )  +   
			
		
	
		
		
			
				
					
					        @ ( Edit-PathChar  $Path  |  Get-Item  |  ?  {  $_ . GetType ( ) . Name  -eq  " DirectoryInfo "  }  |  %  {  $_ . GetFiles ( )  } )   
			
		
	
		
		
			
				
					
					    $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj   
			
		
	
		
		
			
				
					
					    if  ( $Include  -ne  " " )  {  $BuildList  =  $BuildList  |  ?  { $_ . File . Extension  -in  $Include ,  $SubExt }  }   
			
		
	
		
		
			
				
					
					    if  ( -not ( $Force ) )  {  $BuildList  =  $BuildList  |  ?  { $_ . NewName . Episode  -notin  $WorkData . Episode }  }   
			
		
	
		
		
			
				
					
					}  else  {  
			
		
	
		
		
			
				
					
					    exit  0 ;   
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					$ENDResult  =  $BuildList  |  %  { $ENDResult  =  $BuildList  |  %  {  
			
		
	
		
		
			
				
					
					    $Command  =  @ {      $Command  =  @ {   
			
		
	
		
		
			
				
					
					        ItemType  =  'HardLink'          ItemType  =  'HardLink'   
			
		
	
		
		
			
				
					
					        Path  =  $ ( " {0}\{1} "  -f  $_ . StructPath ,  $_ . NewName . newFullName )          Path  =  $ ( " {0}\{1} "  -f  $_ . StructPath ,  $_ . NewName . newFullName )   
			
		
	
		
		
			
				
					
					        Target  =  $ ( Edit-PathChar  $_ . File . Fullname )          Target  =  $ ( Edit-PathChar  $_ . File . Fullname  -nowlid  )   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					    #try {      #try {   
			
		
	
		
		
			
				
					
					        if  ( New-Item  @Command )  {           if  ( New-Item  @Command )  {    
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -137,41 +194,7 @@ $ENDResult = $BuildList | % { 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					#$ENDResult #$ENDResult  
			
		
	
		
		
			
				
					
					#$ENDResult.gettype(); #$ENDResult.gettype();  
			
		
	
		
		
			
				
					
					if  ( -not ( $Sub ) )  {  $ENDResult  |  %  {  if  ( $_ . Episode )  {  $WorkData . Episode  + =  $_ . Episode  } } } #if (-not($Sub)) { $ENDResult | % { if ($_.Episode) { $WorkData.Episode += $_.Episode }}}  
			
				
				
			
		
	
		
		
			
				
					
					$WorkData  |  ConvertTo-Json  |  Out-File  -Encoding  " UTF8 "  " $ JsonPath\animelibk.json " $ENDResult  |  %  {  if  ( $_ . Episode )  {  $WorkData . Episode  + =  $_ . Episode  } }  
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					$WorkData  |  ConvertTo-Json  |  Out-File  -Encoding  " UTF8 "  $RecorDB  
			
		
	
		
		
			
				
					
					exit  0 ; exit  0 ;  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					##### 以下試寫或測試用 #####  
			
		
	
		
		
			
				
					
					# SIG # Begin signature block  
			
		
	
		
		
			
				
					
					# MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB  
			
		
	
		
		
			
				
					
					# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR  
			
		
	
		
		
			
				
					
					# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUnaUT7B6+atzTGRJLSX59DzPX  
			
		
	
		
		
			
				
					
					# fjGgggNSMIIDTjCCAjagAwIBAgIQdMnAQ4BDAo9Lgfn+QeDdhjANBgkqhkiG9w0B  
			
		
	
		
		
			
				
					
					# AQUFADAqMRMwEQYDVQQDDApOaWNrIENoYW5nMRMwEQYDVQQKDAplYXJpY2sub3Jn  
			
		
	
		
		
			
				
					
					# MB4XDTIxMTAzMTEwMDI1MVoXDTIyMTAzMTEwMjI1MVowMzEiMCAGCSqGSIb3DQEJ  
			
		
	
		
		
			
				
					
					# ARYTcGNuaWNrMTAwQGdtYWlsLmNvbTENMAsGA1UEAwwETmljazCCASIwDQYJKoZI  
			
		
	
		
		
			
				
					
					# hvcNAQEBBQADggEPADCCAQoCggEBAMEnEk3/5rkEMibDbbfOXQaerk5xXSJmY8gf  
			
		
	
		
		
			
				
					
					# FAVUbrGfjzYHcRsPRzdb/pstcZGS2XUCoX2a57lQhACStns9dXeYfWhzNeAiSEAy  
			
		
	
		
		
			
				
					
					# iaJzUj5ELcH5TzT+mjeJQX6upeHOexO1TmtuM6mugpl9SvNQFqbQXlPHHmoLE3OC  
			
		
	
		
		
			
				
					
					# UzzjEC0AkHkcSiLdqtmSbRmaomcDMbtJgZHUciWE/p6mmAbpv2R4rdKSYSiI8UsE  
			
		
	
		
		
			
				
					
					# UclzkeTNrYKmJNiM0R+X1LyZVY6HAHN8dR3tjBnEPYoPxRAz4d2FEajvumzosNUr  
			
		
	
		
		
			
				
					
					# ni9LROnRxQXa048ZcsNArNZDQXe+Rc+PWhzbqHhy8rBllgZ08XkCAwEAAaNnMGUw  
			
		
	
		
		
			
				
					
					# DgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMB8GA1UdIwQYMBaA  
			
		
	
		
		
			
				
					
					# FBXyUrhn78ppKe7GRmHS6vbsNae/MB0GA1UdDgQWBBRs5+Yfb/14jwpjUNpTUuR1  
			
		
	
		
		
			
				
					
					# 759t9TANBgkqhkiG9w0BAQUFAAOCAQEACSL1BqUcrqh+bBqr5rQ5mArCVxsBW92r  
			
		
	
		
		
			
				
					
					# HenPY48dKdhGgMODtxuo7osZLk7Il+aXhAsvNTSfmc92H5eDXFqZ565jm8r6FF1C  
			
		
	
		
		
			
				
					
					# f1oKxznmtxd4oyXflCRqBz+OGuXLq8dG9gWT7OisKWe0hifSMGaZ9afpNeiFLuD1  
			
		
	
		
		
			
				
					
					# GSGk5E0W+bUyezCmjOdNWYIW452brt8rJS21WWVVvrsGjgJoTdsoAkFek8OEm82+  
			
		
	
		
		
			
				
					
					# 1UR7xZOHybLvi8N0gvD+UFlVvcv6pmgUqaz5DS7J2si75Xj9pThE6/bPu/fkpc53  
			
		
	
		
		
			
				
					
					# gMbleXNaqXIKeJTbI5hi2crlKyXBe/GfuK0Tv+06S1sL32VAs1VwmjGCAd8wggHb  
			
		
	
		
		
			
				
					
					# AgEBMD4wKjETMBEGA1UEAwwKTmljayBDaGFuZzETMBEGA1UECgwKZWFyaWNrLm9y  
			
		
	
		
		
			
				
					
					# ZwIQdMnAQ4BDAo9Lgfn+QeDdhjAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEK  
			
		
	
		
		
			
				
					
					# MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3  
			
		
	
		
		
			
				
					
					# AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQUEzAOjNkB8uaWsHtC  
			
		
	
		
		
			
				
					
					# RUzsrJzTfYMwDQYJKoZIhvcNAQEBBQAEggEAnvzVdQvGridnk2wdfYs8SjLEZYhc  
			
		
	
		
		
			
				
					
					# K3b7zpo5sNczj/zEFSsCskDik+oJ7p+vRszo7WGNt2/vJsbFPsIROYkxzV5UdgZR  
			
		
	
		
		
			
				
					
					# BDTpQhcRLPSdw6kipbKk1MPD6nmpCqQ1BdsvALJH8BXxr8UlaYZMhLiUS8dVx1Vh  
			
		
	
		
		
			
				
					
					# Cr4zTBc1nmHf/QdLlNyHieCdCqwLam87yN03u9NXDqearWwP+Zh/58I+qCQjs3sU  
			
		
	
		
		
			
				
					
					# coB9S7DCjoMp0NCpntohLkB2ZyLXdfbQM4bNUqQra5bcZAUAx6pPaDucCAqVbTtY  
			
		
	
		
		
			
				
					
					# fhXHdsfH9i1gd2TQUYkMBW59QwWy3EyeC5eKkBO+aQUj+85PH8DQftKFsg==  
			
		
	
		
		
			
				
					
					# SIG # End signature block