锁分区技术使得SQL Server可以更好地应对并发情形,但也有可能带来负面影响,这里通过实例为大家介绍,分析由于锁分区造成的死锁情形.
前段时间园友@JentleWang在我的博客锁分区提升并发,以及锁等待实例中问及锁分区的一些特性造成死锁的问题,这类死锁并不常见,我们在这里仔细分析下.不了解锁分区技术的朋友请先看下我的锁分区那篇实例.
Code(执行测试脚本时请注意执行顺序,说明)
步骤1 创建测试数据
use tempdb
go
create table testdlk
(
id int identity(1,1) primary key,
str1 char(3000)
)
go
insert into testdlk(str1) select 'aaa'
insert into testdlk(str1) select 'bbb'
insert into testdlk(str1) select 'ccc'
insert into testdlk(str1) select 'ddd'
步骤2 开启 session 1 执行语句
--session 1
begin tran update testdlk set str1='ttt' where id=1 ---session id 55 this example
---rollback tran
---manual after session 3 rollback session 1
步骤3 开启session 2 执行语句
--session 2
BEGIN TRAN update testdlk set str1='abc' where id=2 ---update the content of id=2 SELECT * FROM testdlk WITH(TABLOCKX)------ try to get X lock on the object testdlk rollback tran
---session id 58 this example
步骤4 开启session 3执行数据
--session 3
BEGIN TRAN update testdlk set str1='abc' where id=3-------update the content of id=3 SELECT * FROM testdlk WITH(TABLOCKX)--- try to get X lock on the object testdlk rollback tran
---session id 59 this example
步骤5 创建脚本的session中执行语句
select request_session_id,resource_lock_partition,resource_type,
object_name(resource_associated_entity_id) as object_name,request_mode,request_status
from sys.dm_tran_locks where resource_database_id=2 and resource_type='OBJECT' select session_id,blocking_session_id,wait_type,resource_description
from sys.dm_os_waiting_tasks where blocking_session_id is not null
步骤6 session 1中rollback
Rollback session 1
--when session 1 rollback then session 3 deadlock
当session 1回滚时,session2 session 3造成死锁,session 3牺牲.
原因分析.
通过步骤四我们可以得到相应的会话的锁,及相关等待情况如图1-1
aaarticlea/png;base64,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FUPPP6iGsRRX6nLadb58GXr+AQBg9AR37949BQAAAAAAYLAEd+/ePfBmP+MXv/jFP//zP//gBz/4zne+853vfOe7BPMIAAAAAAAAzRHcvXv3v8rz61//+gc/+MGvfvWrFy9eHAMAAAAAANAdwd27d3/rzW8ynjx58r3vfe/ly5fHxy+Ojw3DtEEAACAASURBVI+fP8/D0dHzo6Pn9AgCAgICAgICAgJCcyG4e/fu71WePHmS/PHFF18cHR198cUXvzd4+vTpfD5/8eLl8fHx0dFRhW/LAAAAlOX58+MXL16+ePGS/aPr3AEAQGdYFW0iZ//8z//86OjIpmiPj188e3b0xRdffv75UwQEBASEpsPz58f/WxhG/+2/aX9867//9+fPjzvPHgICAkJXgVe0iZz94z/+47/+6792KtrjL7589vnnT588OURAQEBAaDocHT2/fu3a/3X3rvbHvXffPTp63nn2EBAQELoKjKJN5Owf/dEffe1rX3v77bcdivb58+OnT7948uTwd7/7PQICAgJC0+HZs2f/+1//9Xvvvaf98cMf/vDZs2edZw8BAQGhq8Ao2ufPn//pn/7pn/3Zn/3N3/zNO++841C0v//9k5///Bc//enPlsufICAgICA0HX71q18nQlb744c//OGvfvXrzrOHgICA0FWw2mj/4i/+4ubNmx988IFD0f7ud7/f3//Pzz77/x49eoyAgICA0HT4xS9+mQhZ7Y8f/vCHv/jFLzvPHgICAkJXweVH+7d/+7f/9E//5FC0v/3t737605998sny3//9xwgICAgITYeDg5//H7PZgwcPtD/+9V//9eDg551nDwEBAaGrULDWQRzHDkX7m9/89rPPfvqjHz366KN/Q0BAQEBoOvzsZwf33n33o48+0v748Y9//LOfHXSePQQEBISuwkbr0f7XL3/17//+4//1v/7ff/mXf0VAQEBAaDr86EePfvKT1U9+smL/6Dx7CAgICF0Fl6J1kCjan/3s4MMP/+WHP/x//vHBhwgICAgICAgICAidhODu3bufe3OY8eWXX/7DP/zDRx99/B//8cm//dt/PHz47wgICAgICAgICAidhODu3btfqHz55ZdfFPHs2bMf/ehH77zzzv8JAAAAAABApwR37959AgAAAAAAwGAJ7gIAAAAAADBkgmcAAAAAAAAMGShaAAAAAAAw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" alt="" width="815" height="485" />
图1-1
可以看到session 1(图中55)由于只是更新id=1的列,所以它会在key上加排它锁(图中未列出,感兴趣朋友可以自行查看),而在Object testdlk中某个锁分区中图中为锁分区1加上意向排它锁.
Session 2(图中58)由于更新了id=2的列,所以会在相应Key上加排他锁,并在某个锁分区中加意向排他锁(IX),于此同时由于此事务下面查询有表级TABLOCKX Hint,此时58会尝试在表级上排他锁(X锁).由于X锁需要在所有锁分区中获得,此时58在锁分区0中获得X锁,但由于锁分区1中有55获得了意向排他锁(IX),所以58在锁分区1中尝试获取X锁时状态未Convert,被55阻塞.
Session 3(图中59)由于更新了id=3的列,所以会在相应key上加排他锁,同时在某个锁分区中加意向排他锁(IX),于此同时由于此事务下面查询同样有表级TABLOCKX Hint,这时59也会尝试在表的所有分区中获取X锁.由于58已经获得锁分区0的X锁,所以当59尝试获取锁分区0的X锁时,就会被58阻塞,状态为Wait.
问题来了,当55回滚时,其上面的锁也将被释放.此时58,59都试图获得表级的所有分区X锁,而又同时在锁分区中持有IX锁,这时死锁就不可避免了.
死锁视图如图1-2所示.
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAi0AAADfCAIAAAC1TnQeAAAgAElEQVR4nOy9WXAbV5rv2Q/zMDHzMBHTE9ERM93Rc2/fquqqLtvddlXPne7quHVnuqfa7fJS5fIiy7Jsy7Il21osydZiLZYoSqQoSqS4L+C+gAS4gxsILiBBgiCIhQAIgFgJEEsCuQGZiR2ZOQ9JQhBFbRYkkFL+4oQE5HLOlwcn889zzpff+TOahYWFhYUle/xZtg1gYWFhYXmuua1DyWQykUhk0ZRsQVEURVFZKToRj5Mkmdk8Y7FYZjN8cjlTFPWoeSYTCTKZzKwZm4tIJpPb7Eb4ERW1DXkGLmE7kMVqfHJFr+tQkqbDNO0Lhyw+wOb320HQtpHsIGj1+1Nfbcxnv5/ZZbtzl/3OA27vTT8MBO3QVnlu9dXq99uhe+SZfrzff4edfr/NbrfbbDabjfk3xfrGtK1WqzWRSCSSiadPNBqNxWKZzTMSiWQ2w/Sc44l4BjOMx+OPam0sds8ai6eb9hi/ZjQajcWiP/78J8CPqKhtSMbbz/NJJBJJZKkan8QveIcOwV39YDvPWlkru5y3cDlffuXaQu56kl+5JrucL8+9vWVje4H8yrWF3PzbGy/ny68ULORek2+cmHb8eg4buwpkl/Pv3ps6IPVZtkWeWxhzR55XChYKb81Pz8mUS/OLatmien5RPb+oml9Ub3xVyRTMFpVcpWnv4DncAIjifiT4lBOEBiE0s3licIYzvJ1gNAhmNEPw0a0FkWAQJ+5uzeFINEiEoQAOIpgfCfrg9fSjfpRApn+Up1RRIIqBKPYI2T7i8Y+ZflT7wUAUe5iznuK1PNVK27Ias1h0Zp8AfiR4hw5Bf/HX8F//DPvZS8TPXw785EXiF7+mfvWb+Au/xn76Ivazl4I/fTH405fWP/zs76Mv/mPoFy+Hf/Fy8Cdp23/6UvCnL4b+7teRv3sl+NMX09JL2M9up9TxzFf8b1+O/vKVjRwykl4K/qefB3/2ErxsgkIJKBiBgmEoGLkrrW8MhBKiqRnzqgtAcC+MZTJBmBfGkVCSiJJ+lEDDyQAR9QXCWJSCgyEvhHlhDEQwH/J4RUCYPxABAwSToRfG/Ehwo3QMgHEATvsAPUZZMOZHghuZ4Gg4GQzHYTwWjJAoHgGDUTxKQQFikzH3T0DK2q2qLhCh8EgCDETwGB0gol4o6IUwAA5iRHjLrj1F04kkGU8kQ5F4AI8EiUgAj/gRHIAxJnmgoBt8QPKAQR8S9G1pVfbS7YqCgmAwRsRoBAtDeByPJP0IDgajfhT3wjgYCK3/1ggOwJg/EAFRHECIYIRC8QgAYxvbw1CA8EKYHw35kI1WAWE+NAwFQ14Y8weiIIp7IWy98SAhOBgGYBwNkVgk6UfWj/cHoniMRrEIiMXwKMmc8uD2A2NeCAMQAsbCAIz50BBKRIGNJgrAOADjzAEoEQMDYSgQYiwBYDzVkiE8BgdDqeMBGIewqA/GvBAGBiMbxjMXGwIDIQAh4GD4frcAhPnQ0PrlByMoHgGgO0r0QpgvEEaJKBiMgCiRyn/jABwh4n504y5bv/uYCsRhLMLc5sC6hWE/gnshDApGmFPSr/2B9+nWt8xTSbd/wcylO3QI+V//dyCvUD84ujwxAy+b9f0dBUe+6arj+3SWgNEK60zwsjlgsEI6E6rRiZt4quGB+iu5utllRG9Gls2QzoToLQGDRclvnx4QB4wWn1rPJHjZHDBaId0KarDCuhVQu4IarMiyCdZbUIPNOTM52TuGGqzgkiF1ymMlvcVfXgv/5AWfehkIhlPPoHslMBgWTU5bHG5f2gMrMwnBfRA82s+9Wcs1rgHC3q5OkdxuWamqqp5eWgMDBABjIIL5kccqxYdgK2a9xuTxrTdlDESCG7sIBI9CAQIMhFEiBgWIx7wiEAn61j+gQ13tTb2T0tnJ1vbOvvFFvXaxtLJeZfabLAaNyfuQlelLs/bOi8IBn7ezuaaqY1ir13JqqromFABCADDmu7cObQlJUkmSZFIoGsND0funABFh/kzLcGN4vJSqKH8gpFmcLiqtGFeaF6aFlY3dVg+q0y8Z7AiME1N9wzMGB4JFoWAYRDG9UbtshQCvu6WBMyDWglgUxiIgSpgsxiWjCwxGluUL/aIFbzDM1Ll91aJctgMQvmzU6KygD8H9KOFDiDWXQ64xeXyoUNDZwBuy+YJgIAQFQnqNrKS0bGjesLQwXc5p1zuRjafqA9qPDwmBMDg7r3HDYcC1NjopdwcjASIGBUMQFkWJKBgIg37/xJRcrZqrbGy3+sIwFoGxCBQIw3gUxUJzkimZ0YXgETAQhrAIhGKjPXXdYj0UDOv0y2qLBwyGmca/6vCYHYDL7ZAoTWAw4ruHbf5A2OVyzitWQCzmNBtHJVooFEeJGBgIwXgMwSMQFnWv2oSSpUXpcB1/xI3EkA2TEDwGI+jwyKgJCG6oI+ZDQzAWgYJhCAnKVEtmNwJjUQSLgMGQyWRfBRAQxdRanW7VjxAxlIgjOPPHcdj3oAfClrfM00mpXzCD6U4d+vP/w8NpkitUC0YLHKeVBlkDd5g31C+alZdz6sc0tunpofxarnrV3dXFPftD2aLT0Tci0PhjiwrJrfo2qXF1YKCrViBRLC81dvB5oxMWJOYLxX2hyPT06KWbpd3CiYqGxubecblBV1pT1T2n7R3gl9R1jCpkN4tKb9byjUjEH4oBxGOnBO3vHYR/9tJD6hAUDI9PzTwRHYJxj883vyDntfP6hzvzb9QIpuXCEUH/4FhzR98qHPEhGdAhEMWnBI1NoyoQDaU3Ux9KOFetnOrKHrFWvTCZX1Q6qV4FH0+KmFboC4QturnmLlE/r617ZKywsHhcqurp6e4XjHQNi8cELS3CJTAQepgM76VDAIKvudemJdLOjs6u4f78qzfrecOuH6VDj0oiSTIje5luDI+VbusQGlRrtWPDI628jva+4V5e55BU19taKlB4Vy36ioKKcbW2p73m2s2qabV1tKuKJ7EuyUTcnrEOLreprbHgRunwnH52rKNxSO71A+3VDW0DE14s4oMxPxpamh2q7BgB0MhwR2mHxI4GsbkFqc4B2XVzxXUdFpu1sqriysWzXXNGrUahWFnTGw3jI6MtvM6OnoG+7p5esdIfjAAw5kNw5m7yIUT6Y2v9KYbgXq+7r6d/cFJrtZuqi25dKWpaVMtulVZPq02j/e3XqtoNVltLTeWFnAqt1dDe1WP2EZJxQWlti1Jv5rXUtw7Ozs1KWlrbugQjPG5D/o1ykdy8NDfIlxgBwNPaWCU1w1aDqqS0clJh4JRcOXWlxur2CQZ7+RNKD4zf/ST1IYTDbuG290hUtmWN/HrOtdKmPolEVFLTojbZ2hsryrmjeoO2vOBGXlmH2azmDoicPnSgq62ytVdnXKmrqRmSaof7BR18rmBCDqBhfyC8vDhdx+3qHxROTos5zW1mLy6dGCqt42lXVn448c3NlmHn2mpTc73C5Oxpq8m9VljX2d/W2lRW266y+aFAaKMaMeZe3lSN2WqHT1yH0D//S08lRzG/sKjRw1hkaXm+b2BuSiwsLsj/dPcn16qaK8qu/WnP1008blVbf0Npg8JsHRL0yvT2xuZ6Hr+vuq6ytK6ja3hGvjBz4tBXFZ0iF0T4ENwPQ82l+YfO5EoV6uv5BWMy84yo9+NPPjlb3NTS0NrR2lrSWFNd09VYWis2OSH0cf9gB2AMIKJ+Xu/D6xAYCI+LZ6wOz5PQIQBCpka7a7gD48Pcb364Xl7Naenqnl1QtfO6rWA0IzrkQ8MW9VSrcNELE6m2AsCYHw0Zl2WnvzlRwxvjt1e9u/uT0g4xhD+4Qh7YCn2BsFE52SlUiIf5/dOyupra0WkZv7dvbn6BPyzWqyRtYwov8lA/5X10yOvzD/Abm3pFY2OCy9cKK5p5DjDkgzE/HIQCeCQWf0I6FE8kt7MO+QKEYUlWxeEIxTP8ockZ0VD/nHFpdrB33jIhaD2459OCZsGK1a7SmWxA0LgwwhXrF2eGB6eUfT38mSXTks5kdsE27RxXpFhSTHz71eETP9xY8RF+BPchhMuqbesfs0OxlfnB1ikjhOIrVrsdCIBeB7e7x+BCp0Z6z373XY/U7Fxbs3pgs0FdU1czMj3HHxiWTE10iaQOIADAmNsHOwEEQLA1D+gCb9fkhg4RLqetndetWfXPTQ/VNnU3NbaXl+R9tPuz0saOwoJLb+/5hj/QVdXUW1fRsmy38Ht6VAZLXVMzj9tZ3VBdwuEPTkpnJoePHDrULJgzWmwq3YrVja4silqFKh+ECHi1Q2q3UjJ06Ovj/KmlmfGRxs7hNRjXKqRt/VNOCNtCh1DCbFhq6xmyeYDuns62tt6Ghpb8nLMff/xVa//AyW+P7jv8Q1tPV1NLTw2n275q5PYLFSpZVXM3r7m2rLGhqql7XLY0yOV8efTbEZnZjxI+NORatVaW3GroHTObVxqbGxUmZ3NDXWuvSG2y9zQ3d08pAR/QxW2YUq40Vhd+f/GHM9dLazickqqWRZPbBSAAgrkAaM0XAOCg0wO676zGbLXDp6NDdYuMDuGxJfnkpUtX2gVilUKWf7WwWzjXyCk7cfpS29AEt7WlqKRuRi6/dSOvc0I9Nz1aXM6ZWtT08rmNXSLJxGBpWUVlW4/OAYFoyA97S88f/X/+3z+19Y9cv1kyrV2bFw9+//353PKGaxdPnvyhuG9kqKN3tJfXOaFxPP7AEQBvIx3yISG303L98pkfrnEWlg3NDZy2vjGVSnGr+NbwrMEfDAGZGJcDUVw82J5TwbUBGHMJGzpEmAzK61ev1HUJu7iNJ0+fL+OOeZDQ4zSjjVaI+0Afr6W+unVAODrU0tJUy+uXSaYLiyukOuf0cHtOZYfdhz1weAG4z7hcIGwzyM+cPF5U3TMjmy2rKGvoFbohAmAUAgoGiejdEkJRNEU/btreOoRDAaynqfibU7nDEs3kSH9RRYt+FehuKi3uGHcB/tbqogaBFCbiMBaBA/gon3O1rt9qt9ZWlHOHpEAwCmMROBiaHeXllLeaXLB4qLOgsn2V+ZMxEFqSjuXcrFyy+0f5tVfrBzwQNi+fX3bCdv3CpWs3JMtrkjFBXfuI3R9Uq+Uqs0vUzTn67YXeCeXs1OjN8vp5pXZSovaiIaN2aVZpAQPY/PSsxg6mpuhSTzF/MLJq1vBHJnTL2pqK6vIm3sz0+JUrRUMTs5VlRSfO5HSJJC319SVVrdKF2fy8q4I5w6Swv6S6UarWdbQ2dgjEY0NdldXV5e2CVX8IwaMQigm7ai+VtJmc7saqgrqheZVsMufS5Y7xJYfVWNvIlWt0vb1Cqw+/18ghGAhrFJJBiVyxICkpqmzsHhwd6r1SUCOem8nNuXw2t2hwfKqmvLqytW9hdjQnv1iytNLDay1v4C1qNHUczvCMgtdUXdvUxOmd8sCED8bAYFghEY+rbC67vrAwXzC/Mjs5VFHH1btQ/cJ0ReuAedVeU3a9ZUjc2dZQXFFV0dTWNzzSNzSl0ugmZ7W+QGhpcVGuX/MjiGR6zrCG+JDNA+9PPz2Fcbm/9FTVKeblixqDPxACoKDbjwAIAQVCXijohTEfjHmhIIDgABTwwBgABT1+1AMG/Sju9qP+QNgHB9xgAIAxH0oAUNALBQEY98HokkIxNDpjcPi9UMADBX0IDkAYACIKpUK36gcDIQAOeuEgAGXowh5Rh57kuBwGwEEvjLn9AR9KABDqgXEwQHhA1Hd7DO1xdQiAMQ8Y9ICB1LxoejP1QkEfSvgR3Lv+izxWQWnj+4QPDniZIQ4EB6CgH8U9YMCPEl4w4AFR78NleM/+EIwBUNALYW5/wI8SHj8KbCioHwn64GCQiFJpxBPJAB6BAsTjJzBAbOf5IYCZ3QUDHgjzI5gHwvwI7gEDHjDgQwg/esegkwcMekDUhxBeKACkDZEx2wEE96PrHg2p1uIBA14ouH4AjHlAlGk5zHa3D/HCuB/FPSDqgYJAyhIUZ25ttz8AwJgXCnjAIABjHj/qTbuv059i/kAYgAI+hPCCAS+CgQFi44mBeaEgABMAFGD8Mjx+lLlYNxgAA2EfhDKdAz8a8kKBVP4eMODxo4ypHjCQavw+BPcyWxDi/tNXfjTkhdYfaACK+1HCCwYBBPdBQS+E+RDcAwYABPMyBcG4Dwq4IQwKhLwbteFHCabo9esNhkCU2LiEoB/B3H4UYCowzVQvtG4qGkoEw3E/ElyvRjDAZHt3NWarHT4VHaquVywolAYzEk5ARAwJJWAiBuExOBSHiRgcijNb4FAcDsUhYn07RMSQUBzCozCRtj0Uh/AohEchPBaI0SGSRsPxtOMTcCgejNGBSAIiYqkTN055vBSnoO4B+GcvQVojFIqDwfDdCUr7jIbiE+JZ86rbl3F/ORjzwrgPJfwoAcC4DyF8CA7AuA8lgI0DGB16zFIAhPAh6Xmuu9MwZfkQHEAIPxp6/AtkWmFaoTiAbL6uTcbcP/nSrN18UevGE6mrYLb7kaAPCW7U53oCYNwDYV4I8zx28kLrLrlPoDH8+JReUQBC+FHCh2AAnDYNg+DetA93/EZbbMeZ3wjYmMhJr/ONHxFnjgRgDIBx/6btjFPMuiMDnrIESNubOn3L9uNlvFE23RcI7kMI/8aH278+jKds9t3R8G63NKZa7rrRcC/MnIg/0CE25Xq3cdes53D7Ft7YznxNNXWmxI1/8TszxG5fArxR7RsmMRluNOM077vb1YhvWY3ZaoebfsGMpM06BHAalQrVuHRBbbSoDObbyWhW6k0qg1m5nkwb/5pUBrNSv/5VZTAp9SaVkTnLxJzLnJj2wcScqDZaNk40Kw2p/E3Micr109fzVxkt6dvTTlzfmG6MwrpqbWwN/OJlvWhKqTcpNfqt0rJKY2A+Ly2buDy+fc0LorgPxp5yghAMRDKeZ/CJWRv0ZzRD/6NbCyLB9WkqOHhnyphVaUVsl7RRUTs7Zbz9PJ/pyd3gD1N0xn/BO3QI/p/+HPz1v9j/++9kL/5q/pcvy174leyFV+ZfeGX+hVeYLfMvvLKx5WXZC6/Mv/Dy/Asvy15gDl7/Kv3lP8he/NXG11dkL7xy+8Rfvix74VfMYfMvvLzwYurE1N5Unq+k/yv95cuyF5kTX0mVuGHM7bNSu6QvvGL625cCf/UT6+TUssGg34rl5WXDxq7lZb1Wq4nFPPF4FlIk4otGgQxmGIt5wmH/E7I2HPbHYt4MZhiNeR/V2ozX2JZFRJ5wEY9eUZ5wOBR/IIlE4sEHPeYZP55wmMjWjfYspXDYn61qzPgTIB733KFDxDffYQcOEfu/jB48HDt4OP71cfrUefrEqcSXR2IHN9KXR2IHD298Pbzx9XDs4OHYl0fp42fok9+TXx1NHjoe/zL9gCN3HHnwcOzg4eidXzObwgcPEyfP0sHgQztJkRS1StNZSImEmyTXMpqnIx7zPCFr4zEPTTsymCFFOePxR7M2mXRlusa2KCKZdD3RIh69ohzxWOSh2/M2JR4LZ70mn4GU8dsw20XTdHqc0wRNp4LYEcG1hgZO24jkIds+RdML88KG9p61OB2KRjMcufMJE4tFSNJB01lI8bgnmXRlMEOKcsZi3idkbSzmpShnBjMkybVHtTaRcGe2xrYsIpFwP9EiHr2inLF1HaIAi6KuvkFj961q5rg9o0Q0AfocKJakaXp5WmIEkFTDhkEnhMaoGDbU3T6nWU1tD6IeAMRomoYshjm5PhXiN4yDbgCmKRoCHRB6O6Kle0VW29CkXwPNSnFHnyiSXD8Dci43NtTJDE7L0nRX/zASekD82VgsTFHZr8ydnjJ+G2a7aJq+Q4dIMpZIME0sjLgEPY0Ds0syyVhrK3d+ybysGK9p6/ZCsKivY3hOH8b83Z1tEo2NOT4SWGtubREMTiwbFWdOnBxX20GXsaW1VWk0CQVdjdzeNXT7/jXH6lC2WiGrQw9dUSkdSq45raq5maGR/tEJsXhEINPbp3qr56x4GHV1VjYuOexTA80V1Y16u29htHFMA3hN0hHR7Ohg/0B/R1VlrUznMEj7emeWk/GQiMsfEc+ndMilnWgbFCdpWiqoEWpAmqZMKxp/AFtbtSgk4hFh/8jEzNRgj9zq8zj0Dh/s9zrV0tnhkUF+d2tV6Y0BiepBNxqrQxlIz7oOJRKxWCy1AoJVPan3JVzakZuVXSACdjbc2LP/hGC4r7lzUKbSLkz1fLX3k6tV7RGKpmk6GQnOTozU1TSb3a6+1vYVp1M41D0umuR2N7c19Q11NfVLlzMpHRmF1aFstUJWhx66olI6RCPuFX4XV6FWjM8urCimZ5bXAP3UjMmnEned+Pxgde8kCKytrjqDoRhqmRVqXHbNlExjmZkY0tnWVlcdCBYOezRjCpPHKvvh+ImLBZXoRjcmiawKZ6RhkkJN4pElN03TKAKGYwnYqed1dSpV8gmpyrggmjZ48CAcDEcxv72H36qyeEyq6Zu5P3SLVbFYgqZpMpGIJ5I0TSdisSRJpd1orA5lID1POkTFxH1cicapme0rbR6MxIju5sqzF64MTkuHejuFEhXktdTcKu4dV663YMzT19FWVd/uJ6K6mdHhOZVVL29qbJpVyEqunM8vqjG64CcrJo8Bq0PZaoWsDj10Rd0el5vqrjh94dq8xqKSCDmNPH8wNNFdXTc4H40QfY2l/Cl1qmEvjLSWdIzhKNDZyBmZVqcEwSgV3GzgB0LRJXFPWWNXaGMY3aOX3Khq8KBh+UhzCU+UpGiLWQdj+HhH8ZlLNxb1NvnUEKepCw7H3av6NSigGGs59X3OlNxkW5bxu4RrbqdGYyJpGlqzrlgBmqYtS2pvIJp2o7E6lIH0POkQTSUTSZIkE4lELB6naJomyUQiQVI0lYzFEkmapkkymUzenglKxKKxBPOVjMeTNE3HYjEqETOvLIPYtl7/itWhbLVCVoceuqJu94dIkozH40mSpmmS+S8Rj8fX13G5Y0FHxheOpulkIp6+zmMymYjF1wMjpZ9AJpPxeJwkKeZEill1kKRIkozH7igxyTwdSDIejyeSZDIeiycppkQmnwRzWCJBUmx/KMPpudKh54hYLEKSWXJ9ibuTyUx6f1GUI/bE/OViMQ9FOTKYIUk6H9XaRMKV2RrbsohEYnv5y5GkI7bz/eVisXC2HFOfpZTx2zDbRdP07fVYk8lYLMas+Zh8zohEQvH4WjKZhRSNemMxTwYzTCRckQjwhKyNRABGBjKV4nH3o1obi2W4xrJSxKNXlCsSCWX7RnlcIhEikch+Ze70lPHbMLtFb9YhZl3LZDJJPV/Q2TaAJTvQNEVRZCKRSCTid6a7t2Q9rd+dmV2S+enCGJ/1mnwGUiJ7NZn5ou/QoWAaHo/HZDKZny8sWUpPougndzk7y9oHlGsymV0uN4bhOyQ9G2S9Gtm0vdIdOuTcwGazzc/P2+2rNpvdto6dTU8ura6uer2A2+3xeDyuNVfW7Xluks1ut8/NSe12u8fjcbOwsGQDmqbplA5BEAQAgN/vdzqdKpUqFApn+++m5wIcxyEIEo4KZ2ZmpsXTapWaIIhsG/X8gC8uKtxuN4IgMAsLSza4Q4dgGGZ0aG1tTaFQgCDkdnvY9KST1wtYLNay0tKWlpamxqaRkRGfz591q56fJJPJWB1iYckiW+uQy+WSyRYsFqtWq2fTU0hLai2PxxMMCAYGBqanZwyGlayb9JwkjUYnFk97PB5Wh1hYssU9+0NzUunSkm5+Xs6mp5DkcuXcnHR+fkE2v6BQqBbkyqyb9JwkqVQ+MTHJ6hALSxbZPD8EgiAIgl6vd3p6enJyZkw0waankMbHJ8XimSnxzNTUzOTktEg0mXWTnos0NiESTY6MjgIAEAgEEBYWlmxwhw6BaRiNxgWWp4gsjWzb8hwhk8nUarXf7wdZWFiyxB06lP7+EEEQYRaW54BQKBQMBgOBQJCFhSUb3KFD2fagZWFhYWF57rhDhwIsLCwsLCxPlzt0iGBhYWFhYXm63KFDWYnpxsLCwsLyPHOHDrWwsLCwsLA8Xe7QoTgLCwsLC8vT5Q4dYmFhYWFhyQqsDrFsR+LxOAzDEAS53W673W632y0Wi06n02q1Wq12enpaJBKp1Wpmy8rKCnOM0+n0+/0QBIXD4WxfAQsLy8PC6hBL1iAIwmq1KhSK6enp/v5+DoeTl5d36tSpI0eOHDhw4OOPP/7444/ffvvtP/3pT7t27Xr77bdfffXVDz74YPfu3e+8887bb7/9wQcffPjhh2+99dbrr7++a9eud99996233tqzZ8/HH3+8f//+Q4cOffvttzk5ORUVFTweb2JiQiaTGY1GCIKyfd0sLCx3wOoQy1MiFAqZzWaRSNTU1JSXl3fkyJHPP//8s88++/zzzw8cOPDtt9/m5uZWVFS0trb29/dLJBKj0WixWKxWKwRBwWAQw7BwOMyMKa+vThyPx+PxaDSK43gwGERR1OFwWCwWs9ksl8tHRkY6Ojpqa2uvX79+5syZQ4cO7d/gwIED58+fr6mpGRgYUKlUMAyTJJnt6mFheX5hdYjlSRGNRg0GQ1tbW05OzoEDBz766KN9+/Z9/fXX586dq6mpGR0dValUAADEYrGnY08ikUAQxGAwTE5OtrW1Xbly5ejRo59//vnevXs//fTTU6dOVVRUSKXS1Lt1LCwsTwdWh1gyCY7jWq22trb2+PHj77zzznvvvXfs2LHy8vLJyUmDwbANx8RwHLfb7TKZjMvlnj9/fu/evX/84x8PHjx448YNiUSyDQ1mYXn2YHWI5XGJx+MajaaysvLw4cPvvvvue++9d/r06aamJr1en3pfeqeQTCbX1tYGBgZycnIYTTpw4EB+fv7MzAzbT2JheUKwOsTyIwkGg2Kx+Pr165999tn7779/5syZjo4Ok8n01MbZngIej2dwcPDq1at79+7dvXv32bNn+/r6XC5XtvU5vp8AACAASURBVO1iYXmmYHWI5dGAIGhwcPD8+fMffvjh3r178/LyxsfHU/Hbn1USiYRCoaisrPziiy927dp16NChxsZGk8mUbbtYWJ4FWB1ieVhkMtn333//xz/+8bPPPistLVUqlc/nazoWp7Ojp+fYyZNvv/32/v37e3p6ns96YGHJFKwOsTwAAACam5s/+uijN95449q1a8vLy9m26AlAURQEk16A9HjvkygvQPv8NIzQGE4TIa/X29LSsnfv3tdffz0/P1+n02X7MlhYdiSsDrFsTTwel0gkZ8+e/cMf/vD555/39/dHIpFsG/WkoMLh4BvvIP/pF8jf/N1Dpf/8c/y9PTS1fvri4uL58+ffeuutzz//vLOz0+/3Z/VqWFh2GKwOsWwmHA739vbu37//gw8+KCoqWllZybZFTxwqHEb/63/D9u6PdvVGed0PSF292K69gd/+f1T0Do8MBEF4PN6BAwd27dpVVFTkcDiydTksLDsLVodYbhMOh1tbW/fs2bN///7e3t5QKJRti54SVDiM/t//LVJW+ZDHh64X3a1DKVQq1blz5955552cnByr1Zo5M1lYnk1YHWKhaZomCKKuru7tt98+cOCASCRKJBLZtuipQoXD6D/9Nnyj+CGPD+XmB/777+6lQwwrKyuXL19+4403vv/+++ehT8nC8qNhdeh5JxqNcjgcZhJIIpE8/IkUtT49kkgkUp+TyWTqM03TCIIAAPAwmaSflfocjUYJgohEIne/DwsAQDKZTH19zABxT0KHGJxO55UrV15//fXTp0+zfSMWli1hdei5Znx8fNeuXZ988sns7OyjnouiaGNj4/j4eENDg0AgGBkZmZ+fr6qqgmE4dUx1dXVzczMAAHNzc3Nzc6ntwWCQCWba2tqq0+lGR0d5PJ5CoWD2rq6uTk5O0jRtsVimpqYWFhbGxsaYXYlEQqPR5Ofnt7W1jYyMCAQCnU4nFAo7OzvvtjAUCrlcLpfLFQgEYrGY1+tdW1tDUfTuI+/WIQiCbDab3W5nJDAUClmtVhAE13N+aB1icLvdly5deu2118rLyzEMe8izWFieE1gdek4xGAzHjh3705/+xOfzf1wOAACcP39eo9G0tbXV1tYuLCwAAFBUVJR60DudzoKCApFIBILg5cuX06XO6/WWlJTMz8/fvHlTJBJ1dHQ0NTVNTU0xe0OhUE9Pj9VqFQgE9fX17e3tHA5HIpFQFJVIJNbW1k6ePIkgSH19vUAgIAhCIpHU1tbebSGO4zwer6ysDIKgUChUWFg4Ozs7Njam1Wo3HblJh6LRaGdnJ5/P7+7u9nq9KIoKBAKtVtvf32+xWOhH1yEGrVb75Zdf7tq1a2Bg4JFOZGF5tmF16LkDw7Br16698cYbN27cSO+7PCo+n+/8+fMikaizs7Otrc1kMk1MTHC5XGZvOByenZ1FUVQsFl+4cCHVoUntHRsbs9lshYWFYrG4vb29oaHBYDDQNB2LxWAYdrlcfr9fJBJxudyenh4+n2+z2Wia9ng8CoXi1KlTMzMz5eXlPT09Pp9vbGysp6dnSyPHxsaqq6tpmqYoqqCgwO12gyB4/fp1plOCIAiO4/RdOhQMBiUSSertVJlMVlJSwnwYHh6mf6wOMQwODn7wwQdffPGFRqP5EaezsDx7sDr0fDE5Ofn6668fOXLEaDQ+ZlYAABQWFvr9foFA0NDQUFdXJxKJWlpa1tbWaJpOJBKRSMTn8zU0NJw/f76lpWVpaQmG4UgkkkwmDQaDVqudm5s7fvy4QCBob29vb2/n8Xg4jkMQ1N/fn5+fjyCIUqkUCARjY2MikWhtbS0ajUYiEaVS+fvf/35mZkYmky0sLKysrKjV6rm5ufQZphRCobCmpoamaZIkCwsLV1dXaZrOz8/X6/U0TVdVVQkEAvouHSIIorm5memNoSgaCoVycnLy8vLa2tqY6a7H0SEm/4qKit/97neFhYXxePzHZcLC8szA6tDzAoZhly9ffu2114RCYUYy9Pv9Z8+eHRsb6+joaG1trampMRgMRUVFLpeLoii/3z8+Pt7b25ufny8QCCYnJ48dO/b1118bDAaKooLBoE6nKy0t1ev1MAx3dnYODg4aDAamd+LxeGpra+VyeUNDQ0lJSV1dHYfDGRsbYzoxPB7vvffeq66uNhqNdru9qKjIZrMxhd5t5JY6VFRUxAzNhcPhaDRK36VDiUTCaDSGw+HGxkY+nx8MBpuamiorK7/55htGZR9ThxicTueBAwc+/PBDNhADy3MOq0PPBQsLC7t37z569Oj9vdceCZ/PV1FRYbfbe3p62tra5ufn6+vrmZmPZDLpcrkMBoPFYrlw4cLc3JxGo7l16xYAABRFURS1srKSm5vL5XK7u7tFIpFAIDhy5MiJEycY89xud11dHU3TQ0NDTqdzfn5eLpczhQaDQS6Xe+HCBQzDQBDUarV5eXkqlepeIUfHxsaYqSNGh1wuVzwev3nz5qaFhTbpkN/vV6vVNE3Pzc3V1tYODw8zc1eDg4O1HA6dIR1i4HA4r7/+OofD2VJHWVieB1gdesZJJpNlZWWvvfZae3t7ZnO2Wq1DQ0M4jvf19bW0tCwsLJw7d661tZXp0zCYTKbGxkaapiEIqqioYDaSJOn3++vr6/V6/fXr12/evCkWizs6OsbHx5m9CwsLHA5HJpOpVCqaphcWFhiH8mQyyaz8nZubG4vFotGo0+m8ceOG1+tFEORuCxOJRE9PT1FRUSwWi8fjFy9eVCqVIyMjKTeBrq4uJudNOmQwGG7duhUIBOrq6hYXFzUaTW9vL0EQs7OzMzMzdEZ1iKZpjUazd+/egwcPMt01FpbnDVaHnmWcTucnn3zy8ccfZ3yFAoqiZDKZw+FgJocaGxs7OjosFkt7e/vAwABJktFodHl5eWhoCIZhpvfT1dWVOj0Wi9XV1QmFwtLS0vLy8s7OzsrKSqVSSdO0w+Ho6ekBAIBxw+vs7Kyqqrpx40Zra2swGEwkEjiO5+Tk2Gw2lUqlUqkqKytVKtXo6Gi6/jGgKDo1NTU6Oup2uwmCGBkZmZ2dNRqNqRePpFIpM1G0rkO3SlPnemBIuazTGI1MJ8W6trZkMFjX1pjXlEJ51zOoQzRNRyKRgoKCV199dXBwMFN5srDsFFgdemaZn59//fXXi4uLn0RwhGQyyfjaAQAAQZDD4UgtQcTMuPh8PqvVyjzxEQQRCoXp76JSFBUKhSiKikQiKIrG43Gmy0LTdCwWY1bSI0nSbrcvLS3JZLKUYNA0HY/H9Xo9hmFerxcEQRRF/X4/DMPpr7U+Kkxcn9APlyk/uB5X2w/SXoAGIcoLMF/Xg217AcoPEqfO3ieuz49GLBa/8cYbZWVlmc2WhWWbw+rQswmXy3311VcZJ2OWB0KFw4F/+Vf4L/5P5L/8EvmbXyB/kx54+66v/+WX8F/8deDffp9xHaJp2uVyffTRR999993zE9yPhYXVoWeQkpKSt9566+63NVnuBZVMxifFsa7eKL/nYVKsqzc+LaEfL5jQvSAI4sSJE59++im7fgTLcwKrQ88UyWTy0qVL77//vsvlemqFUhRFkmQikWACzSWTyUQisem1mNQY3SaSySQTQY7JgSCI9BM9Hg8EQcwumqbTBxjTPzscDmYw8Fni8uXL7733Huu5wPI8wOrQs0MymTxz5sy+ffs2OSU/aSYmJsbHx/v7+7u7uzs7O81m8/DwMPN+KIPL5Tp8+PDMzIxCoWhqagoEAqldY2Njk5OTDQ0Ncrm8vr5+enq6pqaGmR+iabqrq2tyclKpVA4MDCAIUlVVlRIzs9k8MTFBkmQkEjl//vx9AkOQJBncgJmXQlEUgqCH9JNmZr9+TL08NuXl5W+88QYbHZXlmYfVoWeEZDJ5+vTpo0ePpqLRPDU6OjqkUqlQKGxpabl161Y8HhcKhSnvOIqiGHc4h8MxMjJSUFCQ3ndpaWmZnZ0tKiqanp4+e/asUqm8cOECcwAIgjU1NZWVlRwOp6urCwRBxl2b8XcIh8OlpaVqtVoul9+6dQvHcZ/PNz4+frcgJRIJmUx26tQpmUyWTCalUmlhYaFEIunp6XlgL8pkMtXW1vL5fJFIlMkqe2gaGhp+//vfm83mrJTOwvJ0YHXoWYARoSNHjmRleIrP5/P5/NbW1o6ODg6HAwBAQUFBKm6Q0WhkIvoUFRXl5eWlj6dRFDU6OjoyMlJeXs7hcDgcTn5+fktLCxM3AUXRpqamtrY2Ho9XWlo6NjaWn5/f1dWVkgQYhhUKBZ/P7+3traurm5qaysvL8/l8d1sYCATOnj3L9MPMZjPzKlVLS8vo6ChN0ziOM1ES7qakpGRhYYEkye+///7utSeeDvX19a+99hoTXo+F5ZmE1aFngR9++GH//v3ZmiPh8/mTk5MCgaCzszM/P39xcVEkEjELN9A0jWFYJBKRSCS5ubmlpaXDw8MajQZBEOZt1qWlJZPJVFxcXFBQIBQKm5ubJycnmQUgEokE0x/i8/nl5eUymezo0aMSiSTlSGYwGJiDtVrt8ePHw+FwJBLZ0kIIgs6fP88MV66srLS2ttI0LRKJysvLaZpmYj3cPX0ViURycnIYibp8+XIWlaC+vv6tt95yu93ZMoCF5YnC6tCOp7i4eNeuXVsuq/N04PP5nZ2dLS0tPB7v6tWrMzMz8/PzzLM+GAxqNBpmoaCysjK73V5dXf3VV1+1trYymoHjuEAg6O3tjUQiBoOBy+XK5XIQBEmS7OjoOHToUF9f38TERF9fH4qiV65cSRXq8/n6+vpWV1dJkhwbG8vLy0vNKt3Nljo0OTnJvKkTi8XSp6xSEARx/vx5r9dL0/SVK1eyOzhWXFy8e/fuLcNGsLDsdFgd2tnw+fw333wzu38p9/T0mM3mqakpLpdbU1MjFotv3rzJjI+FQqG1tTWVSsUEPF1ZWSkpKRkYGGCc4txud1NTU0VFRX9//8zMzPDwcH9//7vvvtvX15dMJlEU5fF4U1NT09PTfX19Tqfz2rVryWSS0QyRSNTd3c0YwOFwZmdnpVLpvSxEUfTChQuMVJtMJmZcrqOjo6Oj4z7XRZJkQUEB8/7s999/v6VWPU1++OGHr7766nlbsp3leYDVoR2MUqn83e9+l91lbJLJJBORenx8vK2trbq6enx8/OjRow6HI90hjcvlrqys0DTd2NiYCjIUDocHBgbEYnFPT09ra2t1dfXa2trFixdTrhZdXV2MQ11OTo5AILh06RKCINPT0zRNq1QqJhbqwsLC8PBwNBqtrq7eMnA1E1b18OHDRqORoiiFQnHz5s2VlRUOh8Mok16vb21t3dKtfGZmpr29fW5urrm5OetxSOPx+L59+woLC7NrBgtLxmF1aKcCw/Abb7yR6hNkCwAAVCqVx+O5du1af39/bm6uWq3WaDQVFRVMl8jj8TCzODiOd3Z2njlzJn3CXyqVjo6ODgwMDA8P19XVqdXq2tpaprdks9m++eYblUq1tLRUV1fn9/vLyspaW1uZpfaMRmN3d/fy8rJQKGRG5NRq9cmTJ+8ePUsmk0ajcXx83Gg0kiRps9nGxsbkcnlqjMvlconFYvIeL6UuLS1JpdL7DPo9TTwez3/8x38MDQ1l2xAWlkzC6tBO5ejRo5cuXcq2FTTz5mksFrNarYFAwG63M9tjsRjzWqvNZgNBkKZpkiRVKlUqTBwDswIQSZLhcJiJEZfytgiHwzqdLr2bkkgkMAxLvegajUbX1tbS9cPtdt8d7fQZY25u7t/+7d/u5eDHwrITYXVoR8Llct999917uYexPNuUlZXt27fvceK6srBsK1gd2nlYLJZXX311eXk524awZIdEIrFv3z5mfT8WlmcAVod2GMlk8tChQ9vtGQRBEONcgKLo3Q5doVDo/tGjo9FoatmIR4UgiKx7EDx9LBbLW2+9xcZZYHk2YHVohyEQCPbu3bvdRuSqq6sZr4TS0tJNS49TFMXhcEwmk8vlMplMdrt9dnbWYrGkH6PX66urqzcNNEEQZLFY7Ha72WzWarV2u91ms/X3929a00+r1TJhEe4FE18ORdFAIEBRVDgcRhDk4Z2wEQTZnpMxlZWVx44du5d7BQvLDoLVoZ0EjuPvvfceszT1NiESifh8vvz8fIlEsrq6evnyZZ1Ol3IfIElycXFxZGTE4XB4vV6bzeZyuex2+yYd1Wq1paWlm3KGIMhqtTocDolEUlRUtLa2trq6ajQamQjcy8vLKpVqcXFxZmamqqpqYWFBKpU2NzffrRkkSer1+ry8PGYkU61W19fXq9XqwcHBTUHB78Zms7W1tQ0MDGyrOmcgCOL999+fmprKtiEsLI8Lq0M7ifr6+sOHD2fbijvAMMxut+fn509OTgqFwpMnT7a3t6fiyIXDYZfLNTc319jYGAwGCYIIhUIQBMnl8nRPaJ1Od/PmTUZ4ZmZmNnWM1tbWKioq0qMWURTldrutVuvAwIDdbvf7/Xl5eVNTUyaTiYlNtwkIgk6fPs3EUzAYDE1NTRRF1dfXj42N0TQdj8e3PIum6crKytnZ2Ugkcvbs2W24MN3g4OBHH33EOiyw7HRYHdoxBIPBf//3f9+e7gn5+fkTExMej6exsdFqtdbU1KR2+Xy+I0eOmM1mpVK5sLBw48aN2dnZubm59Ljgy8vLFy5cmJ+fFwqFvb29mwLlORyOa9eutbW1NTY2bhpPW1pa8nq9iUTi8uXLjxrXZ2xsjInro1QqCwsLt4wvl5uby8SqOH/+/DaMNEqS5Pvvvz84OJhtQ1hYHgtWh3YMVVVVJ06cyLYVm/F6vU1NTZ9++qlWq9VoNOfOnTMajZWVlcxeDMP6+/tPnTrFdDhIkmxsbLz7ia/T6aqrq+9VhN1ub21tDYVCFy9e7O/vT9/ldrsnJiZGR0f5fP59jNxSh6amppg4p/F4fEsvCYIgzp07x8SXu3TpksFgeIj6eNqIxeJ33nmHDfbDsqNhdWhnQBDEm2++uQ0fhRAELS8vl5SUEASh1WpPnz5dUFBQUlLCrFDHOAhUV1czywJFo9GGhoa7V0jS6XQVFRX3KsJutzc0NNA0TZLk3eFcW1tbv/766/vHGkcQ5MKFC0wAhVR8OR6PxwjSvUgmk/n5+cwCFt9///32jDFKUdTu3bvHx8ezbQgLy4+H1aGdAZ/PP3jwYLatuCe1tbUAAAwMDDidTpvNVl5ePjExkRrIKisrg2GYoqhEItHY2Hj3RIvBYGCGyGiaTiQSm2Ii2O32+vr6Lcu12+0cDufy5ct9fX33WpKVJEmr1Xro0CGr1UpRlFKpLC4uXl1draysZPo6TA9py1mWsbExPp+vVqtramq2rWdad3f3F1988Rw6r7M8M7A6tAOgKGrfvn3Dw8PZNmQLKIqam5s7cuSIWCxWKpXMxpWVlUOHDjFfKYoqLS1FURTH8YqKim+//TblpQaCoFKpVKvVo6OjlZWVarVarVb39fVxudz0gSaLxbLpfSmSJGEYlkgkw8PDfr8/Eom0trYePXq0qKjobjWKxWJSqbS1tVUqlcbjcY1G09HRMT8/z0QbommaWSh2S5lJJpMymWxqaupejgzbARRF33nnndTCgywsOw5Wh3YABoPh3Xff3Z7jQvRGnNBNa094PB5mPoaiKIvFEo/HSZLUaDTp0cGj0SiCIAiCBINB5rUe5s2ecDic/tc9giCb3hmKx+Mmk2nTi0ogCKrV6mwtBphdcnJyUh1KFpYdB6tDO4CqqqqLFy9m2wqW7YtEIvnkk0+229vNLCwPCatD251EIvHll19OTExk2xCW7QuGYR999NGWyy+xsGx/WB3a7qyurn744YebxqCeAeLxeGrwjSCITdMzsVgsFApRFHWfcTYURbfc+3x2C86dO3d/9z8Wlm0Lq0PbnZGRkaNHj+4sbyiKoqxWq0qlkkgkSqVSqVRKJBKFQlFcXKxSqWiaDoVCFRUVIAh6PB6n01lbW6tUKtMjKfB4vOHhYQRB6urqbDabWCxO91wwGAzRaHRwcFCr1W4q2mw2M2/ROhyO1dVVu90+MTHxkLXn9/t37vJFfX1933333c5qJywsDKwObXcKCgo4HE62rXg0KIrCcXxlZaWkpATHcZvNduHCBa/XC0EQsxirwWC4fv26UCiUy+X19fUFBQUdHR1zc3PMY5QgiOLi4kAgAADAtWvXcBwvKSmxWq1M5tFo9NixY3K5vKmpaWJiwmQyzc7Opp6/XV1dy8vLbre7s7NzYmJieHj4ISfwJRIJl8vt7OzcoV1Pk8m0b9++h4/fysKyfWB1aFtDkuTRo0d36FuKCwsL5eXlcrlcKpUWFRVFo1GBQODz+SiK6u/vl0gkCwsLGo2mu7u7pKSEy+UuLCwwJwqFwjNnzhiNRplMdu7cOalUqlAoxGIxs1en07W1tTFRGwQCwdLSUurE+fl5Ho83PT1dU1MzPDy8sLBQWVlpNBpTbyyFQqEth/JQFD137lwkEpmbm7vXu0rbnFAotGfPnk2BzFlYdgSsDm1rEATZu3fv6upqtg15ZCiKqqmpmZ2dLSgo6O3tzc/PHxoa4vP5GIaFQiGRSNTW1ra4uDgxMcHhcEZGRiYmJpigCSiKtrS0XL582el0Go3GS5cuMSFQmUgKzMtAIAgmEgk+n6/RaGKxWCAQsFgsFEVNTU11d3cXFRVBEMTn8/l8fnd3982bN1MT+E1NTQKB4G5rFQrFjRs3aJo2mUw5OTk7NEzOsWPHmMitLCw7C1aHtjUOh+ODDz64OxDO9mdlZaWysnJwcLCwsNDhcJw5cyYlBuFwWC6XX7lyZWBgoKenp6enp7q6WiqVdnd30zTt9/ttNlttbS1FUQ6Ho6CgoK6uLjXshqKoTCZTKpUVFRUcDic3N3dkZGR8fFwoFFIUlUwmBQLB4uJiIpGoqalpbW1NJBIFBQWp/hAAAMxbTZuQSCRMrDm73Z6bm/vA9SC2Jzdv3rxPmD4Wlm0Lq0PbGqVSuX///h0X2D8ej+t0umg0WlVV1dnZiSDI9evXSZKMx+PhcJgkSY/HU1NT43A4pqammDhver2e0SGapkOhUGVlZTKZnJ6ebmtra25uTiQSm2bgr1+/jiBIcXGx3W5PbRQKhZcvX56ZmTEYDC0tLSMjI1VVVUKh8IEGm0ym/Px8mqb1ev3Vq1e3bQif+9PU1JSXl5dtK1hYHhlWh7Y13d3d3333XbateGSY57jb7W5oaMAwzO/3M50Mu92uUChomk4kErdu3ZqamgJBcG5urqGhQa1Wp8ICYRhWVVUVDAYbGxuXl5fr6upomtbr9angOnq9vqamJplMFhUVMW4FKysrJEmurq7Ozc2Zzeaenp7Z2VmlUvn666+nL54tEonkcvndBjPdJrPZPDQ0NDk5+WRr54kxODh48uTJbFvBwvLIsDq0ramrq7tw4UK2rfgxuFyukZERJtgPhmGFhYVcLjc/P7+5uZmm6Xg8Xl5ePjs7y2iGwWCwWCylpaWMVzeGYSUlJSMjI2q1Oh6Pl5SUjI2N5efnm0ymZDJpsVgaGhqYZcjLyso6OjqEQmFhYWEsFpudne3p6ZHL5QKBQKFQDA8Pj42NXb58ORV7TSgUymSyLQ32er1isZgZ03tKdZRppqenDx06lG0rWFgeGVaHtjUVFRVXrlzJthWPTCKRWF1dZVy0GRAEMZvNFouF6dNQFBWLxdbW1gwGQyoyqcvlYuLIJRKJmZmZlHg4HA6ZTKZWq5mFJHQ6Xco7GQCAhYUFmUy2vLxMkmQsFqMoCoZhr9drtVoZ1zin08mI1jOPUqn853/+57NnzxYXFxcXF1+/fr2ysrK+vr6+vr6jo2N8fFyr1fp8PhzHd9xIL8uzDatD25ri4mLGj4uF5YHo9frf/va3Fy9ezM3Nzc3N/e67744fP37q1Kljx4599tlnX3zxxYcffviHP/zhD3/4w549e7766qszZ85cvXq1oqJiaGjIZDLdvbYTC8vTgdWhbU1RUVFRUVG2rWDZGSwvL3/66af3OYAJcO52u5m1NhobG2/evHnx4sXDhw+///7777///oEDB06fPs0Mii4tLXk8HjZAA8tTgNWhbU1ZWdnVq1ezbUXmIUkykUhEo1Emylw0GmU+bzqMoqj7PAdhGL57Sb3nGblc/umnn/64+a1oNLq2tjY1NdXU1FRQUHD06NG9e/d+8sknX375ZV5e3sDAgNFojMViGbeZhYVmdWibU1tbu0NXfEgmk6urqysrKyaTyWQyrayscLlcp9PJ7EUQhM/nKxQKxrNgaWlJKBT29vYye2OxWH9/v06ns1gsVqtVp9O1t7ffHb20u7t7cXHxkawKBALpyzgFAoH0wSgQBHdufDmapiUSycGDBzPVg4lEIqurq0KhsLSy8tCxbz75fP++A1+cv3SptbNzSa+PsDNMLJmD1aFtTWdn55kzZ7JtxY+BJMlgMOjewOVyXb58Wa1WM3sBAGAc55xOJxOW1GazpcJFh8PhixcvMp4OBEF4PJ6ysjLG6YCiKLvdrtFodDpdXl5efX29Xq/n8XgPjGdDkuT8/LxOpxseHhYKhclkcm5ubnl5eXBwkAmbNDU11dXV1dXVtXOdGkZHR48fP/5Esg6FfVbbvGicc+vWiQMH9/zhj7tef6M4N3dpdo4MYhSGUzhOEwRNEBSOM18pgqBJdkyP5aFgdWhbI5PJvvjii534WiVJklqtNn0kp6KiIrUYKwiCJSUlzCxFbm6uRqMZGhpK16G8vLxUTyUcDjc1NTFZURSFoiizbGt1dfXAwACO4263O/VqUSQSSffTSxEOh3/44QcYhu12+7FjxwKBwIULFzAMMxqN3333HQRBV69eDYfDUqk0PXzDzqKlpSUnJyezeVLhMPbO7uCLv8Zf+sfIK/8U+9Vvwi//k+OvfiL7H/7n2T/7H1f+t7+Ef/73yM//Af27l7EXf80ciLQi8gAAIABJREFUEPr7/xp44deB3/6OdHsyawzLswqrQ9ua1dXVXbt27cS1ruPx+K1bt2ZmZtRqtVqtVqlUBQUFKysrzF4AAOrr63EcNxgMlZWVOI7rdLqOjg5mbzgcvnDhwtTU1NLSklqtnpmZKSkpSZ898vv9AAA0NTUJhUKj0ZgeB3Z4eJh573UTFEXZbDaKomZmZjgcTjKZtNlsNE1PTk62tbWp1erS0lKaps1m84ULF3boK0QlJSVMdKIMQoVCyCv/hL3/UaSKE6msjVTWRqs4idoGqr6Zqm+O19RHKmvDFdXKI8eL/uHXh/+XP7/1yv+lO32WOHwc+c8/p13uBxfAwsLq0DYHgqCPPvrI49l5f1dGo9H29nZmxgXHcQzDfD5fqntksVjy8vIsFsv09PTVq1ftdjujB8zecDh85coVh8PBnOvxeDgcTnrXymq1Li0tVVVVzc/PLy8vp940omkaQZD7LNzgdrt5PF5qEsjhcPB4PCbMdklJCU3Tdrv9ypUrOzS+3MmTJ4eGhjKbJxUKob/+TbS24f6HhWnaAoJdorETOTlvHzxw6/0P4J+9GDaZ738WCwsDq0PbmmQyeejQoenp6Wwb8shEo1Eej7fpgW6324PBIE3TWq22srLSYrGIxeKrV6/abLZNOpSfn88cSdN0JBJpbGxM6ZDH4zGZTIuLi93d3V1dXTRNOxyOh5nUQVF0dHQ0Fosxb3EiCMJ8JUnSbDbn5ubSNL28vLxD48tFo9E9e/akS3JGoEIh9B//JVJS8fCnWOz2mQuX1v7qJ1+/9Yf8wkJ2tXKWB8Lq0HYnJyenqakp21Y8MtFotLm5eZNfdW9vLzM0Nz09zYTwcblczHo/Pp8vfVzu0qVLFosFRVEURR0OR3V1NaNDMAwXFxePjo4ybg6hUMhsNk9MTHz//ffM6OX8/PyWgU2j0WhNTQ0T16exsRHDsOrq6vHx8fn5+ebm5mg0WlRUtLS01NfXt0Pjy62urn788cdbRhN/HH6EDtE0TU9MwX/70kJ3z4VLl9588819+/b19fXtRHVneTqwOrTd6e3tPXXqVLateGRIkmxraysrK2toaKivr29oaKirqzt+/PjS0lI8HheJRIxEOZ3O9vZ2n8939erVxsZG5txIJHL16tXp6Wlmbml2dra4uJjx215bWxsbG3M6nTk5OV1dXT09PefPn19eXjYYDIxQKRSKLZcNDIfDXV1dzc3NHA5ncnKSIAg+n898nZqaomkagiCRSCSTyXaok8LIyMg333yT8Wf9j9Oh2NAI8rcv0X6QpmkEQbhc7p49e3bt2tXZ2bmjPeNZnhCsDm13VlZWPvzww/S3XnYKyWTS7/f70mA82SKRSCpAHLOKHTND4/V6009MzwpBkE1PWJfLpdVqdTrd6urqDnUryCxXrlxhPOAzy+PoUNLhTN8oFAr379+/e/fuurq6jPfbWHY0rA5td6LR6GeffSaVSrNtCMv2JRwO79+/P+UWn0EyqEMMYrH48OHD7733XllZ2X08SlieK1gd2gFcv36djXbKch80Gs2//uu/Dg0NORyOtbU1n89nt9sz4maZcR1ikMvlJ06cePPNN2tra9nuLAurQzsAuVy+e/fuLV/P3Fakv+dEEMSmiRaCIO613ABJkuxKBI9DYWHhb3/7W6vV2tLSIhaLfT4fn8/f0r0FAACRSDQ4OLi2thaNRoeHhycnJ2Uy2b3EIF2HpFJpR0dHZ2cnswauRqORSqVbRrJ4oA4xyGSyjz/++N133xWLxY96ySzPEqwO7QDi8fiePXtmZmaybcjW+P1+k8k0MDDQ399vs9nMZnN3d3d9fX0kEqEoiiRJkiQRBMnJyfF6vSRJhkIhl8vFqBRzgFwu53K5BEGsrq7eawQyFotFIpFIJJJMJpPJZCwWC4VCD+lTQJKkz+dLSV08Hvf5fKknbzQavdvtO3VwJBLZ5pNzkUjkP/7jPz7//HOfz1ddXT0zMxMIBDo7O1taWrY8uLOzs7CwMBQKkSR59epViUQik8laW1u3rMx1HSqtjNN0b2/v0tKSwWAIBAJLS0s8Hg8EQWZN901nPaQOMfD5/Ndee+3bEydWbQ8IzsTyrMLq0M6Aw+Fs2wXCu7u7m5qagsEgjuNXr15VKpUoijJPeRiGZTKZUqksLS09d+6cUqnUaDQjIyOlpaVMJB6n0ymVSmtra0+dOlVXV3f+/PmFhYUtS0EQpL29vb+/n1m8oKSkRKFQDA0NPXDGG0VRxoaWlhYcx2EYnp6e1ul0Q0NDoVDI7XbPz89LpdL0t52EQiHzF7rH4+HxeL29vYyX+fZELBb/5je/+eqrr5RKJZfLHR0dNZvNPB5vZGRky+MnJib+f/beM7qtK8vz/fjWeuuteVPT0/1mumq6uxyrbJe7u6qmptrTXdVT7XK5ylHOUZIlS5ZkWbKsSElUYhDBTCIxgCAYQBLMIAEmgAEkEkEwgEQgQCIQmcgAkcPd78MVYVqikk2Zknx/63wggRsOLqTz5zln7/9OhyaSyWSVSgUA586dQ8WYy+VurKSe1qEEgEAgWFxcNJlMAMBkMtHKtr29venErzR3pUMA4Pd6ivNz//LKa5UkfGjNf3efH+PBB9OhBwOHw/HSSy+Zzebt7sgmdHR0UKnU+fl5Lpebn5+v0+kSicTi4qLX600mk5FIxOl0nj17lsvlzs/Po+6i0Wg0PTEyGo0sFqukpCQvL6+9vV2n001PT296IyqVymQyASAcDp87d87v9wsEAiqViobSpRNUr2NkZARdocrLy5NKpQMDA11dXQDQ2tqqVCpbWlrQOO/jx4+jAXtut/v8+fNohmxtbe3IyIjX6718+fKNht/3CUePHj18+PDOnTu7urrEYrFUKu3u7p6ZmZmbm9t0isPlctGcLQAgkUhonunly5fRMIf29naZTJY+GNWhKKEiCkhnZ6dYLM7Ly0O/x6qqKqvVmpOTc+MC4N3qEABwTPCveQv/6d+OvPDa+9Kpqbt8BhgPNpgOPTDk5OTgcLjt7sUmdHV1tbW1TU9PUyiU3NzcoaEhAoHQ0dGR3icnEAhUKhUtstDe3t7c3Iy+7nK59Hq9w+GYm5vD4XD9/f1Op1OpVMpksk0H0MbGRtS3JhKJZGVlBYPBUCh0+fJln8+XSqXwePzGATSN0+k0Go2pVCovL89gMOj1+nPnzjGZTCaT6fF4bDabx+MJBAKXLl3y+/3JZFIsFtfX17NYrFQqlZubi/75n5mZmS5acV+hUqleeeWV8vLyK1euDA8P22w2pVKZmZlpMBhutpy4qQ5dunRp052e9P5QEgB1np2YmCgvL08kEoODgywWC4fDtbS0XHfWXemQ3gsZXPhlJTxJht9QYN/V1lde+jORSLzjZ4DxwIPp0AOD2Wz+4x//eB9OiXp6elpbW/v7+/Pz8wkEgs/nIxAI6CAYiUSGh4fr6upoNJparVar1RQKpbW1dePpUqk0Ly+vo6NDo9E0NTUZDIab3eg6HVpbW4vFYpcuXUKTjSwWyy3K4o2OjqJGCR6Ph0gknjt3LicnB108TKVSPT096GxAqVTq9fqBgYHe3t54PJ6ZmYlOkq5cuaJQKLbiaW0xX3zxxYULF0ZHR1FpMZlMXC73xIkTY2NjG5fXNsLhcGpqatCfCQSCUqn0er1XrlxBJ3xutzscDqcPRnUoTqEtu10UeiMA8CSTNU1NcQCr1wMAlfX18zfcKDY8cic6FE1CsxxeaIDHyuFnBNjdBZMWAIDl5aXdu3fv3btXq9V+m4eC8aCB6dCDRF5e3pUrV7a7F9fT2dnJ5/NNJlN3dze68UAmk9FtG6fTubKyYjabq6qq5ufnFxYWSCTSRv8emUyWlZVFJBKXlpbkcvmth3s6nd7f3w8A0Wg0Ozs7HA47nU60XsOteyiTydBtp2QyyWAwZmZmAKCgoAB1UhAKhagtWyqVEgqFs7OzJBKJQCB4vV4cDqfRaADg/PnzTqdzK57WViKRSF5//XWz2exwOCorK9fW1kKhkMFgyM3N9fl8G0Mz0kSj0fb2djKZ7Pf7E4lEaWkpm81mMpnoY0cQpLS0FH0sKKjPafjsxVWhqCs7Z6VvoOHMWV0vy84dqT1xarq+gZ1fmJQtJObmv27z8gixwvP4M7fWoflVOMyGnxPg0TL4fS1UTcPahnKvqVSqtLT0pZdeamtr28pHhnFfgunQg4Tdbn/99ddvDE/aXhgMBpqQODw8jO5dE4nEjaO2TqejUqlqtXp5ebmuri69jOP1eq1WK4fDoVKpi4uLKpUKh8Pd7K/4eDxeWVnZ1taWSCTW1tbOnDljsVh6e3vR3fhUKsVisTadSymVSgKBsLCwgIbzDQ0N8fl81OZHKpVOTk7W1NQoFIqGhgaXy5VMJgOBAJVKraqqisfjLBarp6dnaWkJj8ffb5HlyWTy008/RUU9EAgwmUyTybSwsKBUKkdHR1UqlVAovLGSdywWW11dtdvtaBh9+uf0AX6///r50O/+6P7Jo77Hf+F+5Cnrjx+1/eSxwJPPeh59yv53j5v++z94H3va+9gz7kee+ro9+rT775/w/OyfUkbTpj33R6FmBn5fC4+Uwi9IcJgNczfJZxUKhW+99VZmZub9n7SA8V3AdOgBo6am5siRI/ePB5rT6RweHk6lUna7fWhoCA05w+PxG415ZDIZm80GAL/fj8PhrvsLd3h4uLGx0Ww2m0ymsrKym1VWtVgsdDq9ra1tdXXVZrNVVVVxudyZmZn02lprays6d7kOkUhUXFxMIBCKioocDkc8HpdIJAKBAC0OOzQ0VFJSgsfjS0pK0MEuEAg0NzejwXXRaHRsbIzD4VznM3Q/0N3d/cknn6TL1KKhH1vvJZpKJWbm4uP8OG8iMSFITAiSfGF8nB8f5yf5wiRfmJgQxHkT6CvXGvrr5BSyWd0ssQk+ZcLTRHi0FP7UAE0LELplkQ2v13vy5Mndu3ffn/tzGFsCpkMPGKFQ6OOPP0aH9fsBp9OJmsXZbLb09oxCodgYXWYymVB1WVtb6+npuS7P32AwqNXqcDgcDocVCsXN/vJNSy+CIOnco2/d7VuM1xtv9K2vf69xu91vvvmmWCze7o7cBZ4IFAvhuRp4tAyeJsKpIdDecV4WkUh87bXXbhZIifGgg+nQg8fk5OSrr76KeXP9kMnMzMzLy9vuXtwFPAO83QqPl8MTeHi1CXrUd30FJpP5/PPPc7nce9A7jG0G06EHksLCwsOHD293LzC2BxaL9cILL+j1+ng8brPZ0vM2v9+fTsWdmJi4T9YSzX7I4sGvKuGRUvhNFWTxwPxtE1V5PN6f/vSn9vb2Le0gxvaD6dADSTQaff/999NZ8d8D8Xh807WsVCp1s3C1aDSK7l4kk8lUKpVIJDZd6brZrkb64NuGw/2gMBqNf/zjHwsKCng8nsVioVAo6bf0ej2JRFpbW0P34W7hNJFKpfR6vVgs1ul08Xh8eXlZKpUqFAq3230nfZDJZEKhEHXEuAXJFHSrYEfztWnQ++0worvDT3lT5ufnX3rpJTqd/l0vhHE/genQg8rS0tKf/vQnqVR6726RSCR8Pl8wGAwGg0wmc3Z2NhQK6XS6jYn6EomksrLSbrcbjcbr8k+HhoYEAgEAsNns2dlZBoOR3hkyGo0LCwvowTMzMz09PTKZLB3clUqlKioqNBqNx+MxGAwkEsnr9W50hLsF8Xj8FuPjje+iNmvozx6PZ2Mhc7fbnX4rmUyiO1g3i5r7fjzowuHw22+/vX///qamJh6PZzAYGhsbPR6PTqcDAARB2tvbZ2dnJyYmSktLNRqNXC4vKyu7MQsHQRCtVnv48OHFxUU0faqkpESj0dTX19/WJ0kqldbU1EgkEgaDcYtvZNkDpznwT2R4pBR+Ww0lInDeNLnr7lAqla+88gomRQ8TmA49wLDZ7Ndff/1Gj86tIhAITE5OjoyMjI2NXbhwoaWlZWhoiMFgpIuWxmKx4uLi5uZmt9tNpVIpFEpah5LJZGtr68DAgFKpvHDhQnV19enTp6uqqtAx0Wq1lpSUoHENcrmcw+EwmUyJRIKePj09TSAQGAxGV1dXS0tLQ0MDjUYbGBi4bfCux+Npamrq6OjYNAkJNbvr7OwUCoXoKyqVis/nt7W12e328fHxkZERDofj9Xrj8fjg4CCPx+PxeKj2dHZ21tTU1NXVWSyWG6/MZDLb2trGxsbudenr3NzcX/3qV5OTkxwOp7y8vL29nUQi1dbWpk35IpGISCRisVgsFqu6unphYaG2tnZTYY5Go2fPnkWro/J4PNQUtbu7G80UdrvdQ0NDm4puSUkJmm51+fJlVP+uI5aEpoX17FQ87O4G8VbnXiuVSiy16GEC06EHm7Kysr1799677IpQKEQgEKanp/Pz87lcbkdHR1lZGfpWKpWanp6enp4WCARtbW1VVVUb6z5YrVYymYzH4zUaTU1NDTpuLiwsoNqDIIjL5ZLJZAsLCwQCobq6WqlU1tXVockrfD5/bW0NjcOWy+UIgvT09Gwc4m8WyUalUkdHR30+35UrV67zVkgmk3Q63Wq1ut1u1NkzGo2iyaoLCwt8Ph+1GJiZmWEwGHw+H/1zm8fjcbnctbU1DocTDAZjsVj61un+TE9PFxUVJZPJkpKSe+q5QKFQ/vCHP5w4cYLBYPT29rJYrKWlpZycnI0WG5OTkzweT6PRzM7OXr58+Rb/MEKh0NmzZ9FYx7GxMdQjjs/nV1RUAIDBYCAQCDdOd+LxeEZGBnpWfn7+jZX35u1wkHUtO/Xfa6Fm5jZh2d8ahULx/PPPDw0N3ZOrY3y/YDr0YJNMJk+ePHns2LF7lGW5trbW2Ng4Pz+Px+PHxsb6+vrSrjzxeNzhcCAIMj4+fuDAgYaGBrSsQ7onvb29IyMjarWay+WKRKLR0VEejxcIBGKxmEgkIpPJNpttdXX1448/zsrKQudJ6dM5HA6BQEBdUCcnJykUytTUFLr2ZTAYCgoKbnQdjcViFy5cQFNZi4qK0D0PBoMhl8sHBgbcbndWVtb4+DiPx/P7/QAwPT19/vx5Pp8fi8UkEgmZTAaAmZmZzMzMtrY29G/t0dHRsrKytbW1zs7OiYmJ0dHRZDLp8/l4PN7MzAw6C6FQKD09PQDQ0dHR29t7L74FAOju7n7ppZfKy8svXbo0Pz8vFovHxsbsdvvG4g4qlaqhoQEVieHh4fLy8lt4QGyqQ6Ojo1Qq9RbdSCaTZ8+eRSMgcnNzN+quLwKUafgdFR4phWdJ8EUfLNyrifo1BALB888/f0+XpjG+HzAdeuAJhUL79u27F34/8Xhcr9czmcyxsbGsrCy0tFpRUREaoxUOh1UqVX9/P5FIbG1tHR4ezsvLO3/+vEAgQBBkbm7u7NmzLS0tNBpNJBK1trZOTk7i8fjl5WUEQdxud2lpaTAYZLPZVVVVTCaztrY2PaCsrKwcO3ZMq9VOT08bDAaBQIDH4+fm5lCfTb/fPzU1daPuRiKR7OxsdHKAVoXweDw4HI5Op+t0OovFsmfPnsnJycnJycrKSnTrq7Ky0u12o7YC6IQPj8efPn1apVLl5OSMjo7m5eWVlJTEYjF0M6a4uJjP55vNZrQ4QnZ2NrogiQYTDw0NNTQ0bPm3AADj4+MvvPACmj2DWuEJhcKhoaHp6em6urpkMonqzdjYGBq6EovFGhsb5XJ5d3f3Lb7cs2fPorNGHo+Hzv8oFAq6pZdIJG42l0JLHKVSqZycnHTygNAEe7vhKQI8WgZ/boTmBQjfm2nQdfT29r788subLpZiPEBgOvQw4PV6d+7cWVJSsrWX1ev1EolEoVCo1WoCgcDn85lM5rFjx0ZGRuLxuNVqRSv34PF4CoWiVqsLCgr6+vrQcg8cDgeHw8nl8t7e3v7+/pqamoGBgZKSEnS+kkqlqFSqQCAQiUTz8/MCgWBpaenUqVOxWCwcDovF4vLy8kAgIJVKWSyW1Wq9k1DdeDx+4cIFtFQoDodDf+jq6srMzAQAh8Nx6dKlRCKRTCbxeHwwGIzH43V1dem1xEAgMDs729/fj8fj0eNnZ2fR4kPRaBSNsODxeNXV1Wazubu7W61W5+XlWa3W+vp6tEgEg8G4Wcmf78L4+Phvf/tbtB5SMBisqqqSyWRDQ0MZGRlcLresrGxubg6dvaGzTARBRkdH0RTX+vr6lpaWG+1fEQSRyWSHDh2ampqKxWJdXV25ubnj4+NoeScA0Gg0V65c2Ri1kcZoNFIoFBaLxRsdAQB3GIqE8FwNPFIGzxDhzPBdZKduCSUlJXv37r3RwQjjAQLToYcEt9v98ccfl5aWbuE1U6mUy+WSSCQLCwuFhYWDg4Otra3o+lWa9C4LAFAolI3LZYODg/Pz80wmUywWt7S0iMXiyspKVB60Wm12dja6riUUClFjTZfLhYZ3R6PRlpYWj8fj8/kEAoHFYtlo0e1yuTgczqaRWm1tbYODg0ajsbCwEF027OnpqaioEIvFqG+mVqt1Op1UKjUWi0WjUTKZjAaFx2IxNpsdj8fRknexWGxoaCiRSNBoNKPRODc3V1JSgiBIfX39+Pg4g8EYHx8HgJycnNnZ2aWlpZKSEq/XW1paeguz8G/H+Pj473//++rqavRXuVyekZHhcDiWl5fFYnEikejr6+vo6BgcHAQAm82GrhailkUAEAgEcnNzbyyHgU5JrVYraqmHGv1tzIyOxWJ2u/1m+3B+v8/jsAHAqB7eaoUnyuHxcni1CXrvPjv1u5NIJA4ePJifn78N98bYIjAdenhwu927d+/Oysq6k/jmOwQdj0Qi0bFjx1QqlclkSu+Ko7EGvb29U1NTgUCgr68P3a5H3zWZTLm5uXK5vLOzs6enp6Wlhcvl4nC4lZUVn89Hp9MXFhbQMDkajdbZ2Tk8PMzlctEFFlQA0E0IdKjduGlhNpuJRGJ0M++yUCg0MDAwNDSE6sHg4KBUKlWpVLW1tbFYzGg0Dg8PC4VC9COgRSgWFhbQQuMdHR1jY2OoNMZisfb29omJCXQfPhKJyGSyqakpDocTj8d1Oh2Hw1lYWOjt7UWtu/l8/tDQ0JZvVAwMDLz44otomb40t/1y0RC4e401BFk8+OcK+Gkp/K9qyB4H622yie4hq6urL7/88nUPCuMBAtOhhwq3271///4vv/xya3M/NRpNbW3tdSNgIBCYnp5G3Sd9Pl9VVdXUhjKaTqezp6dnbW1Nq9WilYGCwaBarQ6FQslkEl3wiUQiQqGwr6+vvb29qqqKwWCgY2gymRSJROjPXq+XTqejw/0dgvYTQRA09zaZTCYSCTS8LZFIpBdwIpFIIpEIh8Ppv/qvi324Tuo2rm7F4/Hr3t3ydaHm5uaXXnoJnXjdVyRS0KWCV5vh8XJ4Eg8ftsPYFk8Cvw0jIyMvv/zybZOfMO5PMB162AiFQidOnNi7d++9rpeTSqXuZyfQBxoymfzaa6+p1duxznVLltxwigP/VAGPlMFzFCgVg2uLslO/O7m5uadOndruXmB8GzAdejjJy8t744037rdKRRi3BU0v/eijj1Qq1R1WIw0EAtcFFKRN0LeQWBIa5+GFengcD89WwsF+mLZt7R2+K6FQ6LXXXkOr7mI8WGA69NDCYDD+/Oc/3yJyF+N+Y3l5edeuXcePHw+HwyaTCQ2O2HiAVquVSqVzc3MTExNoSMXc3FxtbS2amZtGqVSmI8h9Pt+NYW8IglgsFoVCYbVaU6mU2WxWqVR6vf5me0syOxzovRaW/Yd6ONWknBBNQXKTLbrthcfjvfHGG1uuwRj3GkyHHmaEQuGOHTsyMzOx/5n3P11dXS+99BKRSER/XVpautFCLRgMer1en88nFArz8vJCoVAgEAiHw6iH7MzMjFAoHBwcHB8f7+rqQqMHqVTqpqUFjUbj8ePHdTodgiBsNhuPxy8uLtbW1qKhj2l8EaiUwv+ugUdK4VkyHOcAnTNHqyZNiYVtbW33W41aADhx4kT6GWI8KGA69JDjcDhOnjz53nvvPVg1035QeDyejIyM5557Do1fR9FqtYWFhagbRVtb23UTI7VafenSpevWXYPB4Nra2vDwsM1mi8fjly9flsvlwWBw0xC7aDSakZGBWs/xeDx0/tTa2spisQEgHPBKJwUThuSebvg5AR4rg7/QoUUOCQBiaaFCLgeA7OzslZWVe/A8vhNyufyNN97AqnM9WGA69IOgtbX15ZdfLi8vv9dGnBh3y6Rg/I0dr2VkZCwtLW18XavVoglJSqVSLpdf98WpVKrc3Nz29vYzZ85cdyJqyuf3+4uKijZNREW5mb9cdVUlAMypjf9ysOq3VYlHy+AXJDi3np2KJOPps3A43MLCwlY9hy3k4sWLW57TjXFPwXToh8Ly8vKePXt27959h7vfGPeaVCJOKCv++W/+Y9e+Q5C6Pux7eXn5Fi5BSqUSNSTt7OxEk1jThEIhFotFo9FGRkZucfdNdUjIH6dRa8ZW4J02eKbyWnYqW/P1WYlEIiMjAy1TdPXqVblcfref+ntAo9G8+eabd1hLCeN+ANOhHxZEIvHFF18kEom3LWKGcU/h8ydee+u9/+u3Bx/PWvlDRueo+vqvQ6vV3qLOoVKpvMUuSFdX1yeffHLrhNZYLHb27FnURI7H4zXTGwGgilr36lXerynwSEnyN8RQ7jjYb7hGeXm5SCRCECQ7OztdUOp+46uvvtroAItxn4Pp0A8OuVx+8ODBDz744N6ZQ2PcApVKdeLEiWeefqqQSM0YhmcKHD96i/RrvK9QBI4gACQSsWg0GlUoFGgpjVgstrKygpb8SaNQKMrLy2/M34pGoxKJBA1SQC3STSbTjdEECIIsLi5+8cUX8/PzyURiqI9ZUlxU1z/9m686HisKP02GF8q1n5y8iiQ32VjS6XQ0Gm10dPRemOltFSKR6O23395CYxGMewqmQz9QWCzWBx+9cKauAAAgAElEQVR8cODAgRtLyGDcI3w+X35+/uuvv15QUIDD4cKhYCyROldE/dmbFx8viT1JgPfagTZhmZudWZTPCYVCNps9Nzcnk8n6+/uvW3xbXFyk0WgbdSgWi+n1ej6fL5VKUa+Hubm5q1evXrx4EXVI2kgqldLpdNPT03rtEqRiA1O6vxTOPHFZ+1hp8l9rAT8JJldIv6QE2Hw30WKxqFSq+3mUTyaTb731Vro8IMZ9DqZDP1wCgUBFRcWf//znK1eu3LuirhgoHR0dr7766pdffom6JIRCoWQqBQDJSGDR5Mnjwy8r4ael8KuK1DlOwuBOoBqQTCZuFu2GVlFKk0gkHA7HjX5OXq/3FsEpKYAGGbzcAk9Xws9JsK8Xph6WEgoEAiEjI2O7e4FxR2A69EPHYDCcPHny5ZdfLioqwuq4bDmxWKy7u/vDDz989913b23EOW6A99vhZwR4HA8v0aF78RbHbg1zdvhsPTv132uhdhaC30vRoLsFQZBk8u5aKgVarW7Xrt1ra6FUCu72dKx9bw39ijEdwgAAWFhYOHny5I4dO3A43KZpjxh3i9/vZzAYH3744c6dO5lM5p148YURIEjg97XwaBn8ogJOcmHx3sR8+WJAnoJ/ocAjpfCPZDjaD6p7a0b4nYhGw9GoPRa7ixaP25NJp8ejjUSs8fjdnYu177OhXzGmQxhfo1KpLl68+Pbbb6MpkNvdnQcVp9NJoVA++uijzz77bOO+TjQaDYfD8Xg8HA6Hw+FkMhkKhRQKhc12zalNt6RORIPTNjg8CE9cUPw01/XH2ljdbCoUBwBYXlpSKpXxeFwmk/n9/k1X22Qy2Y2e09FoVKVSxWJRJJlIJRPjy5GdbZGf4ZHHyuFlOrTJIXbfuSJ8g1gsBGC4y6YHMACYN/yMtfuzAWA6hHEjaCb/O++88+WXX/b3929a6QdjU2QyWW5u7rvvvnv8+PHrSjYgCKJWq8fHx4lEokAg4PP5ZWVlfD6/trYWLcW9traWmZk5L5PpNIqegZFDWTVPfzX013t7ni6PHmTBjBWpIhOmpyR+v7+kpGR5ebmioiKdIpNKpTo6OtbW1lpbW9HF1Y11KKYkkiY6PRmP9vQPf1bc9+zp0f+0g/gsPpo5CvpvmPhcTygUEggE6ap620UsFkKQFYAVABOAFcAJ4AFwA9gBVgBWAWwAVgALwArWHrQGgOkQxs2wWq1UKvXjjz9+8803CwsLscW6W+Dz+RgMxu7du3fs2JGdnX2zEETUXbS0tDSZTLrd7vPnz6Nh2ahmKBQKEok0NjY2PT3d2c4g4ksLKui7KIvPkOAxAvw637DzHNnp9dlWlktLSiKRSHt7e7rQqtlszszMlEgkxcXF4+PjY2NjLBbrWsmleHxogG2zWSoZg78/3fn/7Wf/+Oj4n65wOYbbfCgEQRgMBpfL7ezs3F5TqHUdMiYiSu2SUDhWW1Nb3EQvHxrvBTAphd3zyjGtdsJsn0tt/6iKtbttAJgOYdwWoVB45syZV1555cCBAywWC7NMTZNMJqempi5fvvzyyy/v2bOns7Pzuhi2GxkbG6NSqR0dHZ2dnTgczmw2l5eX63S6VCpVX1/PZrP5fH5/f39LSwubzeYOsBuaWloXkq80w4/ervrR/zn2Ak6a08A7m3G6kkwUi0VpHRKJRAqFIhKJ0Gg01DY7PYsVjHFxhJq9mRV/u7/nbz/nPHmE9erxyvZejstuQg9QqVSbFjoym805OTnJZNJms+Xm5m6jI9S6DpmCbjF3qKWdcv71HS8dPbavRzDkWhkhl10ikPKolNyzWZdMfi2AebsHVqzdVQPAdAjjDnE6nTU1Nbt3737vvfcuX748MDBwY1bKD4RIJCKRSIhE4p49e956662cnJw73EuLx+MFBQVCoZBIJPJ4vMzMTCaTiSaoRqNRjUZDpVLn5+fZbHZtbe3w8LBIJGppogMkJ5WmD7M7fvJ24WNlyD8X2l87Unwlryh92WAwODU1ZTabdTpdbW3t1NSUxWKZnZmZk4piSSjlWJ46zv0vH7U8WwX/dLAuj0AzrhgK87+25Onu7t40I3VmZgaNe/b7/YcOHdraCr93xboOmT2GPlItro2Wc2D/B0e/+CibXNRVd6UsL7+1jTCtEfBFPeq5/onxIQSTogepAWA6hHFXIAgyNTVVXl7+6aeffvTRRydOnGhpadHpdNvdr+8Dr9fL5XKzs7N37tz50UcfXbhwgc1m3/nsEEGQyclJ1MmtrKzMbrefP38+XWQBjT7Izs7u6empra1taGhoamoSiUR0Oj2RiEeDfrPFsvtU0RstyD8cF/zXt4m/2Vvat3gtuiAcDuv1erVaffHiRT6fn5eXtzA3o1tSDUwbjw/B0zn6//xa0TNnBEW8tRJybXd7y/LSEpVKvW3Jhvn5+fPnzwOA3+8/evToNm4TptflAFlktBZ3tBUXE7LxpZk1nW2WJXZNLn5qsqF7rIM50r68xFcpxQiYtntsxdqdNwBMhzC+HalUSqFQ1NfXf/nll++8887+/fvJZPLc3Nw2/tV8L0ilUkajsa2t7fTp02+//fbevXsLCwv5fP63cOdLJpMmkwkA6uvrR0dHg8FgTk4OAHi9XqfTiSBIPB5vaWlZWVkZHR3t6emhUCgajWZsbAwVjFW7ray40OhDPrpMf+yr0b96vfB/VkEmN653X8tyXVtbIxAIiXisllLp8IVaVPBClfcxPDx+fuHj3I4+/rx+abG5sX5hYeHIkSMbQw8Sic1TZV0uV15eXjgcRp2/v90D3BK+1qGEnFZxmkw6k12WSyo5hatp8FlHC44dL8Wfo7WQy5vK5LI+LqcPwQIWHqQGgOkQxnfHarX29vaeOnXqvffee+utt7766qvKysrZ2dnbbpbcn0SjUa1W297efuHChQ8//HDHjh0HDx6srq5WKpXf3clGJBKh5eMCgcCpU6f0ej2Xy+3q6kLfxeFwzc3Nbrd7YmKitrZWJBKxWCzUitRisRQWFCyp5OxeJltqfuytK0+Wxv7b5yPPE8xdaojGkz2dbZOCCQA4l138Hm3150X+v9rb8wdaKoOxSGvuFE7w6utoSqWSx+MdOnSora0NvSwA1NfXMxiMTXvb39/f39/f1NS06QbS98bX8XIpXTisWl3hCqb6ZqXdotnxRFIbDS2ZlwcoVXl9gr5YZNHtVgIYt3tsxdqdNwBMhzC2EHSTg06nZ2RkfPDBB++9997Ro0fxeDyPx1taWrpvAxyi0ajRaJyZmWlsbDxz5szOnTvffvvtI0eOEAgEkUh0XX3S78LS0tLk5CQ6v0kmk11dXVQqlUgkojlGCIIIBAK1Wi0SiYaGhqLRaDQabWpqQovjORyOsrIyNpu9FggAJIhVta8fJz3+Tt7fZdmfxoffKxHRmDxPFMjT8MT+5v/n1bL//h75zePlGkdcr1HIZqcXFxelUqlEIpFKpT6fj0Qipb3XnE6nx+O5WZ8tFsuNCUnfMxvito0AZgAbgB1gFcCy4RUngA3ABN9YlDPdLmzBhInWdjcATIcw7hHxeHx5ebmjoyM3N3ffvn27du3av3//0aNHs7KyGhsbuVyuQqHw+/134jKwtUQiEZ1Ox+fzOzo6iouLv/rqqwMHDuzZs+eTTz7JyMigUqlSqfTWFRO+HQiC3MkEMRgMXqcKaC27ZDLpcrk2LHsiEb9LYogcYsOzZcEnCnyvMuDddniGBM+S4aUaT8uUOxr7evaWTCZjsdjGz/X9P/lvzQYduqtmjPjnLSuzyE2VxhiLqBOJFUyKtrUBYDqE8T2AIIjH45mfnx8YGKBSqRcvXjx8+PD+/fv37t27b9++Y8eOXb58uby8nEajdXZ2TkxMKBQKh8MRCoXSuTV3SCKRiMVi0WjU4/FotdrJyUkWi9XY2Egmk69evXr69OnPPvts7969n3766cGDB0+fPk0kEru7u8ViscViuUXp0vsZBIF8IfyyCp4hwVMEeJYMu7vBEtzubm0pN9chO4ALwARgA3ADmAFWAZwAJgAngMNv4U+LxgCcAO71RFfn+gHGaFA2wsATqCRnWIdJ0fY1AEyHMLYLj8ejVCr5fD6TyaRQKDgcLiMj4+jRo5999tmuXbveeeedt99++91333333Xf37Nlz4MCB/fv3Hzhw4MyZMxkZGadOnTp27Njp06czMjKOHDmyb9++AwcO7Nu37/3333/33XfRcz/66KNPP/308OHDJ0+ezMrKIpPJDAZjZGRkdnbWarXezzUL7ophHXzQDs+S4SkCPEWAX1TBnxqhWgr+h8gE45vrck4AK6o3qyuDrV2VWtdiwDje21m5ZJQZNT2tvTSzSz4toHWN9XhdM4blqVXNQAOlkKfkR30zvN5aegvF6tUAmBLhRZ2cRazJXnKqMR3CdAgD42sSiYTf77darcvLy2q1WqFQjI+Pj4yMDA8Pt7W10en0Xbt2Pf/88yUlJfX19Y2NjXQ6fWhoaHR0dGRkZG5uTq1Wq9Vqk8nkdrvvf0eiSCSSnoclEgmbzeZ0Ot1ut8/nczqddrs9naSFIEgkEgmHw5FIJBGLQDyktvjPDyP/XAGPlsG/1ECBEJrk8Hzx4k9z7D8nwUddMGHcvg+2pXwdLxdXDDaXDov7Zscau/oau+vzc0tKdGZBUcahgwc+yC8uoldeKa6qMpp5RRdOtHB7V+aZ9YUFJEqJbL6fWJozNkQrvHy1vf5ixzALwAqIdma8vqq2RO9YxHQI0yEMjLugsbHx6tWr292Lb0MqlVKr1bPrzM/PFxcXS6VS9F2fz1dZWbmwsMDj8WpqapRK5dDQEJVKRTdygsEgjUabl8mMOrVcpcG1Tv3i0+pHiqI/J8LOLhjXJwFJACQrqqo/KJ/8dVXif+R6f0mM5vHBfss1OjSaXKVSoTtP0WjUYDAsLi6i6hiLxRYWFjQazT1/NLdkQ7yc1moQ2F3znlWpySI1LrJKLnzR0N5MwWeQKHiJbHR5ri37zNG+sYHJIeKprzImhZ0t+NJqajGP31ZZUSQaae7v7FtR1jKGWwGsHuekVNpTWZoj1c4BlnKE6RAGxp3T3t5+9uzZ7e7FtwFBkFAoFAqFwuugIXnou16vt66uLh6Pq9Xq6urqZDKp1Wo7OjpQHfL7AxVkYiwSVLrgywF4usj31x/W/VtVhDQF3ghiM2rnZmcUcnlRAa6zu5vQO//8qZa/P69+HA9vt0K/dvP+JJNJNpuNBnPX1NSEQqG2tjaDwdDZ2YlGcqNWC83NzWmx3Ba+uS5nBTADWACsHsvYMJe+6l/2W3ic/habV72qHxoZa/P4VYrpNqGUE/At2EyzDj23q6NaZp6JB+YtJtmaT2JyzAGYY8H50UEaTzKSxEQI0yEMjLuCz+cfPnx4G+3OvjWpVIrFYpnN5uA65eXlQqEQfdfn8xEIhOnpaTabnZubK5fL+/v7m5ubUR1KRgLlBBJ+ZPV5ytqjBYF/uGL+wzGaZCWCnptIJNDD6urqlIoFQGI6m7dgIvmbavhpGTyLs3xVJ9PdEH8ej8erq6tXV1d9Pt+5c+ecTmdFRUUymVxYWMjNzXW5XFevXk0kEmazOT8/fxvj674Zp2AFsAKsAJgAXAAeACPAKoAXwALgAPAAWABcADYAC4BlPYrBAbC6vre0CmBcv8IqwAqAeX1KhGkSpkMYGLdDq9V++OGHoVBouzty1yAIUlJSMjY2JpPJZmdn5+bm6urqtNprsxWXy0WlUgHAYDA0NDQAgMlk6urqAkAAYFIX/Nd9xX/3lfC/n5j7lxzZpfqJciIZUteCCWOxmFKpnJ2draur4/F4XC63n90LgAiM8GEX/PhLwY/eq/0zHdoUkPqmmqBbaCwWi8ViwXqMeGNj49TUlEKhQOedPp/v888/vw/85VYADD6X1GCUJMGMJJasRoHePJ0CCyDLK9oJp3cxFlasOmSRqCYUXgYwJxPLiaQBwBgNLqwYhEaT0OZaWPPJtDpBKG4AMCKILpbQARij4cVoXA9gjMeXU98mRhxrmA5h/JAIhUJvvvmm1Wrd7o7cNalUqra29jpPIARB0OA9q9V66tSpycnJrq6uzMzMmZmZ3h5mWwvdG0EIEvgNIfDX71Y9i48e54DWB4nIWjO9MRKJpC/icDgWFxfJZPL8/LzP50vLRiAGZCn8Ow0eLYOniXC0H1Tf9KdVq9UcDif9q0QimZycBACZTHbu3DkA8Pl8R44cSd/r+yftc5oMTZbnfFZantk3zF6SVGdnn2jt6w4GZYMNeWRCPmuoXyGuuJRzfnqi+tDh/ctenXauUaCWAlhcBg4x+/Bn+7/oF3U24L8sKbtQTCNGwbEkpJ7LvxQG23Dtl1/l4MLxZe4w1RbQYmELmA5hYNwKBEE+//xzHo+33R25a1Adum4mZ7FYUN85rVZLo9E8Hs/09DSJRAwFvCql/Byh/cN25EkCPJof+OW+qm7FteC6cCjU2Pi1DslksuHhYS6XOzY2hoqKRCJZWFiAa4tpKakF+ZwNzxDhkVL4Aw1qZmAtBgBgNhnRhUGHw5FIJNRq9czMDAB4vV673Y7D4SKRiMFgKCkpuQ/W5cwJP59YdKyrtbyzt1MlIpJrSlSG2Xkhrba7PRZcmBIPGXXsbmaFeroOX3SMQKmamazjKSVoOlFgqZ9BZwGoG4hfsdn1NHpFJKEdZuKLSy9JtbOi7vO4/LPMvhbWYLXFh+kQpkMYGLejsLCQSCRudy/uGgRBysvLp6enDQaDXq/X6/UrKytVVVWjo6MAwOVy0QJ6ep22uYHqCCGZDPlPP216pBT5dRWcZgcyrhQsKWV67fLy8vL09DSBQEBX1fR6fV5eXk9PD5FIDAaDLpdrcHBwbGyMRCKhQiXgTzAaaeEE1Mvgj/XwaBk8RYDPWDC+HCKUFdHra+l0OplMttlsWVlZTU1N1dXVdDodAFgs1tDQUFtb2/YWif96PhTgl+V+3s2kUJh106NlJYScKZVodqK+cWgw5peUHD8/Jmnr7a1USGiDEx19tEunLx4b10wDmAAsNllnXU07Aoq6ssM5l75q6OsLWjgnDh8szD54joyf6MkVzg5WXT1yrjTbvoaltWI6hIFxO4aHh/fv37/dvfg28Pl8Go3WvAEymazRaOLx+Pj4eDKZAACH3XqWMvI6zfP//iXnr3c2v9UGHB2EQ6Huzrbl5SWTyWQymdRqdW9vL7qd4/F4DAaD0WisqKioq6urr68vLS1dWVlZW1tDJzEOh2NpaQntgMoFJwbhFyR4pAyeq4ofrFVw+VMyqWjFoI9GozKZbGpqSiQSmc1mAIjH41qtFp2ubSNf69CaqDz3YC29rJrVOM8n5RedZ/f1Ou3ilipcI7289GreyBAhB5cpFdYOCdhIaOb4/pcH5qVofN2qnNnc0IXAAqu90OWV1ZNzqDVZBaQy/kRLXv4Zeu0FuUVlkVL3HP7MtqbHdAjTIQyM2+Dz+V555RWn07ndHdkyUqlUKhkHAL0Xzg3DryqRR8rgV+V+3FjUcW0ZD7ltiCCCIGg4+K3X0JIp6FTBS3R4rBz+sRr2sEGyulWf456wIU5Bb1vhzclHgvGVVFSpVg7KlRMJMMeD8/K5fq1lOuib0erFwZAqFNEAmIO+uWBEC7ACYEzGNIGABkAfXJMjYA77Zs02aQIsAI5YQO52z8USBgC9xyVLpAzbPTT/oBoApkMYDyiff/55b2/vdvdiK0kg0CqHFxrg0TJ4igi7ukB8L0MxLAHIHIFfV8EjpfDLCsgZB9vWm7tuDd/MH7IB2NZttu3rMdzoz2iUtnWD67Z1w8wm/SLqwG1Zt+teWU9IQq+P1S76nhsApkMYDyh0Ov3YsWPb3YstQ+GALwfgaSI8Wgb/XgukKQh+LwZ4A8vwbhv8DA+PlcGbDGCprw/svh/4tn7bWHsgGgCmQxgPKCaTaceOHfd59LbL5UpvzFit1tnZ2euqcWtUCoc/ViuDF+jwZAU8Q4RDbJhbBQCIhoN2ux097LY1vL8Lq0EoFsG/1cLjRPh1NZwdhuWbViPaHjAdeqgbAKZDGA8oCIJ8+eWXNyskuu2YTKaRkREulzs6OioWiyUSSW9vb3t7O1qWwu1yBbxuvUb5+s7PP6BZnip2/7fTiiePcRvmUuE4JKNBt8vF5XIJBMLS0lJvb+/G/J6NBINBk8lkNpsjkQhazc9kMt2iqN1G1tbW5ufnV1evbQ11T6/+R8HC4wXeJ4nwl2ao5TvmZfORta8LJgWDwXT9pHg8HggEvjdLC0yHHuoGgOkQxoMLh8P59NNP788KDnw+P62RFRUVG61C3U6nbFo8xJ9+7bMLf/tB1Y9PSn92bvrT4gF6SysgcQBYWVmZnJykUqm5ubkEAuHSpUtOp3PT0INQKEQikRgMRiQS8fl8ly9fnpub6+zsXFhYuHX39Hp9d3e30WgsLy/XarWLiyohj2symz/LY/xTsfMnZxb+x+ecV0m6Y5dKgh47AACCVFRUoJVhEQQZHBysrKz83jKKMB16qBsApkMYDy7hcHjXrl1pn9D7CpFIVFVVJRQK29vba2trp6am9Ho9hzPkslsAQOyA9ym6H/350qPn5S+Wa74gDEnnriXouN1uk8nkcrlEIhGRSCwpKZmfn5+amkJ9d26ERqP19/cDQCQSycvLCwQCFoslLy8vGo0iCKJWqzetLTs+Pt7W1gYAFRUV4+PjnZ2dTCYTADj9PY1cxc683r87PPSzSvibP5+/2ioNpWBFqy4syJ+YmEBPR53CMR3C2lY0AEyHMB5o6uvrjx49ut292ASxWNzV1aVWq2tqamg0Go/Hy83JHhlky1fcV4XwyxLn//0f53+6vzWD7daYncy2pqGBfvTEQCCAVh7icDg4HE4mk2m1Wp1OZ7FYNr0RjUbr6+sDgHA4jMPhXC5XJBK5fPmy3W5PJpNXr15Nb1BtBC0THgwG8Xi82Wx2Op0HDx7E4XDM7m5IxULReMNs/P/gLf/5DdLPitc+aQvSegQDg4MioQA9XaPR4PF4TIewthUNANMhjAcar9f71ltvTU1NbXdHrkcgELS0tAgEgrKyssrKikQ0SCSUV4+a3umER/LcPz7K/82xjsyyJrVm2ahfrqujpacaAJBIJMhkckFBgUQi0Wq1+fn5aFbppmyqQ9nZ2TabDQDi8fjNdnGSyWRvb69KpQKA+fl5tMZgTk4Our2UjEeqm3uPtFp/WQ1/9RnnuUL9ThxraHAAIAkAarX6/tMh49Yln5rW3bi/B+9t4x3f5c6PNK0/ijs/5Ts+rrt6sNe9CIDpEMaDTktLy549e7a7F9fT19cnEolSqZRSPk+nUfSe5KtHS5+4on0UD78scZXwI+zxmdpqslQyKZFIysrKUGsfALDZbBKJ5OLFiwQCYXZ2ViQSHT9+fGVl5WY3qq+vHxgYAIBIJJKfnx8IBKxWa25u7q1r0SIIIhAIDAYDAASDwZqaGnS+VV9fz+fzk8nk2NhoKOCJJJKNEt9/5El/cmbhb96v+d2xxoHFMACs6JdJJNLWPa3bcCc6lEpqo3HdhlfMm42PpvXkoRuH+HTakCEaW04mdPHYciy6fMv7bppsdN0trACOG475OqsJQfSx6DJy8wPS7SZHbtLiEU0spgNYQVL6aFz7zVNMAKsA9i3UoXh8OfmNzN9Nn7AZwJiMaxMJPaZDGA8hsVjszTffHBwc3O6OfE0qlWpv77BaLQDAYvdfalP9mQ7/5bWiRy8uf8IEiRUAYGZK3NXV5Xa7PR5Pa2trWocCgUA8Hm9tbW1sbLTZbAaD4cKFC6hg3Mja2lpxcXF9fX0sFvP5fKdPn56dne3s7EQNs+PxOA6H0+l0N54okUiuXLnS09NTWFgolUrFYrFAILBarQMDA1arlcVi5eXl9fQwiwsLTLrF1QicGUr87cd1f7WT8cvKVO54ijUwfOncSY/7e/Kz2KBDpnWBQfNV7eu5qG6nnlU73LNeXsiSSqhjKT2ACcAOYLsmG4guGtMAmNcPS2fFrkSiqvVk2OXabvLsZE9PXXUXtcYT25jial9XiGvXDEdU68Pu+ouILhpHb2EDsDgNnPaeGldID2Ber3tk0orZKzYlgB3AEXPz2yppCDjXP9cqgEk10Wv3Lq3r3LUPG/cK2yppCLjWX1kFMK1XYzKtl1ZaATCqx9vm5FMA7oRPVMNuiCCW9VtbY4HZwaayzqGeJLKpWtyimdf7g9Zzsq//au7nUqQGGYAdfTEaXVz/mlbXH50pEV9MgVHFbZgQ8gEc6yWjzJgOYTw8iMXi1157LR1VvO04nc7ZaQkA8BeMf8FNPlsBj5amntxdXTqwsnatYBAMDw+PjIwAgMViuXjxolgs3niFtrY2BoNhNBqXlpaKioputjlksVjGxsYEAoHX6/X7/VwuVywWpw9OpVITExObhnGvrKwwmcyOjo6uri7UHmlxcXF2dhYN45bL5V1dXe3t7X19fcFgEAD8Pg+te+SVvPEniiOPFsf++bzw81K2eml5ix7YbVjXIWMisuiwy+MxldMhtRuEU4KuxZU5AINePkivuYDrbktGlPPT/Xb3Ir/rQl4lPhQ32rWjCypePLUCYNFP0y5fPWHyLK+tTs7ODgQjertpRKoYsy33XrjwqdKsCjolAg7ly8KLUkEng0xoraheMYmWDFIAEyB6k25IouClYMWuHZUv8j3GoUsX984sywBMgOj0SwOzaqFaQr2Sf2ZlVW5Wj8qXRcuylpzsgzq3NrY2NynqFAi7VuwyOadj2SKzLI/JVaKAY5ySdXV8osewqgDQLUqZ04oRCYth9qghpbM7p6IxtdUmjYaX7LoBSlYeT9Br9Wpivrm5abZnbclrFsnkI2shtU4+oNZNolNAn3XK61evakd6WgsvUElra4oZaTdf0KlZmQ665hSTjKyyC/aIGa6JHypgtnWVdQCYARzrUnftrTWnbC20vOaVujf3gj4AACAASURBVJxzOjlHKGB7Y/pUaF7Co18sPCM2yNwmgWye5/dMluP2DUzykLhGMcM22ucBTAD6zqrPKT0tM+yaRkqVeGY0iRhl0l6rSwlwzboQ0yGMh4ELFy7k5eVtdy+ugcRCzkC0Zhb+jeR7vAz5BRkOsxHBoguQr0PMnU6n1+sFgEgkolAorqsy53Q6/X5/KpVKJpNut/s+iU13xqFEBM/VwBNk+F0jZPJgyf193Hddhyze5YGGmna/a6i9KYd06VJHV00VgSCebKNWl1YRTuZ3ta5q2Be+fD+zupJNP3mZUKJd6D19cNeB/TvHZkQANo2o4tSFI4vq0fwznx/Y/x6NXksqOEVqb1pRdRw//tGMcpxBK+xuLT2UdXpG3N1BqajNuphHwkkXxQDWxNpUfuYX1L4ui5p96sCuQ4c+6e6sPHXqA4l6DsAa8wmvnD7UPMaWC8inLx1TqzlXT5wYnecDaDkduSa/IeSYaKwvrKktmlIJASypmJJZnbHr88/Gp1mlZzJ6mFRaTfXYaF11ZYlYNoag+ygpTU9XpUTUmF9wZYzXIhAwCk+eqa/Lq6YUVOad/WzvW2WUivaSizWdzXxW5bEDHx0+9NmibQnANNtD7WPSqsgFLfXZZyvLfG5pB6O0pqaANz0GoBMOVFKaK2yOmfGBeo1BPDPWPLUwqp1nj/GZZu0YZ6DRbJPyB+sX9aK5iRaxbNgg7x+baO+rrZpdmpcN5zU3lJVl5Xa1EFt7Ovs7SlqaSWeyjoq1U4IO3J59H7ePdhZe/nhAzB2gXd2/553zly45gisAusaS3fi2xqlechEuj1R4orOb+skHr2YXFEXhWqY2pkMYDwN2u33Hjh33SVEiiQX29cLTRHikHP7YAM3zEL4vdGRrEJlgVxc8gYfHyuHFRmhegMQ9zmdN69CacbD4St7YMKGo9Aw+O3daNUwpze3qwBObGwT9hMKW2lrSmYLCk0fycNNCYkN/q0ZCO3byGL2JrFqZBbAFLIPVjfnGpf4Txz+vp5P4IpZwkJJ98ZJqeZxSc0an4xWUZisVgxm4TPF4WwuxvOjQni8ycjW2BQTMycjCSDc+61IOb7jq+MmvmlqqNOrhKsopg1sLYE4GZwdbS3OycItqFrW50LoyUplbngLHmoNHuPqZaFEadApbm8saGsun1WKAVeNsQ2bW8RMZB+n9dbgzF+VL3BpiQQu9qJndYV2Vp1Lo5pBNPU48c/lcb0fxpazLy1oOFUfy+UTk8v1nTh+toJQNC7o7i69qrGpee25mzqWWliqbbwnANNlCaiRfvUIiKKSMSxXlXs90TyehvqFMKBtz2CULs71l+VfmtVNz4m6jbXpxulexLDQvjUzLOKtmkUTUveqamxN3GSxSzSxLviSwakdn5gY5tCIGk0HDH6iiFFcQKmcljbW11ST8ed7MMJF0ubu/JjvvzOXM/WRWZ0/HRblhsib/aG5ZAZPV5I8aAFanBrO6RAOzPZWcUYGafzWn6HRBKa6f0xmDa3N3TIcwHhIGBwdff/11l8u1jX3whKFUDP9SA0+S4B/JcGoI9L5t7M69IhCFCin8rhYeKYNniPBFHygctz/rW5NelwNEw+0qrWgomxA0Uy6eKybi+qc4idBcB72YQsXzF/lTQ5S6WvyAmOOx8xrplTa3bIJJZvZ3hRMGAFMqPM9sJ8l1UvlEQ3NLndO/OC+i0RkUX1DN7SWJZXyZsKGKXNQy1G41iRckQ8rp0SVZT89YdxIsSFIzOVLR3F4fDCsnmGRmf3c8sczrJ49IxgEsSEI1MUhsY7YE1xaYHeRZxahMPJICk0ZKL84/1drfFkM2hoqZ/XZefUVBK7NhcUXI66JU1BSOKwXxgLSztnBgnIsg1/xYw67x3sEOj1M4MNIdCi7IRMOhoEwm71FPdzXVVxpdiuWpPodfG/dJehrLh4XDCJgAVswKrkEn5nTjK6vK+ieHkl/Ha5i89okmWiGTw06CBcC+wR8WXX9DXzTd8JYjYBmmUnFN3RX8AWremQxyA1HnVtoXmRWkAnpXo9Y43lpT1NpRO78ysyBuZI31u40jLbTyGRVahNBsX2Y1dzZoFoYNKwurK2yFboJOxSsMcwDXAkExHcJ4eMjJyfk+04nUavV6ke9UPB4fNcC7bfA4Hh4v8D2XNdWl2MQUDi1/BwAOh8Pr9Vqt1nR51nA4nI6xdrvdN1rn6fX6WCwGAPF4XKFQ3KMPdeeovXBiBH5dA4+Vw++oUD0HwXsTyP3NOAUngBtSSk5zQxixr4+YTgAngAXAAeAEsG3Y6nCuxymkT0f3P1bXt/cd669b1n9dXd+NT++aGACM62+lr2lcv9rGd03rmyto1IAdwPN1oMQ1KTIAWAFc60eifbYCWNa7sbLhMPsGebCui4R9vdu29XgB5/odVzZcynHDrdHXv0W8nBXACeBxKNnj3GEAz7pQOde3kVzrDzy9q5T+LIb1PlvX+2xdf3RYnALGQ0coFPrwww+rqqru3S38fr9WqzWbzSaTiUQiCfkTHudqe9/YRwWc/0WBR0rhORq8cL7n7PlM/ZKSNzpSV1e38fTu7u7Ozs5UKtXc3DwyMkKhUPh8Pmp5YDAYaDQauhUkFotramqGh4fRNCAAcLlcZ86cmZiYmJub4/F4mZmZqM/CreOzUfR6/dzc3KabTNFoVKvVajSa9HXMZvPi4iIanoBitVo3nms2m1G9NBuWJgTir2qn/jfJ/wQefpqpfrdU1MeTRkMBALDbV+fm5rYkeGSzuG1DMqG7+8EUa9+1ISl9Mqnf0msCYDqE8ZBhNBpffPFF1AntXhCJRMxmc09Pj1QqJZSXMnvZeMbIL4+0/EOe5wk8fNAJHTPeGgplsJ/tcKySSKSNAeU2m41MJl+9epXL5ebk5NTX12dmZlZXV6OTm2QyyWazLRaLy+USi8UNDQ1CoZDBYKytrSWTSRaLxeFwGhsbOzs76XS6WCwmk8kSieS2OqRUKmtrazkcTkdHx3U5rclksq+vTyaTSSSS7u5uBEFmZ2dnZ2ebm5u5XG66z0eOHPH5ri0vzs/PnzhxIh6PR6PR9vZ2zmC/kMed0npP9Yf//tPWv9nf/+TxkVyuf0HvqKdWCQX8xsZGtDb5d+Em+UPfQ4Ym1m5sW5gvjDYATIcwHj4mJiZefPFF1CngXhAIBPLzrmoUsuwiwsvZ3J8eZP7XD+ufq4cSEayuJdTyuXBobWlp6dSpU42NjRtP9Pl8dXV1NTU1Ho+HxWIplcre3l6DwYDKg9/vX1pa0mg0NpvtwoULubm5brd7dnZ2bW0tHA4bDAar1dra2upwOHw+XyQS2WjCHQgE5HL5puUhSCQSasF34cIFj8cTCARCoVAsFvN6vbFYrLi4GJ1ykclkp9NZXV3tcrnsdju6WphIJAYGBo4cOYIGf0cika6urtOnT8fjcb/fr1ar0ZA/APB6PaQBzb+RvD8jwT/WwK++7MyndAIAmVAmEAi+4wPHfH0e6gaA6RDGQ0lbW9trr71mNBrvxcXXfO7GJkYuY+aZTwg/PjT0kwPsv1xkya6FRyDJRMLhcDQ1NZWVlVGp1I6ODrS8AuqCw2AwKisrx8fHR0dHBwcHRSIRnU5XKBToXCQ7O3ttbc1kMp04ceLq1asbR3AEQcrKyjo7O2dmZubn51taWnA4XEdHB5rxo9FoCgoKbpwbJRKJixcvoqms+fn5Go0GtW9gs9noRG14ePjw4cP5+fkKhUKv13/yySdMJrOurg517Far1XK5PC8vD50PyWQytVp99erVVCrlcrna2tp6enrKysq8Xq/H5ezpamtq7/ndwfKnir0/2lH2i8yZqyIoqqQPsLq/4wPHdOihbgCYDmE8rJDJ5Pfeew9N0txCfK5V9sTs6wWCn56W/tWOkmeO9X+U05V5/tyyUgYI4vF4RkdHGQwGhUKpqKhYXFw8f/78kSNHuFxuKpXq7e09dOgQnU4fGRmRSCT19fUSiaSiogLVGwRBKBSK1WptamricDgsFqu3t5dIJKIecSMjI8eOHVtdXR0bG0PlhE6nO53OW6cWJZPJK1euoDqEw+GUSiUAVFZWlpeXIwiSSCTYbPbw8HBOTk57e7tKpdq9e3faGWh1dbWnp0en050+fXppacloNLLZbJVKderUKavVGg6H0UgKMpn8/7d3pk9tZekZ/xuSD6nKh1Rl3LN0UpNMZjJZpjIzlUllkq6e2D1txm4vNBhs0+320ti0bbDNYpt9l4RASCA2gUAgBBKLxCqxGRBISEKA9u1qFyBACLTdNx9kaeSt2+62291wf/UWhXTOPTqSqu6jc+9z3rezs9Pn84XXVfW1VTdwPf/9Oflvb4t/XAN/9wmtuK77G1bxw3ToQAcApkMYB5iCgoKzZ8++ZF24l8G9B1ks/c9ylv4mXfrOHcmvP6lsZfF6Wd052VlSqTQYDHo8HoPBoFQq8Xh8e3u7RqMpLCw0mUwAgKKoRqMJ33qZnZ0dGxujUqnj4+NVVVXhZAooipaVlQkEAgRBFhYWOjo6AoEAjUYLF6BTKBQMBsPv94vFYjabbTAYOBzOy8yZSCSGdS4zMzP8UfT29hYWFgaDQZfLRSKRwt3u3LmzurpaWFgYCoW8Xu+DBw9cLpdcLlcqlWlpaXK53G63y+VyiUSSlpZmMpk0Gk04H0RnZyedTtfr9eHNW3R62wC7u2+AG/eQ8/t2+Ms4wru3Z9LHQfENdrxiOnSgAwDTIYyDTX5+/unTpx2O17C95ZEJknvgZ2T4QZH7N4XSh+0LD4srBWPDEwL+U7YIk8nU3NwcdsEVFxdHcyUEg8HOzs7+/v6ZmZnwemhubo5EIs3MzIRCoYGBATwePzo6urOzMzIyEi44FAgEvF5v+Joeg8HweDyhUMhut6tUKhaLFX1FhUJRWVkZdnU/hVwub2xs5PP5XV1dKIpOTEwMDw+3tra2tbX5fL7e3t6VlZW1tTUmk7m/v9/d3T05OSkSiYaGhsKHb2xspKamqtWPU/jo9fqrV6+63W61Wt3c3KzX66urq7VarVKppNFo4Yd6vd7lsNdTyGTOwq+vt75bufdDPPxvC9Ak4PtaKyNMhw50AGA6hHHgKSoq+vDDD1+UKvRl2PBC+SP49zp4Bwf/UA23h1GF3TfK5aTdSDWbzSiKRn1ogUBAKpVyuVyHw4EgSH5+PoFAiI6jVCrT09OXl5eFQiGTyeRyuePj4+Xl5RKJxOfzjY+P+3w+iURCoVAyMzNLSkry8vLy8/Ojbrr29vbwfZqNjY3CwkImkxkdeWtrSyaTPdenAAAIgigUCr/fj6LoysqK0+m0WCxisRgA9vb2dDqdwWAIa5jP59NoNAaDIVrTwW63C4XC8JIOAEwm09zcXHiz8ObmplarjVYWDz+MSv7GhsuoUZhdO3Vi+C0VjlTCT4lwpR+WX/0nwZM6ZI5smrFGdtVEM41aI03GyCYVc2TniinSB4mxe1ki24/CB5oi40f7R/NeIzFppF/kFot93hzJpmp5Mv80EpkDEhnfGjPJ6POmSFhimgyRHUKmyF4cQ8zbie7Lif2UTDH5SZFI2QXzC1Jifzvx5828kfcIgOkQxmGATCb/4Q9/WFpa+hrHjmjhBAN+hIcfE+CPdOiLFPj27u4+m37U4/FEt9egKCqXy58qh7q+vg4AsYIRDAaf0g+fz+dwOMxms9FojBocUBR1OBzhu0GhUEipVEa20H4PWHHAtQH4KRGO4OA3VCAJYfs5K7cXEqNDiMcplMlGd31al2VaJBo0r8v3dpf3/ToAncUgEC3xHNsqAKNJOSpdm3LYZqVS7pJ0yORaDp8B/fuKIPq4SMGWc35JPKi3iM16gUgyvLmrATDvuObFi4O2dQWA0WVb9AZ0AMbA/oprfTlyDrXEqEVUpYwxz1u2HNNz6hmNcHBZNKKQz0W3c7q3Jd6ALri/ur6pADCsW4QK5YTF/Egm5UmkPI15cXtbHkINQZ9yZ1uJhjQm0+TjJosYwLDuEgXBGPKtqVZ4q9q5EBi9O7I9nxYAAVSllHHla49QQAAsuy6hWMyzu1d3PcsARpdV6HRJ1reVADqndd6xLnl117s5mjz7yfpGzzbFSo4pRiZNkd8HRgCje33JvasDeJwMHtMhjEMBg8F4//33Y73OX4nRDff58ItaOFIJ/0qBvAkwf2/O/N85/CFok8J7NPghHn5CgHM98Mj0sscGAnsoagAw7W/N0Ql5TBZVq59ur0ml0Chyw+IkO1dikMO+kFj4WSuLprVLRaMkErG4nUkRPGJUZl6+nZm9oF4EMLt048Siu+z5ERRMANrB5pv4+qoFEauq+Ep9QxGpq9GmG2+oKaI146tr8ArrHCkzvqFvEMA2Tc8qrKsNghnAuLrYLFLNA1hCAU0IjABIMKDa8+n1y/SZ5QkACxo0SGeouEHGcE1pRz2xj8mBkDFcoWe0Dzcim1Pwyq/nPdzZFpHwtzLufDo5x6kvuZGaelsgYnUzSvdgfUfH62tnSMQM9jCtqeLmlcs3+JKZoEeYlZbA18o2NZ1lJWnVFXcXFPOPOHkLGgmE1KMduHoqjlpd3D055DQOUapyaTTi6Bx7sKdYOMGsrauVy/tqGipFM61tTMroIElqXokUlYhdMxkjyxQk5h8DAGJR9UyJhkIoAqDb96kf9wzpARC7ljO5MBACM4B216uMWZ6a9rzK0OMx9f6gHkJrEwKqdVMJgMgfNVK7aOKhivBXjOkQxmFBIBAcO3asrq7uK3sGQsBeg6Nt8CM8/IQAp7tg7DlFfDBeGeU63BmBn5PgB5XwH/VQPgMOz1cf5fXuhHXItzlZVZi9oBQHArIW/FVab5vBtTzemSnSLcPePCH/EnucbdCPE8hlDt/jnGmq8fZRwVT4Z/iWZYrdUjW7Oo0CAqDhUK+T2xvWFP34wsuMDhKb185hkXjiWQD32kRzW1tzJ/ny/aIim3OhsSS9vr/ND2ZAlYS7R+/hiWa1gFJyuwJXIl8exOGyZlZnOio/vpz90Gye6aYW30tPLOqlTzTie9vqWS0N3b1kvXMNwKxbbG0foI92VebkZ88+YnV11bIYRRtB24acw2JyAeSkok9oXdTmqmwysWaAVecO2bZVAx2tbIANxSytlV5BobeYlZ2V5bdqynIWlMLJ7qx5jXTXMlxeVw+wAT5RC66UVFc0LJ0F2IDQSnNZwo30u2a3DgCZ5BRcu5eG7Bhcmv7O/j6Pe2Vjc3nPs+p0Lu3tKded4l2v0u1acu+s7m4tr28u7+2uOh1iX8AAYBigXrn4xRcq1Ri1sqC7nzw0y9u0jvHGeADmEdqN86lX9dbF4dZyPDFvRDSGAgKgX51upuAKKuoJBruoj5KfX3B3fLj56sX36ENcADOAtrMu7XL2g/BXjOkQxiFCrVbHx8ffvHnzS0x0qnW4PQw/J8GRSvhVHeBmwbn7bc7xgBMMAUcBf2yHI5XwLgFOdcGQ5sv6NzY2NjdTwynRQkGNVjXWVF/Yx+uik2/2Tww4Pav8riyFUwcgqin9fHJJYLdN1dQS1gMWAGQ/oJMMNPZxhx//SEcNMb/WNRzq9frOZqVqoKr4CqEiu4fPG++vHZibBtiSjta3tjf1deczaEWZuV8weqhsfsc+igCYBT2ZE6vTw6151+/erCi6x59kkisKuVNjwuE8zvzI8mRdC3dgTUjFc+h8Kq63hXD+2ImG0aHwVTvf1lwDMbeVRV8cqcGT82dkI/2dBY59EyJk0Gk9KLpEKbvCGWX2NheTyit6Wju8YLZJmE3ULkBV5bcu3i/MOP/pGR6fWkcuGOQQmsbZkz335XYNbE1WkEgh2ACvkIorpVIrxiTzABshn7St6pObOWnC1QUAA49RmP7g9opNsWeb4DQ3C/ktrEG6UtzbSqtSqQXdzeVLa4IRBmH4Uf8Sn9bdR1NJ+miNlcimGsC2OkPo5LM21BxcLs69tdjcWtbSmMuXzwPY1UJSxyjDIu8oa2rddfIJFbjtoAn8UgL+gc4mriLlDQ9Tki9cxOOy+/rbmmiZiFsDYET35O31d67fywp/y5gOYRwutra2MjIyPvjgg2f3+fuCQJPA75sfXztK7oWFp3ONYrwerDvwQAC/qIV3KuGfayF7/DnXPO12e2pq6vHjxyWSRRS1AJi82yJGD7EWnz081NNem1ZJLJuXzox2ZNwvyBnk0ghFn9VSq6XqRdl4Q2FpDoVerd9UKvgdI/zxGPmJ3thQT3CKNOta2J9ndhE8O5JGcqlcNkTG3ydUFVTVVusc87yeSoN+NC/3C41xkjfJ9KEIgEUmwOEaKfKFDkJJDpvH3rBPNeDSCPU0jaShkFi5utRdUpJVXpBBHu6Z7ajldje2V+FJdeUSgwQAAVTDIt+gcId2rNyHuVla01DBvYsy85pdxu5h9aOhJTaz3AvObf0wp6Wht7XKsqNzrvZ1d/Zt2oeKyh8uSvm87mJCVU5ZUVolOY8nFUx13c3OuzcwxhnrJhThconleYOLExsmQVVFVhWlZETYN9yHU64MEiuyOZyalvYG5RKDRKtXi5ht7P7nFTV/UVgcSkYhrmB5qa+/rRNgQ9pfkXY/ax+1AFjWNd1FlXlK9Ri1PBNXk9s5yg6gCITU3I7Cqurim/dviRQj1LJ7TfQmx7q0s+kOc5QHYJ3hlDGHOWsTj108mA5hHEZYLNZ7771XXl4e9TpLbfBpH7xLgHdw8LtGoIhg7wAVDfpuMq6DM13wLgGO4OD/2qBn9c+ljEZGRj744IOsrCyv1wsQQh+bC4xu57zOJEQB2XVL1CqBc2PV513RqSfMNql7XaRSTW5sqwAQGzKjNYsBjMGAxh/QPff0GvCrgiE9oDqfTwVg8u+uBsHk35UplRM7+3oAo8+nAjCioAXQ+wOa8FGhgNpqFaNgXLfOOTZWAdVYzbO7fi2AzmpZDKDGTYcQsS7tB3UBn9rv0wCY9nYkbo8yrIJ+n9IX0AHod72KgF9pt4l297VoUOv3awH0fp8KBUMoqPX7tKrlHoFsCg3q/X5tIKDyofpwPm/v9ooNmdFblgDMPu+KTiMw22QABpN+0miWhE16+zsSpWbK49MG/WoAy/7ust2xtB/QAyDeTbGAR9a71RHjgPFJ04HxmTAAGADV2a0iz57a79MF9lb6m+8PzvKj/guHTbQXMOxvLWkM86GIicOqHumgFpQTCl37Rt+O1IQsomDa25HbncsAxp2tZV/QiNV9wDjsGAyGlJSUC+eTpxbl9TL4zyY4Ugn/WAOfD4LM/rYnd2hweQE/C7+hwg8q4Z9IkDEBi4bd4qLCD44dGxgYCPd5xrdtifnHFDFeR33Sxifda7GFf56KqJnbFLG9GSLjGGOONT1xRv7zjX1LpCn6oubIX3PkQNMzZnEk0hmJOLNjz/ixU9LvPXYEGGMmaYzM0BwZzRozDfOTn1LsW4u+rsHnV726X+7P725vc+7RbO9ewPRsU4xx3Oi2TvPYdStaEQAS46lDYqYUng8ApkMYh5lQKEQh1/7bfx37i1MNf18VjGNBpxxbBr0F5sxwmQv/0gB/9fnckd/GX0/9HEGQaOth3cf62jNbR+MbpioPFxn6ym5PlVN6UQBgOoSBIV0Sn01I/utfnaENzLztuRxelAbLLz/K+OXvjnXQ255qOqw6dEgCANMhDAwAAEDZzPYPj72fnn7bYDC87ckcLnw+X319/dH33yt8mLXusD6vA6ZDBzgAMB3CwIjicrlycnKOHj1aU1PzVB4EjDfE8PDwmTNnzp07JxKJXtQH06EDHQCYDmFgPIVYLL506dLp06dZLNZzM4divBbm5+evXr168uTJrq6uL++J6dCBDgBMhzAwnguHwzl37lxCQkJHR8c3r2yNEcvMzExYgaqqqsIJ974cTIcOdABgOoSB8SICgQCPx7tw4UJcXFxLS8uz1U4xXpWpqamLFy/GxcVRKJSXUaAwmA4d6ADAdAgD4yuZmJgInz2pVKrNZnvb0/n+sb+/Pz4+npKScvz48aamJo/nJZLKxYDp0IEOAEyHMDBekqmpqWvXrp08eTI7O3t6etrv97/tGX0PUCqVJBIpMTExPj6+tbU1WhLwlcB06EAHAKZDGBivhFwuLy8vP3v2bFJSUk1NjVaLJeJ+Djs7O319fdevX//oo4/S09NHRka+yVVNTIcOdABgOoSB8TXweDxcLveLL76Ii4u7cuUKl8vFvAxhZDJZQUHByZMnExMTGxoajEbjNx8T06EDHQCYDmFgfBNMJhOZTD5z5szx48czMjIGBwfDNbMPFT6fTywW43C4hISEo0ePZmZmzs/Pv6hI+dcaH9OhAxwAmA5hYLwWZDIZHo9PSko6fvz4jRs3Ojo6NJovravz/cflcvH5/Nzc3Pj4+D/96U93797l8XhvYv8vpkMHOgAwHcLAeL2o1eqmpqZr166dPXv28uXLRCJxbGzMbDa/7Xm9Hra2tubm5lpbW9PT0+Pj48+dO1daWjo9Pf31DAgvyZfqUDTNtuXF6TtNMXmgsfiuBQCmQxgYbwiz2cxms3Nzc1NSUhITEz/99NPi4mI2m20wGEKh0Fcf/53B6XSOjY1VV1enpqYmJCScP38+PT29qalJIpEEAt9GcvIX65DR55HpFTOIdtaknnG4Vp+XoNoY9K3qFY/8oWiTMVzdFYvvRgBgOoSB8aYJBoM6nW5sbKysrOzKlSunTp1KSEjIzMwkk8kCgQBBkDe6mHhV/H6/0+mcn59vaWkpKCi4ePHiiRMnUlJSHjx4wGKxlpeXd3e/7TLpMTpkAnACWABsAC4A16Z2sKm8klVP7KqunBEJATYATABWgPVIbZ5NdGe2pYy4B47HNQhQjVY3GgQzgAPABoAAuABsABYAJ4DrjVVbwALTIQyM7wYul2t2dpZEIt25cyclJeXEiROnTp26evXqgwcPGhoaJicn1Wq12Wze2tp6jbf6U/pxFAAAA1pJREFUn4vH43E4HHq9XiwWd3Z2FhUVpaWlJSQkxMXFJSUl3b59u6KiYnR01GQyoSj6Rmfy5UR0yBj0SoYZJN4cz7I22Fidz54ZdOp4tEpcT0MNq7aMWFrQ1Eyx7qrtysFGSsWqVb5lHG2pLRmfbO+sqRctdE6L+QC2TT3nQuL/sCdHlgXtXf10h32hv7ViYGpo3TzdTydSGoiWTRUmRZgOYWAcIra3t1Uq1cDAAJFIzMrK+uSTT06fPn3mzJmkpKRLly6lpqZmZGSUlpY2NDRwOJypqSmhUCgUChcXFxUKhVqtVqvVCIKsx2C32zUaTbhpaWlJKBQuLCzMzs4ODQ3R6XQ8Hp+Tk5OWlnb58uULFy7Ex8efOnXq3Llzt27dKi8vZzAYEolkY2Pj7QrPU0R0CPHahnM+v6M0TpKr8yWrfErlQ8Ekg47H9zTUdBAKmjsY80N1LfSOqdHaG5/F3W9uaCI/GFuc2LDyS1PO3ygusbjVAGb/5nR5xec6u7jl/q3+R+MqaQ+x6LNTaTf4A3W4UkJ3Y0b35PBLVG/DAtMhDIyDi8fjsVqtMpmMz+czmcympiYcDpeTk5OamnrhwoXk5OTk5OTExMTExMTz588nJSWdOXPmYgyJiYkff/zx+fPnk5OTP/7446SkpKSkpOTk5EuXLt29e7ekpIRCodDpdC6Xu7CwoNPp3G73t3Ob52sT1aFd2zid2BBC1czGQmYPlVSPW1rsaa+q6m2qZZKKCaTqdnopu7+1OP96Ye71AlrjYGcZvbtVLumvuX2zHFcxuTyFghmCKw21N6elfC65yrKuZDdl5RXevfnwzhivdXyYrxHXMKf7MR3CdAgDA+P5oCjq9/v9fr/X67Xb7Var1WKxrK2tyZ/EaDTabDar1ep2u8P93/QlvjdK9LpcyKewI0sAiNc1NzHesWaRoH6FHRG5bEsb1kXJAntKNOIDnW6Zt7DANbpWAzviWQHLaBFvulZ3XPMy5TQKJgCDUT26op5bt4n3Azq3dWZ+mqMwzLs3pRvra7vbIufWc/0OWGA6hIGBcVh50qeAABgALAB2AATABGAGQADMADYAa8QOZ4s0hZ0I4Q7RVY4t5mF4KEvMaC/yf2OB6RAGBgYGxkEE0yEMDAwMjLfJ/wPe+1FmE+nnvQAAAABJRU5ErkJggg==" alt="" width="629" height="223" />
图1-2
问题解决
经过分析,可以看出是由于锁分区的特性导致IX与不同spid中的X互斥导致,那如果能禁用锁分区特性不就没有在个别分区上的IX这回事儿了吗.这里介绍一个启动标记 trace flag 1229,可以禁用锁分区特性.我们可以通过配置管理器中添加启动标记,也可以在command启动时加上响应参数.应当注意当使用配置管理器时,我们应在启动参数末尾配置”-T1229”,如果使用command,这时是t1229(大小写区分)
这里我用win中command启用
Code
Net start mssqlserver /t1229
重新启动后重复上述实例,死锁就不在出现了.
注:此实例只为说明由于锁分区造成的死锁情形,实际生产中此类情形却是罕见的,除非遇到这类情形并且没有更好的规避方式,一般我们还是建议默认此特性.这对提升并发是很有帮助的.
关于锁分区特性.
通过微软的在线文档可以得知,只有当CPU的逻辑数大于等于16时,才会默认开启此特性,而授权又是按照CPU收费的.问题来了,当CPU小于16我如果想利用此特性是否可以呢?这个再给大家介绍一个启动跟踪标记 trace flag 1228.当有两个及以上逻辑CPU时就会启动锁分区特性.不过我们使用时清楚自己的使用场景,是否会因此TF得到好处.由于这是无官方文档记录的特性,使用应只针对特定需求,并应慎重.
结语:SQL Server或是其他数据库系统中任何一个特性的引入总会适应大多数场景,但也会伴随着特定场景的弊端出现,清楚其所带来的利弊并合理使用,使得SQL Server适应场景,我们也能适应SQL Server.
SQL Server锁分区特性引发死锁解析的更多相关文章
-
SQL Server 隐式转换引发的躺枪死锁-程序员需知
在SQL Server的应用开发过程(尤其是二次开发)中可能由于开发人员对表的结构不够了解,造成开发过程中使用了不合理的方式造成数据库引擎未按预定执行,以致影响业务.这是非常值得注意的.这次为大家介绍 ...
-
为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
为什么说JAVA中要慎重使用继承 这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...
-
转:sql server锁知识及锁应用
sql server锁(lock)知识及锁应用 提示:这里所摘抄的关于锁的知识有的是不同sql server版本的,对应于特定版本时会有问题. 一 关于锁的基础知识 (一). 为什么要引入锁 当多个用 ...
-
SQL SERVER锁(LOCK)知识及锁应用
提示:这里所摘抄的关于锁的知识有的是不同sql server版本的,对应于特定版本时会有问题. 一 关于锁的基础知识 (一). 为什么要引入锁 当多个用户同时对数据库的并发操作时会带来以下数据不一致的 ...
-
[转]了解SQL Server锁争用:NOLOCK 和 ROWLOCK 的秘密_Mr_Indigo的空间
了解SQL Server锁争用:NOLOCK 和 ROWLOCK 的秘密 关系型数据库,如SQL Server,使用锁来避免多用户修改数据时的并发冲突.当一组数据被某个用户锁定时,除非第一个用户结束修 ...
-
SQL Server优化器特性-动态检索
前段时间我写的文章SQL Server 隐式转换引发的躺枪死锁 中有的朋友评论回复说在SQL2008R2测试时并未出现死锁,自己一测果然如此,因此给大家带来的疑惑表示抱歉,这里我就解释下其原因. 回顾 ...
-
分析SIX锁和锁分区导致的死锁
什么是SIX锁? 官方文档锁模式中说到: 意向排他共享 (SIX):保护针对层次结构中某些(而并非所有)低层资源请求或获取的共享锁以及针对某些(而并非所有)低层资源请求或获取的意向排他锁. *资源允 ...
-
了解SQL Server锁争用:NOLOCK 和 ROWLOCK 的秘密
关系型数据库,如SQL Server,使用锁来避免多用户修改数据时的并发冲突.当一组数据被某个用户锁定时,除非第一个用户结束修改并释放锁,否则其他用户就无法修改该组数据. 有些数据库,包括SQL Se ...
-
sql server 锁与事务拨云见日(上)
一.概述 讲到sql server锁管理时,感觉它是一个大话题,因为它不但重要而且涉及的知识点很多,重点在于要掌握高并发要先要掌握锁与事务,涉及的知识点多它包括各式各样的锁,锁的组合,锁的排斥,锁延伸 ...
随机推荐
-
近期C#项目中总结
1. 读写文件操作 using (file = new System.IO.StreamReader(inputfile)) { using (outfile = new System.IO.Stre ...
-
【转载】Android Metro风格的Launcher开发系列第二篇
前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客Android Metro风格的Launcher开发系列第一篇写了如 ...
-
Hoj2634 How to earn more?
How to earn more My Tags (Edit) Source : ww Time limit : 1 sec Memory limit : 64 M Submitted ...
-
Erlang安装笔记
今天,为了安装RabbitMQ,需要安装Erlang,中间遇到了一些坑,记录下来. 1. 下载Erlang安装包 http://www.erlang.org/downloads http://erla ...
-
Esper系列(五)Order by、Limit、构建事件流、Updating an Insert Stream
Order by 与SQL语法类似类似,默认为升序排列; 注意: 如果order by的子句中出现了聚合函数,那么该聚合函数必须出现在select的子句中. 出现在select中的expression ...
-
c++中vector等容器的实现机制
stl容器区别: vector list deque set map-底层实现 stl容器区别: vector list deque set map (转) 在STL中基本容器有: vector.li ...
-
Android - 读取XML文件中的数据
读取XML中存储的数据.将xmlfile.xml存放在assets文件夹中.在activity_main.xml中创建一个textview,用来显示读取到的数据. XML文件内容如下:xmlfile. ...
-
js 切换全屏
公司有一个需求就是点击某一个按钮实现全屏切换功能,然后呢我就在网上扒了段代码.封装了一下.使用的小伙伴们可以看看哦! 切换全屏代码 <!DOCTYPE html> <html> ...
-
给Linux系统/网络管理员的nmap的29个实用例子
Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具.nmap用于探查网络.执行安全扫描.网络核查并且在远程机器上找出开放端口.它可以扫描在线 ...
-
利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境
一.环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新 ...