Getting resource name from blocked process report

, 2017-04-21 (first published: )

Added on 10.4.2017.

- .Net source code is available on

https://1drv.ms/f/s!Arn-Vk2Le7QvqX7h8uzCrfWBlFGz

------------------------------------------------------------------------

When you analyzing blocking problems, first choice is that you look what sys.dm_os_waiting_tasks will display.

It means blocking occurs right now, and you know blocker and blocking spid's.

In that case it is easy to determine resource which is subject of blocking.

SELECT

 DTL.[resource_type] AS [resource type]

 ,CASE

  WHEN DTL.[resource_type] IN ('DATABASE', 'FILE', 'METADATA') THEN DTL.[resource_type]

  WHEN DTL.[resource_type] = 'OBJECT' THEN OBJECT_NAME(DTL.resource_associated_entity_id)

  WHEN DTL.[resource_type] IN ('KEY', 'PAGE', 'RID') THEN (SELECT

     (CASE

     WHEN s.name IS NOT NULL THEN s.name + '.'

     ELSE ''

     END) + OBJECT_NAME(p.[object_id])

    FROM sys.partitions p

    INNER JOIN sys.objects o

     ON o.object_id = p.object_id

    INNER JOIN sys.schemas s

     ON o.schema_id = s.schema_id

    WHERE p.[hobt_id] = DTL.[resource_associated_entity_id])

  ELSE 'Unidentified'

 END AS [Parent Object]

 ,DTL.[request_mode] AS [Lock Type]

 ,DTL.[request_status] AS [Request Status]

FROM sys.dm_os_waiting_tasks wt

INNER JOIN sys.dm_tran_locks DTL

 ON DTL.lock_owner_address = WT.resource_address

WHERE wt.blocking_session_id IS NOT NULL;

But, if you analyzing blocking problems off-line, using trace or extended events, you have to count only on information found in blocked process report.

The resource name is most important information in the blocked process report. Unfortunately this information is only available as encoded.

The purpose of this script is to decode this information.

I PART using T-SQL

--@waitResource is written in blocked process report as a attribute of blocked-process/process element

DECLARE @waitResource as nvarchar(128) = 'KEY: 41:72057594544062464 (b14200e25741)' -- replace this string with your wait resource string

SELECT

 DBO.[GetResourceName]( @waitResource, default);

-- Will return t-sql to evaluate

SELECT

 sc.name + '.' + so.name

FROM MYDB_NAME.sys.partitions AS p

JOIN MYDB_NAME.sys.objects AS so

 ON p.object_id = so.object_id

JOIN MYDB_NAME.sys.indexes AS si

 ON p.index_id = si.index_id

 AND p.object_id = si.object_id

JOIN MYDB_NAME.sys.schemas AS sc

 ON so.schema_id = sc.schema_id

WHERE p.hobt_id = 72057594098286592

--2. Example. Evaluation

DECLARE @waitResource as nvarchar(128)

DECLARE @sql as nvarchar(max)

DECLARE @resCon as nvarchar(256)

SET @waitResource = 'KEY: 10:72057594098286592 (b14200e25741)'

--second parametar name should be the same as

--the name of first parametar in sp_executesql

SET @sql = DBO.GetResourceName(@waitResource, '@resourceName')

EXEC sp_executesql @sql

,                  N'@resourceName nvarchar(max) output'

,                  @resCon OUTPUT;

SELECT @resCon

-- Will return resource name

-- II . PART  using SQLCLR

-- Although it seems that CLR is better solution, there is a limitation when processing PAGE information.

-- Clr function does not allwed using dbcc or create temp table. Workaround is to use CLR stored procedure to

-- determine resource name

SELECT

 [dbo].[GetResourceNameClr]('PAGE: 25:1:6077390')

--KEY: 25:72057600909443072 (8b56a42c5bc8)

SELECT

 [dbo].[GetResourceNameClr]('KEY: 25:72057600909443072 (8b56a42c5bc8)')

--OBJECT: 25:1239779574:0

SELECT

 [dbo].[GetResourceNameClr]('OBJECT: 25:1239779574:0')

-- 'PAGE: 25:1:6077390
EXEC [dbo].[GetResourceNameFromPageClr] 25

        ,1

        ,6077390

IF EXISTS (SELECT *
	FROM sys.objects
	WHERE object_id = OBJECT_ID(N'[dbo].[GetResourceName]')
		AND type IN (N'FN', N'IF', N'TF', N'FS', N'FT'))
BEGIN
	DROP FUNCTION [dbo].[GetResourceName]
END;
GO

-- =============================================
-- Get resource name from wait info
-- KEY: 6:72057594041991168 (ce52f92a058c)
-- OBJECT: 10:1730105204:0 databaseId + objectId + lockPartition
-- PAGE: 7:1:422000 databaseId + fileId + pageId
-- FILE: 8:0
-- =============================================
CREATE FUNCTION [dbo].[GetResourceName] ( @waitResource AS nvarchar(128)
,                                         @paramName as sysname          =NULL )
RETURNS nvarchar(max) --we will return t-sql
AS
BEGIN
	DECLARE @blockingType AS nvarchar(20);
	--type of blockin KEY,OBJECT,PAGE
	DECLARE @retValue AS nvarchar(max);
	DECLARE @dbId bigint;
	DECLARE @blockingKey AS nvarchar(256);

	SET @retValue = '';

	SET @blockingType = RTRIM(SUBSTRING(@waitResource, 1, CHARINDEX(':', @waitResource) - 1));
	SET @blockingKey = SUBSTRING(@waitResource, CHARINDEX(':', @waitResource) + 1, LEN(@waitResource) - CHARINDEX(':', @waitResource));
	SET @dbId = SUBSTRING(@blockingKey, 1, CHARINDEX(':', @blockingKey) - 1);


	IF @blockingType = 'KEY'
	BEGIN

		DECLARE @hobId AS bigint;
		SET @hobId = RTRIM(SUBSTRING(@blockingKey, CHARINDEX(':', @blockingKey) + 1, CHARINDEX('(', @blockingKey) - CHARINDEX(':', @blockingKey) - 1));

		IF @paramName IS NOT NULL
		BEGIN
			SET @retValue = 'SET ' + @paramName + ' = (';
		END
		SET @retValue = @retValue +
		'SELECT sc.name + ''.'' +so.name +  ''('' + si.name + '')''
                           FROM ' + DB_NAME(@dbId) + '.sys.partitions AS p
                           JOIN ' + DB_NAME(@dbId) + '.sys.objects AS so
	                          ON p.object_id = so.object_id
                           JOIN ' + DB_NAME(@dbId) + '.sys.indexes AS si
	                          ON p.index_id = si.index_id
	                          AND p.object_id = si.object_id
                           JOIN ' + DB_NAME(@dbId) + '.sys.schemas AS sc
	                          ON so.schema_id = sc.schema_id
                           WHERE p.hobt_id = ' + CAST(@hobId AS NVARCHAR(MAX));
		IF @paramName IS NOT NULL
		BEGIN
			SET @retValue = @retValue + ')'
		END
	END
	ELSE
		IF @blockingType = 'OBJECT'
		BEGIN
			DECLARE @pos AS INT;
			DECLARE @helper AS NVARCHAR(50);
			DECLARE @objectId AS BIGINT;

			SET @pos = CHARINDEX(':', @blockingKey) + 1;
			SET @helper = SUBSTRING(@blockingKey, @pos, 100);
			SET @objectId = SUBSTRING(@helper, 1, CHARINDEX(':', @helper) - 1);
			--SET @retValue = N'USE ' + DB_NAME(@dbId) + CHAR(13) + CHAR(10);
			SET @retValue = N'';

			IF @paramName IS NOT NULL
			BEGIN
				SET @retValue = 'SET ' + @paramName + ' = (';
			END
			SET @retValue = @retValue +
			'SELECT TOP 1 s.name + ''.'' + o.name 
FROM ' + DB_NAME(@dbid) +' .sys.objects o 
INNER JOIN ' + DB_NAME(@dbid) + '.sys.partitions p 
    ON p.object_id = o.object_id
INNER JOIN ' + DB_NAME(@dbid) +'.sys.schemas s 
    ON s.schema_id = o.schema_id
WHERE p.OBJECT_ID = ' + CAST(@objectId AS NVARCHAR(MAX));
			IF @paramName IS NOT NULL
			BEGIN
				SET @retValue = @retValue + ')'
			END

		END;

		ELSE
			IF @blockingType = 'PAGE'
			BEGIN
				--PAGE 7:1:422000
				DECLARE @pos1 AS INT;
				DECLARE @helper1 AS NVARCHAR(50);
				DECLARE @fileId AS BIGINT;
				DECLARE @pageId AS BIGINT;

				SET @pos1 = CHARINDEX(':', @blockingKey) + 1;
				SET @helper1 = SUBSTRING(@blockingKey, @pos1, 100);
				SET @fileId = SUBSTRING(@helper1, 1, CHARINDEX(':', @helper1) - 1);
				SET @pageId = CAST(SUBSTRING(@helper1, CHARINDEX(':', @helper1) + 1, LEN(@helper1) - CHARINDEX(':', @helper1)) AS BIGINT)
				SET @retValue = 'DECLARE @objectId as bigint

IF OBJECT_ID(''tempdb..#pagedata'') IS NOT NULL
BEGIN
DROP TABLE #pagedata
END;

CREATE TABLE #pagedata
( 
			 ParentObject varchar(1000) NULL, Object varchar(4000) NULL, Field varchar(1000) NULL, ObjectValue varchar(max) NULL
);

 ' +
				'DBCC traceon (3604); ' + CHAR(13) + CHAR(10) +
				'SET NOCOUNT ON ;' + CHAR(13) + CHAR(10) +
				'INSERT INTO #pagedata( ParentObject, Object, Field, ObjectValue )' + CHAR(13) + CHAR(10) +
				'EXEC (''DBCC page (' + CAST(@dbId AS NVARCHAR(20)) + ', ' + CAST(@fileId AS NVARCHAR(10)) + ', ' + CAST(@pageId AS NVARCHAR(MAX)) + ') WITH TABLERESULTS '')
SELECT @objectId=objectvalue
FROM #pagedata
WHERE field LIKE ''Metadata: ObjectId%'';'

				IF @paramName IS NOT NULL
				BEGIN
					SET @retValue = @retValue + 'SET ' + @paramName + ' = (';
				END

				SET @retValue = @retValue + 'SELECT TOP 1 s.name + ''.'' + o.name 
FROM ' + DB_NAME(@dbid) +' .sys.objects o 
INNER JOIN ' + DB_NAME(@dbid) + '.sys.partitions p 
    ON p.object_id = o.object_id
INNER JOIN ' + DB_NAME(@dbid) +'.sys.schemas s 
    ON s.schema_id = o.schema_id
WHERE p.OBJECT_ID = @objectId ';
				IF @paramName IS NOT NULL
				BEGIN
					SET @retValue = @retValue + ')'
				END

			END;

	RETURN @retvalue;
END;



/* Part two - using CLR 
Run this script on Sql server 2008+. 
Check first if clr enabled

sp_configure 'clr', 1
reconfigure

Replace strings <your database name> with your database name e.g.AdventureWorks2012
Replace default data and log path with server settings. These can be found
on server properties, database settings

*/

GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;

SET NUMERIC_ROUNDABORT OFF;


GO
:setvar DatabaseName "<your database name>"
:setvar DefaultFilePrefix "<your database name>"
:setvar DefaultDataPath "<default data path>"
:setvar DefaultLogPath "<default log path>"

GO
:on error exit
GO
/*
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
To re-enable the script after enabling SQLCMD mode, execute the following:
SET NOEXEC OFF; 
*/
:setvar __IsSqlCmdEnabled "True"
GO
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
    BEGIN
        PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
SET NOEXEC ON;
    END


GO
USE [$(DatabaseName)];


GO
PRINT N'Creating [SqlClrGetResourceName]...';


GO
CREATE ASSEMBLY [SqlClrGetResourceName]
    AUTHORIZATION [dbo]
    FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C01030078FEAF580000000000000000E00002210B010B00002A000000060000000000003E48000000200000006000000000001000200000000200000400000000000000040000000000000000A000000002000039620000030040850000100000100000000010000010000000000000100000000000000000000000EC4700004F00000000600000D802000000000000000000000000000000000000008000000C000000B44600001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E746578740000004428000000200000002A000000020000000000000000000000000000200000602E72737263000000D80200000060000000040000002C0000000000000000000000000000400000402E72656C6F6300000C000000008000000002000000300000000000000000000000000000400000420000000000000000000000000000000020480000000000004800000002000500282C00008C1A00000900000000000000000000000000000050200000800000000000000000000000000000000000000000000000000000000000000000000000B102F28587080BD7AF64F68A4C874F6C1BFB8D802777D677CBA4FB83CCB80E7CB313908C3FCF7609A295C8D8E9C165607AA9BB028F5CCB009649E46904D8949FFD5ABEB9B6F6E069B8F479C45674D384964A401F496EA46839811B2200106311E67E8E9E1B83585A1C76AB3D6D1EE1CD555FEAB1BF99581DA3F69FE9C1C2CB0A13300200C1000000010000110072010000700A0F00FE16020000016F0600000A72030000706F0700000A16FE010C082D17000F00FE16020000016F0600000A28020000060A002B7A0F00FE16020000016F0600000A720B0000706F0700000A16FE010C082D17000F00FE16020000016F0600000A28030000060A002B450F00FE16020000016F0600000A72150000706F0700000A16FE010C082D17000F00FE16020000016F0600000A28040000060A002B10000F00FE16020000016F0600000A0A0006280800000A0B2B00072A0000001B30040020010000020000110002178D1100000113081108161F3A9D11086F0900000A0A020B068E6918321506189A72230000706F0A00000A16FE0216FE012B011700130911093AD0000000000006189A1606189A72230000706F0A00000A6F0B00000A6F0C00000A0C06179A6F0C00000A0D7227000070097247000070280D00000A13041104280500000613051F0B8D10000001130A110A16724D000070A2110A171105A2110A1872C1000070A2110A191105A2110A1A72FB000070A2110A1B1105A2110A1C726B010070A2110A1D1105A2110A1E725C020070A2110A1F0908A2110A1F0A72E9020070A2110A280E00000A1304110428050000060B00DE1813060072ED02007011066F0F00000A281000000A0B00DE0000002B080072310300700B000713072B0011072A0110000000004100B3F40018120000011B300400B0010000030000110002178D1100000113091109161F3A9D11096F0900000A0A020B068E6918FE04130A110A3A77010000000006199A6F0600000A6F0C00000A0C06179A6F0C00000A0D06189A6F0C00000A13047227000070097247000070280D00000A13051105280500000613061F1D8D10000001130B110B1672CC030070A2110B17281100000AA2110B187206040070A2110B19281100000AA2110B1A7236040070A2110B1B281100000AA2110B1C723C040070A2110B1D281100000AA2110B1E722B050070A2110B1F09281100000AA2110B1F0A7255050070A2110B1F0B281100000AA2110B1F0C72DC050070A2110B1F0D09A2110B1F0E7202060070A2110B1F0F1104A2110B1F107202060070A2110B1F1108A2110B1F127206060070A2110B1F13281100000AA2110B1F147236060070A2110B1F15281100000AA2110B1F1672DF060070A2110B1F171106A2110B1F187231070070A2110B1F191106A2110B1F1A7269070070A2110B1F1B1106A2110B1F1C72E1070070A2110B280E00000A130511050B00DE1813070072AC08007011076F0F00000A281000000A0B00DE0000002B080072F20800700B000713082B0011082A411C0000000000002A0000005A0100008401000018000000120000011B300400EA000000030000110002178D1100000113091109161F3A9D11096F0900000A0A020B068E6918FE04130A110A3AB1000000000006189A6F0600000A6F0C00000A0C06179A6F0C00000A0D06199A6F0C00000A13047227000070097247000070280D00000A13051105280500000613061E8D10000001130B110B1672DF060070A2110B171106A2110B187231070070A2110B191106A2110B1A7269070070A2110B1B1106A2110B1C725E090070A2110B1D08A2110B280E00000A1305110528050000060B00DE1813070072E109007011076F0F00000A281000000A0B00DE0000002B0800722B0A00700B000713082B0011082A00000110000000002A0094BE0018120000011B300200810000000400001100140A0072A90A0070731200000A0B000207731300000A0C00076F1400000A00086F1500000A6F0600000A0A076F1600000A0000DE120814FE01130511052D07086F1700000A00DC0000DE120714FE01130511052D07076F1700000A00DC0000DE160D0072D90A0070096F0F00000A281000000A0A00DE00000613042B0011042A00000001280000020018001E3600120000000002000F003D4C001200000000000003005F620016120000011E02281800000A2A1B300500C702000005000011001F098D100000011308110816722B050070A2110817281100000AA2110818721F0B0070A21108190F00281A00000A13091209281B00000AA211081A7202060070A211081B0F01281C00000A130A120A281D00000AA211081C7202060070A211081D0F02281E00000A130B120B281F00000AA211081E72370B0070A21108280E00000A28090000060A066F2000000A166F2100000A6F2200000A166F2300000A72630B00706F2400000A14FE01130C110C3A0A01000000140B00066F2000000A166F2100000A6F2200000A6F2500000A130D2B46110D6F2600000A74090000010C0008726F0B00706F2400000A6F0600000A727B0B00706F0A00000A16FE04130C110C2D14000872630B00706F2400000A6F0600000A0B2B0E00110D6F2700000A130C110C2DADDE1D110D7518000001130E110E14FE01130C110C2D08110E6F1700000A00DC000714FE01130C110C2D6E007227000070028C03000001728D0B0070282800000A28080000060D1E8D10000001130811081672910B0070A211081709A21108187231070070A211081909A211081A7269070070A211081B09A211081C725E090070A211081D07A21108280E00000A1304110428090000060A0000178D08000001130511051672630B00701F0C20000100006A732900000AA216130600066F2000000A166F2100000A6F2200000A6F2500000A130D2B7F110D6F2600000A74090000010C0008726F0B00706F2400000A6F0600000A727B0B00706F0A00000A16FE04130C110C2D4D00110508280A0000061307110616FE0116FE01130C110C2D2400110617581306282A00000A11076F2B00000A00282A00000A11076F2C00000A00002B0F00282A00000A11076F2C00000A00000000110D6F2700000A130C110C3A71FFFFFFDE1D110D7518000001130E110E14FE01130C110C2D08110E6F1700000A00DC00110616FE0216FE01130C110C2D0D00282A00000A6F2D00000A00002A00011C00000200D2005729011D000000000200FA01938D021D000000001B300200770000000400001100140A0072A90A0070731200000A0B000207731300000A0C00076F1400000A00086F1500000A6F0600000A0A076F1600000A0000DE120814FE01130511052D07086F1700000A00DC0000DE120714FE01130511052D07076F1700000A00DC0000DE0C0D00096F0F00000A0A00DE00000613042B0011042A0001280000020018001E3600120000000002000F003D4C001200000000000003005F62000C120000011B3003008E0100000600001100732E00000A0A0072A90A0070731200000A0B000207731300000A0C00076F1400000A00732F00000A0D0009086F3000000A0009066F3100000A2600DE120914FE01130A110A2D07096F1700000A00DC00076F1600000A0000DE120814FE01130A110A2D07086F1700000A00DC0000DE120714FE01130A110A2D07076F1700000A00DC0000DE0613040000DE0000066F2000000A6F3200000A16FE0116FE01130A110A2D7100733300000A1305726F0B0070733400000A1306110672140C0070283500000A6F3600000A0072630B0070733400000A1307110772140C0070283500000A6F3600000A0011056F3700000A11066F3800000A0011056F3700000A11076F3800000A00066F2000000A11056F3900000A0000066F2000000A166F2100000A6F2200000A6F3200000A16FE0116FE01130A110A2D4E00066F2000000A166F2100000A6F3A00000A13081108726F0B007072300C00706F3B00000A00110872630B0070146F3B00000A00066F2000000A166F2100000A6F2200000A11086F3C00000A00000613092B0011092A00000134000002002A00143E00120000000002001C003F5B001200000000020013005E71001200000000000007008087000612000001133004002B000000070000110002733D00000A0A06160372630B00706F2400000A6F0600000A280800000A6F3E00000A00060B2B00072A1E02281800000A2A0042534A4201000100000000000C00000076322E302E35303732370000000005006C00000060040000237E0000CC0400005805000023537472696E677300000000240A0000540C00002355530078160000100000002347554944000000881600000404000023426C6F620000000000000002000001571D02000900000000FA253300160000010000002900000003000000030000000B0000000C0000003E000000030000000600000007000000010000000200000000000A0001000000000006005A0053000A0092007D000A00E4007D000A00ED007D000A00F6007D000A001A0171000A0048012D010A0056012D010A00620171000A0083012D010600D201BF012F00E601000006001502F50106003502F5010A0069022D010600870253000600A50253000600CE0253000600E40253000A001203FC020A002003FC020A003E032B030A0050032B0306006E0353000A0082032D010600A20353000600A80353000600AE0353000A00B40371000A00D30371000A00E60371000A000104710006002F041C040A005E0471000A0068042D010A0073042D010A00B304FC020A00D4042B030A00EF0471000600FA0453000A0014057100000000000100000000000100010001001000240000000500010001000100100039000000050004000700568061000A00568065000A0056806A000A00D0200000000096009C002A000100A021000000009100AF0031000200DC22000000009100BA0031000300B424000000009100C60031000400BC25000000009100D400310005007426000000008618DE00360006007C26000000009600FF003A0006006C29000000009100D40031000900182A000000009100220144000A00E82B0000000091006A014A000B001F2C000000008618DE0036000D00000001007601000001009501000001009501000001009501000001009701000001009D0100000200A20100000300A90100000100970100000100970100000100B00100000200B9015100DE0036005900DE0075006900DE007B007100DE0036007900DE00360009007E02770281008E027B021100990280028100AA028D028100B00294028100B80299028100C20277028100C7029F028100C702A6029100D80277028100C702AC029900F002C402A100DE00DB02A900DE00E002B1004B033600B9005A03E702B10068033600C1007A0336000900DE003600C900DE00360019009803FC02D1007E027702210098030003D9007E027702290098030403E1007E0277023100C8030803E900DD030D03F100F8031303F900DD0318034900DD031E0301013B04230309014904E7020901550429038100C7022D034100DE00340319017B043D032101840443032101950443032101A40436003100DE0036002901DE0036002901C20464033101E0046A030101E5040003F100DE0036003901DE00DB024101FF047003390107057703F10029057E03490135058403E90035058B03F10039059103490040059603F90035059C033900DE00BD0339004905C4030E0004000D000E00080014000E000C001D0020002B00220124000B0054002E002300E4032E001300D2032E001B00DB03E000CB00F7028602B202C802EB024903A203CB030480000000000000000000000100000080005302000002000000000000000000000001004A0000000000020000000000000000000000010071000000000000000000003C4D6F64756C653E0053716C436C724765745265736F757263654E616D652E646C6C0055736572446566696E656446756E6374696F6E730053746F72656450726F63656475726573006D73636F726C69620053797374656D004F626A656374004B45590050414745004F424A4543540053797374656D2E446174610053797374656D2E446174612E53716C54797065730053716C537472696E67004765745265736F757263654E616D65436C720050726F636573734B65790050726F63657373506167650050726F636573734F626A656374004D616B65496E707574002E63746F720053716C496E7431360053716C496E7433320053716C496E743634004765745265736F757263654E616D6546726F6D50616765436C720044617461536574004D616B65496E70757432004D6963726F736F66742E53716C5365727665722E5365727665720053716C446174615265636F72640053716C4D657461446174610044617461526F77006275696C645265636F726400776169745265736F757263650053716C4661636574417474726962757465007000517565727900646269640066696C65496400706167654964006D6574616461746100656E7472790053797374656D2E446961676E6F73746963730044656275676761626C6541747472696275746500446562756767696E674D6F6465730053797374656D2E52756E74696D652E436F6D70696C6572536572766963657300436F6D70696C6174696F6E52656C61786174696F6E734174747269627574650052756E74696D65436F6D7061746962696C6974794174747269627574650053716C436C724765745265736F757263654E616D650053716C46756E6374696F6E41747472696275746500546F537472696E6700537472696E670053746172747357697468006F705F496D706C6963697400436861720053706C697400496E6465784F6600537562737472696E67005472696D00436F6E63617400457863657074696F6E006765745F4D65737361676500456E7669726F6E6D656E74006765745F4E65774C696E650053797374656D2E446174612E53716C436C69656E740053716C436F6E6E656374696F6E0053716C436F6D6D616E640053797374656D2E446174612E436F6D6D6F6E004462436F6E6E656374696F6E004F70656E004462436F6D6D616E6400457865637574655363616C617200436C6F73650049446973706F7361626C6500446973706F73650053716C50726F636564757265417474726962757465006765745F56616C756500496E74313600496E74333200496E74363400446174615461626C65436F6C6C656374696F6E006765745F5461626C657300446174615461626C65006765745F4974656D0044617461526F77436F6C6C656374696F6E006765745F526F777300496E7465726E616C44617461436F6C6C656374696F6E426173650053797374656D2E436F6C6C656374696F6E730049456E756D657261746F7200476574456E756D657261746F72006765745F43757272656E74004D6F76654E6578740053716C4462547970650053716C436F6E746578740053716C50697065006765745F506970650053656E64526573756C747353746172740053656E64526573756C7473526F770053656E64526573756C7473456E640053716C4461746141646170746572007365745F53656C656374436F6D6D616E640044617461416461707465720046696C6C006765745F436F756E740044617461436F6C756D6E00547970650047657454797065007365745F44617461547970650044617461436F6C756D6E436F6C6C656374696F6E006765745F436F6C756D6E7300416464004E6577526F77007365745F4974656D0053657453716C537472696E67000000000100074B004500590000095000410047004500000D4F0042004A0045004300540000032800001F530045004C004500430054002000440042005F004E0041004D0045002800000529003B000073530045004C004500430054002000730063002E006E0061006D00650020002B00200027002E00270020002B0073006F002E006E0061006D00650020002B00200027002800270020002B002000730069002E006E0061006D00650020002B0020002700290027002000460052004F004D002000013920002E007300790073002E0070006100720074006900740069006F006E00730020004100530020007000200020004A004F0049004E002000006F2E007300790073002E006F0062006A006500630074007300200041005300200073006F0020004F004E00200070002E006F0062006A006500630074005F006900640020003D00200073006F002E006F0062006A006500630074005F0069006400200020004A004F0049004E0020000080EF2E007300790073002E0069006E006400650078006500730020004100530020007300690020004F004E00200070002E0069006E006400650078005F006900640020003D002000730069002E0069006E006400650078005F006900640020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200041004E004400200070002E006F0062006A006500630074005F006900640020003D002000730069002E006F0062006A006500630074005F0069006400200020004A004F0049004E00200000808B2E007300790073002E0073006300680065006D006100730020004100530020007300630020004F004E00200073006F002E0073006300680065006D0061005F006900640020003D002000730063002E0073006300680065006D0061005F00690064002000200057004800450052004500200070002E0068006F00620074005F006900640020003D00200000033B0000434500720072006F00720020007700680069006C0065002000700072006F00630065007300730069006E00670020006B00650079002000760061006C00750065002000008099490020006500780070006500630074006500640020006B00650079002000760061006C0075006500200069006E00200066006F0072006D0020006F00660020003A00200027004B00450059003A002000320031003A0037003200300035003700350039003400300035003400300034003900370039003200200028006200310034003200300030006500320035003700340031002900270001394400450043004C00410052004500200040006F0062006A0065006300740049006400200061007300200062006900670069006E0074002000002F4400450043004C00410052004500200040007000610067006500640061007400610020005400410042004C0045000005280020000080ED50006100720065006E0074004F0062006A0065006300740020006E0076006100720063006800610072002800320035003600290020004E0055004C004C002C0020004F0062006A0065006300740020006E0076006100720063006800610072002800320035003600290020004E0055004C004C002C0020004600690065006C006400200076006100720063006800610072002800320035003600290020004E0055004C004C002C0020004F0062006A00650063007400560061006C007500650020006E00760061007200630068006100720028006D0061007800290020004E0055004C004C00200029003B00002944004200430043002000740072006100630065006F006E0020002800330036003000340029003B0000808549004E005300450052005400200049004E0054004F0020004000700061006700650064006100740061002800200050006100720065006E0074004F0062006A006500630074002C0020004F0062006A006500630074002C0020004600690065006C0064002C0020004F0062006A00650063007400560061006C0075006500200029002000002545005800450043002000280027004400420043004300200070006100670065002000280001032C00002F29002000570049005400480020005400410042004C00450052004500530055004C00540053002000270029003B000180A7530045004C00450043005400200040006F0062006A00650063007400490064003D006F0062006A00650063007400760061006C00750065002000460052004F004D00200040007000610067006500640061007400610020005700480045005200450020006600690065006C00640020004C0049004B004500200027004D0065007400610064006100740061003A0020004F0062006A0065006300740049006400250027003B000151530045004C00450043005400200054004F00500020003100200053002E004E0041004D00450020002B00200027002E00270020002B0020004F002E004E0041004D0045002000460052004F004D00200001372E005300590053002E006F0062006A00650063007400730020004F002000200049004E004E004500520020004A004F0049004E00200000772E005300590053002E0050004100520054004900540049004F004E0053002000500020004F004E0020004F002E006F0062006A006500630074005F006900640020003D00200070002E006F0062006A006500630074005F00690064002000200049004E004E004500520020004A004F0049004E0020000080C92E005300590053002E0053004300480045004D00410053002000530020004F004E0020004F002E0053004300480045004D0041005F004900440020003D00200053002E0053004300480045004D0041005F0049004400200057004800450052004500200050002E004F0042004A004500430054005F004900440020003D0020002000200020004300410053005400280040006F0062006A006500630074004900640020004100530020004E00560041005200430048004100520028004D0041005800290029003B0000454500720072006F00720020007700680069006C0065002000700072006F00630065007300730069006E006700200070006100670065002000760061006C00750065002000006B4900200065007800700065006300740065006400200070006100670065002000760061006C0075006500200069006E00200066006F0072006D0020006F00660020003A002000270050004100470045003A00200037003A0031003A0034003200320030003000300027000180812E005300590053002E0053004300480045004D00410053002000530020004F004E0020004F002E0053004300480045004D0041005F004900440020003D00200053002E0053004300480045004D0041005F0049004400200057004800450052004500200050002E004F0042004A004500430054005F004900440020003D00200000494500720072006F00720020007700680069006C0065002000700072006F00630065007300730069006E00670020006F0062006A006500630074002000760061006C00750065002000007D490020006500780070006500630074006500640020006F0062006A006500630074002000760061006C0075006500200069006E00200066006F0072006D0020006F00660020003A00200027004F0042004A004500430054003A002000310030003A0031003700330030003100300035003200300034003A0030002700012F63006F006E007400650078007400200063006F006E006E0065006300740069006F006E003D007400720075006500004541006E0020006500720072006F00720020006F006300630075007200650064002E0020004500720072006F00720020006D0065007300730061006700650020003A002000001744004200430043002000700061006700650020002800002B29002000570049005400480020005400410042004C00450052004500530055004C005400530020003B00000B560061006C0075006500000B4600690065006C00640000114F0062006A006500630074004900640000032900008081530045004C00450043005400200054004F00500020003100200053002E004E0041004D00450020002B00200027002E00270020002B0020004F002E004E0041004D0045002000560061006C00750065002C00200027004F0062006A0065006300740049006400270020004600690065006C0064002000460052004F004D002000011B530079007300740065006D002E0053007400720069006E00670000234D0065007400610044006100740061003A004F0062006A006500630074004900640000AB116769C8B8824493360E887A1032480008B77A5C561934E08902060E064B00450059000850004100470045000C4F0042004A00450043005400060001110911090400010E0E0320000109000301110D1111111505000112190E090002121D1D12211225200100020054020A49734E756C6C61626C65015408074D617853697A6580000000052001011131042001010880A00024000004800000940000000602000000240000525341310004000001000100C766940270F8B7D34605D97216E16F427B114CA3E0C370FBCDC53E2B441BD4A09D160B48D86BD18CAF8FCE6CEDDF4B6BBB698FFB3AF77A598F69B0B15291211A6F7DBC6DF5364DCBD4BDCB6EDB574DB01B8477835E876332387C090E9E5885F3BD8EA77B3E9F954A94C2654F280F72745FC1BAAC9AC1ED6A2D0ACDF818E3A1B6815301000400540E044E616D65124765745265736F757263654E616D65436C725455794D6963726F736F66742E53716C5365727665722E5365727665722E446174614163636573734B696E642C2053797374656D2E446174612C2056657273696F6E3D322E302E302E302C2043756C747572653D6E65757472616C2C205075626C69634B6579546F6B656E3D623737613563353631393334653038390A446174614163636573730100000054557F4D6963726F736F66742E53716C5365727665722E5365727665722E53797374656D446174614163636573734B696E642C2053797374656D2E446174612C2056657273696F6E3D322E302E302E302C2043756C747572653D6E65757472616C2C205075626C69634B6579546F6B656E3D623737613563353631393334653038391053797374656D446174614163636573730100000054020F497344657465726D696E6973746963010320000E042001020E05000111090E0607030E1109020620011D0E1D03042001080E0520020E08080600030E0E0E0E0500010E1D0E0500020E0E0E11070B1D0E0E0E0E0E0E12490E1D03021D0E0300000E12070C1D0E0E0E0E0E0E0E12490E1D03021D0E042001010E062002010E12510320001C0B07060E1251125512490E02040100000003200006032000080320000A0420001275052001127908042000127D0520011225080420011C0E052000128085032000020600030E1C1C1C082003010E1180890A05000012809105200101121D1A070F12190E12250E0E1D122108121D1D0E06080A0212808512610520010112550520010812190600011280A10E062001011280A10520001280A50620010112809D0520010112790420001225052002010E1C0520010112251A070B1219125112551280951249127912809D12809D1225121902062001011D122106200201081109060702121D121D0801000701000000000801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F777301000000000078FEAF5800000000020000001C010000D0460000D0280000525344536525677EC13B854582B653955E29787B01000000633A5C55736572735C4461726B6F2E4952415441484F4D455C446F63756D656E74735C56697375616C2053747564696F20323031335C50726F6A656374735C53716C436C724765745265736F757263654E616D655C53716C436C724765745265736F757263654E616D655C6F626A5C44656275675C53716C436C724765745265736F757263654E616D652E706462000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001448000000000000000000002E48000000200000000000000000000000000000000000000000000020480000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF2500200010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000018000080000000000000000000000000000001000100000030000080000000000000000000000000000001000000000048000000586000007C02000000000000000000007C0234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004DC010000010053007400720069006E006700460069006C00650049006E0066006F000000B801000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E003000000054001A00010049006E007400650072006E0061006C004E0061006D0065000000530071006C0043006C0072004700650074005200650073006F0075007200630065004E0061006D0065002E0064006C006C0000002800020001004C006500670061006C0043006F0070007900720069006700680074000000200000005C001A0001004F0072006900670069006E0061006C00460069006C0065006E0061006D0065000000530071006C0043006C0072004700650074005200650073006F0075007200630065004E0061006D0065002E0064006C006C000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E0030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000C000000403800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;


GO
ALTER ASSEMBLY [SqlClrGetResourceName]
    DROP FILE ALL
    ADD FILE FROM 0x4D6963726F736F667420432F432B2B204D534620372E30300D0A1A445300000000020000020000002B000000C80000000000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3800000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0BCA3101380000000010000000100000000000001000FFFF04000000FFFF03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000BCA3101380000000010000000100000000000001100FFFF04000000FFFF0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000942E310178FEAF58010000006525677EC13B854582B653955E29787B00000000000000000100000001000000000000000000000000000000DC51330100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000BCA310138000000001000000010000000000000FFFFFFFF04000000FFFF030000000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000BCA310138000000001000000010000000000000FFFFFFFF04000000FFFF030000000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F862513FC607D311905300C04FA302A1C4454B99E9E6D211903F00C04FA302A10B9D865A1166D311BD2A0000F80849BD60A66E40CF64824CB6F042D48172A79910000000000000002F5C4A275E4009A0DECE2C0B66E7A7D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F862513FC607D311905300C04FA302A1C4454B99E9E6D211903F00C04FA302A10B9D865A1166D311BD2A0000F80849BD60A66E40CF64824CB6F042D48172A7991000000000000000AD6A9EA2A25A313674A2D229971A8071000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F309000000000000F3090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FEEFFEEF010000004C02000000633A5C55736572735C4461726B6F2E4952415441484F4D455C446F63756D656E74735C56697375616C2053747564696F20323031335C50726F6A656374735C53716C436C724765745265736F757263654E616D655C53716C436C724765745265736F757263654E616D655C53746F7265642070726F6365647572655C4765745265736F757263654E616D6546726F6D50616765436C722E63730000633A5C75736572735C6461726B6F2E6972617461686F6D655C646F63756D656E74735C76697375616C2073747564696F20323031335C70726F6A656374735C73716C636C726765747265736F757263656E616D655C73716C636C726765747265736F757263656E616D655C73746F7265642070726F6365647572655C6765747265736F757263656E616D6566726F6D70616765636C722E637300633A5C55736572735C4461726B6F2E4952415441484F4D455C446F63756D656E74735C56697375616C2053747564696F20323031335C50726F6A656374735C53716C436C724765745265736F757263654E616D655C53716C436C724765745265736F757263654E616D655C46756E6374696F6E735C4765745265736F757263654E616D65436C722E637300633A5C75736572735C6461726B6F2E6972617461686F6D655C646F63756D656E74735C76697375616C2073747564696F20323031335C70726F6A656374735C73716C636C726765747265736F757263656E616D655C73716C636C726765747265736F757263656E616D655C66756E6374696F6E735C6765747265736F757263656E616D65636C722E63730007000000010000009B0000009C000000000000000000000036010000C101000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001BE23001AC0000002FAA1D64818ED20101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000100000003000000000000009C000000280000001BE23001C5BAB21158000000010000009B0000009C000000650000000000000000000000C1010000280000001BE23001319586F058000000360100009B000000C1010000650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000042002A11000000007403000000000000C7020000000000000000000007000006FC04000001000000004765745265736F757263654E616D6546726F6D50616765436C7200160003110400000034030000C7020000FC040000010000000A0024115553797374656D00120024115553797374656D2E44617461000000001A0024115553797374656D2E446174612E53716C436C69656E7400001A0024115553797374656D2E446174612E53716C54797065730000001E002411554D6963726F736F66742E53716C5365727665722E536572766572001E002011080000000500001100000000000004004353243024303030300000001E002011090000000500001100000000000004004353243024303030310000001E0020110A0000000500001100000000000004004353243024303030320000001E0020110B0000000500001100000000000004004353243024303030330000001E0020110C0000000500001100000000000004004353243424303030340000001E0020110D0000000500001100000000000004004353243524303030350000001E0020110E0000000500001100000000000004004353243024303030360000001600201100000000050000110000000000000000647300001E002011050000000500001100000000000000006D65746164617461000000001600201106000000050000110000000000000000690000001600031148000000C40200000A010000B2050000010000001A002011010000000500001100000000000000006F626A496400000016000311080200006C02000046000000D0050000010000001600201102000000050000110000000000000000726F7700020006001600031108020000C00200006E0000004D060000010000001A0020110300000005000011000000000000000064624E616D6500001A00201104000000050000110000000000000000717565727900000002000600020006001600031148000000300300007F000000F8060000010000001600201102000000050000110000000000000000726F770016000311C80200002C0300004D00000029070000010000001A00201107000000050000110000000000000000726573756C7400000200060002000600020006003A000404C93FEAC6B359D649BC250902BBABB460000000004D0044003200000004020000040000000C00000001000500040200000C000000010000060200060032002A1100000000F00400000000000077000000000000000000000008000006C307000001000000004D616B65496E70757400001600031178030000BC04000077000000C3070000010000001E002011040000000400001100000000000004004353243124303030300000001E0020110500000004000011000000000000040043532434243030303100000016002011000000000400001100000000000000006473000016000311AC030000840400005B000000C7070000010000001600201101000000040000110000000000000000636E6E00160003111C0400008004000039000000D3070000010000001A00201102000000040000110000000000000000636F6D6D616E6400020006000200060016000311AC030000B804000009000000260800000100000016002011030000000400001100000000000000006578000002000600020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D004400320000000401000004010D040C000000070000060200060032002A11000000003C070000000000008E0100000000000000000000090000063A08000001000000004D616B65496E707574320016000311F4040000080700008E0100003A080000010000001E002011090000000600001100000000000004004353243124303030300000001E0020110A0000000600001100000000000004004353243424303030310000001600201100000000060000110000000000000000647300001600031128050000380600007C00000042080000010000001600201101000000060000110000000000000000636E6E001600031198050000340600005A0000004E080000010000001A00201102000000060000110000000000000000636F6D6D616E640016000311C8050000300600002D0000005E080000010000001A0020110300000006000011000000000000000073716C416470000002000600020006000200060016000311280500006C06000002000000C308000001000000160020110400000006000011000000000000000065780000020006001600031128050000D006000071000000DF08000001000000160020110500000006000011000000000000000064740000160020110600000006000011000000000000000064633100160020110700000006000011000000000000000064633200020006001600031128050000040700004E000000720900000100000016002011080000000600001100000000000000006472000002000600020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D004400320000000401000004010D040C000000070000060200060036002A110000000000080000000000002B00000000000000000000000A000006C809000001000000006275696C645265636F7264000000001600031140070000CC0700002B000000C8090000010000001E002011010000000700001100000000000004004353243124303030300000001A002011000000000700001100000000000000007265636F72640000020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D0044003200000004010000040109010C0000000700000602000600F200000000030000FC04000001000100C7020000000000003E000000F4020000000000000F00008001000000100000818900000012000080AF000000EEEFFE80B600000013000080B700000014000080B900000015000080BA00000015000080D2000000EEEFFE80D400000015000080E100000016000080E20000001700008001010000EEEFFE8005010000180000800601000019000080170100001A000080190100001E0000801A0100001500008023010000EEEFFE8046010000EEEFFE80470100001F0000804D010000EEEFFE80510100002000008052010000210000806D01000023000083B601000028000080BE0100002A000080BF0100002B000080C00100002E000080C801000030000080DE01000031000080E101000032000080E201000032000080FA010000EEEFFE80FC0100003200008009020000330000800A0200003400008029020000EEEFFE802D020000350000802E02000036000080380200003700008042020000EEEFFE80460200003800008047020000390000804D0200003A0000805A0200003B000080670200003D00008068020000EEEFFE806A0200003E0000806B0200003F000080780200004000008079020000410000807A020000440000807B0200003200008084020000EEEFFE80AA020000EEEFFE80AB02000045000080B5020000EEEFFE80B902000046000080BA02000047000080C502000048000080C60200004A0000800500060009008900090033000000000009000A000D0021000D0014002500360000000000160021000D000E001100460000000000110012001500350015001B000D000E002200240000000000000000000D001F00000000000D000E0011004B0011003000110028000D000E0009000A0009003500090049000900130009001000210032000000000012001D0009000A000D004300000000000D000E001100430011001D00000000001100120015001A0015003E0015003C0011001200000000001600170015003C00110012000D000E0009000A001E0020000000000000000000090015000000000009000A000E002F0009000A0005000600F200000050010000C30700000100010077000000000000001A00000044010000000000004D000080010000004E000080030000005000008004000000520000800F0000005300008010000000550000801800000056000080190000005700008020000000580000802C00000059000080330000005A00008034000000EEEFFE8048000000EEEFFE80490000005B0000804A000000EEEFFE805E000000EEEFFE805F0000005C00008060000000EEEFFE80620000005D000080630000005E000080640000005F0000806B000000600000806C000000EEEFFE806E000000EEEFFE806F0000006100008074000000620000800500060009001A0009000A00140054000D000E0018004700110012001500200015003D00150021001100120000000000000000000D000E00000000000000000009000A000000000009001D0009000A000D001D0009000A0000000000000000000900130005000600F20000007C0200003A080000010001008E010000000000003300000070020000000000006500008001000000660000800700000068000080080000006A000080130000006B000080140000006D0000801C0000006E0000801D0000006F00008024000000700000802A000000710000802B0000007200008033000000730000803B000000740000803C000000EEEFFE8050000000EEEFFE805100000075000080580000007600008059000000EEEFFE806D000000EEEFFE806E000000770000806F000000EEEFFE8083000000EEEFFE80840000007800008085000000EEEFFE808700000079000080890000007A0000808A0000007C0000808B000000EEEFFE808D000000EEEFFE808E0000007D000080A1000000EEEFFE80A50000007E000080A60000007F000080AD00000080000080B900000081000080CB00000082000080D700000083000080E900000084000080F80000008500008007010000860000801501000087000080160100008800008034010000EEEFFE803801000089000080390100008A0000804C0100008B0000805E0100008C0000806C0100008D000080850100008E000080860100008F0000808B01000090000080050006000900240009000A00140054000D000E001800470011001200150020001C004800150016001900380019002900150016000000000000000000150021001100120000000000000000000D000E00000000000000000009000A000000000009001D0009000A0009000A000000000000000000090024000000000009000A000D002C000D0036000D0041000D0036000D0041000D0021000D0021000D001F0009000A0009002B000000000009000A000D0030000D002F000D0020000D00270009000A000900130005000600F200000054000000C8090000010001002B0000000000000005000000480000000000000094000080010000009500008008000000970000802500000099000080290000009A0000800500060009003C0009003B000900170005000600F400000008000000010000000000000020000000000000002C000000440000005C0000007400000090000000A8000000C400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000003A002A11000000006801000000000000C10000000000000000000000010000060000000001000000004765745265736F757263654E616D65436C7200160003110400000034010000C100000000000000010000000A0024115553797374656D00120024115553797374656D2E44617461000000001A0024115553797374656D2E446174612E53716C436C69656E7400001A0024115553797374656D2E446174612E53716C54797065730000001E002411554D6963726F736F66742E53716C5365727665722E536572766572001E002011010000000100001100000000000004004353243124303030300000001E0020110200000001000011000000000000040043532434243030303100000022002011000000000100001100000000000000007265736F757263654E616D6500000000020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D0044003200000004010000040000000C000000010005000200060032002A1100000000680300000000000020010000000000000000000002000006C1000000010000000050726F636573734B657900160003116C0100003403000020010000C1000000010000001E002011070000000200001100000000000004004353243124303030300000001E002011080000000200001100000000000004004353243024303030310000001E002011090000000200001100000000000004004353243424303030320000001E0020110A0000000200001100000000000004004353243024303030330000001A0020110000000002000011000000000000000068656C70657200001E0020110100000002000011000000000000000072657456616C75650000000016000311A0010000FC020000B100000002010000010000001A00201102000000020000110000000000000000686F6269640000001A0020110300000002000011000000000000000064624964000000001A0020110400000002000011000000000000000071756572790000001A0020110500000002000011000000000000000064624E616D6500000200060016000311A00100003003000014000000B70100000100000016002011060000000200001100000000000000006578000002000600020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D00440032000000040100000401B7000C000000010000060200060036002A11000000008805000000000000B0010000000000000000000003000006E1010000010000000050726F636573735061676500000000160003116C03000054050000B0010000E1010000010000001E002011080000000300001100000000000004004353243124303030300000001E002011090000000300001100000000000004004353243024303030310000001E0020110A0000000300001100000000000004004353243424303030320000001E0020110B0000000300001100000000000004004353243024303030330000001A0020110000000003000011000000000000000068656C70657200001E0020110100000003000011000000000000000072657456616C75650000000016000311A40300001C050000580100000B020000010000001A0020110200000003000011000000000000000070616765496400001A0020110300000003000011000000000000000064624964000000001A0020110400000003000011000000000000000066696C65496400001A0020110500000003000011000000000000000071756572790000001A0020110600000003000011000000000000000064624E616D6500000200060016000311A40300005005000014000000670300000100000016002011070000000300001100000000000000006578000002000600020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D00440032000000040100000401B7000C000000010000060200060036002A1100000000B007000000000000EA00000000000000000000000400000691030000010000000050726F636573734F626A6563740000160003118C0500007C070000EA00000091030000010000001E002011080000000300001100000000000004004353243124303030300000001E002011090000000300001100000000000004004353243024303030310000001E0020110A0000000300001100000000000004004353243424303030320000001E0020110B0000000300001100000000000004004353243024303030330000001A0020110000000003000011000000000000000068656C70657200001E0020110100000003000011000000000000000072657456616C75650000000016000311C40500004407000092000000BB030000010000001E002011020000000300001100000000000000006F626A6563744964000000001A0020110300000003000011000000000000000064624964000000001E00201104000000030000110000000000000000706172746974696F6E4964001A0020110500000003000011000000000000000071756572790000001A0020110600000003000011000000000000000064624E616D6500000200060016000311C40500007807000014000000510400000100000016002011070000000300001100000000000000006578000002000600020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D00440032000000040100000401B7000C000000010000060200060032002A11000000002C09000000000000810000000000000000000000050000067B04000001000000004D616B65496E707574000016000311B4070000F8080000810000007B040000010000001E002011040000000400001100000000000004004353243124303030300000001E0020110500000004000011000000000000040043532434243030303100000016002011000000000400001100000000000000006473000016000311E8070000C00800005B0000007F040000010000001600201101000000040000110000000000000000636E6E001600031158080000BC080000390000008B040000010000001A00201102000000040000110000000000000000636F6D6D616E6400020006000200060016000311E8070000F408000013000000DE0400000100000016002011030000000400001100000000000000006578000002000600020006002E000404C93FEAC6B359D649BC250902BBABB460000000004D0044003200000004010000040104040C0000000100000602000600F2000000440100000000000001000100C100000000000000190000003801000000000000120000800100000013000080070000001400008022000000EEEFFE802500000015000080260000001600008039000000170000803A000000EEEFFE803C0000001800008057000000EEEFFE805A000000190000805B0000001A0000806E0000001B0000806F000000EEEFFE80710000001C0000808C000000EEEFFE808F0000001D000080900000001E000080A30000001F000080A4000000EEEFFE80A600000021000080A700000022000080B500000023000080B600000024000080BF00000025000080050006000900220011003D000000000009000A000D00400009000A00000000000E003B000000000009000A000D00410009000A00000000000E003D000000000009000A000D00430009000A000000000009000A000D00340009000A0009001D0005000600F200000068010000C10000000100010020010000000000001C0000005C0100000000000028000080010000002A000080180000002B0000801A0000002C00008039000000EEEFFE80400000002D000080410000002F00008042000000300000805E00000031000080670000003200008079000000330000808200000034000085E90000003A000080F10000003B000080F2000000EEEFFE80F40000003C000080F60000003D000080F70000003E00008009010000400000800A010000EEEFFE800C010000EEEFFE800D010000420000800E010000EEEFFE8010010000440000801101000045000080170100004600008018010000470000801D01000049000080050006000900280009001D0009003E000000000009000A000D000E001100560011003000110041001100320011003D0011002D000D000E00000000000D0021000D000E0011004D000D000E00000000000000000009000A000000000009000A000D00670009000A000900190005000600F200000074010000E101000001000100B0010000000000001D00000068010000000000004C000080010000004E000080180000004F0000801A0000005000008022000000EEEFFE8029000000510000802A000000530000802B00000054000080390000005500008042000000560000804C000000570000805E00000058000080670000005900008C7E01000067000080810100006800008082010000EEEFFE808401000069000080860100006A000080870100006B000080990100006D0000809A010000EEEFFE809C010000EEEFFE809D0100006F0000809E010000EEEFFE80A001000071000080A101000072000080A701000073000080A801000075000080AD01000077000080050006000900280009001D00090020000000000009000A000D000E0011003D001100300011003200110041001100320011004C00110022000D000E00000000000D0021000D000E0011004E000D000E00000000000000000009000A000000000009000A000D00500009000A000900190005000600F2000000740100009103000001000100EA000000000000001D00000068010000000000007B000080010000007D000080180000007E0000801A0000007F00008022000000EEEFFE8029000000800000802A000000820000802B00000083000080390000008400008042000000850000804C000000870000805E00000088000080670000008A000083B30000008E000080BB00000090000080BC000000EEEFFE80BE00000091000080C000000092000080C100000093000080D300000095000080D4000000EEEFFE80D6000000EEEFFE80D700000098000080D8000000EEEFFE80DA0000009A000080DB0000009B000080E10000009C000080E20000009E000080E7000000A0000080050006000900280009001D00090020000000000009000A000D000E0011003F00110030001100370011004100110032001100330011002D000D000E00000000000D0021000D000E00110050000D000E00000000000000000009000A000000000009000A000D00590009000A000900190005000600F2000000500100007B0400000100010081000000000000001A0000004401000000000000A200008001000000A300008003000000A500008004000000A70000800F000000A800008010000000AA00008018000000AB00008019000000AC00008020000000AD0000802C000000AE00008033000000AF00008034000000EEEFFE8048000000EEEFFE8049000000B00000804A000000EEEFFE805E000000EEEFFE805F000000B100008060000000EEEFFE8062000000B200008063000000B300008064000000B400008075000000B500008076000000EEEFFE8078000000EEEFFE8079000000B60000807E000000B70000800500060009001A0009000A00140054000D000E0018004700110012001500200015003D00150021001100120000000000000000000D000E00000000000000000009000A000000000009001D0009000A000D00440009000A0000000000000000000900130005000600F400000008000000360100000000000028000000DC0000000001000018010000340100004C01000068010000800100009C010000B4010000CC0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF1A092FF19000000048020000350100000100000069010000010000004D010000010000000101000001000000C5000000010000002D000000010000009D01000001000000CD01000001000000DD000000010000001901000001000000B501000001000000450000000100000001000000010000005D00000001000000750000000100000091000000010000008101000001000000A900000001000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000040000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000400000000000000000000000000000000000000000000000000000200000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000C0000001800000024000000300000003C0000004800000054000000600000006C00000078000000900000009C000000A8000000B4000000C0000000CC000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A002511000000000400000002004765745265736F757263654E616D6546726F6D50616765436C720000000016002911000000000400000002003036303030303037000016002511000000007803000002004D616B65496E707574001600291100000000780300000200303630303030303800001A00251100000000F404000002004D616B65496E70757432000000001600291100000000F40400000200303630303030303900001A002511000000004007000002006275696C645265636F726400000016002911000000004007000002003036303030303061000022002511000000000400000001004765745265736F757263654E616D65436C72000000001600291100000000040000000100303630303030303100001A002511000000006C010000010050726F636573734B65790000000016002911000000006C0100000100303630303030303200001A002511000000006C030000010050726F636573735061676500000016002911000000006C0300000100303630303030303300001A002511000000008C050000010050726F636573734F626A6563740016002911000000008C0500000100303630303030303400001600251100000000B407000001004D616B65496E707574001600291100000000B40700000100303630303030303500000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000FFFFFFFF1A092FF10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF77093101010000000D00008E0E0032060F000000BC000000000100002C0000003C010000000000000000000016000000190000000000EEC00000000000000000FFFF000000000000FFFFFFFF00000000FFFF0000000000000000000000000C0030090000000000001C07000001000000583A0C01000000000000000055736572446566696E656446756E6374696F6E7300373141414145453800000000000000FFFF000000000000FFFFFFFF00000000FFFF0000000000000000000000000B0004080000000000005007000001000000C8380C01000000000000000053746F72656450726F636564757265730043444135313336460000002DBA2EF10100000000000000C10000000000000000000000000000000000000001000000C1000000200100000000000000000000000000000000000001000000E1010000B0010000000000000000000000000000000000000100000091030000EA00000000000000000000000000000000000000010000007B04000081000000000000000000000000000000000000000100E8F8FC040000C7020000000000000100FFFF00000000000000000100E8F8C307000077000000000000000100FFFF00000000000000000100E8F83A0800008E010000000000000100FFFF00000000000000000100E8F8C80900002B000000000000000100FFFF0000000000000000020002000D01000000000100FFFFFFFF00000000F30900000802000000000000FFFFFFFF00000000FFFFFFFF0200020000000100010001009A00000000000000633A5C55736572735C4461726B6F2E4952415441484F4D455C446F63756D656E74735C56697375616C2053747564696F20323031335C50726F6A656374735C53716C436C724765745265736F757263654E616D655C53716C436C724765745265736F757263654E616D655C53746F7265642070726F6365647572655C4765745265736F757263654E616D6546726F6D50616765436C722E637300633A5C55736572735C4461726B6F2E4952415441484F4D455C446F63756D656E74735C56697375616C2053747564696F20323031335C50726F6A656374735C53716C436C724765745265736F757263654E616D655C53716C436C724765745265736F757263654E616D655C46756E6374696F6E735C4765745265736F757263654E616D65436C722E637300000000FEEFFEEF010000000100000000010000000000000000000000FFFFFFFFFFFFFFFFFFFF0A00FFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000942E310178FEAF58010000006525677EC13B854582B653955E29787B5D0100002F4C696E6B496E666F002F6E616D6573002F7372632F686561646572626C6F636B002F7372632F66696C65732F633A5C75736572735C6461726B6F2E6972617461686F6D655C646F63756D656E74735C76697375616C2073747564696F20323031335C70726F6A656374735C73716C636C726765747265736F757263656E616D655C73716C636C726765747265736F757263656E616D655C73746F7265642070726F6365647572655C6765747265736F757263656E616D6566726F6D70616765636C722E6373002F7372632F66696C65732F633A5C75736572735C6461726B6F2E6972617461686F6D655C646F63756D656E74735C76697375616C2073747564696F20323031335C70726F6A656374735C73716C636C726765747265736F757263656E616D655C73716C636C726765747265736F757263656E616D655C66756E6374696F6E735C6765747265736F757263656E616D65636C722E637300050000000A000000010000006601000000000000110000000700000000000000050000000A000000060000002200000008000000C70000000900000000000000DC5133010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000020000000C1010000380000009303000038000000000000007C020000AC000000580000005800000028000000780F000078100000E80200002C000000E40100000300000025000000060000002300000024000000070000000B0000000C0000000D00000008000000090000000A0000000E0000000F000000100000001100000012000000130000001400000015000000160000001700000018000000190000001A0000001B0000001C0000001D0000001E0000001F0000002000000022000000210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 AS N'SqlClrGetResourceName.pdb';


GO
PRINT N'Creating [dbo].[GetResourceNameClr]...';


GO
CREATE FUNCTION [dbo].[GetResourceNameClr]
(@waitResource NVARCHAR (128))
RETURNS NVARCHAR (MAX)
AS
 EXTERNAL NAME [SqlClrGetResourceName].[UserDefinedFunctions].[GetResourceNameClr]


GO
PRINT N'Creating [dbo].[GetResourceNameFromPageClr]...';


GO
CREATE PROCEDURE [dbo].[GetResourceNameFromPageClr]
@dbid SMALLINT, @fileId INT, @pageId BIGINT
AS EXTERNAL NAME [SqlClrGetResourceName].[StoredProcedures].[GetResourceNameFromPageClr]


GO
PRINT N'Reenabling DDL triggers...'
GO
ENABLE TRIGGER [DDlTriggerLogging] ON DATABASE
GO
PRINT N'Update complete.';


GO

Rate

5 (5)

Share

Share

Rate

5 (5)

Related content

How to Compile, Deploy and Consume a SQL Server CLR Assembly

Specialized tasks like cryptography require external libraries that are not available in SQL Server. Methods for such tasks can be compiled in a .NET language and deployed to SQL Server as a CLR assembly where the assembly's methods can be referenced by SQL Server stored procedures and functions.

4.92 (37)

2013-08-13

5,915 reads