<component id="2" name="Dynamics CRM Quote To Sales Order" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="10" 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_3fe65a1a026e44d09602cd9524772938.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_3fe65a1a026e44d09602cd9524772938.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("b2ee5dfc-aa58-4bf5-b794-e359d4c0bfbc")> 

' 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[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
            req.RequestName = "ConvertQuoteToSalesOrder"

            ' Setup QuoteId.
            req("QuoteId") = New Guid(Convert.ToString(Row.Buffer(m_qiIndex)))

            Dim value As Object

            value = GetBufferValue_(Row.Buffer, m_qcdIndex)
            If Not value Is Nothing Then
                req("QuoteCloseDate") = Convert.ToDateTime(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_qcdescIndex)
            If Not value Is Nothing Then
                req("QuoteCloseDescription") = Convert.ToString(value)
            End If

            value = GetBufferValue_(Row.Buffer, m_qcsIndex)
            If Not value Is Nothing Then
                Dim qcs As New OptionSetValue()
                qcs.Value = Convert.ToInt32(value)
                req("QuoteCloseStatus") = qcs
            End If

            value = GetBufferValue_(Row.Buffer, m_qcsubjIndex)
            If Not value Is Nothing Then
                req("QuoteCloseSubject") = Convert.ToString(value)
            End If

            ' Execute action.
            Dim res As OrganizationResponse = m_service.Execute(req)
            Dim salesOrder As Entity = CType(res("Entity"), Entity)
            Row.SalesOrderId = salesOrder.Id
        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_qiIndex = GetColumnIndex_("QuoteId")
        m_qcdIndex = GetColumnIndex_("QuoteCloseDate")
        m_qcdescIndex = GetColumnIndex_("QuoteCloseDescription")
        m_qcsIndex = GetColumnIndex_("QuoteCloseStatus")
        m_qcsubjIndex = GetColumnIndex_("QuoteCloseSubject")
    End Sub ' PreExecute


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

        Call m_connection.Close()
        m_qiIndex = -1
        m_qcdIndex = -1
        m_qcdescIndex = -1
        m_qcsIndex = -1
        m_qcsubjIndex = -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_("QuoteId")
                If inputCol Is Nothing Then
                    Throw New Exception("QuoteId 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 QuoteId column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "QuoteId"
        column.DataType = DataType.DT_GUID

        ' Setup QuoteCloseDate column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "QuoteCloseDate"
        column.DataType = DataType.DT_DBTIMESTAMP

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

        ' Setup QuoteCloseStatus column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "QuoteCloseStatus"
        column.DataType = DataType.DT_I4

        ' Setup QuoteCloseSubject column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "QuoteCloseSubject"
        column.DataType = DataType.DT_WSTR
        column.Length = 250
    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 Quote To Sales Order", _
            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_qiIndex As Integer
    Private m_qcdIndex As Integer
    Private m_qcdescIndex As Integer
    Private m_qcsIndex As Integer
    Private m_qcsubjIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[scriptcomponent_3fe65a1a026e44d09602cd9524772938.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_3fe65a1a026e44d09602cd9524772938.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_3fe65a1a026e44d09602cd9524772938.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{53E8FF77-DB78-4A5D-8BD3-FD31D359A042}</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=13.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_13.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=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91">
      <Private>False</Private>
    </Reference>
    <Reference Include="CozyRoc.SSISPlus.2016, 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_SC130</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></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 [SalesOrderId]() As Guid
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [SalesOrderId_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() {"SalesOrderId"}
        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[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[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:CodeName>scriptcomponent_3fe65a1a026e44d09602cd9524772938</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>scriptcomponent_3fe65a1a026e44d09602cd9524772938</msb:DisplayName>
		<msb:ProjectId>{974EA432-0AF2-462D-A6B7-34492C2BA35A}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="scriptcomponent_3fe65a1a026e44d09602cd9524772938.vbproj"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<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.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><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></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_3fe65a1a026e44d09602cd9524772938.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEDAAcZYFgAAAAAAAAAAOAAIiALAVAAADIAAAAIAAAAAAAAulEA
AAAgAAAAYAAAAAAAEAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAMAQIUAABAA
ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAGhRAABPAAAAAGAAAAwFAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAwDEAAAAgAAAAMgAAAAIA
AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAAwFAAAAYAAAAAYAAAA0AAAAAAAAAAAAAAAAAABAAABA
LnJlbG9jAAAMAAAAAIAAAAACAAAAOgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACc
UQAAAAAAAEgAAAACAAUAKCkAAIgnAAABAAAAAAAAALBQAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAADoCAwQFDgQOBSgcAAAKKh4WjTkAAAEqOgIWA4wUAAABKB0A
AAoqWgMsCAIWKB4AAAoqcgEAAHBzHwAACno+F405AAABJRZyngAAcKIqAAAAEzABAAkAAAABAAAR
AiggAAAKCgYqAAAAEzABAAkAAAABAAARAighAAAKCgYqfgIoIgAACgICcwwAAAZ9AQAABAICcw4A
AAZ9AgAABCq+AwIoIwAACm8kAAAKcrgAAHBvJQAACm8mAAAKMxECAgMXBQ4EcwEAAAZvCgAABipK
KwcCA28LAAAGA28GAAAGLfEqBio6AignAAAKAgN9AwAABCqCAnsDAAAEbyMAAApvKAAACnLEAABw
bykAAApvKgAACio6AignAAAKAgN9BAAABCoeAigIAAAGKgAAABswBAB/AQAAAgAAEXMrAAAKCgZy
4AAAcG8sAAAKBnISAQBwA28tAAAKAnsIAAAEby4AAAooLwAACigwAAAKczEAAAqMFAAAAW8yAAAK
AgNvLQAACgJ7CQAABCgbAAAGKC8AAAoLBywbBnIiAQBwBygvAAAKKDMAAAqMQgAAAW8yAAAKAgNv
LQAACgJ7CgAABCgbAAAGKC8AAAoLBywWBnJAAQBwBygvAAAKKDAAAApvMgAACgIDby0AAAoCewsA
AAQoGwAABigvAAAKCwcsI3M0AAAKDQkHKC8AAAooNQAACm82AAAKBnJsAQBwCW8yAAAKAgNvLQAA
CgJ7DAAABCgbAAAGKC8AAAoLBywWBnKOAQBwBygvAAAKKDAAAApvMgAACgJ7BwAABAZvNwAACnKy
AQBwbzgAAAp0HgAAAQwDCG85AAAKbwMAAAbePSUoOgAAChMEAhEEbzsAAApvPAAACigYAAAGKD0A
AAreHCUoOgAAChMFAhEFbz4AAAooGAAABig9AAAK3gAqAEE0AAAAAAAAAAAAAEEBAABBAQAAIQAA
ACAAAAEAAAAAAAAAAEEBAABiAQAAHAAAACEAAAETMAMAmgAAAAAAAAACKD8AAAoCAnsBAAAEbw0A
AAYUb0AAAAp0GwAAAX0GAAAEAnsGAAAEb0EAAAoCAnsGAAAEFm9CAAAKdBwAAAF9BwAABAICchIB
AHAoGgAABn0IAAAEAgJyIgEAcCgaAAAGfQkAAAQCAnJAAQBwKBoAAAZ9CgAABAICcmwBAHAoGgAA
Bn0LAAAEAgJyjgEAcCgaAAAGfQwAAAQq1gIoQwAACgJ7BgAABG9EAAAKAhV9CAAABAIVfQkAAAQC
FX0KAAAEAhV9CwAABAIVfQwAAAQqGzACAI0AAAADAAARAigVAAAGKEUAAAosC3LAAQBwc0YAAAp6
AigjAAAKbyQAAAoWjEYAAAFvJQAACm9HAAAKLBgCchIBAHAoGQAABi0LcgACAHBzRgAACnoCKCMA
AApvKAAACnLEAABwbykAAAoCKBUAAAZvSAAAChcL3hglKDoAAAoMFgsDCG8+AAAKUSg9AAAK3gAH
CgYqAAAAARAAAAAAAABxcQAYIQAAARMwBAAKAQAAAAAAAAIoSQAACgIoIwAACm8kAAAKb0oAAAot
C3I8AgBwc0YAAAp6AigjAAAKbyQAAAoWjEYAAAFvJQAACiVvSwAAChdvTAAACiVvTQAACm9OAAAK
JW9LAAAKb08AAAolb0sAAApvUAAACiVyEgEAcG9RAAAKH0hvUgAACiVvSwAACm9QAAAKJXIiAQBw
b1EAAAoghwAAAG9SAAAKJW9LAAAKb1AAAAolckABAHBvUQAACiUgggAAAG9SAAAKIOgDAABvUwAA
CiVvSwAACm9QAAAKJXJsAQBwb1EAAAoZb1IAAApvSwAACm9QAAAKJXKOAQBwb1EAAAolIIIAAABv
UgAACiD6AAAAb1MAAAoqAAATMAEACQAAAAQAABECewUAAAQKBioiAgN9BQAABCoAABMwBAARAAAA
BQAAEReNOQAAASUWclICAHCiCgYqAAAAEzAHAB0AAAABAAARFgoCKCMAAAoWcmwCAHADflQAAAoW
EgBvVQAACioAAAAbMAIAfAAAAAYAABEUCwIoIwAACm8kAAAKFoxGAAABbyUAAAoMCG9LAAAKA29W
AAAKDQhvTQAACm9XAAAKEwQrIhEEb1gAAAp0IgAAARMFEQVvWQAACglvWgAACjMFEQUL3iERBG9b
AAAKLdXeFhEEdUoAAAEsDBEEdUoAAAFvXAAACtwHCgYqARAAAAIAJgA8YgAWAAAAABMwAwBFAAAA
BwAAERULAigjAAAKbyQAAAoWjEYAAAFvJQAACgwCAygZAAAGDQksHQIoXQAACm9eAAAKCG9fAAAK
CW9gAAAKb2EAAAoLBwoGKgAAABMwAgAlAAAACAAAERQLBBUuFgMEb2IAAAotDQMEby4AAAooLwAA
CgsHKC8AAAoKBioeAignAAAKKq5+DQAABC0ecrACAHDQBwAAAihjAAAKb2QAAApzZQAACoANAAAE
fg0AAAQqGn4OAAAEKh4CgA4AAAQqHgIoZgAACioeAihnAAAKKi5+DwAABG9oAAAKKi5+EAAABG9p
AAAKKi5+EQAABG9qAAAKKi5+EgAABG9rAAAKKqZzbAAACoAPAAAEc20AAAqAEAAABHNuAAAKgBEA
AARzbwAACoASAAAEKkJzJwAACigvAAAKgBQAAAQqHgIocAAACioAGzABAD8AAAAAAAAAfhMAAAQt
Mn4UAAAEKC8AAAoocQAACn4TAAAELRxzKAAABoATAAAE3hB+FAAABCgvAAAKKHIAAArcfhMAAAQq
AAEQAAACAB0ADCkAEAAAAAA2AgMoLwAACihzAAAKKh4CKHQAAAoqLtAMAAACKGMAAAoqHgIodQAA
CioAABMwAQAUAAAACQAAEQKMBQAAGy0IKAEAACsKKwICCgYqIgP+FQUAABsqAAAAEzACACgAAAAK
AAARAnt3AAAKb3gAAAoKBowIAAAbLRIoAgAAKwoCe3cAAAoGb3kAAAoGKkoCKCcAAAoCc3oAAAp9
dwAACioAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBsAAAAYA0AACN+AADMDQAAdBEA
ACNTdHJpbmdzAAAAAEAfAADkAgAAI1VTACQiAAAQAAAAI0dVSUQAAAA0IgAAVAUAACNCbG9iAAAA
AAAAAAIAAAFXFaIJCQ8AAAD6ATMAFgAAAQAAAFAAAAANAAAAFQAAADIAAAAbAAAAegAAAD8AAAAK
AAAABwAAAA8AAAARAAAACAAAAAEAAAALAAAAAQAAAAIAAAADAAAAAgAAAAAAfAgBAAAAAAAGAJEG
vA0GADsHvA0GACAF6QwPAIoOAAAGAGEFjgkGAEAGjgkGACIHjgkGALEGjgkGAMoGjgkGAKgFjgkG
AOUGAgkGAE0Fdg0GAMkEdg0GAPQFjgkGAMMFwQcKAFIP4AEOAPEP8AMSAHAL8AMOAKYK8AMGAOMC
AgkKAGMP4AEGAH0PAgkWAOMA8wsKAF0Gow4KAHkGow4OAPsG8AMKABMKCQkaAKcP6AIaAE4Q6AIa
AF0R6AIaAJsH6AIeAIwK1w4GAJAKAgkiADgAGwwiABEBGwwiABoAGwwGAJ8MJA8mAEgGUQgKACwG
ow4GAKML3A0GAJoKeQkmALQEUQgmADQFUQgmAOwE2wsqAGAETA0qAGIM/AwGANwF6QwqAHgFlQ0q
AJAFmwIqAEgMTA0qABEGmwIGADcEAgkqAB4BJwgmANcEHgkmAHAEZAkGAAMF6QwGAN0HAgkGAHIK
AgkOAH8L8AMiAAEAGwwiALMAGwwiAJAAGwwiAMoAGwwGAEMPvA0GAEYQAgkGAOcDAgkaAIgE6AIq
AIYClQ0uAF4D2AgGAEoBAgkiAEsAGwwiAHMAGwwWABUE8wsGAIUDAgkSAMEP8AMiAPwAGwwGAJED
AgkGAFQRjgkGANAMsAcGALkMAgkAAAAAZgEAAAAAAQABAAEAAACMC+8HQQABAAEAAQAAANMP7wdV
AAEACAABAAAANw/vB1kAAwAMAAEAAACZDu8HWQAEAA4AAQAAADsJ7wcMAAUADwAAAAAAMg7tDVkA
DQAcAAAAAABWCRURtQAPACAAAAAAAGAMFRG5AA8AIQAAARAAhA8VEVkADwAiAAABEADFDu8H3QAT
ACcABQEAAD4NAABZABUAKgAFAQAALQEAAFkAFQAxAAYANw8DAgYAmQ4HAgEA4Q8LAgEA4Q8LAgEA
VQoDAQEAZQoPAgEAIAMTAgEA7BAXAgEA4RAXAgEA0xAXAgEABBEXAgEA9hAXAhEAawwaAhEAVAQf
AjEALgskAjEABQssAjEAGQs0AjEARws9AhEAcAdFAhEAdw9JAiEApxDAAVAgAAAAAAYYwwwvAAEA
XyAAAAAAxgr1DkwCBgBnIAAAAAAGCLgCUQIGAHYgAAAAAAYIuAgVAAcAjSAAAAAAxgoMD0wCCACg
IAAAAACGAMsQRQAIALggAAAAAIYAlg9FAAgAzSAAAAAABhjDDAYACADtIAAAAADGApEQVwIIAB0h
AAAAAEYDixBhAgwAMCEAAAAARgO1EGECDQAyIQAAAAAGGMMMZwIOAEEhAAAAAAYIMQptAA8AYiEA
AAAABhjDDGcCDwBxIQAAAAAGGMMMBgAQAHwhAAAAAMYCtRBhAhAAPCMAAAAAxgJZBwYAEQDiIwAA
AADGAmQHBgARABgkAAAAAAYAqwRtAhEAxCQAAAAAxgJbAgYAEgDcJQAAAAAGCDEKxwASAPElAAAA
AAYIQwoQABIA/CUAAAAAAQgeBEwCEwAcJgAAAAABAEACEAATAEgmAAAAAAEAMAJzAhQA4CYAAAAA
AQBLAnoCFQA0JwAAAAABACACfwIWAGUnAAAAAAMYwwwGABgAbScAAAAAFgifC4YCGACZJwAAAAAW
CDwEjAIYAKAnAAAAABYISASSAhgAqCcAAAAABhjDDAYAGQCwJwAAAAAGGMMMBgAZALgnAAAAABMI
UwyZAhkAxCcAAAAAEwhGCZ4CGQDQJwAAAAATCEQMowIZANwnAAAAABMILg2pAhkA6CcAAAAAERjJ
DMsAGQASKAAAAAARGMkMywAZACMoAAAAAAYYwwwGABkALCgAAAAAFgh4B64CGQCIKAAAAADGAtAO
nAEZAJYoAAAAAMYCUgNcABoAnigAAAAAgwA0BLMCGgCqKAAAAADGAtsHxwAaALQoAAAAABEADQK5
AhoA1CgAAAAAAQD5AcECGwBlJwAAAAAGGMMMBgAcAOAoAAAAAAMIOQN8ARwAFCkAAAAABhjDDAYA
HAAAAAEACRAAAAIAzwEAAAMAgxAAAAQAkQsAAAUAtAoAAAEApAcAAAEApAcAAAEA2AEAAAIA2wMA
AAMAkQsAAAQAtAoAAAEAkQsAAAEAzxAAAAEACRAAAAEACRAAAAEAzxAAAAEAcgMAAAEAqgcAAAEA
fQMAAAEAvgMAAAEAvgMAAAEAmAsAAAIADxEAAAEApAcAAAEApAoAAAEASQMAAAEASQMJAMMMAQAR
AMMMBgAZAMMMCgApAMMMEAAxAMMMEAA5AMMMEABBAMMMEABJAMMMEABRAMMMEABZAMMMFQBhAMMM
FQBpAMMMEABxAMMMEAB5AMMMEADBAMMMEADJAMMMBgDRAMMMBgAxAcMMEAA5AcMMEABZAcMMGgBh
AcMMIQB5AcMMBgCBAcMMBgCJAcMMBgCZAcMMJwCxAcMMEADBAcMMBgCBAMMMLwCBAPkIOwCBANAI
AQDRAcMMEADZAcsQRQDZAZYPRQCpAMMMBgCJAHACSQDhAf8JTwDpAfAIVQAZAW8BXACxAMMMBgDh
Ad8JYADxAfAIZgD5AbMLbQDpAMMMBgDpAMsDEACBAGULggCRAPAIhwABAowHjAAJAtsHkQChAMMM
EADpAPkIlgAJAuUDnAD5AMMMBgAJAkgBowD5AIIHAQDhAGgHqAAZAvAIsADxALECtQAhAo8MugAB
AWcIwQApAuMIxwAhAn0MywAJAWYDxwCJAFkHBgC5AB8KzwDZAI4PBgDZABUDhwCJAGQHBgDZAJ0E
BgDJAWQR3AAJAcMMEAAZAckCRQD5AbcBEACpAFsCBgDpAR8QXAAZAaAJ4QA5AtgCFQAZAcUJ5wBB
AnIIBgA5AnIIBgA5ArEQ7QAhAbUDEAAhAREE8wAhAeQHAQDJAWwRAwHhAXMMBgE5AvAIJgFBAqsM
LQEpARMQMwERAZoBXAAhAW8BXAApAZ4QRQBRAqMEBgCpAAEQQgFZAskLSAEZAWULXAARAXYBXABh
AoQBTgGRAMkIWQGhAaMDXgGhAVARZwFBAcMMbQFpAcMMBgBxAcMMBgAMADkDfAEUADkDfAEcADkD
fAEkADkDfAEMAMMMBgAUAMMMBgAcAMMMBgAkAMMMBgC5AcMMBgB5Ak0MlwF5AqIPlwGxANAOnAGx
AFIDXACxANsHxwCBAioDqQE0AKcQwAE8AHgHfAE8AIIH2QE8AMMMBgAuAAsACwMuABMAFAMuABsA
MwMuACMAPAMuACsAeQMuADMAfwMuADsAPAMuAEMAjgMuAEsAeQMuAFMArgMuAFsAeQMuAGMAtAMu
AGsA3gMuAHMA6wNDAFMAeQNjAFMAeQPDAHsAQQTDAIMAMwTDAIsAMwTDAFMAeQPJAJMAygTJAJsA
9wQDAasATwQDAaMAOAQJAaMAMwMjAasATwQjAaMAOAQpAaMAMwNDAbsAMwRDAcMAMwRDAasATwRJ
AdMADgVpAdMAHwWAAVMAeQODAaMAOASDAcsAaASJAdMAMwWjAaMAOASjAVsAeQOpAdMAQAXAAVMA
eQPJAdsAMwQgBLMAMwQgBKMAOARABLMAMwRgBLMAMwSABLMAMwSgBLMAMwRABaMAOARABbMAMwRg
BaMAOARgBbMAMwSABaMAOASABbMAMwSgBaMAOASgBbMAMwTABbMAMwTgBbMAMwQABrMAMwQABqMA
OAQgBrMAMwRABrMAMwRABqMAOARBAHIA1AD6AP4AEQE3AVQBoQG0AQIAAQAEAAUABgAGAAcACAAK
AAoACwAOAA0ADwAAAPkOyQIAALwCzgIAALwI0wIAABAPyQIAAEcK1wIAAEcK3AIAACIEyQIAAKML
4AIAAFgE5gIAAGIM7AIAAFgJ8QIAAEgM9gIAAEAN/AIAAKQHAQMAAD0DBgMCAAIAAwABAAMABQAB
AAQABwACAAUACQACAA0ACwACABUADQABABYADQACABcADwACAB0AEQACAB4AEwABAB8AEwACACIA
FQACACMAFwACACQAGQACACUAGwACACkAHQACADEAHwB1AYEBiAGQAaYBuQHJAdEBBIAAAAEAAAAA
AAAAAAAAAAAA7wcAAAQAAAAAAAAAAAAAAN8BkgIAAAAAAQAAAAAAAAAAAAAA6AFQAQAAAAANAAAA
AAAAAAAAAADxASkQAAAAAA0AAAAAAAAAAAAAAPEBYhAAAAAADQAAAAAAAAAAAAAA8QG+CgAAAAAB
AAAAAAAAAAAAAADoAdgMAAAAAAQAAAAAAAAAAAAAAPoBGg0AAAAADQAAAAAAAAAAAAAA8QHhCgAA
AAAEAAAAAAAAAAAAAADfAQIJAAAAAAoAAAAAAAAAAAAAAPoBmwIAAAAABAAAAAAAAAAAAAAA3wHY
CAAAAAAAAAAAAQAAAD4OAAAMAAoADQAKAAAAEAAaAPcBAAAQAF0A9wEAAAAAXwD3Ae0ArwHtANQB
AAAAAABJRFRTQ29tcG9uZW50TWV0YURhdGExMDAASURUU0V4dGVybmFsTWV0YWRhdGFDb2x1bW4x
MDAASURUU0lucHV0Q29sdW1uMTAwAElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1uQ29sbGVjdGlv
bjEwMABJRFRTSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAElEVFNSdW50aW1lQ29ubmVjdGlvbkNv
bGxlY3Rpb24xMDAASURUU0lucHV0Q29sbGVjdGlvbjEwMABJRFRTUnVudGltZUNvbm5lY3Rpb24x
MDAASURUU0Nvbm5lY3Rpb25NYW5hZ2VyMTAwAElEVFNCdWZmZXJNYW5hZ2VyMTAwAElEVFNJbnB1
dDEwMABDb250ZXh0VmFsdWVgMQBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBUb0ludDMyAENv
enlSb2MuU1NJU1BsdXMuMjAxNgA8TW9kdWxlPgBnZXRfSUQAZ2V0X0xpbmVhZ2VJRABGaW5kQ29s
dW1uQnlMaW5lYWdlSUQAZ2V0X0V4dGVybmFsTWV0YWRhdGFDb2x1bW5JRABzZXRfQ29ubmVjdGlv
bk1hbmFnZXJJRABPYmplY3RJRABJbnB1dElEAENvenlSb2MuU3FsU2VydmVyLlNTSVMAVABEaXNw
b3NlX19JbnN0YW5jZV9fAENyZWF0ZV9fSW5zdGFuY2VfXwBHZXRCdWZmZXJWYWx1ZV8AR2V0SW5w
dXRDb2x1bW5fAEZpcmVFcnJvcl8AR2V0Q29sdW1uSW5kZXhfAFJlaW5pdGlhbGl6ZU1ldGFEYXRh
AGdldF9Db21wb25lbnRNZXRhRGF0YQBQcm9qZWN0RGF0YQBtc2NvcmxpYgBNaWNyb3NvZnQuVmlz
dWFsQmFzaWMAZ2V0X0lkAHNldF9TYWxlc09yZGVySWQAZ2V0X0lzQXR0YWNoZWQAc2V0X0lzVXNl
ZABHdWlkAENvenlSb2MuRHluYW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAEdldFNl
cnZpY2UAbV9zZXJ2aWNlAENyZWF0ZUluc3RhbmNlAGdldF9HZXRJbnN0YW5jZQBpbnN0YW5jZQBH
ZXRIYXNoQ29kZQBYbWxOb2RlAGdldF9NZXNzYWdlAGVyck1lc3NhZ2UAbWVzc2FnZQBJRGlzcG9z
YWJsZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBzZXRfTmFtZQBleHRlcm5h
bE5hbWUAc2V0X1JlcXVlc3ROYW1lAElucHV0TmFtZQBUb0RhdGVUaW1lAE1pY3Jvc29mdC5TcWxT
ZXJ2ZXIuRHRzLlBpcGVsaW5lAHNldF9EYXRhVHlwZQBnZXRfQ3JtQ29ubmVjdGlvblR5cGUAR2V0
VHlwZQBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBfcmVzQ3VsdHVyZQBBcHBsaWNhdGlvbkJhc2UA
QXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAT3JnYW5pemF0aW9uUmVzcG9uc2UAQ2xvc2UARGlzcG9z
ZQBWYWxpZGF0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBHdWlkQXR0cmlidXRlAEhlbHBLZXl3b3Jk
QXR0cmlidXRlAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUARGVidWdnZXJOb25Vc2VyQ29kZUF0dHJp
YnV0ZQBEZWJ1Z2dhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBDb21WaXNp
YmxlQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1
dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAVGFy
Z2V0RnJhbWV3b3JrQXR0cmlidXRlAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAEFzc2VtYmx5Rmls
ZVZlcnNpb25BdHRyaWJ1dGUATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAQ29ubmVjdGlvbkF0
dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAFZhbGlkYXRlUHJvcGVydGllc0F0
dHJpYnV0ZQBDb2x1bW5NYXBwaW5nc0F0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0
cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0
ZQBDTFNDb21wbGlhbnRBdHRyaWJ1dGUAU1NJU1NjcmlwdENvbXBvbmVudEVudHJ5UG9pbnRBdHRy
aWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmli
dXRlAFByZUV4ZWN1dGUAUG9zdEV4ZWN1dGUAbV9WYWx1ZQBnZXRfVmFsdWUAc2V0X1ZhbHVlAEdl
dE9iamVjdFZhbHVlAE9wdGlvblNldFZhbHVlAHZhbHVlAFN5c3RlbS5UaHJlYWRpbmcAU3lzdGVt
LlJ1bnRpbWUuVmVyc2lvbmluZwBUb1N0cmluZwBzZXRfTGVuZ3RoAFNjcmlwdENvbXBvbmVudF8z
ZmU2NWExYTAyNmU0NGQwOTYwMmNkOTUyNDc3MjkzOC52YnByb2oATWljcm9zb2Z0LlZpc3VhbEJh
c2ljLk15U2VydmljZXMuSW50ZXJuYWwAU3lzdGVtLkNvbXBvbmVudE1vZGVsAGdldF9EZXRhaWwA
UmVtb3ZlQWxsAFNjcmlwdENvbXBvbmVudF8zZmU2NWExYTAyNmU0NGQwOTYwMmNkOTUyNDc3Mjkz
OC52YnByb2ouZGxsAHNldF9TYWxlc09yZGVySWRfSXNOdWxsAFNldE51bGwAU3lzdGVtLlhtbABn
ZXRfSW5uZXJYbWwAZ2V0X0l0ZW0Ac2V0X0l0ZW0AU3lzdGVtAENvenlSb2MuRHluYW1pY3MuQ3Jt
AFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24AU2NyaXB0TWFpbgBnZXRfQXBwbGljYXRpb24A
TXlBcHBsaWNhdGlvbgBTeXN0ZW0uQ29uZmlndXJhdGlvbgBTeXN0ZW0uR2xvYmFsaXphdGlvbgBT
eXN0ZW0uUmVmbGVjdGlvbgBnZXRfRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24AZ2V0
X0lucHV0Q29sdW1uQ29sbGVjdGlvbgBnZXRfUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uAGdl
dF9JbnB1dENvbGxlY3Rpb24ASUNvbm5lY3Rpb24AQWNxdWlyZUNvbm5lY3Rpb24AZ2V0X0NybUNv
bm5lY3Rpb24Ac2V0X0NybUNvbm5lY3Rpb24AbV9jcm1Db25uZWN0aW9uAG1fY29ubmVjdGlvbgBJ
bnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uAFNvYXBFeGNlcHRpb24AQ3VsdHVyZUluZm8AT3V0cHV0
TmFtZU1hcABPdXRwdXRNYXAATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNy
b3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABtX0FwcE9iamVjdFByb3ZpZGVyAG1fVXNl
ck9iamVjdFByb3ZpZGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBtX015V2ViU2VydmljZXNP
YmplY3RQcm92aWRlcgBnZXRfQnVmZmVyAFBpcGVsaW5lQnVmZmVyAFNjcmlwdEJ1ZmZlcgBJbnB1
dEJ1ZmZlcgBidWZmZXIAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ29ubmVjdGlvbk1hbmFnZXIA
Z2V0X0J1ZmZlck1hbmFnZXIAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIATWljcm9zb2Z0LlNxbFNl
cnZlci5EdHMuUnVudGltZS5XcmFwcGVyAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5l
LldyYXBwZXIAZ2V0X1VzZXIARW50ZXIAZ2V0X0NvbXB1dGVyAE15Q29tcHV0ZXIAX3Jlc01ncgBG
aXJlRXJyb3IAQ2xlYXJQcm9qZWN0RXJyb3IAU2V0UHJvamVjdEVycm9yAElFbnVtZXJhdG9yAEdl
dEVudW1lcmF0b3IAQWN0aXZhdG9yAC5jdG9yAC5jY3RvcgBNb25pdG9yAENvenlSb2MuRHluYW1p
Y3MAU3lzdGVtLkRpYWdub3N0aWNzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAFN5c3Rl
bS5XZWIuU2VydmljZXMAZ2V0X1dlYlNlcnZpY2VzAE15V2ViU2VydmljZXMATWljcm9zb2Z0LlZp
c3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZp
Y2VzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN5c3RlbS5SdW50aW1l
LkNvbXBpbGVyU2VydmljZXMAU3lzdGVtLlJlc291cmNlcwBTY3JpcHRDb21wb25lbnRfM2ZlNjVh
MWEwMjZlNDRkMDk2MDJjZDk1MjQ3NzI5MzgudmJwcm9qLk15LlJlc291cmNlcwBNeVJlc291cmNl
cwBTY3JpcHRDb21wb25lbnRfM2ZlNjVhMWEwMjZlNDRkMDk2MDJjZDk1MjQ3NzI5MzgudmJwcm9q
LlJlc291cmNlcy5yZXNvdXJjZXMARGVidWdnaW5nTW9kZXMAVmFyaWFibGVzAENvenlSb2MuU3Fs
U2VydmVyLlNTSVMuQXR0cmlidXRlcwBNeVNldHRpbmdzAEVxdWFscwBTeXN0ZW0uV2ViLlNlcnZp
Y2VzLlByb3RvY29scwBnZXRfU3RhdGljSW5wdXRDb2x1bW5zAGdldF9TdGF0aWNPdXRwdXRDb2x1
bW5zAFN5c3RlbS5Db2xsZWN0aW9ucwBDb25uZWN0aW9ucwBSdW50aW1lSGVscGVycwBTY3JpcHRC
dWZmZXJQbHVzAFNjcmlwdENvbXBvbmVudFBsdXMAbV9TeW5jT2JqZWN0AE15UHJvamVjdABDb25u
ZWN0AEVuZE9mUm93c2V0AEV4aXQAT3JnYW5pemF0aW9uU2VydmljZUNsaWVudABQaXBlbGluZUNv
bXBvbmVudABVc2VyQ29tcG9uZW50AFBhcmVudENvbXBvbmVudABTY3JpcHRDb21wb25lbnQAZ2V0
X0hvc3RDb21wb25lbnQAZ2V0X0N1cnJlbnQAZ2V0X0NvdW50AE1pY3Jvc29mdC5TcWxTZXJ2ZXIu
VHhTY3JpcHQAQ29udmVydABPcmdhbml6YXRpb25SZXF1ZXN0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIu
UGlwZWxpbmVIb3N0AElzSW5wdXQASW5wdXRfUHJvY2Vzc0lucHV0AE1vdmVOZXh0AG1fQ29udGV4
dABOZXcASW5wdXRfUHJvY2Vzc0lucHV0Um93AE5leHRSb3cAbV9xY2Rlc2NJbmRleABtX3FjZElu
ZGV4AG1fcWlJbmRleABtX3Fjc3ViakluZGV4AG1fcWNzSW5kZXgAaW5kZXgAU2NyaXB0Q29tcG9u
ZW50XzNmZTY1YTFhMDI2ZTQ0ZDA5NjAyY2Q5NTI0NzcyOTM4LnZicHJvai5NeQBnZXRfQXNzZW1i
bHkARW50aXR5AElzTnVsbE9yRW1wdHkAAAAAgJtJAHMATgB1AGwAbAAgAHAAcgBvAHAAZQByAHQA
eQAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcwBlAHQAIAB0AG8AIABGAGEAbABzAGUALgAgAEEAcwBz
AGkAZwBuACAAYQAgAHYAYQBsAHUAZQAgAHQAbwAgAHQAaABlACAAYwBvAGwAdQBtAG4AIABpAG4A
cwB0AGUAYQBkAC4AABlTAGEAbABlAHMATwByAGQAZQByAEkAZAAAC0kAbgBwAHUAdAAAG0MAcgBt
AEMAbwBuAG4AZQBjAHQAaQBvAG4AADFDAG8AbgB2AGUAcgB0AFEAdQBvAHQAZQBUAG8AUwBhAGwA
ZQBzAE8AcgBkAGUAcgAAD1EAdQBvAHQAZQBJAGQAAB1RAHUAbwB0AGUAQwBsAG8AcwBlAEQAYQB0
AGUAACtRAHUAbwB0AGUAQwBsAG8AcwBlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAIVEAdQBvAHQA
ZQBDAGwAbwBzAGUAUwB0AGEAdAB1AHMAACNRAHUAbwB0AGUAQwBsAG8AcwBlAFMAdQBiAGoAZQBj
AHQAAA1FAG4AdABpAHQAeQAAP1MAZQBsAGUAYwB0ACAARAB5AG4AYQBtAGkAYwBzACAAQwBSAE0A
IABDAG8AbgBuAGUAYwB0AGkAbwBuAC4AADtRAHUAbwB0AGUASQBkACAAYwBvAGwAdQBtAG4AIABp
AHMAIABuAG8AdAAgAG0AYQBwAHAAZQBkAC4AABVOAG8AIABpAG4AcAB1AHQAcwAuAAAZRABZAE4A
QQBNAEkAQwBTAC0AQwBSAE0AAUNEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAFEAdQBvAHQAZQAg
AFQAbwAgAFMAYQBsAGUAcwAgAE8AcgBkAGUAcgAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4A
TQB5AFIAZQBzAG8AdQByAGMAZQBzAAAAAEtshZzB+cBLnEBfijxMAlgABCABAQgDIAABBSABARER
BCABAQ4EIAEBAgYgAQERgKkFIAIBDg4HIAQBDg4ODgsgBQESRQgCEkkSTQUgAgEIHAMHAQIDIAAC
BSAAEoDxBSAAEoD1BiABEoCNHAMgAAgFIAASgPkGIAESgP0cBCAAEl0PBwYSdRwSeRJ9EoCBEoCF
BCAAEkkEIAEcCAQAARwcBAABDhwFIAIBDhwGAAERgQkcBAABCBwHIAESgQ0SdQQgARwOBCAAEVEG
AAEBEoCFBSAAEoEVAyAADgMAAAEEIAEcHAcHAwICEoCFBAABAg4FIAASgR0FIAASgSEFIAASgJEG
IAEBEYElAwcBDgQHAR0OAgYOCiAGAQgODg4IEAIUBwYSgIkSgIkSgI0SgJESgJUSgIkGIAESgJEc
BSAAEoCVAyAAHAoHBAgIEoCNEoCJBSAAEoEtBSAAEoExBSACCAgIBAcCHBwEIAECCAgAARKA0RGB
NQUgABKBOQcgAgEOEoE5BhUSNAESJAQgABMABhUSNAESIAcVEjQBEoDJBhUSNAESMAQAAQEcBCAB
AhwEBwEeAAIeAAUQAQAeAAQKAR4ABAcBEwAGFRI0ARMACAYVEoDVARMABxUSgNUBEwACEwAECgET
AAUgAQETAAi3elxWGTTgiQgWz0kLuAw06giJhF3NgIDMkQiwP19/EdUKOgMGEhADBhIUAwYSRQMG
Em0DBhJxAgYIBAYSgKEEBhKApQcGFRI0ARIkBwYVEjQBEiAIBhUSNAESgMkHBhUSNAESMAMGEiwC
BhwEIAAdDgUgAQERUQkgBAEIDhJJEk0FIAEBEggFIAEBEkUFIAECEA4GIAESgIkOBCABCA4GIAIc
EkkIBQAAEoChBQAAEoClBgABARKApQQAABIkBAAAEiAFAAASgMkEAAASMAQAABIsBSAAEoDRBxAB
AR4AHgAHMAEBARAeAAQoAB0OBCgAEVEDKAACBCgAEl0DKAAOBQgAEoChBQgAEoClBAgAEiQECAAS
IAUIABKAyQQIABIwBAgAEiwEKAATAAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRo
cm93cwEIAQACAAAAAAA8AQA3U2NyaXB0Q29tcG9uZW50XzNmZTY1YTFhMDI2ZTQ0ZDA5NjAyY2Q5
NTI0NzcyOTM4LnZicHJvagAABQEAAAAADgEACU1pY3Jvc29mdAAAHwEAGkNvcHlyaWdodCBAIE1p
Y3Jvc29mdCAyMDE2AAAFAQABAAApAQAkYjJlZTVkZmMtYWE1OC00YmY1LWI3OTQtZTM1OWQ0YzBi
ZmJjAAAMAQAHMS4wLjAuMAAARwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFt
ZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0BAEAAAAIAQABAAAAAAANAQAIVmFsaWRh
dGUAABgBAApNeVRlbXBsYXRlCDExLjAuMC4wAABhAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90
b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9f
SW5zdGFuY2VfXwAAACwBACdTZWxlY3QgRHluYW1pY3MgQ1JNIENvbm5lY3Rpb24gTWFuYWdlci4A
ABYBABFDcm1Db25uZWN0aW9uVHlwZQAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuQXBwbGljYXRp
b24AAAwBAAdNeS5Vc2VyAAATAQAOTXkuV2ViU2VydmljZXMAALQAAADOyu++AQAAAJEAAABsU3lz
dGVtLlJlc291cmNlcy5SZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwg
Q3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5S
ZXNvdXJjZXMuUnVudGltZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAACQUQAAAAAA
AAAAAACqUQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnFEAAAAAAAAAAAAAAABfQ29yRGxsTWFp
bgBtc2NvcmVlLmRsbAAAAAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAA
AAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAACwBAAAAAAA
AAAAAACwBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEA
AAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBs
AGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEEAQAAAEA
UwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAA7AMAAAEAMAAwADAAMAAwADQAYgAwAAAAGgAB
AAEAQwBvAG0AbQBlAG4AdABzAAAAAAAAADQACgABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAA
TQBpAGMAcgBvAHMAbwBmAHQAAACYADgAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAA
AAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAzAGYAZQA2ADUAYQAxAGEAMAAyADYA
ZQA0ADQAZAAwADkANgAwADIAYwBkADkANQAyADQANwA3ADIAOQAzADgALgB2AGIAcAByAG8AagAA
ADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAJgAPAABAEkA
bgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAz
AGYAZQA2ADUAYQAxAGEAMAAyADYAZQA0ADQAZAAwADkANgAwADIAYwBkADkANQAyADQANwA3ADIA
OQAzADgALgB2AGIAcAByAG8AagAuAGQAbABsAAAAWgAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBp
AGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAA
MQA2AAAAAAAqAAEAAQBMAGUAZwBhAGwAVAByAGEAZABlAG0AYQByAGsAcwAAAAAAAAAAAKAAPAAB
AE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8A
bgBlAG4AdABfADMAZgBlADYANQBhADEAYQAwADIANgBlADQANABkADAAOQA2ADAAMgBjAGQAOQA1
ADIANAA3ADcAMgA5ADMAOAAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBkAHUA
YwB0AE4AYQBtAGUAAAAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AMwBmAGUANgA1
AGEAMQBhADAAMgA2AGUANAA0AGQAMAA5ADYAMAAyAGMAZAA5ADUAMgA0ADcANwAyADkAMwA4AC4A
dgBiAHAAcgBvAGoAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAu
ADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A
MAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAvDEAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></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_3fe65a1a026e44d09602cd9524772938</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="15" name="CrmConnection" connectionManagerID="{AD0515CC-EE6D-4910-B8B2-FEACB3A0E0CA}" /></connections><inputs><input id="16" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="17" name="QuoteId" dataType="guid" /><externalMetadataColumn id="18" name="QuoteCloseDate" dataType="dbTimeStamp" /><externalMetadataColumn id="19" name="QuoteCloseDescription" dataType="wstr" length="1000" /><externalMetadataColumn id="20" name="QuoteCloseStatus" dataType="i4" /><externalMetadataColumn id="21" name="QuoteCloseSubject" dataType="wstr" length="250" /></externalMetadataColumns></input></inputs><outputs><output id="22" name="Output" synchronousInputId="16"><outputColumns><outputColumn id="23" name="SalesOrderId" lineageId="23" dataType="guid" /></outputColumns><externalMetadataColumns /></output></outputs></component>