<component id="2" name="Dynamics CRM Convert" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="9" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="30"><arrayElement dataType="System.String"><![CDATA[My Project\AssemblyInfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following 
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_27066129643e4440b6ab85fdba8b2066.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_27066129643e4440b6ab85fdba8b2066.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2016")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 

<Assembly: ComVisible(False)> 

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("60659a1d-54db-4fd7-a27b-852f1a8578fd")> 

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

    Public ReadOnly Property CrmConnection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManager
        End Get
    End Property

End Class

Public Class Variables

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class InputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public WriteOnly Property [OutputId]() As Guid
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [OutputId_IsNull] As Boolean
        Set
            If (value)
                SetNull(0)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {"OutputId"}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[main.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' COZYROC SQL Server Integration Services user script component
'
' Copyright (c) 2006-2016 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.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CozyRoc.Dynamics.Crm
Imports CozyRoc.Dynamics.Crm2011.OrganizationService


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ValidateProperties("Validate")> _
<ColumnMappings()> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            Dim req As New OrganizationRequest

            Dim type As String = Convert.ToString(GetBufferValue_(Row.Buffer, m_typeIndex))
            Select Case type.ToLower()
                Case "opportunity"
                    ' https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.generatequotefromopportunityrequest.aspx?f=255&MSPPError=-2147217396
                    req.RequestName = "GenerateQuoteFromOpportunity"
                    req("OpportunityId") = New Guid(Convert.ToString(Row.Buffer(m_idIndex)))

                Case "salesorder"
                    ' https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.convertsalesordertoinvoicerequest.aspx
                    req.RequestName = "ConvertSalesOrderToInvoice"
                    req("SalesOrderId") = New Guid(Convert.ToString(Row.Buffer(m_idIndex)))

                Case "team"
                    ' https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.convertownerteamtoaccessteamrequest.aspx
                    req.RequestName = "ConvertOwnerTeamToAccessTeam"
                    req("TeamId") = New Guid(Convert.ToString(Row.Buffer(m_idIndex)))

                Case Else
                    Throw New Exception(String.Format("Unhandled convert type: {0}", type))
            End Select

            ' Execute action.
            Dim res As OrganizationResponse = m_service.Execute(req)
            Dim entity As Entity = CType(res("Entity"), Entity)
            If Not entity Is Nothing Then
                Row.OutputId = entity.Id
            End If
        Catch ex As SoapException
            Call FireError_(ex.Detail.InnerXml)
        Catch ex As Exception
            Call FireError_(ex.Message)
        End Try
    End Sub ' Input_ProcessInputRow


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PreExecute()
        Call MyBase.PreExecute()

        ' Setup CRM service.
        m_connection = CType( _
            Me.Connections.CrmConnection.AcquireConnection(Nothing), _
            IConnection)
        Call m_connection.Connect()

        m_service = CType(m_connection.GetService(0), OrganizationServiceClient)   ' 0 - CRM Service

        ' Get input column indexes.
        m_typeIndex = GetColumnIndex_("Type")
        m_idIndex = GetColumnIndex_("InputId")
    End Sub ' PreExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PostExecute()
        Call MyBase.PostExecute()

        Call m_connection.Close()
        m_typeIndex = -1
        m_idIndex = -1
    End Sub ' PostExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean

        Try
            If String.IsNullOrEmpty(Me.CrmConnection) Then
                Throw New Exception("Select Dynamics CRM Connection.")
            End If

            Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
            If input.IsAttached Then
                Dim inputCol As IDTSInputColumn100 = Nothing

                inputCol = GetInputColumn_("Type")
                If inputCol Is Nothing Then
                    Throw New Exception("Type column is not mapped.")
                End If

                inputCol = GetInputColumn_("InputId")
                If inputCol Is Nothing Then
                    Throw New Exception("InputId column is not mapped.")
                End If
            End If

            ' Store connection information in the runtime connection collection, too.
            ' Cannot directly use RuntimeConnectionCollection in the property get/set
            ' because of issues with multi-threading.
            Me.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManagerID = Me.CrmConnection

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub ReinitializeMetaData()
        Call MyBase.ReinitializeMetaData()

        If MyBase.ComponentMetaData.InputCollection.Count = 0 Then
            ' At least one input must exist.
            Throw New Exception("No inputs.")
        End If

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)

        ' Cleanup.
        input.ExternalMetadataColumnCollection.IsUsed = True
        Call input.InputColumnCollection.RemoveAll()
        Call input.ExternalMetadataColumnCollection.RemoveAll()

        Dim column As IDTSExternalMetadataColumn100

        ' Setup Type column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "Type"
        column.DataType = DataType.DT_WSTR
        column.Length = 10

        ' Setup InputId column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "InputId"
        column.DataType = DataType.DT_GUID
    End Sub ' ReinitializeMetaData


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select Dynamics CRM Connection Manager.")> _
    <Connection("CrmConnectionType")> _
    Public Property CrmConnection() As String
        Get
            CrmConnection = m_crmConnection
        End Get
        Set(ByVal value As String)
            m_crmConnection = value
        End Set
    End Property    ' CrmConnection
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property CrmConnectionType() As String()
        Get
            CrmConnectionType = New String() {"DYNAMICS-CRM"}
        End Get
    End Property    ' CrmConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Dynamics CRM Convert", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetInputColumn_(ByVal externalName As String) As IDTSInputColumn100
        Dim result As IDTSInputColumn100 = Nothing
        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim extColumn As IDTSExternalMetadataColumn100 = input.ExternalMetadataColumnCollection(externalName)

        ' Find input column for specified external column.
        For Each inputCol As IDTSInputColumn100 In input.InputColumnCollection
            If inputCol.ExternalMetadataColumnID = extColumn.ID Then
                ' Found input column.
                result = inputCol
                Exit For
            End If
        Next

        GetInputColumn_ = result
    End Function    ' GetInputColumn_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetColumnIndex_(ByVal externalName As String) As Integer
        Dim result As Integer = -1

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim inputCol As IDTSInputColumn100 = GetInputColumn_(externalName)
        If Not inputCol Is Nothing Then
            result = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inputCol.LineageID)
        End If

        GetColumnIndex_ = result
    End Function    ' GetColumnIndex_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetBufferValue_( _
        ByVal buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer, _
        ByVal index As Integer) As Object

        Dim result As Object = Nothing

        If index <> -1 AndAlso Not buffer.IsNull(index) Then
            result = buffer(index)
        End If

        GetBufferValue_ = result
    End Function    ' GetBufferValue_
#End Region ' Internals


#Region "Attributes"
    Private m_crmConnection As String

    Private m_connection As IConnection
    Private m_service As OrganizationServiceClient
    Private m_idIndex As Integer
    Private m_typeIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![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>scriptcomponent_27066129643e4440b6ab85fdba8b2066</msb:CodeName>
		<msb:DisplayName>scriptcomponent_27066129643e4440b6ab85fdba8b2066</msb:DisplayName>
		<msb:ProjectId>{54FC4913-3FDD-46CA-B7D3-4867E67C83CC}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="scriptcomponent_27066129643e4440b6ab85fdba8b2066.vbproj"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.settings"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

    <System.Diagnostics.DebuggerNonUserCode()> _
    Public Shared ReadOnly Property Value() As MySettings
        Get
            If (MySettings.m_Value Is Nothing) Then
                System.Threading.Monitor.Enter(MySettings.m_SyncObject)
                If (MySettings.m_Value Is Nothing) Then
                    Try
                        MySettings.m_Value = New MySettings
                    Finally
                        System.Threading.Monitor.Exit(MySettings.m_SyncObject)
                    End Try
                End If
            End If
            Return MySettings.m_Value
        End Get
    End Property
End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[scriptcomponent_27066129643e4440b6ab85fdba8b2066.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_27066129643e4440b6ab85fdba8b2066.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_27066129643e4440b6ab85fdba8b2066.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{66A99D5B-481E-4C76-B20B-560F558C751D}</ProjectGuid>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_12.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=12.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=12.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=12.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=12.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <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>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <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="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC120</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_27066129643e4440b6ab85fdba8b2066.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
KgAAAB4CKBcAAAoqEzACAC0AAAAaAAARfg8AAAQtIHJqAwBw0AwAAAIoFAAACm9oAAAKc2kAAAoL
B4APAAAEfg8AAAQqAAAAEzABAAYAAAAbAAARfhAAAAQqAAAeAoAQAAAEKkJzFwAACigRAAAKgBIA
AAQqAAAAHgIoagAACiobMAEAPwAAABwAABF+EQAABC0yfhIAAAQoEQAACihrAAAKfhEAAAQtHHMx
AAAGgBEAAATeEH4SAAAEKBEAAAoobAAACtx+EQAABCoAARAAAAIAHQAMKQAQAAAAALQAAADOyu++
AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNp
b249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRl
MDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGltZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFE
ULQAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwAAABoDQAAI34AANQNAABcEgAA
I1N0cmluZ3MAAAAAMCAAAJwDAAAjVVMAzCMAABAAAAAjR1VJRAAAANwjAACQBQAAI0Jsb2IAAAAA
AAAAAgAAAVcVogkJDwAAAPolMwAWAAABAAAATgAAAA0AAAASAAAAMgAAABsAAAB4AAAAPgAAABwA
AAAHAAAADwAAABEAAAAJAAAAAQAAAAwAAAABAAAAAgAAAAMAAAACAAAAAAAdEgEAAAAAAAoAqQF/
AQoA3QG/AQYA7QHmAQoARQJ/AQYAwwLmAQoARQMbAw4AlwOAAxIA5gPFAxYAFwTFAxIAJgTFAwYA
dwTmAQ4ADwWAAxoAygWiBR4A0QaoBg4AUwc+ByIAqgd9BwYABwj2BwYANAgfCCYAlQiACCYA4gjM
CCYA+wjMCCYAKAkQCQYAUgk/CQoAkQlqCQoAqQkTACYA3gnBCQYAEwrzCQYAMQrmAQYAVQrmAQoA
bgoTAAYAsgqTCgYAxgrmAQYA3grmARIA+ArFAwYABQvmAR4AGwuoBh4ASguoBh4AdQuoBh4Akguo
Bh4A1QuoBiIABAx9ByIACwx9ByIAHwx9ByoAZgxIDAYAdAzmAQYAiQzmAQoAmQxqCS4AdwTmAQoA
1wxqCTIA/gzzDAYAdQ3mAR4Aog2oBh4Ayg2oBh4AIg6oBhoAcA6iBQYAtA6hDgYAAA/mARYAFA/F
Ax4AOA+oBhIAig/FAw4A0w+xDw4A6w+xDw4ABxCxDyYAGxDMCAYAQhAwEAYAaRBYEAYAfBA/CQYA
5RDzCQYABRHzCQYAPREjEQYAVhEwEAYAcxGTCgYAgREwEAYAnBEwEAYAtxEwEAYA0BEwEAYA6REw
EAYABhIwEAAAAAABAAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAcgA3AAkAAQACAAABEAB9ADcA
DQABAAMABQEAAIcAAAANAAUACAAFAQAAlQAAAA0ABQAPAAEAAACwALwAHQAGABEAAQAAAPQAvAAx
AAYAGAABAAAAAgG8AA0ACAAcAAEAAAAOAbwADQAJAB4AAQAAABgBvAAgAAoAHwAAAAAAIwEvAQ0A
DwAsAAABEAB0AbwATQARADAAMQAIAiAAMQAxAi0AMQBTAjoAMQB4AkcAIQBUA5AABgACAd0ABgAO
AeEAAQBvBfUAAQBvBfUAAQAuByYBAQBfBykBAQDEBy0BAQDOBzEBAQDYBzEBEQAXCDgBEQBACDwB
EQCtCFoBEQC1CF4BUCAAAAAABhi5ARMAAQBYIAAAAAAGGLkBEwABAGAgAAAAABEY9AEXAAEAjCAA
AAAAEwj7ARsAAQCkIAAAAAATCCECKAABALwgAAAAABMISgI1AAEA1CAAAAAAEwhoAkIAAQDsIAAA
AABGAq4CYwABAAghAAAAAEYCtwJoAAIAHCEAAAAAgwDIAmwAAgA0IQAAAABGAtACcQACAEghAAAA
ABEA2QJ4AAIAZCEAAAAAAQD3AoAAAwCAIQAAAAAGGLkBEwAEAIghAAAAAAMICwOLAAQAvCEAAAAA
Bhi5ARMABADQIQAAAAAGGLkBrwAEAOAhAAAAAEYKYAS7AAkA9CEAAAAABgh8BMAACQAEIgAAAAAG
CI8ExgAKACAiAAAAAEYKowS7AAsAQCIAAAAAhgC7BMsACwBYIgAAAACGAMMEywALAHAiAAAAAAYY
uQETAAsAkCIAAAAARgIjBeUACwDAIgAAAABGA0IF7wAPANQiAAAAAEYDVQXvABAA2CIAAAAABhi5
AfkAEQDoIgAAAAAGCOMF/wASABQjAAAAAAYYuQH5ABIAJCMAAAAABhi5ARMAEwAsIwAAAABGAlUF
7wATAAwlAAAAAEYCAwYTABQAgCUAAAAARgIOBhMAFACkJQAAAAAGABoGCQEUAHAmAAAAAEYCLgYT
ABUAJCcAAAAABgjjBXEAFQA8JwAAAAAGCEMGDwEVAEgnAAAAAAEIWwa7ABYAaCcAAAAAAQBxBg8B
FgCUJwAAAAABAOQGFAEXACwoAAAAAAEAAQcaARgAgCgAAAAAAQARBx8BGQC0KAAAAAADGLkBEwAb
ALwoAAAAABYITAhAARsA+CgAAAAAFghgCEUBGwAMKQAAAAAWCGwISgEbABQpAAAAABEY9AEXABwA
KCkAAAAABhi5ARMAHAAwKQAAAAAWCMIIYQEcAAAAAQC1AgAAAQDuAgAAAQDuAgAAAQA0BAAAAgA+
BAAAAwBHBAAABABPBAAABQBWBAAAAQCJBAAAAQCJBAAAAQAwBQAAAgA4BQAAAwBPBAAABABWBAAA
AQBPBAAAAQBrBQAAAQA0BAAAAQA0BAAAAQBrBQAAAQAjBgAAAQBVBgAAAQB8BgAAAQD0BgAAAQD0
BgAAAQAhBwAAAgAoBwAAAQCJBAkAuQETAKEAuQFrAbEAuQF6AREAuQETALkAuQETACQAuQETACwA
uQETADQAuQETADwAuQETACQACwOLACwACwOLADQACwOLADwACwOLAMEAuQETAMkAuQETANEAuQEP
AdkAIgoUAhkArgJjABkAtwJoACkAQwohAhkA0AJxAOkAXwoxAhkAuQETAPEAuQFBAkQAVAOQAEwA
wgiLAEwAiQq+AkwAuQETAPkAuQHGADkAuQGvADkAzQrYAjkA1greAgkBuQEPAREBuwTLABEBwwTL
ABkBuQHGAGEAuQETAEEANAvqAiEBYQvwAikBggv2AjEBiwtoACEBtQv9AjkBggsDA0EB7gv/AFEB
uQETADkAfgwPA3EB0AIUAwEBkQxxAHkBowwZA1EBsQwPAUkAggsgA1kAuQEPAVEBzQolAwEBwQwr
A2kBuQEPAYEAyAwxA1kBggs6A0kB0Aw/A4kB4wxFA2EBBg1MA5EBEQ1xAIkBHg0XAGkBMA1xAEEA
AwYTAGkAPA1qA3kATg0TAHkAVg0gA0EADgYTAHkAYQ0TAAEBZw1vAzEBew3LAEEBig0PAWEALgYT
ACkBwA1oADEB8g2BA6kBFw7GADEBPw6HA7EBWQ4TAKkBWQ4TAKkBYw6NA6EBZw4PAaEBeQ6TA6EB
hg7eAgEBkQ4mASEBlw6jA6kBgguuA7EBwA61A8EBzg67A3EA2g5oAKEBiwtoAMEB9w7LAMkBDA8T
AGEAJg/RA9EBTQ/XAzEBfgxoAHEAXw9oANkBbQ/dA0kAgw/tA+EBuQETAOkBuQETAPEBuQEPAfkB
uQEPAQECuQEPASkASxBJBIkAuQFPBJkAuQETABECcRBsBBECdxBsBBkCuQETACECuQHeAikCuQET
ADECuQEPATkCuQEPAUECuQEPAUkCuQEPAVECuQEPAVkCuQEPAWECuQEPAWkCuQEPAXECuQEPASkA
gwD2AS4AqwNDBS4AwwNDBS4AowMjBS4AewN/BC4AgwOeBC4AmwPNAi4AuwPNAi4AcwN2BC4AswOA
BS4AiwPmBC4AkwPzBC4A6wDNAi4AIwEdBUAAKwCZAUAAEwBxAUMAEwBxAUMAGwCAAUkAgwDiAWMA
EwBxAWMAGwCAAWkAgwAHAoAAKwCZAYMAcwCZAYMAewCZAYMAGwCAAYkAgwDOAaAAKwCZAaMAEwBx
AaMAwwBJAsAAKwCZAcMAEwBxAcMA6wDNAuAAKwCZAeMAIwHNAgABEwBxAQABKwCZAQMBIwHNAiAB
EwBxASABKwCZAUABKwCZAUABEwBxAWABEwBxAWABKwCZAWMBGwOZAWMBKwP3A2MBIwHNAmMBIwOZ
AWkBOwMcBGkBMwMFBIABKwCZAaABKwCZAakBEwBjBMABEwBxAcABKwCZAckBEwBjBOABKwCZAekB
awOZAQACEwBxAQACKwCZAYADIwHNAsADIwHNAroBvwHEAckBGQIdAigCLQI8AjwCxALTAuMCGQIZ
AgoDUgN0A5oDLQLjAhkCvwPjA/IDVwReBHEEBAABAAYABQAHAAYACQAKAAsACwAMAA0ADQAPAAAA
3QFPAAAAlgJUAAAARQJZAAAAogJeAAAAXgOYAAAAzwTPAAAA4gTUAAAA6wTZAAAA+wTPAAAA9QUE
AQAA9QU0AQAA5AfPAAAABwhQAQAAeAhVAQAAiQRmAQIABAADAAIABQAFAAIABgAHAAIABwAJAAIA
DwALAAIAEgANAAEAEwAPAAEAFAARAAIAFQATAAIAHQAVAAIAJQAXAAEAJgAXAAIAJwAZAAIALQAb
AAIALgAdAAEALwAdAAIAMgAfAHUAdQCIAJ4BpQGsAbMBqwKyAgSAAAABAAAAAAAAAAAAAAAAALwA
AAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAAAQAAAAAAAAAAAAAAnQBq
AwAAAAAMAAAAAAAAAAAAAACmAKgDAAAAAAwAAAAAAAAAAAAAAKYA9gMAAAAADAAAAAAAAAAAAAAA
pgB/BQAAAAAMAAAAAAAAAAAAAACmAIQGAAAAAAEAAAAAAAAAAAAAAJ0AbAcAAAAABAAAAAAAAAAA
AAAAAQDmAQAAAAAEAAAAAAAAAAAAAAAKADQMAAAAAAIAAAAAAAAAAAAAAAEACgAAAAAABAAAAAAA
AAAAAAAAAQDzDAAAAAAAAAAAAQAAAJkQAAAFAAQABgAEAAAAEAAMAOwCAAAQABkA7AIAAAAAGwDs
Ai0ANwItALkCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBw
bGljYXRpb24AU2NyaXB0Q29tcG9uZW50XzI3MDY2MTI5NjQzZTQ0NDBiNmFiODVmZGJhOGIyMDY2
LnZicHJvai5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVP
YmplY3RQcm92aWRlcmAxAElucHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF8yNzA2NjEyOTY0M2U0
NDQwYjZhYjg1ZmRiYThiMjA2Ni52YnByb2oAVXNlckNvbXBvbmVudABDb25uZWN0aW9ucwBWYXJp
YWJsZXMAU2NyaXB0TWFpbgBNeVJlc291cmNlcwBTY3JpcHRDb21wb25lbnRfMjcwNjYxMjk2NDNl
NDQ0MGI2YWI4NWZkYmE4YjIwNjYudmJwcm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAE1pY3Jv
c29mdC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3Rv
cgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5j
Y3RvcgBnZXRfQ29tcHV0ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlv
bgBtX0FwcE9iamVjdFByb3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIA
Z2V0X1dlYlNlcnZpY2VzAG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9u
AFdlYlNlcnZpY2VzAEVxdWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBD
cmVhdGVfX0luc3RhbmNlX18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJ
bnN0YW5jZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0
VmFsdWVgMQBtX0NvbnRleHQAR2V0SW5zdGFuY2UAQ296eVJvYy5TU0lTUGx1cy4yMDE0AENvenlS
b2MuU3FsU2VydmVyLlNTSVMAU2NyaXB0QnVmZmVyUGx1cwBNaWNyb3NvZnQuU3FsU2VydmVyLlR4
U2NyaXB0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAFNjcmlwdENvbXBvbmVudABN
aWNyb3NvZnQuU3FsU2VydmVyLlBpcGVsaW5lSG9zdABQaXBlbGluZUJ1ZmZlcgBPdXRwdXROYW1l
TWFwAENvbXBvbmVudABPYmplY3RJRABJc0lucHV0AEJ1ZmZlcgBPdXRwdXRNYXAAZ2V0X1N0YXRp
Y0lucHV0Q29sdW1ucwBHdWlkAHNldF9PdXRwdXRJZABWYWx1ZQBzZXRfT3V0cHV0SWRfSXNOdWxs
AGdldF9TdGF0aWNPdXRwdXRDb2x1bW5zAE5leHRSb3cARW5kT2ZSb3dzZXQAU3RhdGljSW5wdXRD
b2x1bW5zAE91dHB1dElkAE91dHB1dElkX0lzTnVsbABTdGF0aWNPdXRwdXRDb2x1bW5zAFNjcmlw
dENvbXBvbmVudFBsdXMAUHJvY2Vzc0lucHV0AElucHV0SUQASW5wdXROYW1lAElucHV0X1Byb2Nl
c3NJbnB1dABJbnB1dF9Qcm9jZXNzSW5wdXRSb3cAUm93AFBhcmVudENvbXBvbmVudABNaWNyb3Nv
ZnQuU3FsU2VydmVyLkRUU1J1bnRpbWVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRp
bWUuV3JhcHBlcgBJRFRTQ29ubmVjdGlvbk1hbmFnZXIxMDAAZ2V0X0NybUNvbm5lY3Rpb24AQ3Jt
Q29ubmVjdGlvbgBQcmVFeGVjdXRlAFBvc3RFeGVjdXRlAFZhbGlkYXRlAGVyck1lc3NhZ2UAUmVp
bml0aWFsaXplTWV0YURhdGEAc2V0X0NybUNvbm5lY3Rpb24AdmFsdWUAZ2V0X0NybUNvbm5lY3Rp
b25UeXBlAEZpcmVFcnJvcl8AbWVzc2FnZQBNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5l
V3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNJbnB1dENv
bHVtbjEwMABHZXRJbnB1dENvbHVtbl8AZXh0ZXJuYWxOYW1lAEdldENvbHVtbkluZGV4XwBHZXRC
dWZmZXJWYWx1ZV8AYnVmZmVyAGluZGV4AG1fY3JtQ29ubmVjdGlvbgBDb3p5Um9jLkR5bmFtaWNz
LkNybQBJQ29ubmVjdGlvbgBtX2Nvbm5lY3Rpb24AQ296eVJvYy5EeW5hbWljcwBDb3p5Um9jLkR5
bmFtaWNzLkNybTIwMTEuT3JnYW5pemF0aW9uU2VydmljZQBPcmdhbml6YXRpb25TZXJ2aWNlQ2xp
ZW50AG1fc2VydmljZQBtX2lkSW5kZXgAbV90eXBlSW5kZXgAQ3JtQ29ubmVjdGlvblR5cGUAU3lz
dGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBTeXN0ZW0uR2xvYmFsaXphdGlv
bgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VNYW5hZ2VyAGdldF9DdWx0dXJl
AHNldF9DdWx0dXJlAEN1bHR1cmUAU3lzdGVtLkNvbmZpZ3VyYXRpb24AQXBwbGljYXRpb25TZXR0
aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0X1ZhbHVlAFN5c3RlbS5Db21wb25lbnRN
b2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVt
LkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3Rp
Y3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVy
U2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUA
U3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0u
UnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1
bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5j
ZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50
ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3RyaW5nAHNldF9JdGVtAFNldE51bGwA
SW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbgBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmli
dXRlAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEASURUU0lu
cHV0Q29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2xsZWN0aW9uAElEVFNJbnB1dDEwMABnZXRfSXRl
bQBnZXRfSUQASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbjEwMABnZXRfUnVudGltZUNv
bm5lY3Rpb25Db2xsZWN0aW9uAElEVFNSdW50aW1lQ29ubmVjdGlvbjEwMABnZXRfQ29ubmVjdGlv
bk1hbmFnZXIARW50aXR5AE9yZ2FuaXphdGlvblJlcXVlc3QAT3JnYW5pemF0aW9uUmVzcG9uc2UA
U3lzdGVtLldlYi5TZXJ2aWNlcwBTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scwBTb2FwRXhj
ZXB0aW9uAEV4Y2VwdGlvbgBnZXRfQnVmZmVyAENvbnZlcnQAVG9Mb3dlcgBPcGVyYXRvcnMAQ29t
cGFyZVN0cmluZwBzZXRfUmVxdWVzdE5hbWUARm9ybWF0AEV4ZWN1dGUAZ2V0X0lkAFByb2plY3RE
YXRhAFNldFByb2plY3RFcnJvcgBTeXN0ZW0uWG1sAFhtbE5vZGUAZ2V0X0RldGFpbABnZXRfSW5u
ZXJYbWwAQ2xlYXJQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQWNxdWlyZUNvbm5lY3Rpb24AQ29u
bmVjdABHZXRTZXJ2aWNlAENsb3NlAElzTnVsbE9yRW1wdHkASW50MzIAZ2V0X0lzQXR0YWNoZWQA
c2V0X0Nvbm5lY3Rpb25NYW5hZ2VySUQASURUU0V4dGVybmFsTWV0YWRhdGFDb2x1bW4xMDAAZ2V0
X0NvdW50AElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1uQ29sbGVjdGlvbjEwMABnZXRfRXh0ZXJu
YWxNZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24Ac2V0X0lzVXNlZABJRFRTSW5wdXRDb2x1bW5Db2xs
ZWN0aW9uMTAwAGdldF9JbnB1dENvbHVtbkNvbGxlY3Rpb24AUmVtb3ZlQWxsAE5ldwBzZXRfTmFt
ZQBEYXRhVHlwZQBzZXRfRGF0YVR5cGUAc2V0X0xlbmd0aABFbXB0eQBGaXJlRXJyb3IAU3lzdGVt
LkNvbGxlY3Rpb25zAElFbnVtZXJhdG9yAEdldEVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAZ2V0X0V4
dGVybmFsTWV0YWRhdGFDb2x1bW5JRABNb3ZlTmV4dABJRGlzcG9zYWJsZQBEaXNwb3NlAFBpcGVs
aW5lQ29tcG9uZW50AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9C
dWZmZXJNYW5hZ2VyAGdldF9MaW5lYWdlSUQARmluZENvbHVtbkJ5TGluZWFnZUlEAElzTnVsbABT
U0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5T
U0lTLkF0dHJpYnV0ZXMAQ29sdW1uTWFwcGluZ3NBdHRyaWJ1dGUAVmFsaWRhdGVQcm9wZXJ0aWVz
QXR0cmlidXRlAENvbm5lY3Rpb25BdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAU3lzdGVt
LlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRv
cgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50
XzI3MDY2MTI5NjQzZTQ0NDBiNmFiODVmZGJhOGIyMDY2LnZicHJvai5SZXNvdXJjZXMucmVzb3Vy
Y2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlB
dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1
dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJh
ZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVj
dEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0
dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF8yNzA2NjEyOTY0
M2U0NDQwYjZhYjg1ZmRiYThiMjA2Ni52YnByb2ouZGxsAAAAAACAm0kAcwBOAHUAbABsACAAcABy
AG8AcABlAHIAdAB5ACAAYwBhAG4AbgBvAHQAIABiAGUAIABzAGUAdAAgAHQAbwAgAEYAYQBsAHMA
ZQAuACAAQQBzAHMAaQBnAG4AIABhACAAdgBhAGwAdQBlACAAdABvACAAdABoAGUAIABjAG8AbAB1
AG0AbgAgAGkAbgBzAHQAZQBhAGQALgAAEU8AdQB0AHAAdQB0AEkAZAAAC0kAbgBwAHUAdAAAG0MA
cgBtAEMAbwBuAG4AZQBjAHQAaQBvAG4AABdvAHAAcABvAHIAdAB1AG4AaQB0AHkAADlHAGUAbgBl
AHIAYQB0AGUAUQB1AG8AdABlAEYAcgBvAG0ATwBwAHAAbwByAHQAdQBuAGkAdAB5AAAbTwBwAHAA
bwByAHQAdQBuAGkAdAB5AEkAZAAAFXMAYQBsAGUAcwBvAHIAZABlAHIAADVDAG8AbgB2AGUAcgB0
AFMAYQBsAGUAcwBPAHIAZABlAHIAVABvAEkAbgB2AG8AaQBjAGUAABlTAGEAbABlAHMATwByAGQA
ZQByAEkAZAAACXQAZQBhAG0AADlDAG8AbgB2AGUAcgB0AE8AdwBuAGUAcgBUAGUAYQBtAFQAbwBB
AGMAYwBlAHMAcwBUAGUAYQBtAAANVABlAGEAbQBJAGQAADdVAG4AaABhAG4AZABsAGUAZAAgAGMA
bwBuAHYAZQByAHQAIAB0AHkAcABlADoAIAB7ADAAfQAADUUAbgB0AGkAdAB5AAAJVAB5AHAAZQAA
D0kAbgBwAHUAdABJAGQAAD9TAGUAbABlAGMAdAAgAEQAeQBuAGEAbQBpAGMAcwAgAEMAUgBNACAA
QwBvAG4AbgBlAGMAdABpAG8AbgAuAAA1VAB5AHAAZQAgAGMAbwBsAHUAbQBuACAAaQBzACAAbgBv
AHQAIABtAGEAcABwAGUAZAAuAAA7SQBuAHAAdQB0AEkAZAAgAGMAbwBsAHUAbQBuACAAaQBzACAA
bgBvAHQAIABtAGEAcABwAGUAZAAuAAAVTgBvACAAaQBuAHAAdQB0AHMALgAAGUQAWQBOAEEATQBJ
AEMAUwAtAEMAUgBNAAEpRAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABDAG8AbgB2AGUAcgB0AAAx
TQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAOYl1UvhLO9F
vFt2QrmSZwIACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUS
GAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMg
AAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMACBbPSQu4
DDTqCImEXc2AgMyRCyAFARIhCAISJRIpBCAAHQ4FIAEBES0EIAEBAgMgAAIEKAAdDgQoABEtAygA
AgMGEiQDBhIoCSAEAQgOEiUSKQUgAQESHAMGEiEFIAEBEiEEIAASNQQoABI1BSABAhAOBCABAQ4F
IAESOQ4EIAEIDgYgAhwSJQgCBg4DBhI9AwYSQQIGCAMoAA4DBhJFAwYSSQQAABJFBAAAEkkFAAEB
EkkECAASRQQIABJJAwYSNAIGHAQAABI0BAgAEjQFIAEBEVUIAQABAAAAAAAFIAIBDg4YAQAKTXlU
ZW1wbGF0ZQgxMC4wLjAuMAAABAEAAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIYARIUBAcBEgwE
BwESCAQHARIRBAcBEhQTAQAOTXkuV2ViU2VydmljZXMAABMBAA5NeS5BcHBsaWNhdGlvbgAAEAEA
C015LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAABAABHBwDBwECAwcBCAYAARIVEXEEBwESFQMHAQ4F
EAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMu
U29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFu
Y2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAFAQAAAAAEBwEdDgUgAgEI
HAQgAQEIBgcCHQ4dDgUgABKAkQUgABKAlQYgARKAmRwFIAASgJ0GIAESgKEcBAcBEjUEIAASJQQA
AQ4cBgADCA4OAgQgARwIBSACAQ4cBQACDg4cCCABEoCtEoCpBCABHA4FIAARgMEGAAEBEoC1BSAA
EoDJFwcJEoClEoCpEoCtDhKAsRKAtQ4RLREtBCABHBwEAAECDgwHBQICEoCZEjkSgLUFIAASgNUF
IAASgNkFIAASgNEGIAEBEYDdCAcCEoDREoCZCiAGAQgODg4IEAIGIAESgNEcBSAAEoDhAyAAHBEH
BhKA0RI5EoCZEjkSORKA4QUgABKA6QUgABKA7QUgAggICAkHBAgSgJkSOQgEIAECCAQHAhwcDQEA
CFZhbGlkYXRlAAAWAQARQ3JtQ29ubmVjdGlvblR5cGUAACwBACdTZWxlY3QgRHluYW1pY3MgQ1JN
IENvbm5lY3Rpb24gTWFuYWdlci4AAAUgABKBBQcgAgEOEoEFBgcCEkUSRQQHARJJCAEAAgAAAAAA
BAABARwEBwESNAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5F
VEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJh
bWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJDYwNjU5YTFkLTU0ZGItNGZkNy1hMjdiLTg1MmYxYTg1
NzhmZAAABQEAAQAAHwEAGkNvcHlyaWdodCBAIE1pY3Jvc29mdCAyMDE2AAA8AQA3U2NyaXB0Q29t
cG9uZW50XzI3MDY2MTI5NjQzZTQ0NDBiNmFiODVmZGJhOGIyMDY2LnZicHJvagAADgEACU1pY3Jv
c29mdAAAANhTAAAAAAAAAAAAAO5TAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgUwAAAAAAAAAA
X0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAABgAAIAAAAAA
AAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAAaAQAAAAAAAAA
AAAAaAQ0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAABAAAA
AAAAAAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkAbABl
AEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBMgDAAABAFMA
dAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAKQDAAABADAAMAAwADAAMAA0AGIAMAAAADQACgAB
AEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAATQBpAGMAcgBvAHMAbwBmAHQAAACYADgAAQBGAGkA
bABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBu
AHQAXwAyADcAMAA2ADYAMQAyADkANgA0ADMAZQA0ADQANAAwAGIANgBhAGIAOAA1AGYAZABiAGEA
OABiADIAMAA2ADYALgB2AGIAcAByAG8AagAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAA
AAAAMQAuADAALgAwAC4AMAAAAJgAPAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBjAHIA
aQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAyADcAMAA2ADYAMQAyADkANgA0ADMAZQA0ADQANAAw
AGIANgBhAGIAOAA1AGYAZABiAGEAOABiADIAMAA2ADYALgB2AGIAcAByAG8AagAuAGQAbABsAAAA
XAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABA
ACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQA2AAAAAACgADwAAQBPAHIAaQBnAGkAbgBhAGwA
RgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAyADcAMAA2
ADYAMQAyADkANgA0ADMAZQA0ADQANAAwAGIANgBhAGIAOAA1AGYAZABiAGEAOABiADIAMAA2ADYA
LgB2AGIAcAByAG8AagAuAGQAbABsAAAAkAA4AAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABT
AGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADIANwAwADYANgAxADIAOQA2ADQAMwBlADQA
NAA0ADAAYgA2AGEAYgA4ADUAZgBkAGIAYQA4AGIAMgAwADYANgAuAHYAYgBwAHIAbwBqAAAANAAI
AAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAADgACAABAEEA
cwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAADAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.ScriptComponentHostPlus</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_27066129643e4440b6ab85fdba8b2066</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="14" name="CrmConnection" connectionManagerID="{6370E56E-72D5-402B-BF52-9E27F473654A}" /></connections><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="16" name="Type" dataType="wstr" length="10" /><externalMetadataColumn id="17" name="InputId" dataType="guid" /></externalMetadataColumns></input></inputs><outputs><output id="18" name="Output" synchronousInputId="15"><outputColumns><outputColumn id="19" name="OutputId" lineageId="19" dataType="guid" /></outputColumns><externalMetadataColumns /></output></outputs></component>