<?xml version="1.0"?>
<ScriptProject Name="ScriptTask_4d82513e1d8a4a71821661239a26f33b" VSTAMajorVersion="3" VSTAMinorVersion="0" Language="VisualBasic">
  <ProjectItem Name="ScriptMain.vb" Encoding="UTF8">
<![CDATA[' Microsoft SQL Server Integration Services Script Task
'
' Copyright (c) 2006-2010 CozyRoc LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.ComponentModel
Imports System.Collections
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text
Imports System.Threading

Imports Microsoft.SqlServer.Dts.Runtime
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() { _
    "IsFileVariable", "FileVariable", "File", _
    "Algorithm", "ResultVariable"})> _
<FilterProperties("GetProperties")> _
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute> _
<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
	Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

	Enum ScriptResults
		Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
		Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
	End Enum


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Sub Main()
        Dim result As Integer

        Try
            ' Setup checksum provider.
            Dim checksumProvider As HashAlgorithm
            Select Case Me.Algorithm
                Case AlgorithmTypes.MD5
                    checksumProvider = New MD5CryptoServiceProvider()
                Case AlgorithmTypes.SHA1
                    checksumProvider = New SHA1CryptoServiceProvider()
                Case Else
                    Throw New Exception("Unhandled checksum algorithm.")
            End Select

            ' Compute checksum.
            Dim checksumBytes() As Byte
            Using fileStream As Stream = GetStream_(Me.File, Me.IsFileVariable)
                checksumBytes = checksumProvider.ComputeHash(fileStream)
            End Using

            ' Build checksum string.
            Dim sb As StringBuilder = New StringBuilder()
            For Each b As Byte In checksumBytes
                Call sb.Append(String.Format("{0:X2}", b))
            Next

            ' Store checksum.
            Call StoreResult_(sb.ToString())

            result = ScriptResults.Success
        Catch ex As Exception
            result = ScriptResults.Failure
            Call Dts.Events.FireError( _
                0, _
                String.Empty, _
                ex.Message, _
                String.Empty, _
                0)
        End Try

        Dts.TaskResult = result
    End Sub ' Main


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of current properties based on current state.
    Public Function GetProperties() As String()
        Dim result As New ArrayList

        ' Base properties.
        Call result.Add("IsFileVariable")
        Call result.Add("Algorithm")
        Call result.Add("ResultVariable")

        Call result.Add(IIf(Me.IsFileVariable, "FileVariable", "File"))

        Return CType(result.ToArray(GetType(String)), String())
    End Function    ' GetProperties


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean
        Dim props As Object()

        Try
            If String.IsNullOrEmpty(Me.File) Then
                Throw New ApplicationException("Please specify File.")
            End If

            If String.IsNullOrEmpty(Me.ResultVariable) Then
                Throw New ApplicationException("Please select result variable.")
            End If

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	File")> _
    <Description("Specifies if file is variable.")> _
    <RefreshProperties(RefreshProperties.All)> _
    Public Property IsFileVariable() As Boolean
        Get
            IsFileVariable = m_isFileVariable
        End Get
        Set(ByVal value As Boolean)
            If m_isFileVariable <> value Then
                m_isFileVariable = value
                m_file = String.Empty
            End If
        End Set
    End Property    ' IsFileVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	File")> _
    <Description("Select variable containing input file for checksum creation.")> _
    <Variable()> _
    Public Property FileVariable() As String
        Get
            FileVariable = m_file
        End Get
        Set(ByVal value As String)
            m_file = value
        End Set
    End Property    ' FileVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	File")> _
    <Description("Select input file for checksum creation.")> _
    <Connection("FileConnectionType")> _
    Public Property File() As String
        Get
            File = m_file
        End Get
        Set(ByVal value As String)
            m_file = value
        End Set
    End Property    ' File


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Checksum")> _
    <Description("Select checksum algorithm.")> _
    Public Property Algorithm() As AlgorithmTypes
        Get
            Algorithm = m_algorithm
        End Get
        Set(ByVal value As AlgorithmTypes)
            m_algorithm = value
        End Set
    End Property    ' Algorithm


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Checksum")> _
    <Description("Select package variable to store checksum.")> _
    <Variable()> _
    Public Property ResultVariable() As String
        Get
            ResultVariable = m_resultVar
        End Get
        Set(ByVal value As String)
            m_resultVar = value
        End Set
    End Property    ' ResultVariable

#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property FileConnectionType() As String()
        Get
            FileConnectionType = New String() {"FILE"}
        End Get
    End Property    ' FileConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetFilePath_(ByVal isVariable As Boolean, ByVal file As String) As String
        Dim result As String

        If isVariable Then
            result = GetVariable_(file)
        Else
            result = GetConnectionFile_(file)
        End If

        GetFilePath_ = result
    End Function    ' GetFilePath_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get variable value.
    Private Function GetVariable_(ByVal varName As String) As String
        Dim result As String
        Dim vars As Variables

        Call Dts.VariableDispenser.LockOneForRead(varName, vars)
        Try
            result = vars(varName).Value.ToString()
        Finally
            Call vars.Unlock()
        End Try

        GetVariable_ = result
    End Function    ' GetVariable_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetConnectionFile_(ByVal connName As String) As String
        Dim result As String

        result = Dts.Connections(connName).AcquireConnection(Nothing).ToString()

        GetConnectionFile_ = result
    End Function    ' GetConnectionFile_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Store provided value in specified ResultVariable.
    Private Sub StoreResult_(ByVal value As Object)
        Dim vars As Variables

        Call Dts.VariableDispenser.LockOneForWrite(Me.ResultVariable, vars)
        Try
            vars(Me.ResultVariable).Value = value
        Finally
            Call vars.Unlock()
        End Try
    End Sub ' StoreResult_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get Stream to source.
    Private Function GetStream_(ByVal input As String, ByVal isVar As Boolean) As Stream
        Dim result As Stream
        Dim vars As Variables
        Dim inputVar As Variable
        Dim fileName As String
        Dim manager As ConnectionManager

        If isVar Then
            ' User selected variable.
            Call Dts.VariableDispenser.LockOneForRead(input, vars)
            Try
                inputVar = vars(input)

                If inputVar.DataType = TypeCode.String Then
                    ' Variable references file name.
                    fileName = inputVar.Value.ToString()
                Else
                    ' Variable references a stream ?

                    ' Wait until input Stream is setup, polling every second.
                    Do While inputVar.Value.GetType() Is GetType(Object)
                        Call vars.Unlock()
                        Call Thread.Sleep(1000)
                        Call Dts.VariableDispenser.LockOneForRead(input, vars)
                        inputVar = vars(input)
                    Loop

                    result = CType(inputVar.Value, Stream)
                End If
            Finally
                Call vars.Unlock()
            End Try
        Else
            ' User selected file connection.
            manager = Dts.Connections(input)
            fileName = manager.AcquireConnection(Nothing).ToString()
        End If

        If Not String.IsNullOrEmpty(fileName) AndAlso System.IO.File.Exists(fileName) Then
            ' Input is file name.
            result = System.IO.File.OpenRead(fileName)
        End If

        GetStream_ = result
    End Function    ' GetStream_

#End Region ' Internals


#Region "Attributes"
    Public Enum AlgorithmTypes
        MD5
        SHA1
    End Enum    ' AlgorithmTypes

    Private m_isFileVariable As Boolean
    Private m_file As String
    Private m_algorithm As AlgorithmTypes
    Private m_resultVar As String
#End Region ' Attributes
End Class   ' ScriptMain]]></ProjectItem>
  <ProjectItem Name="ScriptTask_4d82513e1d8a4a71821661239a26f33b.vbproj" Encoding="UTF16LE">
<![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{435E55F1-87E9-4648-81B7-2DD2AC76C810}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptTask_4d82513e1d8a4a71821661239a26f33b</RootNamespace>
    <AssemblyName>ScriptTask_4d82513e1d8a4a71821661239a26f33b</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <OptionCompare>Binary</OptionCompare>
    <OptionExplicit>On</OptionExplicit>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\CozyRoc.SSISPlus.2014.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Data">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="ScriptTask" />
        <ProjectClient>
          <HostIdentifier>SSIS_ST120</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
</Project>]]></ProjectItem>
  <ProjectItem Name="Project" Encoding="UTF16LE">
<![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:Language>msBuild</msb:Language>
		<msb:CodeName>ScriptTask_4d82513e1d8a4a71821661239a26f33b</msb:CodeName>
		<msb:DisplayName>ScriptTask_4d82513e1d8a4a71821661239a26f33b</msb:DisplayName>
		<msb:ProjectId>{634E6A3C-E75A-48A7-A204-3009ABE2242F}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptTask_4d82513e1d8a4a71821661239a26f33b.vbproj"/>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
	</msb:ItemGroup>
</c:Project>]]></ProjectItem>
  <BinaryItem Name="ScriptTask_4d82513e1d8a4a71821661239a26f33b.dll">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
AAAAABMwAgAhAAAAFwAAEQJvKQAACm87AAAKA288AAAKFG89AAAKbxUAAAoLBwoGKgAAABswAwA5
AAAAGAAAEQJvKQAACm82AAAKAm8dAAAGEgBvPgAACgYCbx0AAAZvOAAACgMoEQAACm8/AAAK3gcG
bzoAAArcKgAAAAEQAAACABgAGTEABwAAAAAbMAMA0wAAABkAABEEOZEAAAACbykAAApvNgAACgMS
BW83AAAKEQUDbzgAAAoMCG9AAAAKHxIzOwhvOQAACm8VAAAKCt58EQVvOgAACiDoAwAAKEEAAAoC
bykAAApvNgAACgMSBW83AAAKEQUDbzgAAAoMCG85AAAKb0IAAArQAwAAASgUAAAKLrwIbzkAAAp0
CAAAARME3ikRBW86AAAK3CsfAm8pAAAKbzsAAAoDbzwAAAoNCRRvPQAACm8VAAAKCgYoNAAACi0Q
BihDAAAKLAgGKEQAAAoTBBEECwcqAAEQAAACABkAdI0ACAAAAABCU0pCAQABAAAAAAAMAAAAdjQu
MC4zMDMxOQAAAAAFAGwAAAAQCgAAI34AAHwKAAAUDAAAI1N0cmluZ3MAAAAAkBYAADQBAAAjVVMA
xBcAABAAAAAjR1VJRAAAANQXAABUBQAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDgAAAPolMwAWAAAB
AAAAOwAAAAkAAAAPAAAAJAAAABAAAABRAAAABAAAADoAAAAZAAAAAwAAAAsAAAAQAAAACgAAAAEA
AAAGAAAABAAAAAMAAAACAAAAAADiCwEAAAAAAAoAIgH4AAoAVgE4AQYAZgFfAQoAvgH4AAYAPAJf
AQoAvgKUAg4AKwMCAwYAjASCBAYAJwVfARIAYwVNBRIAfAVNBRIAqQWRBQYA0wXABQoAEgbrBQoA
KgYTABIAXwZCBgYAlAZ0BgYAsgZfAQYA1gZfAQoA7wYTAAYAPQceBwYAbgdRBwYAiAd8BwYAlgdf
AQYAoAdRBwYAuQdRBwYA3wdfAQYA8wdfAQYA+AdfAQoADQjrBQ4AKQgCAw4AQwgCAwYAsgifCAoA
wAgTAAYA0AhfAQYA7AhfARYAQAkgCRYASgkgCRYAgQkgCRYAmgkgCRYAtgkgCQYA6glfAQYAEQoA
CgYA9gSCBAYAJQqCBAYAOQpfAQ4ATwoCAxoAqQqHChoAxQqHChoA3wqHChoA9wqHChIACwtNBRIA
IAtNBRoAMguHChIARAtNBRIAXwtNBQYAcQt0BgYAkQt0BgYAyQuvCwAAAAABAAAAAAABAAEAAAAA
ACkANwAFAAEAAQAAAAAAZgA3AAkAAQACAAABEABxADcADQABAAMABQEAAHsAAAANAAUACAAFAQAA
iQAAAA0ABQAPAAEAAACkAK8AHQAGABEAAgEAANsAAAAlAAoAJQACAQAA6QAAACUADQAlADEAgQEg
ADEAqgEtADEAzAE6ADEA8QFHACEAzQKQAAEAqgThAAEAuwTkAAEAwgTnAAEAzgTkAAYGLAX9AFaA
NAUAAVaAPAUAAQYGLAX9AFaARAXnAFaASAXnAFAgAAAAAAYYMgETAAEAWCAAAAAABhgyARMAAQBg
IAAAAAARGG0BFwABAIwgAAAAABMIdAEbAAEApCAAAAAAEwiaASgAAQC8IAAAAAATCMMBNQABANQg
AAAAABMI4QFCAAEA7CAAAAAARgInAmMAAQAIIQAAAABGAjACaAACABwhAAAAAIMAQQJsAAIANCEA
AAAARgJJAnEAAgBIIQAAAAARAFICeAACAGQhAAAAAAEAcAKAAAMAgCEAAAAABhgyARMABACIIQAA
AAADCIQCiwAEALwhAAAAAAYYMgETAAQA0CEAAAAABhgyARMABADYIQAAAAAGAEcDEwAEAOgiAAAA
AAYATAOmAAQAWCMAAAAABgBaA6sABADEIwAAAAAGCG4DsQAFANwjAAAAAAYIgQO1AAUA/CMAAAAA
BgiaA3EABgAUJAAAAAAGCKsDugAGACAkAAAAAAYIvANxAAcAOCQAAAAABgjFA7oABwBEJAAAAAAG
CM4DvwAIAFwkAAAAAAYI3APEAAgAaCQAAAAABgjqA3EACQCAJAAAAAAGCP0DugAJAIwkAAAAAAEI
EASmAAoArCQAAAAAAQAnBMoACgDUJAAAAAABAEQE0AAMACQlAAAAAAEAWQTQAA0AVCUAAAAAAQB1
BNUADgCsJQAAAAABAJME2gAPAAAAAQAuAgAAAQBnAgAAAQBnAgAAAQBjAwAAAQCUAwAAAQCUAwAA
AQCUAwAAAQCUAwAAAQCUAwAAAQA0BAAAAgA/BAAAAQBRBAAAAQBsBAAAAQCUAwAAAQCeBAAAAgCk
BAkAMgETAFEAMgEOAWEAMgEdAREAMgETAGkAMgETACQAMgETACwAMgETADQAMgETADwAMgETACQA
hAKLACwAhAKLADQAhAKLADwAhAKLAHEAMgETAHkAMgETAIEAMgG6AIkAowayARkAJwJjABkAMAJo
ACkAxAa/ARkASQJxAJkA4AbPARkAMgETAKEAMgHfAUQAzQKQAEwACgeLAEwAFAdcAkwAMgETAKkA
MgG1ADkAMgETAMkAMgETANEAMgETAMEAMgG6ALEA0wdxAtkA6wcTALkAMgETAOkA/wd4ArkABgh+
ArkASQJxAPEAGQiEAjkAOwiKAvkAVwiPAukAYgjkAMEAaAhxAAEBdAiVAvEAfggXAPkAkAieAgkB
MgETAAkBvAi3AhEBzAi8AgkB1gjDAukA3gjWAiEBMgG6APkAXAn1AjEBcgn7AikBigkEAzkBCgcL
AykBkwkTAPkApgkXA0EBigkdA0kByAkkAzEB2gn7AjkBFAfVADkB8wkvA1kBGAo1AxkAQQJsAGEB
HgrWAmEBMAo6A3EBMgG1AHkBMgETAIEBMgG6AIkBMgG6AJEBMgF8A5kBMgG6AKEBMgG6AKkBMgG6
ALEBMgETALkBMgG2BMkBMgGeAtEBMgETANkBMgG6AAgALAAEAQgAMAAJAQgAOAAEAQgAPAAJASkA
gwCAAS4AewLhBC4AgwLqBC4AiwIJBUAAEwAUAUAAKwAJAUMAGwAjAUMAEwAUAUkAgwCeAWMAEwAU
AWMAGwAjAWkAgwCRAYAAKwAJAYMAewAJAYMAcwAJAYMAGwAjAYkAgwBsAaAAKwAJAaMAwwDnAaMA
EwAUAcAAKwAJAcMAEwAUAcMA6wBrAskAcwIUAckAWwK9BMkAYwILBOAAKwAJAeMAQwJpA+MAMwIJ
AeMASwKCA+MAOwJbA+MAKwJrAukAWwJ0BOkAawIJAekAYwILBAABEwAUAQABKwAJAQkBYwILBAkB
WwLdAwkBUwLFAyABKwAJASABEwAUASkBYwJGBCkBWwJUBEABEwAUAUABKwAJAUkBYwJGBEkBWwIW
BEkBawIJAWABEwAUAWABKwAJAYABKwAJAaABKwAJAcABEwAUAcABKwAJAeABKwAJAQACKwAJAQAC
EwAUAVgBXQFiAWcBtwG7AcYBywHaAdoBYgKjAs4C2wK3AcsBywHkAssB6QLwAg8D8AIpA0EDBAAB
AAYABQAHAAYAAABWAU8AAAAPAlQAAAC+AVkAAAAbAl4AAADXApgAAADaBOsAAADpBO8AAAD2BO8A
AAD7BPMAAAAFBe8AAAAUBfgAAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgAVAA0AAQAW
AA0AAgAXAA8AAQAYAA8AAgAZABEAAQAaABEAAgAbABMAAQAcABMAAgAdABUAAQAeABUAAgAfABcA
dQB1AIgAPAFDAUoBUQFJAlACywIEgAAAAAAAAAAAAAAAAAAAAACvAAAABAAAAAAAAAAAAAAAAQAK
AAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAwAAAAAAAAAAAAAAJ0A4wIAAAAABAAAAAAAAAAAAAAA
AQBfAQAAAAAMAAAAAAAAAAAAAACdAAEJAAAAAAEAAAAAAAAAAAAAAFIDcQoAAAAABQAEAAYABAAI
AAcACQAHAAAAEAAMAGUCAAAQABkAZQIAAAAAGwBlAi0A1QEtAFcCAAAAAAA8TW9kdWxlPgBtc2Nv
cmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRUYXNrXzRkODI1
MTNlMWQ4YTRhNzE4MjE2NjEyMzlhMjZmMzNiLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2Vi
U2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3ZpZGVyYDEAU2NyaXB0TWFpbgBTY3JpcHRUYXNr
XzRkODI1MTNlMWQ4YTRhNzE4MjE2NjEyMzlhMjZmMzNiAFNjcmlwdFJlc3VsdHMAQWxnb3JpdGht
VHlwZXMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRp
b25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3Rl
bQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0
X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmpl
Y3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIA
QXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBl
AFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNl
X18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVy
bmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBNaWNyb3NvZnQuU3FsU2Vy
dmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFzawBW
U1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBHZXRQcm9wZXJ0aWVzAFZhbGlkYXRlAGVy
ck1lc3NhZ2UAZ2V0X0lzRmlsZVZhcmlhYmxlAHNldF9Jc0ZpbGVWYXJpYWJsZQB2YWx1ZQBnZXRf
RmlsZVZhcmlhYmxlAHNldF9GaWxlVmFyaWFibGUAZ2V0X0ZpbGUAc2V0X0ZpbGUAZ2V0X0FsZ29y
aXRobQBzZXRfQWxnb3JpdGhtAGdldF9SZXN1bHRWYXJpYWJsZQBzZXRfUmVzdWx0VmFyaWFibGUA
Z2V0X0ZpbGVDb25uZWN0aW9uVHlwZQBHZXRGaWxlUGF0aF8AaXNWYXJpYWJsZQBmaWxlAEdldFZh
cmlhYmxlXwB2YXJOYW1lAEdldENvbm5lY3Rpb25GaWxlXwBjb25uTmFtZQBTdG9yZVJlc3VsdF8A
U3lzdGVtLklPAFN0cmVhbQBHZXRTdHJlYW1fAGlucHV0AGlzVmFyAG1faXNGaWxlVmFyaWFibGUA
bV9maWxlAG1fYWxnb3JpdGhtAG1fcmVzdWx0VmFyAElzRmlsZVZhcmlhYmxlAEZpbGVWYXJpYWJs
ZQBGaWxlAEFsZ29yaXRobQBSZXN1bHRWYXJpYWJsZQBGaWxlQ29ubmVjdGlvblR5cGUARW51bQB2
YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBNRDUAU0hBMQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRp
dG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9t
LkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVn
Z2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2Vz
AFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5D
b21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUu
Q29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlw
ZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91
cENvbGxlY3Rpb25BdHRyaWJ1dGUAZ2V0X1ZhbHVlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5J
bnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRv
Z3JhcGh5AEhhc2hBbGdvcml0aG0AU3lzdGVtLlRleHQAU3RyaW5nQnVpbGRlcgBFeGNlcHRpb24A
TUQ1Q3J5cHRvU2VydmljZVByb3ZpZGVyAFNIQTFDcnlwdG9TZXJ2aWNlUHJvdmlkZXIAQ29tcHV0
ZUhhc2gASURpc3Bvc2FibGUARGlzcG9zZQBCeXRlAFN0cmluZwBGb3JtYXQAQXBwZW5kAFByb2pl
Y3REYXRhAFNldFByb2plY3RFcnJvcgBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAEV2ZW50c09i
amVjdFdyYXBwZXIAZ2V0X0V2ZW50cwBFbXB0eQBnZXRfTWVzc2FnZQBGaXJlRXJyb3IAQ2xlYXJQ
cm9qZWN0RXJyb3IAc2V0X1Rhc2tSZXN1bHQAU3lzdGVtLkNvbGxlY3Rpb25zAEFycmF5TGlzdABB
ZGQASW50ZXJhY3Rpb24ASUlmAEFycmF5AFRvQXJyYXkASXNOdWxsT3JFbXB0eQBBcHBsaWNhdGlv
bkV4Y2VwdGlvbgBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNl
cnZlci5EdHMuUnVudGltZQBWYXJpYWJsZXMAVmFyaWFibGVEaXNwZW5zZXIAZ2V0X1ZhcmlhYmxl
RGlzcGVuc2VyAExvY2tPbmVGb3JSZWFkAFZhcmlhYmxlAGdldF9JdGVtAFVubG9jawBDb25uZWN0
aW9ucwBnZXRfQ29ubmVjdGlvbnMAQ29ubmVjdGlvbk1hbmFnZXIAQWNxdWlyZUNvbm5lY3Rpb24A
TG9ja09uZUZvcldyaXRlAFR5cGVDb2RlAGdldF9EYXRhVHlwZQBTeXN0ZW0uVGhyZWFkaW5nAFRo
cmVhZABTbGVlcABFeGlzdHMARmlsZVN0cmVhbQBPcGVuUmVhZABDTFNDb21wbGlhbnRBdHRyaWJ1
dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAENvenlSb2MuU1NJU1BsdXMuMjAx
NABDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0
cmlidXRlAEZpbHRlclByb3BlcnRpZXNBdHRyaWJ1dGUAU29ydFByb3BlcnRpZXNBdHRyaWJ1dGUA
Q29ubmVjdGlvbkF0dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBDYXRlZ29yeUF0dHJpYnV0
ZQBWYXJpYWJsZUF0dHJpYnV0ZQBSZWZyZXNoUHJvcGVydGllc0F0dHJpYnV0ZQBSZWZyZXNoUHJv
cGVydGllcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmls
aXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0
cmlidXRlAFNjcmlwdFRhc2tfNGQ4MjUxM2UxZDhhNGE3MTgyMTY2MTIzOWEyNmYzM2IuZGxsAAAA
ADtVAG4AaABhAG4AZABsAGUAZAAgAGMAaABlAGMAawBzAHUAbQAgAGEAbABnAG8AcgBpAHQAaABt
AC4AAA17ADAAOgBYADIAfQAAHUkAcwBGAGkAbABlAFYAYQByAGkAYQBiAGwAZQAAE0EAbABnAG8A
cgBpAHQAaABtAAAdUgBlAHMAdQBsAHQAVgBhAHIAaQBhAGIAbABlAAAZRgBpAGwAZQBWAGEAcgBp
AGEAYgBsAGUAAAlGAGkAbABlAAApUABsAGUAYQBzAGUAIABzAHAAZQBjAGkAZgB5ACAARgBpAGwA
ZQAuAAA9UABsAGUAYQBzAGUAIABzAGUAbABlAGMAdAAgAHIAZQBzAHUAbAB0ACAAdgBhAHIAaQBh
AGIAbABlAC4AAAlGAEkATABFAAAAAAA4d7mnCOlASaHR573E0RGxAAi3elxWGTTgiQiwP19/EdUK
OgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQHBhUS
GAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAHMAEB
ARAeAAITAAQgABMABwYVEhkBEwAEKAATAAiJhF3NgIDMkQQgAB0OBSABAhAOAyAAAgQgAQECBCAB
AQ4EIAARJAUgAQERJAUgAg4CDgQgAQ4OBCABARwGIAISIQ4CAgYCAgYOAwYRJAMoAAIDKAAOBCgA
ESQEKAAdDgIGCAMGESAEAAAAAAQBAAAABSABAREtCAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxh
dGUIMTAuMC4wLjAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEE
BwESFBMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAAEwEA
Dk15LkFwcGxpY2F0aW9uAAAEAAEcHAMHAQIDBwEIBgABEhURSQQHARIVAwcBDgUQAQAeAAQKAR4A
BAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENs
aWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUS
GAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAUBAAAAAAYgAR0FEiEFAAIODhwFIAESXQ4F
AAEBEmEEIAASfQUgABKAgQggBQIIDg4OCAQgAQEIEwcKCB0FElkSXRIhBRJhESQIHQUEIAEIHAYA
AxwCHBwHIAESgI0SFQIdDgcHAh0OEoCFBAABAg4IBwQdHAICEmEEBwERJAYHAh0OHQ4EBwIODgUg
ABKAmQggAgEOEBKAlQYgARKAnRwDIAAcBwcDDg4SgJUFIAASgKEGIAESgKUcBCABHBwFBwESgJUF
IAARgKkEAAEBCAYAARKAtQ4QBwYOEiESgJ0SgKUSIRKAlQgWz0kLuAw06g0BAAhWYWxpZGF0ZQAA
EgEADUdldFByb3BlcnRpZXMAAAUgAQEdDkIBAAUAAAAOSXNGaWxlVmFyaWFibGUMRmlsZVZhcmlh
YmxlBEZpbGUJQWxnb3JpdGhtDlJlc3VsdFZhcmlhYmxlAAAXAQASRmlsZUNvbm5lY3Rpb25UeXBl
AAAtAQAoU2VsZWN0IGlucHV0IGZpbGUgZm9yIGNoZWNrc3VtIGNyZWF0aW9uLgAACgEABQlGaWxl
AAAvAQAqU2VsZWN0IHBhY2thZ2UgdmFyaWFibGUgdG8gc3RvcmUgY2hlY2tzdW0uAAANAQAIQ2hl
Y2tzdW0AAB8BABpTZWxlY3QgY2hlY2tzdW0gYWxnb3JpdGhtLgAAQQEAPFNlbGVjdCB2YXJpYWJs
ZSBjb250YWluaW5nIGlucHV0IGZpbGUgZm9yIGNoZWNrc3VtIGNyZWF0aW9uLgAABiABARGA4SMB
AB5TcGVjaWZpZXMgaWYgZmlsZSBpcyB2YXJpYWJsZS4AAAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5v
bkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQOFEZyYW1l
d29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQAAADsQwAAAAAAAAAAAAAORAAAACAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29y
ZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAA
GAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADU
AgAAAAAAAAAAAADUAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAA
AQAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQBy
AEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAE
NAIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAEAIAAAEAMAAwADAAMAAwADQAYgAw
AAAALAACAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkA
bABlAFYAZQByAHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACAADAAAQBJAG4AdABlAHIAbgBh
AGwATgBhAG0AZQAAAFMAYwByAGkAcAB0AFQAYQBzAGsAXwA0AGQAOAAyADUAMQAzAGUAMQBkADgA
YQA0AGEANwAxADgAMgAxADYANgAxADIAMwA5AGEAMgA2AGYAMwAzAGIALgBkAGwAbAAAACgAAgAB
AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACIADAAAQBPAHIAaQBnAGkAbgBhAGwA
RgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADQAZAA4ADIANQAxADMAZQAx
AGQAOABhADQAYQA3ADEAOAAyADEANgA2ADEAMgAzADkAYQAyADYAZgAzADMAYgAuAGQAbABsAAAA
NAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMAAuADAALgAwAC4AMAAAADgACAAB
AEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAwAC4AMAAuADAALgAwAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAACA0AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</BinaryItem>
</ScriptProject>