<component id="2" name="Dynamics CRM Entity Source" componentClassID="{874F7595-FB5F-40FF-96AF-FBFF8250E3EF}" description="Executes a custom script." localeId="1033" version="7" 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\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_bc6794848d3f4d119c4a2e02e57fe5a8.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_bc6794848d3f4d119c4a2e02e57fe5a8.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_bc6794848d3f4d119c4a2e02e57fe5a8.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{898471C0-9096-4373-9FDA-EF5E05F59691}</ProjectGuid>
  </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="CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies\CozyRoc.SSISPlus.2012.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.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_11.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=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
  </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="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebug50ab0995-f0b0-47b9-8fe2-f276d0d4054f/07cb8b43-724e-4faa-b97a-5d2ef9b5dce5&quot;" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></arrayElement><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_bc6794848d3f4d119c4a2e02e57fe5a8.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_bc6794848d3f4d119c4a2e02e57fe5a8.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2013")> 
<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("0a900123-fd6c-4fb9-a0c9-d91c27c9dc61")> 

' 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 OutputBuffer As OutputBuffer

    Public Overridable Sub FinishOutputs()
    End Sub

    Private Sub MarkOutputsFinished()

        If OutputBuffer IsNot Nothing Then
            OutputBuffer.SetEndOfRowset
            OutputBuffer = Nothing
        End If

    End Sub

    Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = GetOutputID(OutputMap, "Output") Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I), OutputMap)
            End If
        Next

        CreateNewOutputRows()

        FinishOutputs()
        MarkOutputsFinished()

    End Sub

    Public Overridable Sub CreateNewOutputRows()
    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 OutputBuffer
    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 [ActivityTypeMask]() As Int32
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [ActivityTypeMask_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 WriteOnly Property [AutoRouteToOwnerQueue]() As Boolean
        Set
            Me(1) = Value
        End Set
    End Property
    Public WriteOnly Property [AutoRouteToOwnerQueue_IsNull] As Boolean
        Set
            If (value)
                SetNull(1)
            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 WriteOnly Property [CanBeInManyToMany]() As Boolean
        Set
            Me(2) = Value
        End Set
    End Property
    Public WriteOnly Property [CanBeInManyToMany_IsNull] As Boolean
        Set
            If (value)
                SetNull(2)
            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 WriteOnly Property [CanBePrimaryEntityInRelationship]() As Boolean
        Set
            Me(3) = Value
        End Set
    End Property
    Public WriteOnly Property [CanBePrimaryEntityInRelationship_IsNull] As Boolean
        Set
            If (value)
                SetNull(3)
            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 WriteOnly Property [CanBeRelatedEntityInRelationship]() As Boolean
        Set
            Me(4) = Value
        End Set
    End Property
    Public WriteOnly Property [CanBeRelatedEntityInRelationship_IsNull] As Boolean
        Set
            If (value)
                SetNull(4)
            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 WriteOnly Property [CanCreateAttributes]() As Boolean
        Set
            Me(5) = Value
        End Set
    End Property
    Public WriteOnly Property [CanCreateAttributes_IsNull] As Boolean
        Set
            If (value)
                SetNull(5)
            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 WriteOnly Property [CanCreateCharts]() As Boolean
        Set
            Me(6) = Value
        End Set
    End Property
    Public WriteOnly Property [CanCreateCharts_IsNull] As Boolean
        Set
            If (value)
                SetNull(6)
            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 WriteOnly Property [CanCreateForms]() As Boolean
        Set
            Me(7) = Value
        End Set
    End Property
    Public WriteOnly Property [CanCreateForms_IsNull] As Boolean
        Set
            If (value)
                SetNull(7)
            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 WriteOnly Property [CanCreateViews]() As Boolean
        Set
            Me(8) = Value
        End Set
    End Property
    Public WriteOnly Property [CanCreateViews_IsNull] As Boolean
        Set
            If (value)
                SetNull(8)
            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 WriteOnly Property [CanModifyAdditionalSettings]() As Boolean
        Set
            Me(9) = Value
        End Set
    End Property
    Public WriteOnly Property [CanModifyAdditionalSettings_IsNull] As Boolean
        Set
            If (value)
                SetNull(9)
            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 WriteOnly Property [CanTriggerWorkflow]() As Boolean
        Set
            Me(10) = Value
        End Set
    End Property
    Public WriteOnly Property [CanTriggerWorkflow_IsNull] As Boolean
        Set
            If (value)
                SetNull(10)
            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 WriteOnly Property [Description]() As String
        Set
            Me(11) = Value
        End Set
    End Property
    Public WriteOnly Property [Description_IsNull] As Boolean
        Set
            If (value)
                SetNull(11)
            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 WriteOnly Property [DisplayCollectionName]() As String
        Set
            Me(12) = Value
        End Set
    End Property
    Public WriteOnly Property [DisplayCollectionName_IsNull] As Boolean
        Set
            If (value)
                SetNull(12)
            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 WriteOnly Property [DisplayName]() As String
        Set
            Me(13) = Value
        End Set
    End Property
    Public WriteOnly Property [DisplayName_IsNull] As Boolean
        Set
            If (value)
                SetNull(13)
            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 WriteOnly Property [IconLargeName]() As String
        Set
            Me(14) = Value
        End Set
    End Property
    Public WriteOnly Property [IconLargeName_IsNull] As Boolean
        Set
            If (value)
                SetNull(14)
            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 WriteOnly Property [IconMediumName]() As String
        Set
            Me(15) = Value
        End Set
    End Property
    Public WriteOnly Property [IconMediumName_IsNull] As Boolean
        Set
            If (value)
                SetNull(15)
            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 WriteOnly Property [IconSmallName]() As String
        Set
            Me(16) = Value
        End Set
    End Property
    Public WriteOnly Property [IconSmallName_IsNull] As Boolean
        Set
            If (value)
                SetNull(16)
            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 WriteOnly Property [IsActivity]() As Boolean
        Set
            Me(17) = Value
        End Set
    End Property
    Public WriteOnly Property [IsActivity_IsNull] As Boolean
        Set
            If (value)
                SetNull(17)
            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 WriteOnly Property [IsActivityParty]() As Boolean
        Set
            Me(18) = Value
        End Set
    End Property
    Public WriteOnly Property [IsActivityParty_IsNull] As Boolean
        Set
            If (value)
                SetNull(18)
            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 WriteOnly Property [IsAuditEnabled]() As Boolean
        Set
            Me(19) = Value
        End Set
    End Property
    Public WriteOnly Property [IsAuditEnabled_IsNull] As Boolean
        Set
            If (value)
                SetNull(19)
            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 WriteOnly Property [IsAvailableOffline]() As Boolean
        Set
            Me(20) = Value
        End Set
    End Property
    Public WriteOnly Property [IsAvailableOffline_IsNull] As Boolean
        Set
            If (value)
                SetNull(20)
            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 WriteOnly Property [IsChildEntity]() As Boolean
        Set
            Me(21) = Value
        End Set
    End Property
    Public WriteOnly Property [IsChildEntity_IsNull] As Boolean
        Set
            If (value)
                SetNull(21)
            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 WriteOnly Property [IsConnectionsEnabled]() As Boolean
        Set
            Me(22) = Value
        End Set
    End Property
    Public WriteOnly Property [IsConnectionsEnabled_IsNull] As Boolean
        Set
            If (value)
                SetNull(22)
            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 WriteOnly Property [IsCustomEntity]() As Boolean
        Set
            Me(23) = Value
        End Set
    End Property
    Public WriteOnly Property [IsCustomEntity_IsNull] As Boolean
        Set
            If (value)
                SetNull(23)
            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 WriteOnly Property [IsCustomizable]() As Boolean
        Set
            Me(24) = Value
        End Set
    End Property
    Public WriteOnly Property [IsCustomizable_IsNull] As Boolean
        Set
            If (value)
                SetNull(24)
            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 WriteOnly Property [IsDocumentManagementEnabled]() As Boolean
        Set
            Me(25) = Value
        End Set
    End Property
    Public WriteOnly Property [IsDocumentManagementEnabled_IsNull] As Boolean
        Set
            If (value)
                SetNull(25)
            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 WriteOnly Property [IsDuplicateDetectionEnabled]() As Boolean
        Set
            Me(26) = Value
        End Set
    End Property
    Public WriteOnly Property [IsDuplicateDetectionEnabled_IsNull] As Boolean
        Set
            If (value)
                SetNull(26)
            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 WriteOnly Property [IsEnabledForCharts]() As Boolean
        Set
            Me(27) = Value
        End Set
    End Property
    Public WriteOnly Property [IsEnabledForCharts_IsNull] As Boolean
        Set
            If (value)
                SetNull(27)
            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 WriteOnly Property [IsImportable]() As Boolean
        Set
            Me(28) = Value
        End Set
    End Property
    Public WriteOnly Property [IsImportable_IsNull] As Boolean
        Set
            If (value)
                SetNull(28)
            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 WriteOnly Property [IsIntersect]() As Boolean
        Set
            Me(29) = Value
        End Set
    End Property
    Public WriteOnly Property [IsIntersect_IsNull] As Boolean
        Set
            If (value)
                SetNull(29)
            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 WriteOnly Property [IsMailMergeEnabled]() As Boolean
        Set
            Me(30) = Value
        End Set
    End Property
    Public WriteOnly Property [IsMailMergeEnabled_IsNull] As Boolean
        Set
            If (value)
                SetNull(30)
            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 WriteOnly Property [IsManaged]() As Boolean
        Set
            Me(31) = Value
        End Set
    End Property
    Public WriteOnly Property [IsManaged_IsNull] As Boolean
        Set
            If (value)
                SetNull(31)
            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 WriteOnly Property [IsMappable]() As Boolean
        Set
            Me(32) = Value
        End Set
    End Property
    Public WriteOnly Property [IsMappable_IsNull] As Boolean
        Set
            If (value)
                SetNull(32)
            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 WriteOnly Property [IsReadingPaneEnabled]() As Boolean
        Set
            Me(33) = Value
        End Set
    End Property
    Public WriteOnly Property [IsReadingPaneEnabled_IsNull] As Boolean
        Set
            If (value)
                SetNull(33)
            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 WriteOnly Property [IsRenameable]() As Boolean
        Set
            Me(34) = Value
        End Set
    End Property
    Public WriteOnly Property [IsRenameable_IsNull] As Boolean
        Set
            If (value)
                SetNull(34)
            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 WriteOnly Property [IsValidForAdvancedFind]() As Boolean
        Set
            Me(35) = Value
        End Set
    End Property
    Public WriteOnly Property [IsValidForAdvancedFind_IsNull] As Boolean
        Set
            If (value)
                SetNull(35)
            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 WriteOnly Property [IsValidForQueue]() As Boolean
        Set
            Me(36) = Value
        End Set
    End Property
    Public WriteOnly Property [IsValidForQueue_IsNull] As Boolean
        Set
            If (value)
                SetNull(36)
            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 WriteOnly Property [IsVisibleInMobile]() As Boolean
        Set
            Me(37) = Value
        End Set
    End Property
    Public WriteOnly Property [IsVisibleInMobile_IsNull] As Boolean
        Set
            If (value)
                SetNull(37)
            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 WriteOnly Property [LogicalName]() As String
        Set
            Me(38) = Value
        End Set
    End Property
    Public WriteOnly Property [LogicalName_IsNull] As Boolean
        Set
            If (value)
                SetNull(38)
            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 WriteOnly Property [ObjectTypeCode]() As Int32
        Set
            Me(39) = Value
        End Set
    End Property
    Public WriteOnly Property [ObjectTypeCode_IsNull] As Boolean
        Set
            If (value)
                SetNull(39)
            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 WriteOnly Property [OwnershipType]() As String
        Set
            Me(40) = Value
        End Set
    End Property
    Public WriteOnly Property [OwnershipType_IsNull] As Boolean
        Set
            If (value)
                SetNull(40)
            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 WriteOnly Property [PrimaryIdAttribute]() As String
        Set
            Me(41) = Value
        End Set
    End Property
    Public WriteOnly Property [PrimaryIdAttribute_IsNull] As Boolean
        Set
            If (value)
                SetNull(41)
            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 WriteOnly Property [PrimaryNameAttribute]() As String
        Set
            Me(42) = Value
        End Set
    End Property
    Public WriteOnly Property [PrimaryNameAttribute_IsNull] As Boolean
        Set
            If (value)
                SetNull(42)
            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 WriteOnly Property [RecurrenceBaseEntityLogicalName]() As String
        Set
            Me(43) = Value
        End Set
    End Property
    Public WriteOnly Property [RecurrenceBaseEntityLogicalName_IsNull] As Boolean
        Set
            If (value)
                SetNull(43)
            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 WriteOnly Property [ReportViewName]() As String
        Set
            Me(44) = Value
        End Set
    End Property
    Public WriteOnly Property [ReportViewName_IsNull] As Boolean
        Set
            If (value)
                SetNull(44)
            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 WriteOnly Property [SchemaName]() As String
        Set
            Me(45) = Value
        End Set
    End Property
    Public WriteOnly Property [SchemaName_IsNull] As Boolean
        Set
            If (value)
                SetNull(45)
            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() {"ActivityTypeMask", "AutoRouteToOwnerQueue", "CanBeInManyToMany", "CanBePrimaryEntityInRelationship", "CanBeRelatedEntityInRelationship", "CanCreateAttributes", "CanCreateCharts", "CanCreateForms", "CanCreateViews", "CanModifyAdditionalSettings", "CanTriggerWorkflow", "Description", "DisplayCollectionName", "DisplayName", "IconLargeName", "IconMediumName", "IconSmallName", "IsActivity", "IsActivityParty", "IsAuditEnabled", "IsAvailableOffline", "IsChildEntity", "IsConnectionsEnabled", "IsCustomEntity", "IsCustomizable", "IsDocumentManagementEnabled", "IsDuplicateDetectionEnabled", "IsEnabledForCharts", "IsImportable", "IsIntersect", "IsMailMergeEnabled", "IsManaged", "IsMappable", "IsReadingPaneEnabled", "IsRenameable", "IsValidForAdvancedFind", "IsValidForQueue", "IsVisibleInMobile", "LogicalName", "ObjectTypeCode", "OwnershipType", "PrimaryIdAttribute", "PrimaryNameAttribute", "RecurrenceBaseEntityLogicalName", "ReportViewName", "SchemaName"}
        End Get
    End Property

    Public Overloads Sub AddRow()
        MyBase.AddRow()
    End Sub

    Public Overloads Sub SetEndOfRowset()
        MyBase.SetEndOfRowset()
    End Sub

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

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-2013 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 Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CRM2011 = CozyRoc.Dynamics.Crm2011.OrganizationService
Imports CRM4 = CozyRoc.Dynamics.Crm.Service
Imports Meta4 = CozyRoc.Dynamics.Crm.MetadataService
Imports CRM3 = CozyRoc.Dynamics.Crm3.Service
Imports Meta3 = CozyRoc.Dynamics.Crm3.MetadataService


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub CreateNewOutputRows()
        ' Retrieve entity metadata.
        Dim connection As ICrmConnection = CType( _
            Me.Connections.CrmConnection.AcquireConnection(Nothing), _
            ICrmConnection)
        Try
            Call connection.Connect()

            Dim service As Object = connection.GetService(0)   ' 0 - CRM Service
            Dim service2011 As CRM2011.OrganizationServiceClient = TryCast( _
                service, _
                CRM2011.OrganizationServiceClient)
            Dim service4 As CRM4.CrmService = TryCast(service, CRM4.CrmService)
            Dim service3 As CRM3.CrmService = TryCast(service, CRM3.CrmService)

            If Not service2011 Is Nothing Then
                ' CRM 2011.
                Call Process2011_(service2011)
            ElseIf Not service4 Is Nothing Then
                ' Will use metadata service.
                Dim meta4 As Meta4.MetadataService = CType( _
                    connection.GetService(1), _
                    Meta4.MetadataService)
                Call Process4_(meta4)
            ElseIf Not service3 Is Nothing Then
                ' Will use metadata service.
                Dim meta3 As Meta3.MetadataService = CType( _
                    connection.GetService(1), _
                    Meta3.MetadataService)
                Call Process3_(meta3)
            Else
                Throw New Exception("Unhandled service object.")
            End If
        Catch ex As Exception
            Call FireError_(ex.Message)
        Finally
            Call connection.Close()
        End Try
    End Sub ' CreateNewOutputRows


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    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

            ' 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


#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 Entity Source", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process2011_(ByVal service As CRM2011.OrganizationServiceClient)
        Dim req As New CRM2011.OrganizationRequest()
        req.RequestName = "RetrieveAllEntities"
        req("RetrieveAsIfPublished") = False
        req("EntityFilters") = CRM2011.EntityFilters.Entity
        Dim res As CRM2011.OrganizationResponse = service.Execute(req)
        Dim entities() As CRM2011.EntityMetadata = CType( _
            res("EntityMetadata"), _
            CRM2011.EntityMetadata())

        For Each entity As CRM2011.EntityMetadata In entities
            With MyBase.OutputBuffer
                Call .AddRow()

                If entity.ActivityTypeMask.HasValue Then
                    .ActivityTypeMask = entity.ActivityTypeMask.Value
                End If

                If entity.AutoRouteToOwnerQueue.HasValue Then
                    .AutoRouteToOwnerQueue = entity.AutoRouteToOwnerQueue.Value
                End If

                .CanBeInManyToMany = entity.CanBeInManyToMany.Value
                .CanBePrimaryEntityInRelationship = entity.CanBePrimaryEntityInRelationship.Value
                .CanBeRelatedEntityInRelationship = entity.CanBeRelatedEntityInRelationship.Value
                .CanCreateAttributes = entity.CanCreateAttributes.Value
                .CanCreateCharts = entity.CanCreateCharts.Value
                .CanCreateForms = entity.CanCreateForms.Value
                .CanCreateViews = entity.CanCreateViews.Value
                .CanModifyAdditionalSettings = entity.CanModifyAdditionalSettings.Value

                If entity.CanTriggerWorkflow.HasValue Then
                    .CanTriggerWorkflow = entity.CanTriggerWorkflow.Value
                End If

                If entity.Description.LocalizedLabels.Count > 0 Then
                    .Description = entity.Description.LocalizedLabels(0).Label
                End If

                If entity.DisplayCollectionName.LocalizedLabels.Count > 0 Then
                    .DisplayCollectionName = entity.DisplayCollectionName.LocalizedLabels(0).Label
                End If

                If entity.DisplayName.LocalizedLabels.Count > 0 Then
                    .DisplayName = entity.DisplayName.LocalizedLabels(0).Label
                End If

                .IconLargeName = entity.IconLargeName
                .IconMediumName = entity.IconMediumName
                .IconSmallName = entity.IconSmallName

                If entity.IsActivity.HasValue Then
                    .IsActivity = entity.IsActivity.Value
                End If

                If entity.IsActivityParty.HasValue Then
                    .IsActivityParty = entity.IsActivityParty.Value
                End If

                .IsAuditEnabled = entity.IsAuditEnabled.Value

                If entity.IsAvailableOffline.HasValue Then
                    .IsAvailableOffline = entity.IsAvailableOffline.Value
                End If

                If entity.IsChildEntity.HasValue Then
                    .IsChildEntity = entity.IsChildEntity.Value
                End If

                .IsConnectionsEnabled = entity.IsConnectionsEnabled.Value

                If entity.IsCustomEntity.HasValue Then
                    .IsCustomEntity = entity.IsCustomEntity.Value
                End If

                .IsCustomizable = entity.IsCustomizable.Value

                If entity.IsDocumentManagementEnabled.HasValue Then
                    .IsDocumentManagementEnabled = entity.IsDocumentManagementEnabled.Value
                End If

                .IsDuplicateDetectionEnabled = entity.IsDuplicateDetectionEnabled.Value

                If entity.IsEnabledForCharts.HasValue Then
                    .IsEnabledForCharts = entity.IsEnabledForCharts.Value
                End If

                If entity.IsImportable.HasValue Then
                    .IsImportable = entity.IsImportable.Value
                End If

                If entity.IsIntersect.HasValue Then
                    .IsIntersect = entity.IsIntersect.Value
                End If

                .IsMailMergeEnabled = entity.IsMailMergeEnabled.Value

                If entity.IsManaged.HasValue Then
                    .IsManaged = entity.IsManaged.Value
                End If

                .IsMappable = entity.IsMappable.Value

                If entity.IsReadingPaneEnabled.HasValue Then
                    .IsReadingPaneEnabled = entity.IsReadingPaneEnabled.Value
                End If

                .IsRenameable = entity.IsRenameable.Value

                If entity.IsValidForAdvancedFind.HasValue Then
                    .IsValidForAdvancedFind = entity.IsValidForAdvancedFind.Value
                End If

                .IsValidForQueue = entity.IsValidForQueue.Value
                .IsVisibleInMobile = entity.IsVisibleInMobile.Value
                .LogicalName = entity.LogicalName

                If entity.ObjectTypeCode.HasValue Then
                    .ObjectTypeCode = entity.ObjectTypeCode.Value
                End If

                If entity.OwnershipType.HasValue Then
                    .OwnershipType = entity.OwnershipType.Value.ToString()
                End If

                .PrimaryIdAttribute = entity.PrimaryIdAttribute
                .PrimaryNameAttribute = entity.PrimaryNameAttribute
                .RecurrenceBaseEntityLogicalName = entity.RecurrenceBaseEntityLogicalName
                .ReportViewName = entity.ReportViewName
                .SchemaName = entity.SchemaName
            End With
        Next
    End Sub ' Process2011_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process4_(ByVal service As Meta4.MetadataService)
        Dim req As New Meta4.RetrieveAllEntitiesRequest
        req.MetadataItems = Meta4.MetadataItems.EntitiesOnly
        Dim res As Meta4.RetrieveAllEntitiesResponse = CType( _
            service.Execute(req), _
            Meta4.RetrieveAllEntitiesResponse)

        For Each entity As Meta4.EntityMetadata In res.CrmMetadata
            With MyBase.OutputBuffer
                Call .AddRow()

                If Not entity.CanTriggerWorkflow.IsNull Then
                    .CanTriggerWorkflow = entity.CanTriggerWorkflow.Value
                End If

                If entity.Description.LocLabels.Length > 0 Then
                    .Description = entity.Description.LocLabels(0).Label
                End If

                If entity.DisplayCollectionName.LocLabels.Length > 0 Then
                    .DisplayCollectionName = entity.DisplayCollectionName.LocLabels(0).Label
                End If

                If entity.DisplayName.LocLabels.Length > 0 Then
                    .DisplayName = entity.DisplayName.LocLabels(0).Label
                End If

                If Not entity.IsActivity.IsNull Then
                    .IsActivity = entity.IsActivity.Value
                End If

                If Not entity.IsAvailableOffline.IsNull Then
                    .IsAvailableOffline = entity.IsAvailableOffline.Value
                End If

                If Not entity.IsChildEntity.IsNull Then
                    .IsChildEntity = entity.IsChildEntity.Value
                End If

                If Not entity.IsCustomEntity.IsNull Then
                    .IsCustomEntity = entity.IsCustomEntity.Value
                End If

                If Not entity.IsCustomizable.IsNull Then
                    .IsCustomizable = entity.IsCustomizable.Value
                End If

                If Not entity.IsImportable.IsNull Then
                    .IsImportable = entity.IsImportable.Value
                End If

                If Not entity.IsIntersect.IsNull Then
                    .IsIntersect = entity.IsIntersect.Value
                End If

                If Not entity.IsMailMergeEnabled.IsNull Then
                    .IsMailMergeEnabled = entity.IsMailMergeEnabled.Value
                End If

                If Not entity.IsValidForAdvancedFind.IsNull Then
                    .IsValidForAdvancedFind = entity.IsValidForAdvancedFind.Value
                End If

                .LogicalName = entity.LogicalName

                If Not entity.ObjectTypeCode.IsNull Then
                    .ObjectTypeCode = entity.ObjectTypeCode.Value
                End If

                If Not entity.OwnershipType.IsNull Then
                    .OwnershipType = entity.OwnershipType.Value.ToString()
                End If

                .PrimaryIdAttribute = entity.PrimaryKey
                .PrimaryNameAttribute = entity.PrimaryField
                .ReportViewName = entity.ReportViewName
                .SchemaName = entity.SchemaName
            End With
        Next
    End Sub ' Process4_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process3_(ByVal service As Meta3.MetadataService)
        Dim res As Meta3.Metadata = service.RetrieveMetadata(Meta3.MetadataFlags.EntitiesOnly)

        For Each entity As Meta3.EntityMetadata In res.Entities
            With MyBase.OutputBuffer
                Call .AddRow()

                .Description = entity.Description
                .DisplayCollectionName = entity.DisplayCollectionName
                .DisplayName = entity.DisplayName
                .IsCustomEntity = entity.IsCustomEntity
                .IsCustomizable = entity.IsCustomizable
                .LogicalName = entity.Name
                .ObjectTypeCode = entity.ObjectTypeCode
                .OwnershipType = entity.OwnershipType.ToString()
                .PrimaryIdAttribute = entity.PrimaryKey
                .PrimaryNameAttribute = entity.PrimaryField
                .ReportViewName = entity.ReportViewName
            End With
        Next
    End Sub ' Process3_
#End Region ' Internals


#Region "Attributes"
    Private m_crmConnection As String
#End Region ' Attributes

End Class   ' CreateNewOutputRows

]]></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:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{6D9F0799-C70E-40AB-A537-225CB048C50A}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_bc6794848d3f4d119c4a2e02e57fe5a8</msb:DisplayName>
		<msb:CodeName>scriptcomponent_bc6794848d3f4d119c4a2e02e57fe5a8</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:Project Include="scriptcomponent_bc6794848d3f4d119c4a2e02e57fe5a8.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></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\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_bc6794848d3f4d119c4a2e02e57fe5a8.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
BhEEB2+jAAAKb2sAAAYUEwQIF9YMCAmOtz9E////KgAeAigXAAAKKhMwAgAtAAAAGQAAEX4MAAAE
LSByhAgAcNAMAAACKBQAAApvqAAACnOpAAAKCweADAAABH4MAAAEKgAAABMwAQAGAAAAGgAAEX4N
AAAEKgAAHgKADQAABCpCcxcAAAooEQAACoAPAAAEKgAAAB4CKKoAAAoqGzABAD8AAAAbAAARfg4A
AAQtMn4PAAAEKBEAAAooqwAACn4OAAAELRxzigAABoAOAAAE3hB+DwAABCgRAAAKKKwAAArcfg4A
AAQqAAEQAAACAB0ADCkAEAAAAAG0AAAAzsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJjZXMuUmVz
b3VyY2VSZWFkZXIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwg
UHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1bnRpbWVS
ZXNvdXJjZVNldAIAAAAAAAAAAAAAAFBBRFBBRFC0AAAAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAz
MTkAAAAABQBsAAAALBoAACN+AACYGgAAYCYAACNTdHJpbmdzAAAAAPhAAAC4CAAAI1VTALBJAAAQ
AAAAI0dVSUQAAADASQAA+AUAACNCbG9iAAAAAAAAAAIAAAFXFaIJCQ8AAAD6JTMAFgAAAQAAAF4A
AAANAAAADwAAAIsAAABxAAAAuAAAAD0AAAAbAAAABwAAAGkAAABrAAAADgAAAAEAAAAKAAAAAQAA
AAIAAAADAAAAAgAAAAAAJCYBAAAAAAAKAKoBgAEKAN4BwAEGAO4B5wEKAEYCgAEGAMQC5wEKAEYD
HAMOAJgDgQMSAOcDxgMWABgExgMSACcExgMOAKcVgQMaAHIWShYeAD4XERceAJIXbRceAJIXrBcG
AA8Y/hcGADwYJxgiAJ0YiBgiAOoY1BgiAAMZ1BgiADAZGBkGAFoZRxkKAJkZchkKALEZEwAiAOYZ
yRkGABsa+xkGADka5wEGAF0a5wEKAHYaEwAGALoamxoGAM4a5wEGANUa5wEGAOwa5wEGAAYb5wES
AA4bxgMGABsb5wEmAIobYRsmALkbYRsmAPwbYRsOADQcgQMeAGEcQxweAGEcbBwGAIkc5wEKALgc
chkeAC4dERceAD0dERceAFEdERcGAGYd5wEeAHEdERceAJAdERcqAGYd5wEeAOIdERceAA8eERce
APkeERceAA8fERcGAFcfPB8eAF4fERcGANAh5wEeAEsibRceAGYibRceAC4dbRceAIIibRceAI4i
bRceAK4ibRceAMYibRceAO0ibRceAAMjbRceAAwjbRceACMjbRceAC0jbRceAD8jbRceAHEdbRce
AGsjrBceAC4drBceAHQjrBceAHEdrBcSAKkjxgMOAPIj0CMOAA4k0CMiACIk1BgGAEkkNyQGAHAk
XyQGAIMkRxkGAOwk+xkGAAwl+xkGAEQlKiUGAF0lNyQGAHolmxoGAIglNyQGAKMlNyQGAL4lNyQG
ANclNyQGAPAlNyQGAA0mNyQAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAHIANwAJAAEA
AgAAARAAfQA3AA0AAQADAAUBAACHAAAADQAFAAgABQEAAJUAAAANAAUADwABAAAAsAC9AB0ABgAR
AAEAAAD1AL0ALQAGAHMAAQAAAAMBvQANAAkAeAABAAAADwG9AA0ACgB6AAEAAAAZAb0AIAALAHsA
AAAAACQBMAENAAwAhQAAARAAdQG9AEkADgCJADEACQIgADEAMgItADEAVAI6ADEAeQJHACEAVQOQ
AAYAAwHkAAYADwHoAAYAsADsAAEAFxb8AAEAFxb8AAEA3BcoAREAHxgrAREASBgvAREAtRhNAREA
vRhRAVAgAAAAAAYYugETAAEAWCAAAAAABhi6ARMAAQBgIAAAAAARGPUBFwABAIwgAAAAABMI/AEb
AAEApCAAAAAAEwgiAigAAQC8IAAAAAATCEsCNQABANQgAAAAABMIaQJCAAEA7CAAAAAARgKvAmMA
AQAIIQAAAABGArgCaAACABwhAAAAAIMAyQJsAAIANCEAAAAARgLRAnEAAgBIIQAAAAARANoCeAAC
AGQhAAAAAAEA+AKAAAMAgCEAAAAABhi6ARMABACIIQAAAAADCAwDiwAEALwhAAAAAAYYugETAAQA
0CEAAAAABhi6Aa8ABADgIQAAAABGCmEEuwAJAPQhAAAAAAYIeATAAAkABCIAAAAABgiTBMUACgAg
IgAAAAAGCK8ExQALADAiAAAAAAYIyQTFAAwATCIAAAAABgjqBMUADQBcIgAAAAAGCAAFxQAOAHgi
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
AAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAAB
AI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0E
AAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAAB
AI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0E
AAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAAB
AI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0E
AAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAI0EAAABAOkVAAACAPEVAAAD
APsVAAAEAFcEAAABADUEAAABADUEAAABALQWAAABANEWAAABAPgWAAABAGUXAAABAGUXAAABAGUX
AAABAI0ECQC6ARMAmQC6AV4BqQC6AW0BEQC6ARMAsQC6ARMAJAC6ARMALAC6ARMANAC6ARMAPAC6
ARMAJAAMA4sALAAMA4sANAAMA4sAPAAMA4sAuQC6ARMAwQC6ARMAyQC6AcoA0QAqGgcCGQCvAmMA
GQC4AmgAKQBLGhQCGQDRAnEA4QBnGiQCGQC6ARMA6QC6ATQCRABVA5AATADKGIsATACRGrECTAC6
ARMA8QC6AcUAOQC6Aa8AOQDbGssCOQDkGsAACQG6AcoAGQGyDRMAGQG5DRMAGQHIDc8AIQG6AcUA
WQC6ARMAQQAxG9gCQQCjG+QCKQHcG+oCMQEVHPACOQEeHAYBYQCTHPwCQQGlHBMAQQGtHAEDWQG6
AcoAYQHEHAYDWQHUHHEAYQHgHBcAQQHyHBMA+QD4HCMDOQEGHcoA+QAeHSgBKQEkHTADcQG6ARMA
cQGAHcoAcQHbGjsDaQCeHUEDeQEVHEoDaQGmHVQDXAC7Hc8AXADKGIsAaQHIHWQDZAC7Hc8AZADK
GIsAaQH5HXQDqQHKGM8AaQEmHnQDaQFLHnQDaQFwHnQDaQGIHnQDaQGcHnQDaQGvHnQDaQHCHnQD
aQHiHmQDaQH/HnoDsQEoH4ADbABtH2gAbAAVHI8DyQF3H3EAaQGBH3oDaQGbH3oDaQGrH3EAaQG9
H3EAaQHQH3EAaQHiH2QDaQHxH2QDaQEFIHQDaQEYIGQDaQEvIGQDaQFBIHQDaQFaIGQDaQFtIHQD
aQGAIGQDaQGgIHQDaQHAIGQDaQHXIGQDaQHoIGQDaQH4IHQDaQEPIWQDaQEdIXQDaQEsIWQDaQFF
IXQDaQFWIWQDaQFxIXQDaQGFIXQDaQGbIXEAaQGrIVQDaQG+IZUDdAC7Hc8AdADKGIsA0QHRAnEA
aQHVIXEAaQHsIXEAaQEFInEAaQEpInEAaQE8InEA2QG6ARMA2QGcIugDcQCeHe8D4QHdIvgD6QHi
Hv8DEQL4Is8AEQLKGM8A6QH/HgUEGQIVIwsEIQJ3H3EA6QGBHwUE6QGbHwUE6QHiH/8D6QEYIP8D
6QEvIP8D6QFaIP8D6QFtIP8D6QHXIP8D6QHoIP8D6QH4IP8D6QFWIf8D6QGbIXEA6QGrIRIEKQL4
Is8AKQLKGGgA6QG+IRgEOQL4Is8AMQLKGB4E6QFLI3EA6QFaI3EA6QEpInEA6QE8InEAeQCCIzcE
SQKTI0AEUQL/HnEAUQKBH3EAUQKbH3EAUQJaIM8AUQJtIM8AUQKgI3EAUQKrIWgAUQK+IUcEUQJL
I3EAUQJaI3EAUQIpInEAaQK6ARMAcQK6AcoAeQK6AcoAgQK6AcoAKQBSJK8EgQC6AbUEkQC6ARMA
kQJ4JNIEkQJ+JNIEmQK6ARMAoQK6AcAAqQK6ARMAsQK6AcoAuQK6AcoAwQK6AcoAyQK6AcoA0QK6
AcoA2QK6AcoA4QK6AcoA6QK6AcoA8QK6AcoAKQCDAMEBLgCzBeYFLgCrBakFLgCDBQQFLgCjBYkF
LgC7BcACLgDDBakFLgBzBdwELgB7BeUELgCLBUwFLgCTBVkFLgDrAMACLgArAYMFLgCbBcACQAAr
AIwBQAATAGQBQwATAGQBQwAbAHMBSQCDAPMBYwAbAHMBYwATAGQBaQCDANIBgAArAIwBgwBzAIwB
gwAbAHMBgwB7AIwBiQCDAN8BoAArAIwBowDDADwCowATAGQBwAArAIwBwwATAGQBwwDrAMAC4AAr
AIwB4wArAcACAAETAGQBAAErAIwBAwErAcACIAErAIwBIAETAGQBQAErAIwBQAETAGQBYAErAIwB
YAETAGQBYwEjBYwBYwErBV0EYwErAcACgAErAIwBoAErAIwBwAETAGQBwAErAIwB4AErAIwBAAIT
AGQBAAIrAIwBqQwzBWsEqQw7BYIE6QwTAMkECQ0TAMkEKQ1rBYwBAA8rAcACQA8rAcACrQGyAbcB
vAEMAhACGwIgAi8CLwK3AsYC0QIMAt8C9wINAygDIALRAgwCqQMkBE0EvQTEBNcEBAABAAYABQAH
AAYACQBkAAsAZQAMAGcADQBpAAAA3gFPAAAAlwJUAAAARgJZAAAAowJeAAAAXwOYAAAA1A3TAAAA
5w3YAAAA+A3cAAAAEA7cAAAAJg7cAAAAQw7cAAAAVQ7cAAAAbg7cAAAAjw7cAAAAtw7cAAAA2A7c
AAAAAA/cAAAAFA/cAAAALw/cAAAAPw/cAAAAVg/cAAAAZQ/cAAAAew/cAAAAig/cAAAAoA/cAAAA
vA/cAAAA3w/cAAAA8g/cAAAADBDgAAAAGBDcAAAAKxDgAAAAQRDcAAAAXhDgAAAAahDcAAAAfRDg
AAAAixDcAAAAoBDgAAAArxDcAAAAxRDgAAAA0xDcAAAA6BDcAAAA8xDcAAAABRHcAAAAFRHcAAAA
LBHcAAAAOxHcAAAAURHcAAAAZBHcAAAAfhHcAAAAjBHcAAAAoRHcAAAAthHcAAAA0hHcAAAA4RHc
AAAA9xHcAAAABhLcAAAAHBLcAAAAOBLcAAAAWxLcAAAAdxLcAAAAmhLcAAAArRLcAAAAxxLcAAAA
1BLcAAAA6BLcAAAA9BLcAAAABxPcAAAAGhPcAAAANBPcAAAAPhPcAAAATxPcAAAAWhPcAAAAbBPc
AAAAgRPcAAAAnRPcAAAAqhPcAAAAvhPcAAAA1RPcAAAA8xPcAAAAAxTcAAAAGhTcAAAALBTcAAAA
RRTgAAAAURTcAAAAZBTYAAAAcxTcAAAAiRTgAAAAlxTcAAAArBTgAAAAvxTcAAAA2RTgAAAA7hTc
AAAAChXgAAAAKhXcAAAAURXgAAAAYBXcAAAAdhXgAAAAgRXcAAAAkxXTAAAAnRYLAQAAnRbgAAAA
7BfTAAAADxhDAQAAgBhIAQAAjQRZAQIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgAN
AAEAEwAPAAEAFAARAAEAFQATAAEAFgAVAAEAFwAXAAEAGAAZAAEAGQAbAAEAGgAdAAEAGwAfAAEA
HAAhAAEAHQAjAAEAHgAlAAEAHwAnAAEAIAApAAEAIQArAAEAIgAtAAEAIwAvAAEAJAAxAAEAJQAz
AAEAJgA1AAEAJwA3AAEAKAA5AAEAKQA7AAEAKgA9AAEAKwA/AAEALABBAAEALQBDAAEALgBFAAEA
LwBHAAEAMABJAAEAMQBLAAEAMgBNAAEAMwBPAAEANABRAAEANQBTAAEANgBVAAEANwBXAAEAOABZ
AAEAOQBbAAEAOgBdAAEAOwBfAAEAPABhAAEAPQBjAAEAPgBlAAEAPwBnAAEAQABpAAEAQQBrAAEA
QgBtAAEAQwBvAAEARABxAAEARQBzAAEARgB1AAEARwB3AAEASAB5AAEASQB7AAEASgB9AAEASwB/
AAEATACBAAEATQCDAAEATgCFAAEATwCHAAEAUACJAAEAUQCLAAEAUgCNAAEAUwCPAAEAVACRAAEA
VQCTAAEAVgCVAAEAVwCXAAEAWACZAAEAWQCbAAEAWgCdAAEAWwCfAAEAXAChAAEAXQCjAAEAXgCl
AAEAXwCnAAEAYACpAAEAYQCrAAEAYgCtAAEAYwCvAAEAZACxAAEAZQCzAAEAZgC1AAEAZwC3AAEA
aAC5AAEAaQC7AAEAagC9AAEAawC/AAEAbADBAAEAbQDDAAEAbgDFAAIAbwDHAAIAeQDJAAIAfgDL
AAEAfwDLAAIAgADNAAIAhgDPAAIAhwDRAAEAiADRAAIAiwDTAHUAdQCIAJEBmAGfAaYBngKlAk8D
XQNtA4YDoAMEgAAAAQAAAAAAAAAAAAAAAAC9AAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAA
AAAAAAAKABMAAAAAAAEAAAAAAAAAAAAAAJ0AawMAAAAACwAAAAAAAAAAAAAApgCpAwAAAAALAAAA
AAAAAAAAAACmAPcDAAAAAAsAAAAAAAAAAAAAAKYAJxYAAAAAAQAAAAAAAAAAAAAAnQAAFwAAAAAE
AAAAAAAAAAAAAAABAOcBAAAAAAsAAAAAAAAAAAAAAKYAPRsAAAAAAgAAAAAAAAAAAAAAAQAKAAAA
AAAAAAAAAQAAAKAkAAAFAAQABgAEAAAAEAAMAO0CAAAQABkA7QIAAAAAGwDtAi0AKgItAKwCAAAA
AAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBT
Y3JpcHRDb21wb25lbnRfYmM2Nzk0ODQ4ZDNmNGQxMTljNGEyZTAyZTU3ZmU1YTgudmJwcm9qLk15
AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp
ZGVyYDEAT3V0cHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF9iYzY3OTQ4NDhkM2Y0ZDExOWM0YTJl
MDJlNTdmZTVhOC52YnByb2oAVXNlckNvbXBvbmVudABDb25uZWN0aW9ucwBWYXJpYWJsZXMAU2Ny
aXB0TWFpbgBNeVJlc291cmNlcwBTY3JpcHRDb21wb25lbnRfYmM2Nzk0ODQ4ZDNmNGQxMTljNGEy
ZTAyZTU3ZmU1YTgudmJwcm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAE1pY3Jvc29mdC5WaXN1
YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3Nv
ZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRf
Q29tcHV0ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9i
amVjdFByb3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNl
cnZpY2VzAG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZp
Y2VzAEVxdWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0lu
c3RhbmNlX18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBN
aWNyb3NvZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBt
X0NvbnRleHQAR2V0SW5zdGFuY2UAQ296eVJvYy5TU0lTUGx1cy4yMDEyAENvenlSb2MuU3FsU2Vy
dmVyLlNTSVMAU2NyaXB0QnVmZmVyUGx1cwBNaWNyb3NvZnQuU3FsU2VydmVyLlR4U2NyaXB0AE1p
Y3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAFNjcmlwdENvbXBvbmVudABNaWNyb3NvZnQu
U3FsU2VydmVyLlBpcGVsaW5lSG9zdABQaXBlbGluZUJ1ZmZlcgBPdXRwdXROYW1lTWFwAENvbXBv
bmVudABPYmplY3RJRABJc0lucHV0AEJ1ZmZlcgBPdXRwdXRNYXAAZ2V0X1N0YXRpY0lucHV0Q29s
dW1ucwBzZXRfQWN0aXZpdHlUeXBlTWFzawBWYWx1ZQBzZXRfQWN0aXZpdHlUeXBlTWFza19Jc051
bGwAc2V0X0F1dG9Sb3V0ZVRvT3duZXJRdWV1ZQBzZXRfQXV0b1JvdXRlVG9Pd25lclF1ZXVlX0lz
TnVsbABzZXRfQ2FuQmVJbk1hbnlUb01hbnkAc2V0X0NhbkJlSW5NYW55VG9NYW55X0lzTnVsbABz
ZXRfQ2FuQmVQcmltYXJ5RW50aXR5SW5SZWxhdGlvbnNoaXAAc2V0X0NhbkJlUHJpbWFyeUVudGl0
eUluUmVsYXRpb25zaGlwX0lzTnVsbABzZXRfQ2FuQmVSZWxhdGVkRW50aXR5SW5SZWxhdGlvbnNo
aXAAc2V0X0NhbkJlUmVsYXRlZEVudGl0eUluUmVsYXRpb25zaGlwX0lzTnVsbABzZXRfQ2FuQ3Jl
YXRlQXR0cmlidXRlcwBzZXRfQ2FuQ3JlYXRlQXR0cmlidXRlc19Jc051bGwAc2V0X0NhbkNyZWF0
ZUNoYXJ0cwBzZXRfQ2FuQ3JlYXRlQ2hhcnRzX0lzTnVsbABzZXRfQ2FuQ3JlYXRlRm9ybXMAc2V0
X0NhbkNyZWF0ZUZvcm1zX0lzTnVsbABzZXRfQ2FuQ3JlYXRlVmlld3MAc2V0X0NhbkNyZWF0ZVZp
ZXdzX0lzTnVsbABzZXRfQ2FuTW9kaWZ5QWRkaXRpb25hbFNldHRpbmdzAHNldF9DYW5Nb2RpZnlB
ZGRpdGlvbmFsU2V0dGluZ3NfSXNOdWxsAHNldF9DYW5UcmlnZ2VyV29ya2Zsb3cAc2V0X0NhblRy
aWdnZXJXb3JrZmxvd19Jc051bGwAc2V0X0Rlc2NyaXB0aW9uAHNldF9EZXNjcmlwdGlvbl9Jc051
bGwAc2V0X0Rpc3BsYXlDb2xsZWN0aW9uTmFtZQBzZXRfRGlzcGxheUNvbGxlY3Rpb25OYW1lX0lz
TnVsbABzZXRfRGlzcGxheU5hbWUAc2V0X0Rpc3BsYXlOYW1lX0lzTnVsbABzZXRfSWNvbkxhcmdl
TmFtZQBzZXRfSWNvbkxhcmdlTmFtZV9Jc051bGwAc2V0X0ljb25NZWRpdW1OYW1lAHNldF9JY29u
TWVkaXVtTmFtZV9Jc051bGwAc2V0X0ljb25TbWFsbE5hbWUAc2V0X0ljb25TbWFsbE5hbWVfSXNO
dWxsAHNldF9Jc0FjdGl2aXR5AHNldF9Jc0FjdGl2aXR5X0lzTnVsbABzZXRfSXNBY3Rpdml0eVBh
cnR5AHNldF9Jc0FjdGl2aXR5UGFydHlfSXNOdWxsAHNldF9Jc0F1ZGl0RW5hYmxlZABzZXRfSXNB
dWRpdEVuYWJsZWRfSXNOdWxsAHNldF9Jc0F2YWlsYWJsZU9mZmxpbmUAc2V0X0lzQXZhaWxhYmxl
T2ZmbGluZV9Jc051bGwAc2V0X0lzQ2hpbGRFbnRpdHkAc2V0X0lzQ2hpbGRFbnRpdHlfSXNOdWxs
AHNldF9Jc0Nvbm5lY3Rpb25zRW5hYmxlZABzZXRfSXNDb25uZWN0aW9uc0VuYWJsZWRfSXNOdWxs
AHNldF9Jc0N1c3RvbUVudGl0eQBzZXRfSXNDdXN0b21FbnRpdHlfSXNOdWxsAHNldF9Jc0N1c3Rv
bWl6YWJsZQBzZXRfSXNDdXN0b21pemFibGVfSXNOdWxsAHNldF9Jc0RvY3VtZW50TWFuYWdlbWVu
dEVuYWJsZWQAc2V0X0lzRG9jdW1lbnRNYW5hZ2VtZW50RW5hYmxlZF9Jc051bGwAc2V0X0lzRHVw
bGljYXRlRGV0ZWN0aW9uRW5hYmxlZABzZXRfSXNEdXBsaWNhdGVEZXRlY3Rpb25FbmFibGVkX0lz
TnVsbABzZXRfSXNFbmFibGVkRm9yQ2hhcnRzAHNldF9Jc0VuYWJsZWRGb3JDaGFydHNfSXNOdWxs
AHNldF9Jc0ltcG9ydGFibGUAc2V0X0lzSW1wb3J0YWJsZV9Jc051bGwAc2V0X0lzSW50ZXJzZWN0
AHNldF9Jc0ludGVyc2VjdF9Jc051bGwAc2V0X0lzTWFpbE1lcmdlRW5hYmxlZABzZXRfSXNNYWls
TWVyZ2VFbmFibGVkX0lzTnVsbABzZXRfSXNNYW5hZ2VkAHNldF9Jc01hbmFnZWRfSXNOdWxsAHNl
dF9Jc01hcHBhYmxlAHNldF9Jc01hcHBhYmxlX0lzTnVsbABzZXRfSXNSZWFkaW5nUGFuZUVuYWJs
ZWQAc2V0X0lzUmVhZGluZ1BhbmVFbmFibGVkX0lzTnVsbABzZXRfSXNSZW5hbWVhYmxlAHNldF9J
c1JlbmFtZWFibGVfSXNOdWxsAHNldF9Jc1ZhbGlkRm9yQWR2YW5jZWRGaW5kAHNldF9Jc1ZhbGlk
Rm9yQWR2YW5jZWRGaW5kX0lzTnVsbABzZXRfSXNWYWxpZEZvclF1ZXVlAHNldF9Jc1ZhbGlkRm9y
UXVldWVfSXNOdWxsAHNldF9Jc1Zpc2libGVJbk1vYmlsZQBzZXRfSXNWaXNpYmxlSW5Nb2JpbGVf
SXNOdWxsAHNldF9Mb2dpY2FsTmFtZQBzZXRfTG9naWNhbE5hbWVfSXNOdWxsAHNldF9PYmplY3RU
eXBlQ29kZQBzZXRfT2JqZWN0VHlwZUNvZGVfSXNOdWxsAHNldF9Pd25lcnNoaXBUeXBlAHNldF9P
d25lcnNoaXBUeXBlX0lzTnVsbABzZXRfUHJpbWFyeUlkQXR0cmlidXRlAHNldF9QcmltYXJ5SWRB
dHRyaWJ1dGVfSXNOdWxsAHNldF9QcmltYXJ5TmFtZUF0dHJpYnV0ZQBzZXRfUHJpbWFyeU5hbWVB
dHRyaWJ1dGVfSXNOdWxsAHNldF9SZWN1cnJlbmNlQmFzZUVudGl0eUxvZ2ljYWxOYW1lAHNldF9S
ZWN1cnJlbmNlQmFzZUVudGl0eUxvZ2ljYWxOYW1lX0lzTnVsbABzZXRfUmVwb3J0Vmlld05hbWUA
c2V0X1JlcG9ydFZpZXdOYW1lX0lzTnVsbABzZXRfU2NoZW1hTmFtZQBzZXRfU2NoZW1hTmFtZV9J
c051bGwAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMAQWRkUm93AFNldEVuZE9mUm93c2V0AEVuZE9m
Um93c2V0AFN0YXRpY0lucHV0Q29sdW1ucwBBY3Rpdml0eVR5cGVNYXNrAEFjdGl2aXR5VHlwZU1h
c2tfSXNOdWxsAEF1dG9Sb3V0ZVRvT3duZXJRdWV1ZQBBdXRvUm91dGVUb093bmVyUXVldWVfSXNO
dWxsAENhbkJlSW5NYW55VG9NYW55AENhbkJlSW5NYW55VG9NYW55X0lzTnVsbABDYW5CZVByaW1h
cnlFbnRpdHlJblJlbGF0aW9uc2hpcABDYW5CZVByaW1hcnlFbnRpdHlJblJlbGF0aW9uc2hpcF9J
c051bGwAQ2FuQmVSZWxhdGVkRW50aXR5SW5SZWxhdGlvbnNoaXAAQ2FuQmVSZWxhdGVkRW50aXR5
SW5SZWxhdGlvbnNoaXBfSXNOdWxsAENhbkNyZWF0ZUF0dHJpYnV0ZXMAQ2FuQ3JlYXRlQXR0cmli
dXRlc19Jc051bGwAQ2FuQ3JlYXRlQ2hhcnRzAENhbkNyZWF0ZUNoYXJ0c19Jc051bGwAQ2FuQ3Jl
YXRlRm9ybXMAQ2FuQ3JlYXRlRm9ybXNfSXNOdWxsAENhbkNyZWF0ZVZpZXdzAENhbkNyZWF0ZVZp
ZXdzX0lzTnVsbABDYW5Nb2RpZnlBZGRpdGlvbmFsU2V0dGluZ3MAQ2FuTW9kaWZ5QWRkaXRpb25h
bFNldHRpbmdzX0lzTnVsbABDYW5UcmlnZ2VyV29ya2Zsb3cAQ2FuVHJpZ2dlcldvcmtmbG93X0lz
TnVsbABEZXNjcmlwdGlvbgBEZXNjcmlwdGlvbl9Jc051bGwARGlzcGxheUNvbGxlY3Rpb25OYW1l
AERpc3BsYXlDb2xsZWN0aW9uTmFtZV9Jc051bGwARGlzcGxheU5hbWUARGlzcGxheU5hbWVfSXNO
dWxsAEljb25MYXJnZU5hbWUASWNvbkxhcmdlTmFtZV9Jc051bGwASWNvbk1lZGl1bU5hbWUASWNv
bk1lZGl1bU5hbWVfSXNOdWxsAEljb25TbWFsbE5hbWUASWNvblNtYWxsTmFtZV9Jc051bGwASXNB
Y3Rpdml0eQBJc0FjdGl2aXR5X0lzTnVsbABJc0FjdGl2aXR5UGFydHkASXNBY3Rpdml0eVBhcnR5
X0lzTnVsbABJc0F1ZGl0RW5hYmxlZABJc0F1ZGl0RW5hYmxlZF9Jc051bGwASXNBdmFpbGFibGVP
ZmZsaW5lAElzQXZhaWxhYmxlT2ZmbGluZV9Jc051bGwASXNDaGlsZEVudGl0eQBJc0NoaWxkRW50
aXR5X0lzTnVsbABJc0Nvbm5lY3Rpb25zRW5hYmxlZABJc0Nvbm5lY3Rpb25zRW5hYmxlZF9Jc051
bGwASXNDdXN0b21FbnRpdHkASXNDdXN0b21FbnRpdHlfSXNOdWxsAElzQ3VzdG9taXphYmxlAElz
Q3VzdG9taXphYmxlX0lzTnVsbABJc0RvY3VtZW50TWFuYWdlbWVudEVuYWJsZWQASXNEb2N1bWVu
dE1hbmFnZW1lbnRFbmFibGVkX0lzTnVsbABJc0R1cGxpY2F0ZURldGVjdGlvbkVuYWJsZWQASXNE
dXBsaWNhdGVEZXRlY3Rpb25FbmFibGVkX0lzTnVsbABJc0VuYWJsZWRGb3JDaGFydHMASXNFbmFi
bGVkRm9yQ2hhcnRzX0lzTnVsbABJc0ltcG9ydGFibGUASXNJbXBvcnRhYmxlX0lzTnVsbABJc0lu
dGVyc2VjdABJc0ludGVyc2VjdF9Jc051bGwASXNNYWlsTWVyZ2VFbmFibGVkAElzTWFpbE1lcmdl
RW5hYmxlZF9Jc051bGwASXNNYW5hZ2VkAElzTWFuYWdlZF9Jc051bGwASXNNYXBwYWJsZQBJc01h
cHBhYmxlX0lzTnVsbABJc1JlYWRpbmdQYW5lRW5hYmxlZABJc1JlYWRpbmdQYW5lRW5hYmxlZF9J
c051bGwASXNSZW5hbWVhYmxlAElzUmVuYW1lYWJsZV9Jc051bGwASXNWYWxpZEZvckFkdmFuY2Vk
RmluZABJc1ZhbGlkRm9yQWR2YW5jZWRGaW5kX0lzTnVsbABJc1ZhbGlkRm9yUXVldWUASXNWYWxp
ZEZvclF1ZXVlX0lzTnVsbABJc1Zpc2libGVJbk1vYmlsZQBJc1Zpc2libGVJbk1vYmlsZV9Jc051
bGwATG9naWNhbE5hbWUATG9naWNhbE5hbWVfSXNOdWxsAE9iamVjdFR5cGVDb2RlAE9iamVjdFR5
cGVDb2RlX0lzTnVsbABPd25lcnNoaXBUeXBlAE93bmVyc2hpcFR5cGVfSXNOdWxsAFByaW1hcnlJ
ZEF0dHJpYnV0ZQBQcmltYXJ5SWRBdHRyaWJ1dGVfSXNOdWxsAFByaW1hcnlOYW1lQXR0cmlidXRl
AFByaW1hcnlOYW1lQXR0cmlidXRlX0lzTnVsbABSZWN1cnJlbmNlQmFzZUVudGl0eUxvZ2ljYWxO
YW1lAFJlY3VycmVuY2VCYXNlRW50aXR5TG9naWNhbE5hbWVfSXNOdWxsAFJlcG9ydFZpZXdOYW1l
AFJlcG9ydFZpZXdOYW1lX0lzTnVsbABTY2hlbWFOYW1lAFNjaGVtYU5hbWVfSXNOdWxsAFN0YXRp
Y091dHB1dENvbHVtbnMAU2NyaXB0Q29tcG9uZW50UGx1cwBGaW5pc2hPdXRwdXRzAE1hcmtPdXRw
dXRzRmluaXNoZWQAUHJpbWVPdXRwdXQAT3V0cHV0cwBPdXRwdXRJRHMAQnVmZmVycwBDcmVhdGVO
ZXdPdXRwdXRSb3dzAFBhcmVudENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1J1bnRp
bWVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUuV3JhcHBlcgBJRFRTQ29ubmVj
dGlvbk1hbmFnZXIxMDAAZ2V0X0NybUNvbm5lY3Rpb24AQ3JtQ29ubmVjdGlvbgBWYWxpZGF0ZQBl
cnJNZXNzYWdlAHNldF9Dcm1Db25uZWN0aW9uAHZhbHVlAGdldF9Dcm1Db25uZWN0aW9uVHlwZQBG
aXJlRXJyb3JfAG1lc3NhZ2UAQ296eVJvYy5EeW5hbWljcwBDb3p5Um9jLkR5bmFtaWNzLkNybTIw
MTEuT3JnYW5pemF0aW9uU2VydmljZQBPcmdhbml6YXRpb25TZXJ2aWNlQ2xpZW50AFByb2Nlc3My
MDExXwBzZXJ2aWNlAENvenlSb2MuRHluYW1pY3MuQ3JtLk1ldGFkYXRhU2VydmljZQBNZXRhZGF0
YVNlcnZpY2UAUHJvY2VzczRfAENvenlSb2MuRHluYW1pY3MuQ3JtMy5NZXRhZGF0YVNlcnZpY2UA
UHJvY2VzczNfAG1fY3JtQ29ubmVjdGlvbgBDcm1Db25uZWN0aW9uVHlwZQBTeXN0ZW0uUmVzb3Vy
Y2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ
bmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1
cmUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBt
X1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRv
ckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5D
b21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dl
ckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBT
dGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29t
cG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNv
bXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVI
YW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBD
b2xsZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2Vydmlj
ZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTdHJpbmcASW50MzIAc2V0X0l0ZW0AU2V0TnVsbABJbnZh
bGlkT3BlcmF0aW9uRXhjZXB0aW9uAEJvb2xlYW4AU2NyaXB0QnVmZmVyAENMU0NvbXBsaWFudEF0
dHJpYnV0ZQBHZXRPdXRwdXRJRABNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABN
aWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRh
RGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVj
dGlvbjEwMABnZXRfUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uAElEVFNSdW50aW1lQ29ubmVj
dGlvbjEwMABnZXRfSXRlbQBnZXRfQ29ubmVjdGlvbk1hbmFnZXIASUNybUNvbm5lY3Rpb24AQ296
eVJvYy5EeW5hbWljcy5Dcm0zLlNlcnZpY2UAQ3JtU2VydmljZQBDb3p5Um9jLkR5bmFtaWNzLkNy
bS5TZXJ2aWNlAEV4Y2VwdGlvbgBBY3F1aXJlQ29ubmVjdGlvbgBDb25uZWN0AEdldFNlcnZpY2UA
UHJvamVjdERhdGEAU2V0UHJvamVjdEVycm9yAGdldF9NZXNzYWdlAENsZWFyUHJvamVjdEVycm9y
AENsb3NlAElzTnVsbE9yRW1wdHkAc2V0X0Nvbm5lY3Rpb25NYW5hZ2VySUQARW1wdHkARmlyZUVy
cm9yAEVudGl0eU1ldGFkYXRhAE9yZ2FuaXphdGlvblJlcXVlc3QAT3JnYW5pemF0aW9uUmVzcG9u
c2UATnVsbGFibGVgMQBPd25lcnNoaXBUeXBlcwBzZXRfUmVxdWVzdE5hbWUARW50aXR5RmlsdGVy
cwBFeGVjdXRlAGdldF9BY3Rpdml0eVR5cGVNYXNrAGdldF9IYXNWYWx1ZQBnZXRfQXV0b1JvdXRl
VG9Pd25lclF1ZXVlAEJvb2xlYW5NYW5hZ2VkUHJvcGVydHkAZ2V0X0NhbkJlSW5NYW55VG9NYW55
AE1hbmFnZWRQcm9wZXJ0eWJvb2xlYW4AZ2V0X0NhbkJlUHJpbWFyeUVudGl0eUluUmVsYXRpb25z
aGlwAGdldF9DYW5CZVJlbGF0ZWRFbnRpdHlJblJlbGF0aW9uc2hpcABnZXRfQ2FuQ3JlYXRlQXR0
cmlidXRlcwBnZXRfQ2FuQ3JlYXRlQ2hhcnRzAGdldF9DYW5DcmVhdGVGb3JtcwBnZXRfQ2FuQ3Jl
YXRlVmlld3MAZ2V0X0Nhbk1vZGlmeUFkZGl0aW9uYWxTZXR0aW5ncwBnZXRfQ2FuVHJpZ2dlcldv
cmtmbG93AExhYmVsAGdldF9EZXNjcmlwdGlvbgBMb2NhbGl6ZWRMYWJlbENvbGxlY3Rpb24AZ2V0
X0xvY2FsaXplZExhYmVscwBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBMaXN0YDEATG9jYWxp
emVkTGFiZWwAZ2V0X0NvdW50AGdldF9MYWJlbABnZXRfRGlzcGxheUNvbGxlY3Rpb25OYW1lAGdl
dF9EaXNwbGF5TmFtZQBnZXRfSWNvbkxhcmdlTmFtZQBnZXRfSWNvbk1lZGl1bU5hbWUAZ2V0X0lj
b25TbWFsbE5hbWUAZ2V0X0lzQWN0aXZpdHkAZ2V0X0lzQWN0aXZpdHlQYXJ0eQBnZXRfSXNBdWRp
dEVuYWJsZWQAZ2V0X0lzQXZhaWxhYmxlT2ZmbGluZQBnZXRfSXNDaGlsZEVudGl0eQBnZXRfSXND
b25uZWN0aW9uc0VuYWJsZWQAZ2V0X0lzQ3VzdG9tRW50aXR5AGdldF9Jc0N1c3RvbWl6YWJsZQBn
ZXRfSXNEb2N1bWVudE1hbmFnZW1lbnRFbmFibGVkAGdldF9Jc0R1cGxpY2F0ZURldGVjdGlvbkVu
YWJsZWQAZ2V0X0lzRW5hYmxlZEZvckNoYXJ0cwBnZXRfSXNJbXBvcnRhYmxlAGdldF9Jc0ludGVy
c2VjdABnZXRfSXNNYWlsTWVyZ2VFbmFibGVkAGdldF9Jc01hbmFnZWQAZ2V0X0lzTWFwcGFibGUA
Z2V0X0lzUmVhZGluZ1BhbmVFbmFibGVkAGdldF9Jc1JlbmFtZWFibGUAZ2V0X0lzVmFsaWRGb3JB
ZHZhbmNlZEZpbmQAZ2V0X0lzVmFsaWRGb3JRdWV1ZQBnZXRfSXNWaXNpYmxlSW5Nb2JpbGUAZ2V0
X0xvZ2ljYWxOYW1lAGdldF9PYmplY3RUeXBlQ29kZQBnZXRfT3duZXJzaGlwVHlwZQBFbnVtAGdl
dF9QcmltYXJ5SWRBdHRyaWJ1dGUAZ2V0X1ByaW1hcnlOYW1lQXR0cmlidXRlAGdldF9SZWN1cnJl
bmNlQmFzZUVudGl0eUxvZ2ljYWxOYW1lAGdldF9SZXBvcnRWaWV3TmFtZQBnZXRfU2NoZW1hTmFt
ZQBSZXRyaWV2ZUFsbEVudGl0aWVzUmVxdWVzdABSZXRyaWV2ZUFsbEVudGl0aWVzUmVzcG9uc2UA
Q3JtTWV0YWRhdGEATWV0YWRhdGFJdGVtcwBzZXRfTWV0YWRhdGFJdGVtcwBNZXRhZGF0YVNlcnZp
Y2VSZXNwb25zZQBNZXRhZGF0YVNlcnZpY2VSZXF1ZXN0AGdldF9Dcm1NZXRhZGF0YQBDcm1Cb29s
ZWFuAGdldF9Jc051bGwAQ3JtTGFiZWwATG9jTGFiZWwAZ2V0X0xvY0xhYmVscwBDcm1OdW1iZXIA
Q3JtT3duZXJzaGlwVHlwZXMAQ3JtTnVsbGFibGUAZ2V0X1ByaW1hcnlLZXkAZ2V0X1ByaW1hcnlG
aWVsZABNZXRhZGF0YQBNZXRhZGF0YUZsYWdzAFJldHJpZXZlTWV0YWRhdGEAZ2V0X0VudGl0aWVz
AGdldF9OYW1lAFNTSVNTY3JpcHRDb21wb25lbnRFbnRyeVBvaW50QXR0cmlidXRlAENvenlSb2Mu
U3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBWYWxpZGF0ZVByb3BlcnRpZXNBdHRyaWJ1dGUAQ29u
bmVjdGlvbkF0dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBB
c3NlbWJseQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQA
RGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfYmM2Nzk0ODQ4ZDNm
NGQxMTljNGEyZTAyZTU3ZmU1YTgudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRp
b25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0
ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZp
bGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1
dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFz
c2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2Vt
Ymx5VGl0bGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50X2JjNjc5NDg0OGQzZjRkMTE5YzRhMmUw
MmU1N2ZlNWE4LnZicHJvai5kbGwAAICbSQBzAE4AdQBsAGwAIABwAHIAbwBwAGUAcgB0AHkAIABj
AGEAbgBuAG8AdAAgAGIAZQAgAHMAZQB0ACAAdABvACAARgBhAGwAcwBlAC4AIABBAHMAcwBpAGcA
bgAgAGEAIAB2AGEAbAB1AGUAIAB0AG8AIAB0AGgAZQAgAGMAbwBsAHUAbQBuACAAaQBuAHMAdABl
AGEAZAAuAAAhQQBjAHQAaQB2AGkAdAB5AFQAeQBwAGUATQBhAHMAawAAK0EAdQB0AG8AUgBvAHUA
dABlAFQAbwBPAHcAbgBlAHIAUQB1AGUAdQBlAAAjQwBhAG4AQgBlAEkAbgBNAGEAbgB5AFQAbwBN
AGEAbgB5AABBQwBhAG4AQgBlAFAAcgBpAG0AYQByAHkARQBuAHQAaQB0AHkASQBuAFIAZQBsAGEA
dABpAG8AbgBzAGgAaQBwAABBQwBhAG4AQgBlAFIAZQBsAGEAdABlAGQARQBuAHQAaQB0AHkASQBu
AFIAZQBsAGEAdABpAG8AbgBzAGgAaQBwAAAnQwBhAG4AQwByAGUAYQB0AGUAQQB0AHQAcgBpAGIA
dQB0AGUAcwAAH0MAYQBuAEMAcgBlAGEAdABlAEMAaABhAHIAdABzAAAdQwBhAG4AQwByAGUAYQB0
AGUARgBvAHIAbQBzAAAdQwBhAG4AQwByAGUAYQB0AGUAVgBpAGUAdwBzAAA3QwBhAG4ATQBvAGQA
aQBmAHkAQQBkAGQAaQB0AGkAbwBuAGEAbABTAGUAdAB0AGkAbgBnAHMAACVDAGEAbgBUAHIAaQBn
AGcAZQByAFcAbwByAGsAZgBsAG8AdwAAF0QAZQBzAGMAcgBpAHAAdABpAG8AbgAAK0QAaQBzAHAA
bABhAHkAQwBvAGwAbABlAGMAdABpAG8AbgBOAGEAbQBlAAAXRABpAHMAcABsAGEAeQBOAGEAbQBl
AAAbSQBjAG8AbgBMAGEAcgBnAGUATgBhAG0AZQAAHUkAYwBvAG4ATQBlAGQAaQB1AG0ATgBhAG0A
ZQAAG0kAYwBvAG4AUwBtAGEAbABsAE4AYQBtAGUAABVJAHMAQQBjAHQAaQB2AGkAdAB5AAAfSQBz
AEEAYwB0AGkAdgBpAHQAeQBQAGEAcgB0AHkAAB1JAHMAQQB1AGQAaQB0AEUAbgBhAGIAbABlAGQA
ACVJAHMAQQB2AGEAaQBsAGEAYgBsAGUATwBmAGYAbABpAG4AZQAAG0kAcwBDAGgAaQBsAGQARQBu
AHQAaQB0AHkAAClJAHMAQwBvAG4AbgBlAGMAdABpAG8AbgBzAEUAbgBhAGIAbABlAGQAAB1JAHMA
QwB1AHMAdABvAG0ARQBuAHQAaQB0AHkAAB1JAHMAQwB1AHMAdABvAG0AaQB6AGEAYgBsAGUAADdJ
AHMARABvAGMAdQBtAGUAbgB0AE0AYQBuAGEAZwBlAG0AZQBuAHQARQBuAGEAYgBsAGUAZAAAN0kA
cwBEAHUAcABsAGkAYwBhAHQAZQBEAGUAdABlAGMAdABpAG8AbgBFAG4AYQBiAGwAZQBkAAAlSQBz
AEUAbgBhAGIAbABlAGQARgBvAHIAQwBoAGEAcgB0AHMAABlJAHMASQBtAHAAbwByAHQAYQBiAGwA
ZQAAF0kAcwBJAG4AdABlAHIAcwBlAGMAdAAAJUkAcwBNAGEAaQBsAE0AZQByAGcAZQBFAG4AYQBi
AGwAZQBkAAATSQBzAE0AYQBuAGEAZwBlAGQAABVJAHMATQBhAHAAcABhAGIAbABlAAApSQBzAFIA
ZQBhAGQAaQBuAGcAUABhAG4AZQBFAG4AYQBiAGwAZQBkAAAZSQBzAFIAZQBuAGEAbQBlAGEAYgBs
AGUAAC1JAHMAVgBhAGwAaQBkAEYAbwByAEEAZAB2AGEAbgBjAGUAZABGAGkAbgBkAAAfSQBzAFYA
YQBsAGkAZABGAG8AcgBRAHUAZQB1AGUAACNJAHMAVgBpAHMAaQBiAGwAZQBJAG4ATQBvAGIAaQBs
AGUAABdMAG8AZwBpAGMAYQBsAE4AYQBtAGUAAB1PAGIAagBlAGMAdABUAHkAcABlAEMAbwBkAGUA
ABtPAHcAbgBlAHIAcwBoAGkAcABUAHkAcABlAAAlUAByAGkAbQBhAHIAeQBJAGQAQQB0AHQAcgBp
AGIAdQB0AGUAAClQAHIAaQBtAGEAcgB5AE4AYQBtAGUAQQB0AHQAcgBpAGIAdQB0AGUAAD9SAGUA
YwB1AHIAcgBlAG4AYwBlAEIAYQBzAGUARQBuAHQAaQB0AHkATABvAGcAaQBjAGEAbABOAGEAbQBl
AAAdUgBlAHAAbwByAHQAVgBpAGUAdwBOAGEAbQBlAAAVUwBjAGgAZQBtAGEATgBhAG0AZQAADU8A
dQB0AHAAdQB0AAAbQwByAG0AQwBvAG4AbgBlAGMAdABpAG8AbgAAM1UAbgBoAGEAbgBkAGwAZQBk
ACAAcwBlAHIAdgBpAGMAZQAgAG8AYgBqAGUAYwB0AC4AAD9TAGUAbABlAGMAdAAgAEQAeQBuAGEA
bQBpAGMAcwAgAEMAUgBNACAAQwBvAG4AbgBlAGMAdABpAG8AbgAuAAAZRABZAE4AQQBNAEkAQwBT
AC0AQwBSAE0AATVEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAEUAbgB0AGkAdAB5ACAAUwBvAHUA
cgBjAGUAACdSAGUAdAByAGkAZQB2AGUAQQBsAGwARQBuAHQAaQB0AGkAZQBzAAArUgBlAHQAcgBp
AGUAdgBlAEEAcwBJAGYAUAB1AGIAbABpAHMAaABlAGQAABtFAG4AdABpAHQAeQBGAGkAbAB0AGUA
cgBzAAAdRQBuAHQAaQB0AHkATQBlAHQAYQBkAGEAdABhAAAxTQB5AC4AUgBlAHMAbwB1AHIAYwBl
AHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAAAAF6ASLm44nUKfTeAi1icssAAIt3pcVhk04IkI
sD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQA
ABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEe
AB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRdzYCAzJELIAUBEiEI
AhIlEikEIAAdDgQgAQEIBCABAQIEIAEBDgMgAAIEKAAdDgMoAAgDKAACAygADgMGEiQDBhIoAwYS
HAsgBAEIHQgdEiUSKQMGEiEFIAEBEiEEIAASMQQoABIxBSABAhAOBSABARI1BSABARI5BSABARI9
AgYOAwYSQQMGEkUEAAASQQQAABJFBQABARJFBAgAEkEECAASRQMGEjQCBhwEAAASNAQIABI0BSAB
ARFRCAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAQBAAAABhUSGAESDAYV
EhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUEAEAC015LkNvbXB1dGVyAAAM
AQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAATAQAOTXkuQXBwbGljYXRpb24AAAQAARwc
AwcBAgMHAQgGAAESFRFtBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3Rl
bS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19J
bnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMA
CAcDEwATABMABQEAAAAABAcBHQ4FIAIBCBwGBwIdDh0OBgACCBIpDgQHAggIBSAAEoCVBSAAEoCZ
BiABEoCdHAQHARIxBCABHBwEIAEcCAYAAQESgK0VBwgSgKEcEjUSgKUSgKkSORI9EoCtBAABAg4H
BwMCAhKArQogBgEIDg4OCBACBSACAQ4cCCABEoC9EoC5BCABHA4EHRKAtQggABURgM0BCAYVEYDB
AQgIIAAVEYDNAQIGFRGAwQECBSAAEoDRBSAAEoDZBSAAEoDdCBUSgOEBEoDlBSABEwAICiAAFRGA
zQERgMUIFRGAwQERgMU+Bw0dEoC1EoC5EoC9EoC1CB0SgLUSHBURgMEBCBURgMEBCBURgMEBAhUR
gMEBAhURgMEBEYDFFRGAwQERgMUGIAEBEYD9CCABEoEBEoEFBiAAHRKA+QUgABKBCQUgABKBDQYg
AB0SgREFIAASgRUFIAASgRkFIAARgSESBwYSgO0SgPESgPUIHRKA+RIcCCABEoElEYEtBiAAHRKB
KQUgABGBMQ8HBRKBJRKBKQgdEoEpEhwNAQAIVmFsaWRhdGUAABYBABFDcm1Db25uZWN0aW9uVHlw
ZQAALAEAJ1NlbGVjdCBEeW5hbWljcyBDUk0gQ29ubmVjdGlvbiBNYW5hZ2VyLgAABSAAEoFFByAC
AQ4SgUUGBwISQRJBBAcBEkUIAQACAAAAAAAEAAEBHAQHARI0CAEACAAAAAAAHgEAAQBUAhZXcmFw
Tm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJh
bWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAkMGE5MDAx
MjMtZmQ2Yy00ZmI5LWEwYzktZDkxYzI3YzlkYzYxAAAFAQABAAAfAQAaQ29weXJpZ2h0IEAgTWlj
cm9zb2Z0IDIwMTMAADwBADdTY3JpcHRDb21wb25lbnRfYmM2Nzk0ODQ4ZDNmNGQxMTljNGEyZTAy
ZTU3ZmU1YTgudmJwcm9qAAAOAQAJTWljcm9zb2Z0AAAAAACAiAAAAAAAAAAAAACeiAAAACAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAkIgAAAAAAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5k
bGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAA
AAAAAAAAAAABAAAAAABIAAAAWKAAAGgEAAAAAAAAAAAAAGgENAAAAFYAUwBfAFYARQBSAFMASQBP
AE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAA
AAAAAAAAAAAAAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBu
AHMAbABhAHQAaQBvAG4AAAAAAAAAsATIAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8A
AACkAwAAAQAwADAAMAAwADAANABiADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAA
AE0AaQBjAHIAbwBzAG8AZgB0AAAAmAA4AAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4A
AAAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AYgBjADYANwA5ADQAOAA0ADgAZAAz
AGYANABkADEAMQA5AGMANABhADIAZQAwADIAZQA1ADcAZgBlADUAYQA4AC4AdgBiAHAAcgBvAGoA
AAAwAAgAAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAwAC4AMAAuADAAAACYADwAAQBJ
AG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8A
YgBjADYANwA5ADQAOAA0ADgAZAAzAGYANABkADEAMQA5AGMANABhADIAZQAwADIAZQA1ADcAZgBl
ADUAYQA4AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAFwAGwABAEwAZQBnAGEAbABDAG8AcAB5AHIA
aQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgAE0AaQBjAHIAbwBzAG8AZgB0ACAAMgAw
ADEAMwAAAAAAoAA8AAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAYwByAGkA
cAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AYgBjADYANwA5ADQAOAA0ADgAZAAzAGYANABkADEAMQA5
AGMANABhADIAZQAwADIAZQA1ADcAZgBlADUAYQA4AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAJAA
OAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBu
AHQAXwBiAGMANgA3ADkANAA4ADQAOABkADMAZgA0AGQAMQAxADkAYwA0AGEAMgBlADAAMgBlADUA
NwBmAGUANQBhADgALgB2AGIAcAByAG8AagAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBp
AG8AbgAAADEALgAwAC4AMAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkA
bwBuAAAAMQAuADAALgAwAC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AIAAAAwAAACwOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</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_bc6794848d3f4d119c4a2e02e57fe5a8</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=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="14" name="CrmConnection" connectionManagerID="{BF207F58-7DBD-48C1-942E-F43E9D574798}" /></connections><outputs><output id="15" name="Output" hasSideEffects="true"><outputColumns><outputColumn id="16" name="ActivityTypeMask" lineageId="16" dataType="i4" /><outputColumn id="17" name="AutoRouteToOwnerQueue" lineageId="17" dataType="bool" /><outputColumn id="18" name="CanBeInManyToMany" lineageId="18" dataType="bool" /><outputColumn id="19" name="CanBePrimaryEntityInRelationship" lineageId="19" dataType="bool" /><outputColumn id="20" name="CanBeRelatedEntityInRelationship" lineageId="20" dataType="bool" /><outputColumn id="21" name="CanCreateAttributes" lineageId="21" dataType="bool" /><outputColumn id="22" name="CanCreateCharts" lineageId="22" dataType="bool" /><outputColumn id="23" name="CanCreateForms" lineageId="23" dataType="bool" /><outputColumn id="24" name="CanCreateViews" lineageId="24" dataType="bool" /><outputColumn id="25" name="CanModifyAdditionalSettings" lineageId="25" dataType="bool" /><outputColumn id="26" name="CanTriggerWorkflow" lineageId="26" dataType="bool" /><outputColumn id="27" name="Description" lineageId="27" length="250" dataType="wstr" /><outputColumn id="28" name="DisplayCollectionName" lineageId="28" length="250" dataType="wstr" /><outputColumn id="29" name="DisplayName" lineageId="29" length="250" dataType="wstr" /><outputColumn id="30" name="IconLargeName" lineageId="30" length="250" dataType="wstr" /><outputColumn id="31" name="IconMediumName" lineageId="31" length="250" dataType="wstr" /><outputColumn id="32" name="IconSmallName" lineageId="32" length="250" dataType="wstr" /><outputColumn id="33" name="IsActivity" lineageId="33" dataType="bool" /><outputColumn id="34" name="IsActivityParty" lineageId="34" dataType="bool" /><outputColumn id="35" name="IsAuditEnabled" lineageId="35" dataType="bool" /><outputColumn id="36" name="IsAvailableOffline" lineageId="36" dataType="bool" /><outputColumn id="37" name="IsChildEntity" lineageId="37" dataType="bool" /><outputColumn id="38" name="IsConnectionsEnabled" lineageId="38" dataType="bool" /><outputColumn id="39" name="IsCustomEntity" lineageId="39" dataType="bool" /><outputColumn id="40" name="IsCustomizable" lineageId="40" dataType="bool" /><outputColumn id="41" name="IsDocumentManagementEnabled" lineageId="41" dataType="bool" /><outputColumn id="42" name="IsDuplicateDetectionEnabled" lineageId="42" dataType="bool" /><outputColumn id="43" name="IsEnabledForCharts" lineageId="43" dataType="bool" /><outputColumn id="44" name="IsImportable" lineageId="44" dataType="bool" /><outputColumn id="45" name="IsIntersect" lineageId="45" dataType="bool" /><outputColumn id="46" name="IsMailMergeEnabled" lineageId="46" dataType="bool" /><outputColumn id="47" name="IsManaged" lineageId="47" dataType="bool" /><outputColumn id="48" name="IsMappable" lineageId="48" dataType="bool" /><outputColumn id="49" name="IsReadingPaneEnabled" lineageId="49" dataType="bool" /><outputColumn id="50" name="IsRenameable" lineageId="50" dataType="bool" /><outputColumn id="51" name="IsValidForAdvancedFind" lineageId="51" dataType="bool" /><outputColumn id="52" name="IsValidForQueue" lineageId="52" dataType="bool" /><outputColumn id="53" name="IsVisibleInMobile" lineageId="53" dataType="bool" /><outputColumn id="54" name="LogicalName" lineageId="54" length="250" dataType="wstr" /><outputColumn id="55" name="ObjectTypeCode" lineageId="55" dataType="i4" /><outputColumn id="56" name="OwnershipType" lineageId="56" length="50" dataType="wstr" /><outputColumn id="57" name="PrimaryIdAttribute" lineageId="57" length="250" dataType="wstr" /><outputColumn id="58" name="PrimaryNameAttribute" lineageId="58" length="250" dataType="wstr" /><outputColumn id="59" name="RecurrenceBaseEntityLogicalName" lineageId="59" length="250" dataType="wstr" /><outputColumn id="60" name="ReportViewName" lineageId="60" length="250" dataType="wstr" /><outputColumn id="61" name="SchemaName" lineageId="61" length="250" dataType="wstr" /></outputColumns><externalMetadataColumns /></output></outputs></component>