From e53fc2e9ea2d1587d74b6b24b09de767bff5ae2f Mon Sep 17 00:00:00 2001 From: Alistair Mackay <34012094+fireflycons@users.noreply.github.com> Date: Sun, 5 May 2019 10:57:16 +0100 Subject: [PATCH 1/4] Add gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d74e21 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/ From 210242820a3753bb59bb2c0ba743df42a3fc4eb3 Mon Sep 17 00:00:00 2001 From: Alistair Mackay <34012094+fireflycons@users.noreply.github.com> Date: Sun, 5 May 2019 10:59:05 +0100 Subject: [PATCH 2/4] Remove trailing whitespace --- Tests/Types/CopyVMFile.Tests.ps1 | 20 ++++++++++---------- Tests/Types/PlatyPS.Tests.ps1 | 12 ++++++------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Tests/Types/CopyVMFile.Tests.ps1 b/Tests/Types/CopyVMFile.Tests.ps1 index 6439ae4..9a51cd4 100644 --- a/Tests/Types/CopyVMFile.Tests.ps1 +++ b/Tests/Types/CopyVMFile.Tests.ps1 @@ -8,7 +8,7 @@ if(-not $ENV:BHProjectPath) InModuleScope 'PSDeploy' { $PSVersion = $PSVersionTable.PSVersion.Major $ProjectRoot = $ENV:BHProjectPath - + $Verbose = @{} if($ENV:BHBranchName -notlike "master" -or $env:BHCommitMessage -match "!verbose") { @@ -18,12 +18,12 @@ InModuleScope 'PSDeploy' { # Create a Dummy Hyper-V Module, to mock the Copy-VMfile cmdlet later Function Copy-VMFile { param($Name,$sourcePath,$DestinationPath,$FileSource) } - Describe "CopyVMFile PS$PSVersion" { - + Describe "CopyVMFile PS$PSVersion" { + Context 'Deploy File to VM (using the YML)' { # Copy-VMFile has the 4 mandatory params, added now to the parameter filter Mock Copy-VMFile -MockWith { Return $True } -ParameterFilter { ($null -ne $name) -and ($null -ne $sourcePath) -and ($null -ne $DestinationPath) -and ($null -ne $fileSource)} - + $Deployment = Get-PSDeployment @Verbose -Path "$ProjectRoot\Tests\artifacts\DeploymentsCopyVMFile.yml" $Results = Invoke-PSDeployment -Deployment $Deployment @Verbose -Force @@ -31,7 +31,7 @@ InModuleScope 'PSDeploy' { $Results | Should be $True } - It 'Should copy file to VM' { + It 'Should copy file to VM' { Assert-MockCalled Copy-VMfile -Times 1 -Exactly -Scope Context } } @@ -46,9 +46,9 @@ InModuleScope 'PSDeploy' { $Results | Should be $True } - It 'Should copy folder to VM' { + It 'Should copy folder to VM' { $TotalFiles = Get-Childitem -Path $Deployment.Source -File -Recurse - + # Moved Each test to their own Context blocks so their Mock counts are reset. Assert-MockCalled Copy-VMfile -Times $TotalFiles.Count -Exactly -Scope Context } @@ -63,9 +63,9 @@ InModuleScope 'PSDeploy' { $Results | Should be $True } - It 'Should copy folder to VM' { + It 'Should copy folder to VM' { $TotalFiles = Get-Childitem -Path $Deployment.Source -File -Recurse - + # Moved Each test to their own Context blocks so their Mock counts are reset. Assert-MockCalled Copy-VMfile -Times $TotalFiles.Count -Exactly -Scope Context } @@ -81,7 +81,7 @@ InModuleScope 'PSDeploy' { $Results | Should be $True } - It 'Should copy file to VM' { + It 'Should copy file to VM' { Assert-MockCalled Copy-VMfile -Times 1 -Exactly -Scope Context } } diff --git a/Tests/Types/PlatyPS.Tests.ps1 b/Tests/Types/PlatyPS.Tests.ps1 index 2c15c06..af79593 100644 --- a/Tests/Types/PlatyPS.Tests.ps1 +++ b/Tests/Types/PlatyPS.Tests.ps1 @@ -8,7 +8,7 @@ if(-not $ENV:BHProjectPath) InModuleScope 'PSDeploy' { $PSVersion = $PSVersionTable.PSVersion.Major $ProjectRoot = $ENV:BHProjectPath - + $Verbose = @{} if($ENV:BHBranchName -notlike "master" -or $env:BHCommitMessage -match "!verbose") { @@ -22,11 +22,11 @@ InModuleScope 'PSDeploy' { Context 'Creates External Help' { Mock New-ExternalHelp { Return $True } - + $Results = Invoke-PSDeploy -Path $PlatyPSPS1 -Tags Success @Verbose -Force -ErrorAction SilentlyContinue - It 'Should create external Help with PlatyPS' { - Assert-MockCalled New-ExternalHelp -Times 2 -Exactly + It 'Should create external Help with PlatyPS' { + Assert-MockCalled New-ExternalHelp -Times 2 -Exactly } It 'Should Return Mocked output' { @@ -38,8 +38,8 @@ InModuleScope 'PSDeploy' { Mock New-ExternalHelp {} It 'Should throw because source does not exist' { - $Results = { Invoke-PSDeploy @Verbose -Path $PlatyPSPS1 -Tags Failure -Force -ErrorAction SilentlyContinue } - $Results | Should Throw + $Results = { Invoke-PSDeploy @Verbose -Path $PlatyPSPS1 -Tags Failure -Force -ErrorAction SilentlyContinue } + $Results | Should Throw } } } From 3d77689024fdad3f7895d6037fc02dffbbf90a2a Mon Sep 17 00:00:00 2001 From: Alistair Mackay <34012094+fireflycons@users.noreply.github.com> Date: Sun, 5 May 2019 11:13:20 +0100 Subject: [PATCH 3/4] Fix failing tests - Should Return Mocked output: Multiple results returned in pipeline. - Aggregate results before asserting overall result is true --- Tests/Types/CopyVMFile.Tests.ps1 | 12 ++++++++---- Tests/Types/PlatyPS.Tests.ps1 | 7 +++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Tests/Types/CopyVMFile.Tests.ps1 b/Tests/Types/CopyVMFile.Tests.ps1 index 9a51cd4..e3009f3 100644 --- a/Tests/Types/CopyVMFile.Tests.ps1 +++ b/Tests/Types/CopyVMFile.Tests.ps1 @@ -41,13 +41,15 @@ InModuleScope 'PSDeploy' { $Deployment = Get-PSDeployment @Verbose -Path "$ProjectRoot\Tests\artifacts\DeploymentsCopyVMFolder.yml" $Results = Invoke-PSDeployment -Deployment $Deployment @Verbose -Force + $TotalFiles = Get-Childitem -Path $Deployment.Source -File -Recurse It 'Should Return Mocked output' { - $Results | Should be $True + $combinedResult = $true + $Results | Foreach-Object { $combinedResult = $combinedResult -and $_ } + $combinedResult | Should be $True } It 'Should copy folder to VM' { - $TotalFiles = Get-Childitem -Path $Deployment.Source -File -Recurse # Moved Each test to their own Context blocks so their Mock counts are reset. Assert-MockCalled Copy-VMfile -Times $TotalFiles.Count -Exactly -Scope Context @@ -58,13 +60,15 @@ InModuleScope 'PSDeploy' { Mock Copy-VMFile -MockWith { Return $True } -Verifiable -ParameterFilter { ($null -ne $name) -and ($null -ne $sourcePath) -and ($null -ne $DestinationPath) -and ($null -ne $fileSource) } $Deployment = Get-PSDeployment @Verbose -Path "$ProjectRoot\Tests\artifacts\DeploymentsCopyVMFolder.psdeploy.ps1" $Results = Invoke-PSDeploy -Path "$ProjectRoot\Tests\artifacts\DeploymentsCopyVMFolder.psdeploy.ps1" -Force @verbose + $TotalFiles = Get-Childitem -Path $Deployment.Source -File -Recurse It 'Should Return Mocked output' { - $Results | Should be $True + $combinedResult = $true + $Results | Foreach-Object { $combinedResult = $combinedResult -and $_ } + $combinedResult | Should be $True } It 'Should copy folder to VM' { - $TotalFiles = Get-Childitem -Path $Deployment.Source -File -Recurse # Moved Each test to their own Context blocks so their Mock counts are reset. Assert-MockCalled Copy-VMfile -Times $TotalFiles.Count -Exactly -Scope Context diff --git a/Tests/Types/PlatyPS.Tests.ps1 b/Tests/Types/PlatyPS.Tests.ps1 index af79593..fcf81ae 100644 --- a/Tests/Types/PlatyPS.Tests.ps1 +++ b/Tests/Types/PlatyPS.Tests.ps1 @@ -24,13 +24,16 @@ InModuleScope 'PSDeploy' { Mock New-ExternalHelp { Return $True } $Results = Invoke-PSDeploy -Path $PlatyPSPS1 -Tags Success @Verbose -Force -ErrorAction SilentlyContinue + $ResultsCount = ($Results | Measure-Object).Count It 'Should create external Help with PlatyPS' { - Assert-MockCalled New-ExternalHelp -Times 2 -Exactly + Assert-MockCalled New-ExternalHelp -Times $ResultsCount -Exactly } It 'Should Return Mocked output' { - $Results | Should be $True + $combinedResult = $true + $Results | Foreach-Object { $combinedResult = $combinedResult -and $_ } + $combinedResult | Should be $True } } From 88b69aeb8328e2afaf8d6bf5df94a3667151867a Mon Sep 17 00:00:00 2001 From: Alistair Mackay <34012094+fireflycons@users.noreply.github.com> Date: Sun, 5 May 2019 11:54:46 +0100 Subject: [PATCH 4/4] Closes #121 - Upgrade YamlDotNet libs. - Choose correct DLL for the PowerShell edition. - Check that any pre-loaded DLL has what we need. --- PSDeploy/Private/PSYaml/Lib/YamlDotNet.dll | Bin 139776 -> 0 bytes PSDeploy/Private/PSYaml/Lib/net35/LICENSE | 20 + .../Private/PSYaml/Lib/net35/LICENSE-libyaml | 19 + .../Private/PSYaml/Lib/net35/YamlDotNet.dll | Bin 0 -> 181760 bytes .../Private/PSYaml/Lib/net35/YamlDotNet.xml | 4728 +++++++++++++++++ PSDeploy/Private/PSYaml/Lib/net45/LICENSE | 20 + .../Private/PSYaml/Lib/net45/LICENSE-libyaml | 19 + .../Private/PSYaml/Lib/net45/YamlDotNet.dll | Bin 0 -> 182784 bytes .../Private/PSYaml/Lib/net45/YamlDotNet.xml | 4728 +++++++++++++++++ .../Private/PSYaml/Lib/netstandard1.3/LICENSE | 20 + .../PSYaml/Lib/netstandard1.3/LICENSE-libyaml | 19 + .../PSYaml/Lib/netstandard1.3/YamlDotNet.dll | Bin 0 -> 183808 bytes .../PSYaml/Lib/netstandard1.3/YamlDotNet.xml | 4721 ++++++++++++++++ .../PSYaml/Private/YamlDotNet-Integration.ps1 | 42 +- 14 files changed, 14332 insertions(+), 4 deletions(-) delete mode 100644 PSDeploy/Private/PSYaml/Lib/YamlDotNet.dll create mode 100644 PSDeploy/Private/PSYaml/Lib/net35/LICENSE create mode 100644 PSDeploy/Private/PSYaml/Lib/net35/LICENSE-libyaml create mode 100644 PSDeploy/Private/PSYaml/Lib/net35/YamlDotNet.dll create mode 100644 PSDeploy/Private/PSYaml/Lib/net35/YamlDotNet.xml create mode 100644 PSDeploy/Private/PSYaml/Lib/net45/LICENSE create mode 100644 PSDeploy/Private/PSYaml/Lib/net45/LICENSE-libyaml create mode 100644 PSDeploy/Private/PSYaml/Lib/net45/YamlDotNet.dll create mode 100644 PSDeploy/Private/PSYaml/Lib/net45/YamlDotNet.xml create mode 100644 PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE create mode 100644 PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE-libyaml create mode 100644 PSDeploy/Private/PSYaml/Lib/netstandard1.3/YamlDotNet.dll create mode 100644 PSDeploy/Private/PSYaml/Lib/netstandard1.3/YamlDotNet.xml diff --git a/PSDeploy/Private/PSYaml/Lib/YamlDotNet.dll b/PSDeploy/Private/PSYaml/Lib/YamlDotNet.dll deleted file mode 100644 index 8fda018dd81849231984f8730ff55fcfbcc6a80b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139776 zcmcG%34k0&b^kxxJ=1gSA&qu5v(nny^&z=E$La#JlJ6TI7~2>l8RHAvV1wN-V}a2y zLfiyo1LjELB*cg-+-C?70)zko5`qi?5-{Q>+ysX+1o{8@zN(&MS28B~{blcT)vH&p zUcGwt>ebQJ54-FonJ|;dWcj=AzD(wQJoWDs`@R34-6T)UeqbW=p5kYYc;CqRpE=@^ z$KTMNdr~WTTPcgDjXF?UmP?RE3xN6GqbO`z4K zh|k}0-L1C}zho86l4f-!IQVZaleucX)owi&pz#KeR?)+T5l?~p`POw$Oh6Q`8FkoVGM~c7r^k07doEJU2c~kVbm0$k+XO8&#wa@$8*B^Uy=9*hi zJ@#i0zxN+M`?O0g{K&59cYWx2kJxs_BiH@oGrzX!Jx3n*S8siHr*Q3e@4M-RZ@B64 z&%bZO>0|r9{prt@s~es^@vEOzx4-Ni&x_h0c=E}=d(qrYFZuCXpZ4-=&sr07Mi5f% z$RO-m001>~01K=M;%X*S5=K0&z+`q0+5@w~5j$c|s!; z#PAd)a|Te(AVyOiphk6aVoKGauSB()suSlGG)8GjA1W!dHHeRZ5aKzK2iZIJoZK*y zSxG%8sq8?d6`2DSI^j(6Kgvhi#I1p68_I0@O z_mo|nKP{Rq&7T;}j?XVdvvVqT*T(s14r`K`Ul+~Y#dA|3n!E2ynasvYG?)20@v&&` zcNkDtQbn9e7VAL0|9TdwXPU{$7|pw%x@_2<*5icVOWS0)+RN~)jmsrN%DX--uUZq2 z5B@!Lwrqe7#YVGdZ74u&`)p|&k*n=l3ufoS_$cYpx}f4i0E<3&0eX2fsm%g`wL+`b zjtg4HtCz({r&PN>m>qY>jj>?16jrx6a+R9$(vw_Xx{vY-c5Dhm5`w|M>aj#_*#X@Q z`|S@q!)-E%R|=z~4%w9lMx-*6^zTjJ)8Wd~x1CSMQdDW34fpob{=rBl+8b3{=LvEV zKOV9hbCOl>qWd}HV*voA6kq`W^f8BFfwX^CW4MTFZ%eytLj5DvJPN{u8b_8+xS?>9 zpW2NN4KpQ^Q`WD1a*#f{H`h=_ocRO(`;vO${~m%3OZ zg7XSu(+R$x%675p1aE~v7ri9-GzDpOf;$yN4YN+J+38KW>}+x4gIiCf?c()NYTZU? z`ZhZ42u(e`=NtmG@NChC;te3RH}bPH$aYsiDwmzUY{T-_Z=?d_BdCB&%ylPK&P29b z)-&wlhGeNyW(Hk7g=fy}pXv}M=vb+KY|v3G!N!+LK@@`&@i>#m{&Ao7Akx;|6T~M2 zY<#vh0?{C|Ii0&J^MqkET{LA5qOJb5k{li6~1)qJ&_J$(C_sJD4q z6Ff`&)yJx(dTF{;k5-lHK_$&AQqe}@l~GUaI3Sa``uQtz@k0oX6&&fP9Ie`ZCVfC1 z%^aaIp88AU>9bzSSGSGUv-#@w(R?#o8Q(txtp#W`-@JcfMeaalnZ}?k0Pd;QijtqJ z^NpG9|Bw;C=t!7(8PB}cSxr9G#cX7Qj@o>xi^liD33i#4*QiFoTD)BOOlnTj1`E3>lq`l0+ zw!G=UefPO`u0DWvu6EVV>D95oAN`cJvgm|m(U71NV)9?kSRWciAXqtkd_ryOny zmrj*S(4A;(NMZMfo8pMR3zx@DdCTL6W=uV1K(`0jlzP`f>?Q4N|H2r1TuRQB{5FU2 zdA-QGFh0K*Srx_)>qW-G_<}TI&cY0RPIIrK^*Pyy(Ax-&9Ld8$9<865Pc9@Nci{VI zhU-9$_0Fb5$@hQ_7#5FZoi@3Md|eruItJllBF%U2FXbCi-dQnkv!^o`-C(xX?AIi{ zsRTda4lIdmQvt(|ibj~;DM*dx&t$04kdgT_{>J&kxMybh!_;MHrVKVSL%+x%o6IBl zyPUu4_`8`uMz_pv{{D!+JNR38H9vS#Xd@+r)fk0Tppph8OabC6Q;e%p3?Hb*SEmpk zsK(c%5Fe<rumAwE!zVbYatf!1fR2yMo%XlI*hly>e96IhNKB|OczO{k7@ zvx8^QDhCYOG^Ko^m+)}mYIhEa)$R>uyUeJy$)vT(mLH8!M)Ded8WY(DL!hiaUSfTO@i0n|X(aWG#>tC9 z`U zptBO8%p}{1VL?!2Om1(Tfc_~XRmMeTYMu>p-5EV_h7k_l&2zymMKjya%z+s2hcV93 zoia$;CUW)JKxW%)5Ej{@i+b7UJ7s@%-g zT>;<}8dS*mB$A)roYKGwL4z_^&u8;9n`b?(4S*X|cbJSgR#ExxMt+e3V_r7%I-bj< zBaRIvm2km&DuLqIpr*m>I{xZAXwe?Wjzz3*OpixB4w^*PLnSd33@61H=tU4ZWmI#c z5ar8P|1!_z#8oMmi>8rxj!RThy4%H%E)JrOl`-eJlNSgBG6j4E}{T zY%VLq%p66DFA5kdxZ+N}l8H7+HsU#qpo5&VjXZ`-R*uG*+>pzBE3Id1MYccq_*%Yt zu$HrPn@`I&9uze<4ps4}LgNpp zT`tqY24Q~6L94Q;z6+a33iH-PV+C26sIjtOjnW)1%pN&kD9m1d$~&+D!R+PMY6Z=# zXOG-)X*qi)b|G^We`V4S_IDF$JNbJ)e=p}xqJ0~Gf6E_4W{&@`3mkd;KM+{>Z;RPN zLAgYmoYQ;S^f zBHy&gH7@c6i`?QOpR~x$E+Phl*{8UOI1Xm7cM(+~m~FX;>J-dg=OU_PFngp$>fKaa z^>#3OfrH%;%wFk2R|d1^yU-(p*$Z9hyu#zhi*xruWWy1`?5ze2R)nq9w3sd3$b^^7 z2W0e^-O)ohaw$TkRNr1ebEF|+)e2g&S_)dV0S#n~dg9{l?mgCUtTJ9dsZcbg zM)S^0l)ZWIhM`nn74-~5-U%c%48`iUaop15k=dsAJDZ%#9EF}@qTr*7<2nDpIKl8q zYx;)IEY_`2^V)p#Y8kD|E0fuJgwMEbGFvETQ^}S?MT~#fpT0Vf7!M@kV?@pB06+ya zQzPgMVz0)RMvQ*u4Hjc%9F3Zri!}9o-{>ASXms&_2Tb!~6Wp^ZgI06}Hl?;2+s_K| zD_OptU&F%n{Hnn15R`*C^|<+BFn26ZaJ1x&d5>5Yx0w8ppucZ4%Z`HxoG4NYU~b9< z+Hvso)&+BSA>K`e!0$K&e#aqLyyGC-9c0b~d5Sh1bZo*~@EC%UADCD91uHyg8ZMgF zz;h!3W}SyQPbrukOI@ZO&6P`Nt~xl)kEb-B;ApN%X-@QLhS=Ow;Zy(I`dH@}4MUq5 z$B!b=iTP>fTbt0pdaiZcpdt?7#|b4!cSY|7Moskkp4Y^H=hYlxGTlpRY^11O%*`lV z9D3QtscEWW6`Nwzg4WhyJ}i45!F8ClpR;$6%UlFcOw^gz)4MgVKf$SHl-vpD&6z_? zDUPJjV3kSBO|z0K>87>TDU|O#L|^B-eVwz+Qd&2QJ3LqhmA)st)_k$*w(e?ZhC60p zqj5#xq1z2gRTufWZaP%WHktFZpqkdnyBMvf48oQ;#o6Y>qHJz`l*Sn7X{oum-WN1$TsJK`0>})BmaJA|x9JHRL z>ZLx4!y4^jd9g^(AL&GbOqK_&=M8XLN58GGgA3Yl7Zp%kTmZCH#*SVYELa2`w8j=Z z=6JdV51S@=bvkOP0xi*rRC8Wvm8?1)b(I`Xd05o;&+73|2uRYrEZkx3`v(*_EcNAS zQH!NM#8A11<)waLsi>#Y3aJ6Am7)C07U!2t2j-pD+ky_(Gn-sRzjndO`pF<{h832# zIv9(r%{Xh><|Lg}s1CZ#fwhOk>?A|KEmt6bjmaj*L5qPlUXiuUm{GRyO40P@>3q7K zQT4kSTS3%DOV(|)e3p$C_CT47`Hhx}ZM3+xgJqcqpV8lEIh+1S6AbPxRoC}7h&Dsm zrsSh}Kex}pBtuW;R{s8nzYp-Y@GE}M88h@U`|%C5ZONPnKaJD0m-QM=>xQua^o_Q% zZA&4t!$wGuwM05Lu{E61f)=CPAlLlgk}cKG_&-yi>}YN`ytpm+O<}`3inWUE#h*YD zjXfye>Arm1S0i6`C6jA-?$C(dSRPefOon~xK={9)qfxw1M;$Dslgqprei%5)1KUI@ z9~XoD3j${lXl!sBr?;yo*v9F&mKCMLZdtNuYmr*iO08SP=9*Ju&Pk?l7pQJGg3Urp zW@4l9qtjP9YSNg^(R8`b5_bHVbf2& zug*gy)hdP>FMET>Xaesf*SuPUDHLl-t*;GPZ#dB-as6 zFsUWYB32iQFCC3qe~wJ^dl+6ulE;y<&dm^5O8k11FnE<}uiu4@$cDSt@!Kp<9f+Pn z$!&UAX}3TIPi_?E&2C37OmG29$XoKl2hpSUtTc_8O`7H!+9O=xxAX90N;HmTI=A&U zxSO4B-wbfK*wE1@+D&JehMyOwXC}I+DI5LIhDja8Pz)o1O!680#tiEo_{bQvdMVn& zpghxLQBz1smW9vJe1gqj(}r1V|EhsdbEofLG=qU=W0elk>c!l=$!UEhSpn@V(ll zm{lt>hjefPx?;Chsz|hFE6DSqdS2R-zrd^j8?-bdgmZ*&AmD`BA3;BK%Z}sOTetOI0o)(C^;3f>!8 zW7LiegXB%h1w-eGA)OYq0D$vSfCV^iU zOlRF0ish~Mk)?HSFCQ{c!N|bMUDU+y6K`j={u}f)&e%vF)tnQvI^%{!)bzEpf&p>- zogk}QYx0>VnFhRDaT;Y}wy1hyc(WYLv?o1Bpz8!`L2V*85ydK$#t@$NNGy@DB8#F8 zl=2Bty;LnxSqxP>&>shM=Qwy-ZN^IaAOAIZImQ&k@3jCUmkRSO!+L;<+=CYx40e)t zsld`<;`e&e^?aOvG9Fm`20bqhI*K2@upW)ix>Mgkp)behzB0st)pV#3{O@)=}pjJAhVVp4gdvPf5U^tQ~EBOO5{Wvl` z?EYk`I_`}Srz*JzyN5V&8&p*<>KP}ZC0*j}CTeWPnnUT>mxZyqb!Wlr*gGu;9sh8( z%Z(Hv71PtJ7=3A}iYZ;KV2Mjr>|0LE)~|>4={=NtzxpJ~eSH%BJ&dqJ`t**plGBH( zb-2U*r{Mk0xVrV|G{>8jaw&WKID8CW3<_*dc6ab#5iU&dSW59z z6*GH-HMM_X&=LN6R)U3^+{%xqQD5g_7XxFLZU-glNFfIa)>&zgh^L1t?|vn^@xq{y8yw}GsP9Y1zcIiO0t^> z9a2;($us%YQA>-4+2mQoYv%^-XY=d|#rshAx@QQ*H;CeMNZOgLu3z4IH__I|1=}bX zGHpwhvbQ}NP9y*`14uTDH{L=*^qgu30(WsqrKpESfpMW2TtLs ze_>_QsB0UcE^mb;xG3|JauIXlG6F*du4i*nj4&*Z0)3gyg~H5v(3zv``pH2@JZplg zS=6Ru@Mx6Ju-T$i-h6cTU(l`s)2@2p)mOW!S1m2(eYNj~)lEeo-MGBaTCM3JoRw zY`tkT6_GVwb`01AKTd2pHRx4>-Q0u0^Ky~Tx>9nkly|j021XFGcNN)WE{Hj*lm?fj zL3>+5{cA@|mycHguYELZ)Pq{WTO-&qGtn!<|+@St?07&t;)hX z2=VhwIhBRC1bj?c##RIti+@Xpx1ZY0Qd^E4c(qNrISg#+mGtmLPhXgYKBh6Iw-AiC z`1z(F&6SQtN^)F!cx}GD5|X>I5%R6tF95qsKh0t==#BnpF&%{7YGWkb(lw_AN&(Dh zZ23AJ_(FD*QVd=6yCSxdIs zGn(IWD)77=Uu{iMRXNI~EsZ`h`&lmnWT#;{kI>+(EAc2kl0rB?AU2}u}|G zFNf2U%-+y6KizAsmTLS3^mcL}0aJ0ppWC@iwG$KyWe!M4B1U2T;g}J{I4>o6#&hHg z$_3MfDmEycpGyDMAd8i>dANi11?>l{i0n{t(0SwthKOl|d!a#n;c#%Nei;jL35lVb zlC3Ru6=Mcw29}}W5teu~rD`r0W^n8@|0}nntPa_PU6GF3%nGBfaHEP*@G?CRay((KIvPv-Fen{ReB z^jbx=eI1Z^Ge5Nt1?@ja_FV@4^gRj2eu7OwRZP!U5=$DVsIaY z%)-0*3E~CGgJE=wJuChhpJ37WWS3frPjZ2(53qFUA@M0bqkG2KS)+HF2fJr{x(A=( z!R{HKY0>yB_h3EU@;=lfrO$Ib+@9_P5=&}Q4i0Hed0ly~1b>4tt>2$d?bb=A@kU@f z&NU@!qJfICoF&c4C(@kOww`?p;)ej>*sIzhGMvb8+U8(0rVaz)sM-%tua9FKq$5&(=me*a{e~i{^TS#8^s|)e5BK!dDr?6Y=LH>g|AHN4 zPhN%48*C1#yn++UzFy`Oa~nw7t|-_6P$!3lvluo14I#ID=+gIkXsqv}FY_aJTe8*O3t{vz2g=ts)yX9tVuEj31oeTNuFf-iBc;FDd`9y1JkHCgQFw9ggq z1whutU1RyOROiY$S58Rb#b!8FuN0Gyq@_1GgQQ4(WNI?KaUesrP@Y&y{zPFfgeI4lmph}l+_-49dM!^Mlut>Y(_Vzmr}edXG(YC+rH;q> z_Ml z&7(Z-@rp2gQm5p2g$*QW*XDGUE8BN@D{6;w;AAZpnJ-SpaG>P29K=O^nb#c$Oy+k7 zgr>T^j=JGprFO&W@`M432dT@6zAk5}E*pFVcjpkb99>*X*Tqu9_6Jlp=zUJ1x#|_zzLzg(YsKnVxqrarx?g(a=FHZ4DHmXS{(|%PQv6u7?)xM{} z>DG_J@BOzguVP4ToP*waVmVdm!S=m;sFsHovWo1ra%FLqD~l^OWH^WNRu|=cfEqH? zW6kHg)mjW0G*$((EAN+q-`Ac)46a+(=7aEk**D6(e z#ufm8rFQ@eEZR`Km=^PU#^-BD$;KDz!CR?HSQF@lLTwZzP_rjQ?D={%4v=V z(Exh&w!>J>AI(>Sz4;({GYD~sfuGf&Q7!(wRe({g`>YFQr<1p-1QvZ~r>C-02|HLS zFKcVK8#V4FOu9=YF`aF!wTA<_-{hU7wtk8doBx@x*~t2TYacyj#LiW;enHyo(FwEm z(ryu9pD|3{LrlAwB^m@lWVJb>r>z&+2JMvI!j}X)?^n7S$^rmBkOC~A{)T)W;q}hn zB=Ht-g7*6$(WSmxEK!iUYJC@8dJ83M+C^Hh4XIL>%7cjokGfPEWr?p*>#~cZXoC2) zDHUs>N9XZ1Y3D$wP{c!!IXmT{1MfON+d&*z9dUo6P&?uz`CCe=Y+Q}QV$ly0jjvU5 zrK?p6)#3+RXY(G805Imj%g3$zItw8dQ>hAf!8DDmC8G3^PpJGOSrq*8!HU^(wJ}9Rn^r~1>jBMa(|DV2eCGGj`j~fmNx-!AHDWZMZ#9u(`@N*>a;FDJh*P@8!lOMYmG^X4 zp20gkcx4Fwm>#?u?;61G_TZHvc*DaH)9wNER5HAhsp6_ubIJ0V14t+Pyod`!m#u8@ za_VD0YXF-YGfdcr#(wqycCE*6HGb{@d|eM-8G;|-;jqX>B5D>B)6+eeS3SidCoQY- z9}T3Rv?RSUlzvRFxN5v-Am5Qacx4b?F*$J*+DdP|x@UUoBUQGp9_G19rQ4I&KT1>A zdmed@TfF<*Nz8D0Tjm7Icv{a^pg3Msi`?$m>e+AJdN+GG(1EoQ!-~YGdVTnFo{>3M z4PG|)Ey#uu16NkB;F|o34gqtcJGer7cjY+i$Ne7nG>7YYN8<@TXIjU(H17KVEn$>> z-%@Y#khIsNInrK}=J35nw-`jtAP+|sE{t+rADcgD9;(TNq~gY`mW(L>Trrj8lM*&s zs2WUb^?xwuw9A>|erf=>x)|4&lHz_ET()Z;KZ&J$2H~Bxd$kU&u_=h3#BcLn&fh9# z5~w6boTW95KECb0$T*+|sDDOldbtc^Oy(gbZxb3<%%~4-!Q-Jiy(ae~V6QY!|DVLr zkL)<@Xnh=2xsigjQB_)(vhW!qjqe2U)nbokX5cJj7BJ$hWVbeIqRllF$saUat4T%LgSC?*u)~?1UsfaGf$N+|u8BV)Tv6 z2EgB<5 z+y4S+G*vdIRZh-lBQq;2{!>tbxT{~+jh2crGx1`KFy#2*#_JwV?!n|9zk5*V`_Ls#uzcyjz z9;%j3Ohe+^N1>^n%!7>aLS4 zVTYwIGk?xR4CHEmqQ?&UlFPh^dOZMs##i=qZ;&5WQxD3Imnvt#t@HMg4$aq>hxz&; zd?9n>Wd8NtG(_rEU+jfE;O=jak~fmy{kDzN=g7hC(O(%@6N8FNHL-bD+AB`|()(!* z`QSG^(Apoe-Yj?b+k>&bC$;v^2J0PWZlvC3yPRLJaRdWv7IQsJ%9Ofja+RtV+H^D5 z7~}YMw*6@+aVejLKdEqb?wfWZ;j{SgykWkWL2Dd2 zh<&`@Vea#k(ELu`=27fYc)KNUzDdPo{#u_xxNe%b$liUWC-tzw+Y*l_(@@9aX1J(! z5co$0-*vEB#V_bpO6w5+O`T3!Tqk2{_5|-VoxAHUicPiFwc%70zXCdpzvdcvPj(UW zFRAo8jOF6k5;ykzG5N-ecI>>mv4)TL7^u%4v3a)Wf!kBacyTmH3*xeZqA$}nw?^Gd z`CKPB=GhyR>+qoQ-#tF^!#=`)NJ_N*kU8^h|H7V_%tm}5$Yj{S@$Uz@_O@SM4dTUp zcNO4(PEX?TIBmBEettD=;Kof}W_9oWhAZVw4`Nr6e?=r)n6`Vjadv~lZE!eipp4dS zQ1yeUul*OunEK!gyL$v2#YW2){l6mTRdt{yN8L|N7Q2Io9N!mJX>NLPmCRA~1N=bc z+5Y791!oB=>)F@iZV9sz+?HUsXK~fvibDJ%nsG9>fYs=^;9_O67&aUE*;0HH>5U`V z8C+8?Hdhy{li~!-&N){#UrD|QdVPvRA?kd|m-t!dp&SF~!??asm`)_lpW!s!IE)|4 z@kK+PASL@}k>t9sL56)r8w_~m99L=h=9QPf z$m&VP39-g)W86^I{u;%2Uz5??zr!>!=t*9bwpYl7pUyI?>~OuGB~}vi=f5(L7Hy>W zn++Exryhngu1$IVclc;ja~^jCxUKgeypiXaJoY6r%-_Oeb%>%_!TM<^sBW`s^Gf#a z;qsC2P!{|)3ApdCWo<3!l*RVWdg@@Gw(z+9sy97ZN-}IyTB{c8soG`{(rpRk&rhpgde)2=sDp88z!Wl3UGSL2y#*M}wdwADSy4OFlkRZgN|DO>lb z)=zf~luOB1Ahu{+`9+UHxw!h8n|rADfO_M$nU8D<>K9rb1o*Wd#|ND3dvFK=8HD{xUX{jVH=8fv zJji3XUB=nDqdCi>)!gQ2J~eQ4&W2N3bnJEgl<_yU3RwQWU&%q6NaL`& z@76UCaiW<`7cvUy`a)!IO++dikMjuWYT-H;cPn4b>7glM>+r);g;|u#TWgnVE6zXV zI{Hi%%o}(vS)IGL^%W#@kg4e0!^+0TFshwfNE__%qHnL>fK*@24Tomx>&sK4pF&b~ zajm24gqEdaL^@&(>e`^Ba4W=_TSDCOqn;8wrP{i8Ky#&6TVD!bfgxdNP;FcS^PI=+ z4GQJldN0CCV#B~95x$})LPW4^XpN}8$#;YrNvk~jbd|x5kgbmob&a$R8sN8Tyhs7Y z^2G*FLu~!N?wcB9^Mo$}fq7lm$q&^`7{_=3}#d=b}0|30t~v z;nt#VhR*3deLjSb;ARbxYyT?yl_pgiJ~tgcta*OncNpn!dr1Dh^efUKK9!1d$-G~1 zF+9zwZt)%T7Un*G!ozzrvwm@u+ocBCIDbu#4QI$*rqL+h{wEr$Mn9WrLH~?C z{c33QfFXBj5&0hvkT;&DLYs524AWQDMR{(SO<9Wal>fuD{4n#%A(@Abv;1WW8&8bF zs@+EHT)TSHk?(EcEZ1iADbIE>~N!=3-eSX}iZeKfEIq^4GBD;(sN*KFK2^?{0vRy#mdVNCv&#Y?&VNFbJd>pyEM(}P+PQnIc+e}tNjDR@%^;+cZSI}mJR2e z=gltH_|?s$thH$GboPk(;ljVrE8KTd;~UT2`l4=O=|?M zKHLYcS>pq@%ocs9*bCjv0Y-=al-W@qx_)-dhg!4aK6Ksej1SG>^|%~I&K~JQ$KY-| z*yXdA`_Kh;N1cycId>O)`pEfqYn_i=Xjj*{$ZmPRI%kq&g7bhsG{i>G2bE99FDw86 zm)ij>0Dw(62e1H+{@((yPo3!KghddjoujabrenR74T_xWUt4i!FNDP5hxiC&jiG{5Px<|{sx^;V~*EQ|k(Z?N)%Cpy|cZxlw_^m4D50`rU zEy!?xd0^kIDN64RN3AT|P_t-XZlH*vH0>)6q)|N6Wh^o@f&RtmT z^oE(`tsg2;82;-3VOPcZ8?l$S?pRCmUHrJbaAjOjj`ri|v-)-(?{l6{!JJ=N>$r`K z=j6K-#|v8>Wr^(9K-dEu78R5H2N*8hf>+!4k<8;#?71xNxaQOjc1FWdJ=eg`IabdLTs^6j5+nPy?{QEm?4^KK z6WInfAe?!(004YR2e3fzfMxt^xWiEYx0p1!9!q)WT6qt5uBZgNkf7Tt_3Qhgyj2b z#7$u`K_pC;^XqOHdJ5>h8-^UNZ;bYF3^7AQ!sG`~QQh)3*E&x;xDmiu99MM|O>D0dSeq zJAefMFkyB83jknQ%>gVx8|qBtDLnO$5eI)PipNd<_;68!n-cA{>39?vM_CWhynvo3 zv}J$@KVM-!5aRAtx)nMPlWdYPj<0eWENnkcX+bic#-HNiNZ6%6%*B@}z9C4K^VHX1 zUIbnC8dX$eg(UY;_}b>!I+xa-Rle4*X};FQ$D~%}CqXP-vbU(3YqLp6#DS7~kzjL0 z=wj{LpsPcSu*NkV716@Q8RHoy`i)l!bd8SwhpyX&jRG%W(^>T9I7$e3b{uN8zHK^&7{jz5dRJTy>|CZt?YU*eed8BinKUPkMPd{w2WVSNsGW7ICwi@zl5R zoIS9a6PjHGgHnC6(w?+)%t7ZeAYJ{KpEL#(f8WuYv3{T|yjvVlfc|70>PK;k*GT#N zj}qCcfjB_x((Fz%CDi65Vp1T>x zlF$Vy?e+~s9SmBU?_n=87phLycI|-l5|>p_pLO-QAdKS4G)E90L(rOryX54u?+lX_ zQsRG$k`a=)%R)EP{DVGm;h}^GfbhA~zAs{y9fj&@Mb!nKW$_;Ll)H6u< z-j5vgL7NyRe4iy+Y7>R}K+6%mGmzIKjPG+rk1b~SJ|ds|R(x|?$^YRBQa`3+*@;Kfyit zWU&MDjbr6L(LJ^ZoEibu=})N>J(+Ri9<(z#Ag()KRq#H7w5uAUof)Bq9zH^Nynew7 zzKcsp<7&v0oAh;I37fQBEUPgr&JklLO=Js6L_~L&xR|WoIx^;g7803psIh8YYQB+! z&wRc0!M)SmvJ*~L>obpjVgKwiHbd6{`0?AlpvqZKaUL?L79rMP_jBHZsyf@O6Y7Rg zNk&~v?D&D+c(MsDCd18ihXag?Hr^>u&>n+8SHyz&bSKl!eqtIOzow^Vz7~K_efQ_Z zJTH};+Z?(sb%pCpaF|TdBbhpK_YQKp0HyQI?+o>Xw0);Dvk!57 zK?O!C@M2e>&g3IIeXILm<;mA6)sKl1`8uPK`)JZ=YvS0RLzj1H@gtz;)9>DozfOeF zwsa4baymAh*?gYkf$dBQoncr)$2z;H8Rtc?tN|S!p1oyrcmoMD__Yt6KGgT@1~@}U`e%+Sgt`i^Zrk#-|G5CW`5a-hDG4<$VE?c z;Tg`-CBV$~J0He*S{ySz4`JJjl;*b$wCZU6sNsW5X8)dqmj&P;X@Q zdRfb?-|qBMLv0ZQ;jij zmbpxQHhMhZ?&Ye3<>rfwc`Aj2 zWtX;|N231TMO@Dr{ua*S2ba=H2s%dg(JHNKpla!>8T zgw?%Li9tt?)LfX$WiC$lu}WQKS=nt2I*OZZ>|W*a>CrV_R;RqYRz|-k*9HdJV(+cPm2FpPEDe7=Kl>)OR;Oum${xUfXdizWdA=x$tX- z|L_phV551yV4Thz^sE=ff@E=z!x$@Y$Nf?aRpK6@if(^ucFw3n;3y+)a!^chOi3Uvh1oW8gQRGPK?qBOOT(yXN{&E{d6 zx2V4`Z}C0BcLLzj|CjT84C$?}YFJ%`Wf<RA{$yH}vD+{~MeSHpIV)$IR} zxKb||$$uSvGLOvy0KSm|ETB2qJoUdqI%M$&jKbHeP|DCW zdtkaP6sFrhl@$LAHg?|WC;x6l;U!Jch_B z`-Agv(TEcLrt|PCob7ew`vw&T%}3#B=weve-2Cta%D9R$`bx;%wy2M6==D6k4OP(D z&~+$16S&Uffpqm_5|{#i7Lpic%2&!xV5U=$0s zM(4e9ym7hWtH{#$w?S8YHIQ{$PqU@AK6&%J%@KZ@wTb%SY4Bp}e2bAoKflHAmLE*- z6rsp5;D+np?{`}szp!|&qYyeL_DAY6l&w3Fp2TwodGH-IJ~`=%IgGC5T-LKZh&``< zl5;PIAo4MX0LuY5zx8m4+4oCada{Q2rdKcy=VYU-{zJV6KkODVx4)fs7oSfvgVFjj zFOg{2=lcGz&-IlwZ>{HZ&79fyxeC?-P9Ls^hij;RxC3q$`&_ECF&tU-EhwK0*|2Tq}^+6CdTsQjf-_&v0d)+24~X^Rd#w)Q2)0Rgkxn3V!O7@Aqux)i$tx zd&qXCb(_r0Z65ZOu7!5L&jg((&}r1qIWv&Btcg>d^szMJN%m+z8+m;V6|sp|ANopu}!8pE6nIoUMtW*&kW-A zfSjk&AS6#kKrL)<()L!=?qIUGAz?`{vVzrUG#_P? zCYinTv7ZBzu=Wqqys3>@lbP{roAO<9Diz1fYVm6Xqz1TMz^&oF8&G(=^@H6!c+xja zj^+uN^}Q^WwT~;CkHx|_3yaaZsC^`&*rS|`?V-MRqW7!H+1ClgDoLjG1oR<33as|$ zd%RKT5w7qK47-uu0;mBSaSmVs=xN>Vee}d9NdE0N!ff|@;5ZWD+Gez_eR`OQmXBmD zTviyfBAoVzh_v6NpEvN6ZNFB*pYhXWBxU{ZX!z>lhi2oi0!-Et9i1}WoRRZC^?oS2W{6D#pf5rr-$QVdu}n{=*57;76aA|1KKmg zal8P@BiF9?;Jdy9pk0H_?so|V?Yb&+r&Z=ptug|)AEXQotBj!Shb)S3?!~3$z7er@2|%@wYMcD;9Saw52x7_=gPn3?c{hY`gJ_ps@nI+ck#lmC_UDsXsgYKi| zJ~FBgXssaHG5HLS!4JvffcniK*6>1SAb8K% z*~|+vhd&|p4?=s7^d|Uh&m*K#)OtSL?K?|`k#b8W$f)&h0a@vB9oYlFAt2py2w1KI zJZBN`L;*2&Lzp)RNbeg2?w0m2q3Wm~(TuN?Sn6|2u==f9DJ{Ij z@YD^L;Klvsy(w&+N%J_AR$D=7#s9gb`I2DXwY2+)pzBL%?@7K$8O=PWGSrKD?N8t% zF7DdDAGh|`S+NVKmHq`CsX*h*fmUxU3}~kh{seOKbD_PSJCK^J#~Q|aWdYS{TH`r_ z2(|?`D$8Kd(UUvuNgO!Y@x>JWS>R!ExBdRB{i;G?@^AM0Wqt>ie_nsETwgWJuL<)X zdmav^P~{HnAsjUCw=C~>loyxG@8hR=`*UI3A{Hf_TV#P=E#ps-*R0*A6#(&PDPkIk z)0BJD6bpb#mvuBPz|C&)zd(d->Ywt6)t(~w^AyVh0Dh4IECAq_DZl~%ew6~!fDslk zd`?%S1pwfsJ3tz6?8<(N8Rhx!6vYAnewzZ)fUja0-;Kc{i}Nlwh4u~0`16CnQrJsh z6ULt#Oagxgy=E9+V@70m!#xSx#5HoLTXS?GTe0sfT~w*@d9eS1A9rmZ->JwZ8$sa< zRJX}jaRS@q6-s?cHd}9dGmPRDJ#{F&h9IwDe=c3 zGMdlMM-$m8B$ZDVRLY&DeXCOxCp9cgw6~aSA(eX;a$Ik|l^}9TTe7F_-QS5NH;z9V zUT!g7j!nr~i6zbv4z*9vQLb$ApXk#?yABYJj1%`Mt>G40HIcp0x6`_Q`6(Yy2|CBa zS?2_Pg3gKjhVfB|D>;cEY$2mC^BJBy)UGE3)TQ@19Za3+o}x_2H0bLV?gS^$ho$Ve z2KPt=eUH~FKbqgM6O^$+b0U|InTFMqQ^{Yyww&#VP~(jDX*|Y@+8r3@auGhX7W8jTDeF^-06>X zdM8|&Q&nO8=K-pUKgh9EV^Ym|As^;M?wxb^;ft62zK$L=6Ta?ZesvpFsWylbS}Gr| z6k;F6?#eu!I_V!@nk2PxOwhT2r%_I`JzRiAd4rCid}NbfR`!(FeShtK=(#)xXE&v% zVtVvsBbYm9o+ACfkQBWno9kXgXdwb_ckb)*EDjEE2fcj^hZ6!z)L&o60j`hkl&m8- zq(`OdV0}a%)e({&hQ!@zr{|mN%27uJ`s_CO^H{GFf#gyW>z#bD$yN3TB90WgKEbUa z)+?^gHxG~W#;8(p{ava$vP(a;%`wB$SfQNLnL=)}kF>K|Dpa(yT8at>BK8Oex>+6w z`_2Q9zzza!`6+Loc{|_lSL^=&?pK!~f_?h={ryV%KhUp66ipR+@$(wKWkhL_;*W?pn!L0j1HTk48 zbx@N}256crsY{d95@@o-EKNQo&19-CO+Ix9;*PX!(R-8=S)_iX7jE8NZ)qvSF3A78T@MNg2ALU4Q%%F_$7I z+&ovzS@}_N4JEIupV&U#L{jXEwSr63$D#Om0RR`Da>x?L8H>cRitgKZ$%IEl6gGTn z`v~74u=UiZQ71V>tagFSo^g@0LdR-6=Jv-tA96{a#UPxwy;8>7%uev#@q3%!x$kZS z)mmsDnNxnZ*Im{AmfHd!&D;FXU81)+-&)s9Z`50tw>1ElvMS%I^-{+2tp}wMcc(Qj zXQ}2_ZkSJn)Svk}6JUL`nC0K4Eo%PHdU(cfEz_5u2U6#`{3QRQ8O6VA0L*S%qriH%nR=XuYD%6pF~_$P`NoH=!muKl>6RZ&=H5W z3e^<{D5oCHf)j7Ol?y${c(WclRxqs?FE)>%FDzo5ZsS0Bhztedx!!D_B_3S2S7pnr zd|lX8t%@2w&R(P)E8%p@8MsxwEq>_{z#kXAtGKla@%R%Uc@VCHT7G3aIfi9b3-hE?DUg2^1o-wFIZ zRrvf-OlDyZKND#|*HMt0<1GBy0DKq2cs9OXiI1d%U9^Cu>Sc0?k5l4>mMC^oiY}4! z2qpW9{prJ%WH+v~2R$a`nl$C2`lHgIyOeAX z6BrOqO`-0*_LG(M36^q9wm-Al%#_Ayz(w_CX)tR&DxFVK`^+wMsNI4D>%%9}n-lJ> zB&ca^a*Kl1+s=VDbDmYN$|pMn*>#uJPM)IR>|+!3AFk z&QVulWG%(m(t#d=EJB+|B=-eKL3_*S zK>J^d9H_~*!I~6Q6YID1*353}x9?Twq{o%`5>`hD&SY~4o(@uKnN%$9b>lu0Ce90EC66M1y}&USPHPfJSz*iN_?u>*r9j2;v-;} zb(Sq84R3ew9^ml+b1c_CsbBG2d?G+z-;PffG3{NROZ}gz`o}oo+;p~UoU+3NFM>BQ z61<2~V}kb4yx*qx+@%#WB$vkbuN-YX57J?L8BB~7@@>Z3(#|4{tGy3>?W?#svyy&3 zBKydEI>V?~Za)XCQq*5#=r1KCn0HcW5$7f>Nx?-pL`rXNsC5*Fo6j$(6^it^cBQ%&9KW?TIsn{y&l z4@u6I@Fcq@!Srrq*Pj@;j5a&q!`ebVPspBup7!|FCyrx;kdDt6PJf+j36b~$AsD%b zE2Mqyw@@~%U(OCp9{Qq6erf!xGByWE{)ifm*S8gupVL;agXxh{z{&O(0`BLEFNFH2 z;4fMVAIoyX)_*~e7YFlR9znqeitg~zUHhksJH{cdnM41aInw?W8U5aFBXjLb?2Do3 zUtZ_TB}e=ub^THMyQWaaDCn=gS?lc0S6LvP_MKyIp6hz0*}W}&7UghH zO6zjIRLnT?(puYdDJM)Qt(4pbM(aOOa(l&_eWcp~a39@^L1P*0#l%=6nC6`8OOz0; zhz?Zn$!2V~rGEHCHciRvZHQh<@_p*b*DU*MbSBgB0Cb$E(jGjlnSJ_kb7~2EGK&kC zb)uaNim7PJSs#KO)^$o-uXAs3;zZY&$I4ftrk0-koOkLloQmI=vJd^Yvz4P&|n z1;fGH=}5BYf8}fw^pB`x`&?WteY09fQ6DvCr7UWm6Ld6IB`<;`-y}M(=aw}oyIFT8 zd>+}j*Yc6V0EzS!dK-fH>XAyoQkwZg&RNZY^yy%9Tt==j;nc(iC!5{|9b5t$NU1m& ze@s;y3sI*EusI*KeoMK*(<{WBGyNx|$9rk5t}wWNTuEGZu7^IG+$Yw)g8C$X3VyZb z{_npx3s3SvXm!V1gKHlwXUaj|aZsDm@wGdl(N(hFg-RF7`imjcB+6gV(+$HqNMSK& zFb1Mh`#!D>qbH@fIqOgTRI|o?O6v9fMC-KA^Dj@%h`lhrk~-sNtWqr3T`jhJUC-wE zBHAJ72Dfc zdyL$Y5)$kM$L8O{Z$IB{1NpvrzxnJeNUyxx2l9RXe)HLBlUL&Snoz>-VN@!}HS_U2 zdR>olQmA_OaG*mSiJ^9|BT0wp)_Tvh+&-VaF;)n>!U;Oc%7W3udL0H?YxU=77A{m+ zp<}e9**<9f^A6&bnuF|MCK}+;OmH|^S&~tNi?#E(#i4W?>=`P{YJ zcda24YbYWdKMADd&r#N95i=2Atvq~r$?5tDJYPZ`cpKWdY>tO+2}il=G|yjsi>|6jm>f`y zj4YnGj21|7M?|)V8z`10{Z<+2nMTH~9re;SBH(^Djdv=dnHFIIe4Wrft^T@NMmevJGqONIp~o_zNZ-9PUdE@{XrgMg?i2oQFa?*$onOm zGqV@FF%w%PF2XDMV2Zwl$M+poKxhR}V|S)C8{Yv?uglvJS1kU^6#t1%+}(%CPL~Ln z0S!7a9CT&K8}MXpM2=ssyzd&$t65V2w4R2&+yJt4I;XoEGIyB#{um1Q@$oBp%3056 z<5v(I3;RcJ2QFQRIL7-k8ZfN(?^*~44%%vLU_U*>9!@#ezD2Y{4unb$?VA(}rkzNq z+m9hS%7+B%%dMQ|ANDYwwM(V_OKn&3S zpkm;vj#u)0h3eQ*d)diXHs^X7bqH2(21!%wEG(yubsDyZvpgVGS!Xx3FD9YZkNaHS zmFUcaB>U{{W0?uJ>PGLrB-ZYyqF>Yl$|$$Lqu+2P#j*#Y(+rcXo0tb6D)|DPT;- zbt`qnogb6A&gBR|d@T?f-Sw(U|Kbl6+QaCvO4IR1V5x1Kg1_CypCzU%Jlq{LH83=o zsR=qvxw5v{PLhH2ZM%ZKoAJlcXkWl^FkZ}cg@@WEcOi5(>L0FA;`J07Z!-I9-Z6*F zHDzd?Jdte__;&eMKL97r;kpAUyW6R>7+on^xqF%Zhc+i7s5NeI z6ut=scVtCdwmk|_k3uwUFA7GxSX;<8%TouU*T8H0jZoYzkip~4up2)}KW`>sZ`s|9 z)wXgAli9(Seabz1GN1X_z0RJb&eA7>crVn|$*oKs16Ludgsy7G8TglVlMx?j#Oy17V?KjAb zR_qg^LTbMa(zVxz@pgI&GJms5dIyN{aqtP_Zx!I30?=>j1KTynksIgkA$nBezY!UR zBSDh{E$T(yMP7|K3#8a+XaN9QQh){0yzlntThmkvFb;@v$TvveBLuYt>mr$~^%Eua z=g!sSuR$qA@d6CHquI1wR^JKHJt){NBNbmojX6U9PB>rNoLm=ltSa$4h(|U<<0|05 zqCxy#NkL0GwN2S(5Z2tt(d&)_hrV{&5gs++-@rwdZ=UNkk0yQZ6XSGwMM-|Yt4B`X z%go$qd>yY8`uhh+(p_P$=N$Z&FxE?=om^J(x8Qb_F=&5KK~eWs2)gOJEPp2Y@yDq^ z@^@g3)ekEqA0mL1E4;t&nJA_>6 zzKloxWGGm?qv)O8mntpj=;4U2@$@r4S1+P_yy$)=rTZ_AF6^cb{qLiTKlE8Lbyah3 zi5Q9Y0cyRSVKup%P(laiKs6yZ2S11U-5@?%?+0bqDP*;Q?_XtiNhs|W$l%rZ^JK$M zbGw|$zY?>p&d6hTT9=X0Y88J4bW$}` zf0bZ=jn^GJXF0=_c?o5{hBEt_q^n&^F}9Z%g`yLA=%)Wt%pj-D%UU0?dfPH|ly$N` z@%Gn2Wv%QRJl54N8#o(k8@_JLykYZD<5et>UYv@*3HfaM3VNo4 zQ3t&bH5S@y!DZcVxPyg^kp|m)j{r+c32yt2I~z4KlQVu5L>fUrf(=wBxXr)O{Jxiv z(^e}t$8H0#awkjZSu1KhbgP4t%gf6v#l7X_@wXrYjY~DyO$R&9B(ruKnxb6JR^xA5 zdjHL)&2cN-%wnHiy4c9O)7Z6EegIar(+im4?~qq+aidaZ_u#u?c&wb8(t5yuxMII2 z4BXzv$}+yi_l3cM5-^e<2w~bj$v#;wmsw>km#ZN^lPfBdlM7!(X5|&-$vgEGoA@%g zPkty`QwwMV$F`FnDOTWHH9r>7tpwzJwMOC7oxzz*K}V&a##9LGC*UVP)sH01(ICD% zQ*2yF%G-(S^D|sizqwrIJhh>@mJlAFk!i%`!ju>B%JND+C0|}?wsCUVSLa7?3;5oS zGs&=M+YlGIZHOthA*S3!syxXjX(r2)aQI*O3-N>4+jFdEP1(_2^-uqu8V=&9Vx!|sk1O{Kd>r{-5Y-VWZ`(K9=RByxb za6dt%{Yqx)d!yZkGH|xwY{Zx@fpkyv`E!|jp!|CBhsntp4VL{*$R(!`Vzb@+z;7jG( zu7SO=$j5jZ+g-8hALT5cfVV=+ibU=2LE6fzZ!YIuk$e*@N`3&mJ_lJgtoX#3UDDcm z0`)9sZNuN)&g=F(89p*^pq@eea~My4!Ov*@R3`YpB*c(u71{ zgQibny*hHl*~O1`Lf}^rXuj925IhItmaY)cfcSR-TWc3w=GF)pW_}H_&0CIzpT816 zozp3?#G-bnn~qDj6d^GdJY7(B%y1#Fo#OHCG&(qwz`K?ACIHYl2GukQo1-G_>YbX2}E=)6*N(3@BAbTLyLgrc$JW60)>$Z~2j z*M2mksyhxY+%hNox|Z1;gVfE7Kc-&XWuS7C-@zGo&&^}-4iID=oefgXWHUTpuHpGU zrDN3T1wWu$HFCwt{Qm7=+Y-sAxDu^^E%TR??O(I*!0Ji1EToR^%HY;{)GEEOaVX(7 z60&Z5zYMXo^U|g=zH2OX2L*Vg`ZA}X+AIM*!}LHE2y=MR6p0$(sdD??{}(V0aS%cV6}+(Q-n6KUU9C_ z7@tprCEiztmVE4|!Vfbt-k-O1ksvvpWK7B!&gf4dV9O%hJPVX>xw8rT|1tL-@KqGw z|M!{M&CR_by^(U$1EdiMgrmq-dn0poodYP%TJN1O+rIO^P6(fK($O zB5F{oCejfR5D^9SIp@q|bNQk^zwhh!Jg@&hyzYm2pL3?{>}wovZY0M;;_RRL-mN%W_`H@ub=$IS1IYam@(KE`s1HL&^K-R z?eN5Vu-$x0`7@TOuBDKP?R+g|Vs3TBRf<@F>%WLhZ0D;s6FXN&{6Y~P*gr*NVtW$q z;ZyOV$HXpZNy0gtyl_iWrwDuwQQtPorzwm`85K@S`|ogU;|l7tw;sV2g3mMY?L~E5 zz~>$I68D-9AAzUYVr&8(K+e=!DsVmd1-^C;X+?VyAsn~4^E(=TeX1` zXvnKJZ~_h8s|}o}9(tik2CjG-dM5slBk>RHbsTT4dvwBs2%cr&9~~ecYn0wFy-CAn zjp)KIUMRp`0&l#~lYkE^j>G@g;mLDCk1?Z$4jVk0BGN7bB;p2?aBmOjmM8#s)sT>L zZ$})Q;6k2}h}^nx_=6OTf4K39UJtCV<%mZ3y-s5~@KWus;^zQ7LjPu{Jo*8XrgL)~o~L$h$F)$|;Y3I@lNTlPG;Ud551bY^+aS?*^nFH6XjQVRN)! zZFt_-7g{x|+sqg4X?EV%3(ouOYGwn!J1H{buE4u&@JTDG$R>tNPr zSm)nOxmIy{H|r_ZT3J+PW>#F*4d{@CJ7#!1t5=o{UPkqW_c^_rW4`6|Z=Ckbrd-{! zGqY__$hw3rD^YvF-fSx81Y26QrnPf#Yl|>Q}s8@s9P-L?< zv@D(4P@fNG%W$^L;q-D;U-+rbi8eM^(3avwJBklrjb^Qb+Jjr-1&;RAx1k;4aJla8 zklw)tV>+Doy;HZ-){*Ra9jTn2toN}FVlC@PC9lG?FMQLH*2wp)f3k*ks*CI8@q1{z zZOA1(!1_Zjm3Eo+SJppSJvx)!n>C0vz6)9IWbN67N+?A2f)BgU8b8p5TK*GyAJMJN z>q?_{W!DX{zVKJKy3M>`W*+t73RD|h%FE350?+Qd(0(G7v^%HApxWTw?o`)0R4+Kp zmd-t>A8@w-U8P!U523{dkM*El`iRp9SkI#R!rc55c$`yPFe(0v^~e2sJ=_abQ!^wx zZr`}4LSI)T2T}kO;URb+lZi^cN0}Uu#HEZuvSY4HSd2A1M=?k(uv~wNckIdM!<38nL5RYcI@1+1tf3x~58eq~#;wjkqW#=55a?^qzWd;P zuCE8@8-PTm+{aV^o0x_m^~dL1w=<1p8iYSFpvVav`7pi|m1qk49)@qZhPg;Sxc@)H zzA}y+p=qV2AKCYzpdK6nKLf3?kCE*7yVGmDR?f0-6x@JC*!s&z^qbV194RH`8-@4R zXsrYx(eIT_K@_RUCaBCrjvNgRrc9=B;3ovG_ZCbOAX?BG%fSPK1N$TqJINpVvhNwl zpaBE}kbLkc(Mc3znUBiR(t+2WI&qmEVzgX`PsDW=G?u2xh3I=5dN3_xdIyP4^|m5K z;dhSv+4m*;mV%2*Imh)a#UFN1t1lzjaV^XjfMhplX*aejj12gPT0v*py^|#;hH{SD%P}z$%mJACw$5juIV$T z**fxbrq?xn!St@Cub4j4bdYJkrf--kH63Oet7|xlYYgBdE}sv443+FFW8XeaD>Z%3 zzDr!nJ~+vAm1#emWfCU!#20Xh$y3u6rZAKG`b)s?l;97sW)sr^6@Xt&kTwI+*Z5Un zF^;o*^Z|SW96-OaPQqPZL-%+S1i?NhvnT|n2NuzEimeE@r zgSH&Gg!6q1og|IVjT~7CF7_Q}UnLA=I?MDuu3@U-H;z0B&vMI5kJ=spr{G0NBe|hR zD-Q?KEH3jw^bx(xk;6Ii0=&g-nTWX@Z~@+7-%ITK5tebQ7kRA1d_Tf!F6AiF3~>=Q zFkR5JnaO6O$e&<4=L@${eV1T2w361lO*Vr@$b*_ZnZ|0eGfmRuWzd?QEh-Io`5+aew=AcrfsLND`$)MLxU_0;7 zl**LHWE1t7hA?@GhD@c7B@PGJMI)xKG-WcKVRDG3Odeh|LL8zw6V7t#<-lWGYo>fA zU(wE>kvzm}D*F6H4%2p|wlYL?S7mx#LtlupA^&h!E2ixFd(Dr!+XV+H;|688pYkbEFPOlRLs_N8d@^rpyk z@e2DwnHq=%+?IIn=H3qc-NqvJxsWEv3{l23k*TqGhiNHO6S2%Nu;=&SiHif8ik0j; z?fpBJa;MnD6z8L83y-W!pFF%NeW$=%P?&EF5=Cw^=;$<^=`OL0^S!2NH`5xXR$?#H z9;Um+KF)WTDN7tMim{aQOxfZf`>ty`&iQKj#``*;wfK%(-32ev#X}oW#ncDMfpmf+ z2XSPM_<`5v1mD^ocR@#Sk$o>9O^}_$Wv*d4k^{PkYwY`gBfE+lOrL4G$u)Sir5bt& zn@N4vz8z6d;l-4MU-}%-OL)6cKN0Lk4~ZBz8Y=2B_3A|VMv4rkkxZjRBc|0%V?-v? z$4p~I6DD~NJkSN-X{a}8=7 z9PpnHJ&RTae1p1~bx*)|m_8hE3a^Qs2{?<9g@NCoPGX&hnpbpy^;^~ps2LC&6d>Xt zJ17LTLr^$se$Y2q{sX82h6Xv&@_0}zYH3gs>T@_*WgN^2YKEKOn;f%@bsgpv@Ga3op4$^@3K;x1^f|C8XQ61W~}`qnqhiC#IsUa zs@ps%;v-2dCoN+QXZ2y7!rrke%{qZ~2ft!} zD1ubA$206tYzehC4yX^~;2O6xBC@8#!>^;CeCot6nZ;pB)gB#ndps!4NhM(4t6-HKR@UA-<`20jg2n@ z1O!FJqWAHjR8%zrhX!S0x>r;S+&UgWuYkc(tr~bStY2~bSyumW%Day3pRyij{f)JDEO{T`$kD9xSR13=eT2A=jh;n4 zV`rHekQVnb#*B{p(#$KG8Asdf64VSRkNXkrYU?``cMa3u#eqj0oR4#O2>3ZJ5cT&s z+P-|_N!7L)%W1WRX2jE4XvLP!@vX40UZ_KnzdNbNR0%P4$#N%aue!8G)ENHQN>`7Q zn$c1-D)!)3W~)c)%^J>Hmo*(Vj<@JIpe?#O-KX9uT)Ic<(a0PSu?m;s-Fno{U8r$z zrrr@;#-Hk)LcKr9u%SJPwx(mOHTy$+?k2g+hW(RlpuU#83Uyub2N)ld@+XcZwGGCk zP#e}IpTb&VQfS=vN?GKY0kczn^NfRKtn2Y1e*xQ5YM~xT@kbq;T7o()^*K9UyGq?* zPlPL}m+f)zXDV$S_0zl^0v=CGKwXwbZF6s-Z+)^*y#ngjr@rmN`W&ljTXlM{kpU$Q z4m#psRfC@#x2E@5cIBX zmJPqd(z^4_Os^FO5t-Bv^)m0kbdyZ#dFqWgXq%aXdGF7B(25zBITTAM&7|H~kogVX z<4}9)NfBdf^(VcT&?NZvnllnwL}2*2`+onCg}a5X)DzJ&1PD0WhVNSH0VD%kzOzhKcR*-;s?aOdf zx6YxKcSg0rb2$N_e{bJc+XhoRe1STrLz&G6i&&R;IF6QG9ezYTj{5g`?+N>R`@%3P zlS)%%#&o1|nzI&m+GNV>LmX@BQX9GRt^iqLW_mvUWb`8?N^ z;Gh~wZ(twN5>aov_ujQTDDuT_q_48ZbbJ!8E-&vu?H}KYdVXloBk?x)t);*HKrDW# zgi?FFe-A9}5L2-|&A$&)6;r9bDf%Rw)4o>dlW;}(!rJ@0@M`4m78M}jZV3NM(Ki(D z@A+9Y20S6tqGG58SxhAuIR&r5%wa0ent|j8+pS0!UQ^v;Q32AI77c|!IBrof-cdWl zq{^%fmo48yx+@pYEwg{){}x1mUDNme%aGC(!DauINZmAD^IwZkYL3x#!+#_GmT#A) zh=7eab?+rj@kr6oKY?q2bfg$~QB%`^Ef5PEHMK$?Hj8cu;jePrqAwn@HFZK?0_1Ay zj+6*JHT6NN0|PWYfK(U8Y8s4G4<>0Ej+6wiX?hGP8P;ejK}vz$nqCgrf%l&;S+pDK zLu?&t+03vR*#&+L;C`l3`^|uh&;SN$vIVY18m`Gd@FFyX$2EncuOSp^ibr1tOwp8q zz6_YDh(}K&SY*)^yn?+?5oF39`26%4P1kUoH3pBms?V~pl*W*vDKF54*U~#G;xaQK z&!PhK^|fdyzFFZRi;D4{{BR~UUhug~{ww$RH1H-~7awm$b`W>LB#XL;R`8NV_lhi7 zWYK-14UD0S$8cIuDLH^|P~^f@O|PS`GnCXIq8h#o9w+i( zM24c1!B2}Ga7okk;29zx!W$`{f5wjC=EnDTYsx2Em>97%PrX=oIjd7!0j74MrLQLo^)^c}EO|ahl@M_b?n_Duz?o zvPU2hAF!m_e?=<9J+vZws0;7b?A8>@)E}S0q{z6?o9NrDDI;{87zPXQsZ8>76cPWkSr?ZUZHhHGk%k zrtV0S;9X4vY7Y`6kltS98(Dj+D23jdo~*q~OolNQ72xmP=V&U%8m2-emogL9w+;%J z3QO6i_Ak?5GZP&xTzF4v*DbW~7OJo)T26y=itJ6o>&WSFRS{%`ry>o{p>~!+PIv~= zG^S$c67IrZCNI#wfgD+(>9RlNGdrk!Lpd^)sThixvYE;q)50(EeEJl*)9>~0mYA=t z%Ew31>5!|5j+@gd4FAeKa>BDQGM{~uaA|Yo40xDnrx%s-JUpuNm52948mkB+`y#z> zQ2~zp-Av_h03%<5Uo=q-FTtNG(oUt!0$WF_z1V&@ya0b?=*LuQKM}qRe;-&|`!0nK zm9rsM`LMo0Vh&_lG)%q>otacS=i?n@ULx$>Y&jqLDza0*EP(smA{T&*snp&&Vj22| zD8d?^kPBeEMMLF6py>;+mw1U5!AF{?hDGp+BCcUE>}67ISqz^smD-0!Op}Y@pr%m~ zFCrb+M71x5Q;M+mx#+Xubv1R4@{W8PA}z|1OCiZ37e4uv#iUxc97buPmMy0u@UPtC z`G_5Ig#xDClAa8qKl1IDD-|$R$W?B1M6PzDO1Z|3PRsY)=z?79Mpy7|llr3?uFLn` zXp~qFPpW0GuZ`#_H^3xKJD7AnpS{>G8(;?e==dj%4Pf9^L;xaRV-udM5~(e93nVj@ z^Lp3%Gfu$xJ(&AkwTS3+sjQCs#x0+Xu! zQ>e>S%G=SWkgn-;L{sBaXsXE;xePvqR+>_o+B22gshyufKjp)gwZwc=Eb3x>1*k*{$Cu3OaCI0nwns-3jGe+SQMqE>$g&nw~{tc00NY8fhFHj`Q_mGHVnE_?=H zwaUk9<$KtmiOT#QwkhH=PryzlRptpOXHskB1nk$5w6rJSu=bsfc*HmXRf=%gMok=n^c@L}gxr zw-j-imthH$D)TZdXHrL?%do|w9C;Z&QTe#cpJBfyD)VRf#)_O{T!kMkT4?+NHx=0@ zM=mw4feWvPtG$g2euW_x6(EhYXeeBV2^JOOQwpU_>fH1Xc#&x?%!z#8_=^g}zj7b? z_9BEP5Bl~}L-g%Mig~I``?|=BV2HOB!AFq`k=AJ{k9-SEaZ%I$$eo5M{!oPL&jt7u zo&U;xjz;dK%T|g!it$Kdk2MMWW{Zf{@o}e_4Qfwb!Iy4pk=U&0;Xcfa&AGI zt$c!($RR3KKIraT3tpmG9+h%h(DKz1Bbn4U6mKz}sn|~6P`t%6+DG3|e8e>Eqi-la zVwU#Z@4N`UV!rkb#TtA?ney?n`-#mK{bcxw*zQ!j+J^*+&YH$JuNi@&AJb_u#(BdC z5;L^#Nvt7Qe5QSqoze^z7cBBLLqwAvRHoX~hKg(^>ZNEIDjsAy?Vz5oEgohnwjX!i z#JiE>luyul2oneHrBaIFoHNu66QkKT6IQp`84xbAdXldcVxkhw2+@_PO4NzkAtS{w zi*`$=7;Djf86_rIR3W3qB#Vy77%{`5N*OCYx9GHt6E`fnAmc@FFRGpDyCM@rmPOZP zqUdAMC{ahanAFx-R}5h)hA~kUMqP2l^0hJRigOlqH0z1*-c*C?r6iH4i2Ef;jA1H< zrNMiRB(b~?MHT~nr%V#NHN6x?zSzFX_hwW#Gf7P7r)YgtPcvEc?@xqhUr`U>YpG^4 z6+@IdU#=3Qc{rbm!kiJ6+lBi$|LX?hkZODxtj11VeV(6l`E zHM6y-)bw?1nb}4(A41DF7k-IdWwsTqHF?Kta9#fI^ zmzl=z9gg}Vw!YPUd)$ufkiAqhybzCr9#!R3us|;*EtJrOkG`5SDFVHfS1D%(DEXHf1 zGx2gUTN8bsE*E>5)LyDw9Ai?Wpj=$ECCiMw!qkV6pZ@+j-`EaYM@c3NJW>PhL zA@*sa8om_QRV4lj`J%^{V#G{tCj=+`;_;Q(pvj58Z^Uj*Es|VtNQAvqy+lM!71bU5m>4l^M zI4&O4MAxjo6%T8A6@A}|(VFP4<#*yqCUw{HJ5i#2bQW7FW@sPXwX77cFinCtlCo@7 z;v~~7JWKCrJE2>))3ZfVzU`D4GK-o$3EoNSXFF~AJ`L<=J8LaNPI!UsyeQ+y5*%lb z*nSWjm}bL@q*1mD;s8@Q&|0}Dj%(kO&T+Pj;=CsMHvdy~nLZnmp0ZsQKeLba$u9hr z!VM<6W?X>eHJe(tQ&Kyxh)_+`vY$mf6J5_Lu>B$$YN9RRni!~w+VZP-L=$ZRzlv^i zsLXOZ)&8q^l&RGId(up#u}sBw&*Y09zlw>H&s3e zPIkc!5jvM@p#FT#c0+VzqU-Yowm(F7MO^!z;sK^zf=1S#Vt}T0$x*hy#6ZiJXao6> z0%7PY_^ zQD0|LqaZ-ih znXAaYCAr)dD)TkbHPukrU(?>?3iJ(OqIG-3R$B(Y%56b%LAb1E(Ft3)idV`5a9nSQjh_Cad$U{u0#i8U3&lGuz zsY+Z)ZjJP#_Kk7&M7pNwNvF#*P5#NGdbhr`y-78wE6DYwuO_+^Q(xBBL`UCr8KY@$ z@?g(&nZ%^}x`BL9`M9q$L&b8m2GR(7?tflFml(C-8We}6P*408@P{e)KLOR}3%eN(Yf@cdEpoy;iwvgeP z_9mC2FOf+t(H-)6<>Mu4DHmI0dbX6SE%NrfOZvafH9!T9@>Vk1q5`;EW-_T|&yuS( z(XwaDq<1KvTJ|>*##M3MP&wDfYfHSo>mA zGm&DI4}0ludp~(~CFLuHMyZ|b_}cbWirS^-*!am-O&fA}mC%FdN>tD0uJIU5itIP38 zl27atq@P9m?N7-liw@c+%2bPv*`JmzEIMH?k~tQgw-?KMnP?fV*`Ja3D<4n|lVqVq z`|TyN;ytb%eFyE&%99qIu$RiKOjODr_Q}#*TOGOIK2=t%tEPkYY4W5+C+ySZRi4lE97I~(RcC2%wryT1o3Ql)A zHd+*$KH2esMUBvhGcc=mdbCb|$+5+vd(pSGntTSO_mtZ#8lH}Kz%8OBs-X$#?(|&x zd^g|g=@;=Al-2#RBz>(L(X#KbeD9?X_O!@jM|!HOT;@D;Rw$@+i zD7WZF`g+IiYVrwbu*!1mXBXLT(XN>Qb&c&dJ_PD&KjzZ! zQodhh@OC2QyDrbV(M=h)gM7tssX>Mp7;~A_vJ2yNi<)@}!@jeo6w~18oOGFXV|O|E zR6cK`Et6V4Z{vXF>*nQcn4i>?;$z&a>5hgujsW8&CRIw1@v21+c?B68-6DgHAKfU_ z2-;m!dzcZ)blO4ti7+F9iSBHT^a?Z5w2!v2a3fRu9&I=u=`QV~eMp4SPWv81Uxd*` z`)I3*G!R15DKF$Gn_Ip+!%7#TXk^K0*7Q1Y_}@nsz1{u}rF$5{;#n?`^L{ zqnzn9=c{8>SibFEb&a-rRS({g@t`Bs=*F~5T(AG7SAAo~r{voup2+yptD#}vr)Vlt zW8(l*F)YY9?$y+2{u%j-;p>d6UUwLY`xRZo$X3Q~rd`5l^rcs}G39gR3vJ}6)z(;q8~e16N_ouaQbGC1*SOZ>MlYtB&?B>dt#QUsrgEU=8*jX5(Nm5mjYBGupA&z| zILSn%T(duA{LG}*=0xL~CR&?M8^2lfl%v?VsfpI+B*X6@wWUhX+AJ~RHPPCfY&6kC zYjcXxK@+XbX+}RLs(o0k>BeJBryX?MoMB8~@o(KxF}(2?>*<5x{|Onu2P zzow-$$m5QiCVLa2&Q6tttKT%iA=P7FVvcCY*s#qZ!)jeTw|Z|0eyFR z**Kypy~(0luNdbndZ*T_#%~s_uJxMHU{XC%Wh`Qv2@{%q?pUFvD?vqtPmmG4xuACQ_^bjACe z(bb}x-ai9q(?s9x9cB|nSbG7^aoyIUVDDPy1tzuE@HTre zseOU3>CzONZzTAcCp7iT4^Qwn3xA~g=ECyk1AGF^@tQUw1)8%pl_Le2n>8Io3N|a5 z)OrXp3odf2v1Kj@F$)#hPd3kYgqUMAU2Q%e=_yV0jW5)ERukBX&uDYECb|Y6Z644>Pd!GPVRJar@pk)} zwrDd}k&rnq^wrZ;k11J4KA6+Z5p8BL(KuU+k%##1fT}OXj9sW|r}|>dBu!Lbj9Ia$ zroI^Sm?Ew(#yqKs>WeXFELM?JUyM1MN!1r)u4O8Q^&MOgYkscjbEY3Oon>;CaVgvr zv1WlLYFVsVsEJw@YpzqoJrQee);{WqSaYW)YFVuLu_6bxEY|#tNwqB2G?&!W7iZ>b zqWa>@d`(neoH=5tT0ZLeICGpL?uj_FNE6i;XI|2gR9~EVok`UfXX4M5@UIwBI=Ud< zY^za& zXH^h!1x z@%L~%<{+h*=eE@>L#lcC7Wz#Q*N|#%+EEjkX70R&_9^1XH1kL6`?L${o4+VRUyQT9 zImG%t=7Mx{gd&*LCB~Uon2m$uPguku-WT%ri`C^kkT} zN-Cuo-tXpuMrITr)l{n+nROIFMc#w4jm)*@DN^|wo0}BDTRkS&8=Ex6;nLbQTE7LQ z-wCJrUEf7D;O{LaG~r0{;`_`v-HFp(Z%hAu2{@0!Kjb~&Pi^SM<=o%G-=EU|q&1QM z9P@8^AHtHQu4|ZE+PzOy`scWsy8hcGD&}R$4x$oBCC<%rYudnhdj8I0;#@vtS0zm5 za%SNAk~p&t*;U)7v;Ct8vZ$EZY*A@a2@BX##`+#B<(04#(+1AMQj=H3f5rAAs3x4` z_?psGy%H|5U6u3q>FO5Vt5cbw=FV#Im7K68->K;&$?k!QZjIhd=Kxu=w zK2zsaxtc}LvbdK?mg?FEu(v;|f%5>-5>cdwF5y4D?pt?t3FGge(*8H9#w3lvTiah_ z|GRo?ywxrD45OA)`*Ai~?%}_WscyNum-^Ghd5@@sYuFMSL_`A4y+Ebe|E9FRkFQ=| zv@B9@U;kN4b?sEL+D}$n+#}Vx_-~i!_A+m`49DdXI9C(tlf3T!>pc?Yl2F2VtM{~2 z+GMs+nNp{tos^#87U>>;e+$a>pQBo}O2Qn>Wx#3Px4g%RS;T05W5E8gJqlbZCcd6m6SJu1H@eQS)`OSsoU$1;Jli&2k}z4{2NB5PVM zK(?e9J1Wk$$ZN-!(`x@5gy~!BQr>uuNoH-t+Jdz;t9$wG=}zdCIJXehRmxkCN-M3O zR^xR~t0TMGALerjecfs)#x_^)pQ+9G!znKRpGr{e8NekdrIz41b{g#g9%j3$Q7xnU zlDaRi`%=3vyXpb=T<%_XyL$;LmnvWNu<|OqDnYf}z2DX)Q_F8xnyaMxi2OfE|9g*3 z;L;{?&)hzK+}opC`0u5;kB5I>q9U$Q>A#oRD~0+&sp>;@EOY-J;l5_ok%i7nC8)F- zEz}-ETmC08)yqQPn@U^K_({(2_cvfRw_KeUsdCELqFPm>)wRFJ-Wsj8Q(g%lu(u{{ z@R82cwba-Jw_L^F8ncs2_;r)|*}v9Ez5PF{OZD(6E={SsrMmyA zG(!sQF{*+^G{n}&DJfU zFXl4fK`y6edzVni7WZx6eYsQ%Nv$oNYoElq+}ljsj)^U&cDk3KzL%+W;cmY@?OvLD z58P^}@^7`&^i?U>{!iXp?bO;Acq#t>$o1cpS<`-6*R+jOZ*RxFP4zZ@Ys+im|H;0d z_f-Gnbstg7IMUtXp1yq@)mYTt!+>$zX0p3mOqk1dwO@L}EsayLT1)4|G|tS2>Vf+- zTK4}O+mgT08?el+78?20mJMjXHAY!>pxxlSrq27Hk*2OuwcNeTf3m10{rmP;pOyV* zIf7^OvbG&wv#Jjp@mQrT@qe~$sx8qsvu6AH|7xqJG9}JANB#kwf6t1om6A>zT%%^{@Y#}=2oWaXLohqkE#A#TAPll5lz%lmD=+K zkF-Oq-}C6AF)5%XU486U%dWgN>3{Z~!*UGnXOqV{oefgS?t93jresmabhVeJwEHpF zJ$>u(*S{-8w!{+X4B)p*@Yz;_RDF4_{+_twAj-r#;vG4B1T(zo|2Z7CAeF~U8q z&i3uCs4jaei81P2TB$n6@MEtUIfL;@4XSNQH?jBjD>=`!qjFm3{JpO1ME3uU zUhhmLDBakF(yINcMzsbv_n^Mo*u?>{IPd5ToNd&GA20lb<6NV&afZ=+oL6)9AYOz|V8|c^>wO7vO++5kENl zg_woEYn=s~afZ7?Vjg~8g=6A1xF8l{-EU&L41Xp17JioFJfW-bO+TyQ6`YgptauO8 zA7Yz7#I}A2>+v%WKTYrrN)h;}kDvAUnTMYyuo-Qe(Y6_Fo6&~v_<=2G+k&<&XxoCe zEoj>hN5p=#?Z;oV?nm2xwDo~Qc&BWxC| zzQvH5o#5L7<5SQ}Gxiq4li4{qvoz(+=eIfJ1I;d*kMneHM5Wnl$+8=jW~loG+Fe`hKAGKtPUmn)zYZUVARfRZL?^{p^GL#A+-?Sls2XHLS75gaBV!- z`Yn71DrvHu*?J`u%LC!dF>-Nh7uqSZjFt<3&`0x*O_eKJzi-6h8h62BNi+9g3){p5 z#EGyrbpitTS8nsL_GSSyp-!8-0_FkD-a4R>-dcco4Nh#FxMQMm8cX;p!HRN4}a4d*~f2EsNf~7;HBHg zY3hdpd}lSa`54Y=x)#$k1KCL|ho1H)?;bda&$4us^sBv&a$V0F8m_>QWr?Up#IV0XKK;1=*jyNmetK-!`M1kF)&8Mn>I;6!d`8fzx% zLP!*}jU)=%UNU(`kxW6`V;cUB@NRs239X}+JTl`1Z7Fer##pAHF;9^@P-%O~6tvA| z3Yuj)Q_$9tDQH{H6ttzsi6iYwf-?ne(TRd)nM)JYS83c!X;|-DXs7j?DQG_JOhI#H zX9}7lJ5E%!TgxSU9ZcmM$8u=D(NV= z3Ol@obB~mV4-PF6wB?quW^f5*xGrAAS%8m5z8$)bV={~y{M@zQ1l(gQ58aq3_6+Yhh zrQ=G}piVnb(>i?-UImRi;noB>oi2s9l|!3d56_h}lYhRXS^aY*&9r|EXes)0Y5mz= z$hD7Q%NUL?l(f~1;rKCFoe3xXcwCzmC)E*t?GNuH#(0xP*0F%Q{KVC+*|NeO$smj^D>6@00X|(mqK~Ce1S{ zl4)=7c5apDVxy=-|H#E?k>*l^S{@Fka_2{Gm#1>K`z=L%BeEEES!74l_afIAr*c1x z`~Y=F|6kOqB(1i&VJ53 z@i3>K>bw^1FLU}m)=$}6iS}c-M7#&?+|YSJ(so^iN0!0PDsXhkcU)!5IU}u0|5|ih zD2A)t16OgqJRNcq*JDgj9$IEQFB@&U%y-T+4kf?q6lP(EZVqA6Q=z6o&+k^jgf2a$ zH+pON2OBi%@V7R&-8l`~?h@Ia#`f{X)Gk?3CXU!;-c@pT#PFz=2DNGrj@}PLTVhW> z9nzM!%_`a3xj8D=7~?z?<>0#VjT2q2MunTS?f1vXg?K!oE&2j(@6DqNxcmZx&OmxCb_K3tO1} zd5dGF8sT|VS7P2W_zjw4`Zws2_g>6U?9a&HT?V~FWFMD9Yv;?DeO&%NMm9C=qP9v}01N;>Ok8+#MWS4YfVv4`c(y!+5X zy>u93?!(BP7RFq<7S$tntA)Q1?ttdct(L^10KrzEzXH~{o)fbFODvg)_7Y! z`Ybhv^~j80V?NU(D}Je2+&VKp7oRW3qaoLo$#u2mEutk`+Op*X9vjc}* zR>|f0JrZV`2g1iB^uh7D+~1DxB0Pdmbp)dt5Qg*m`r9?#F=93^o3K}!4w{-cHxEU zE&NdZMKEexL9OZ_XsL4rEn_!9b>$1HtGA%K`U|SdC8(|fL3IrgR9B&(x<&}9YaEv| zfy*i4a@MhBBU?7JB}r0UX_D${D7il+)zw^5T`h6WB0FSBs;jM}x;jXzD_2ro-6YkO zFR8BHl9sDKUU!wYJRklM>o_ z4Dyk1*>jLjAUx{WF9KmCs)VtQAwG7<^Cio@sIjmX*K!Cw;<(@#PU>Llon+JhsfLvKvahlf$$#B$Q{T_+Tu3h$vdhR;#&#K1`xOz{NT+=!W+ZC=MpeV%8JE)WS(2RPVsh zApfoL14ASI&&BU#J%KtU!Kh8~ajXff*{p3?2eKBkPGVim`X=jk)}5>;SVb6>X0Rr( zwqYH}I*Ij7)}5>;SdDPXmB8ADbs*~`);C#qvYucyA}BtabpUG>tBB-fVa;Y8z*@yB zaCT)}Qq}>i*->N}z$&8I%bLwPfVG%)G3$2LDpnE0@vPab1C%9>?AfdXSc_RJSs|Xh zv8-9FF4iK}$^`O4BA3jX&FW%ZT!-ueXK}=}%qnnhHe4dsY*vv(mhG%3lY+>bOqKzx z#jJ~17qf0-tz@lYg%pYxtZ}T_tgaLqMMbQOShulOvO+3(V_CCUU93f{kjCCLDmjbQ z#ahG)nPiV;&0=-27O^f;=_VAjh_$j6rQvSQ#hRrwn=CHYBGyH$+gK}Ep*81XO>7f{ z@dd1vZOIPpNK10aUWO0-Vrd=8QpD=Yo(R(R_ITWF4iK}MXcLcVKA4&n#Jm3 zEn;27x{b9`rH4~|C97)$rHfcyBRS3L8bj%Atg&M$y@)mTF-m8#x>$=?x3N~T#y&wK zB#YI>TJ!{${3L0~lR>EF1kyzl$g)l8Q5d1F~!tVOKbSSwj=cnvqh*9Q0cjf>6q>*F`X?hmQ$= zDtv1AE8*wDMTAd8Uc}jm%*Y2L$3#96`E2CWNSian*~$5!^Koa9^9|=(=Ot%QRKutN zQO`upj(Rg{S=8#N^-<+fr=vWhYey$Ur$sl4?i9Tw`t#_{F#}_sjhP?wPRxp!5AkPL ziLs+%v*TWg`zG#WT%Guy@kR0P#ov`MA>o;XC-Agz4c>DAd{bdvtrBe}p7+}DKDIBO z-T2`(YJYr_TmYs5@m~{X?g^eqwMav^4RWfnHcdN<_a@u{u|}ZH>jLTtVeE(ch9ThRm`P` z41Dm{y(O0-2B0M?l3LP@^}i`?3g&gM%RT*K&v>d!NgM=Y;< zPcC)VM5=iAK6LN5ck57_RXM86F?GrEH0!jwRE~SeY8_=ts{K3mo@G@nbYCwjt$OC3 zdeqO|Syg%>r^C$s9soz{Q7u)hMM=Rnz;~e5tQYr|Urw5gUZpLQms;tjDIGjOf+DRmL*3u#FXz_*Q3?e1+DQJ>p$+getmLe*QH zrt*c^2g}(Wejn=T`lKff8X-s0shsc9)rckg*>uuh(y0ej%)jSVW!|1kmH9@Kv$X)? zn%+QFb=@AXB2`^4M)vUrh-#kf12DEZwMx~ldLXVvP1}@3<$5`Xdj6*zTE_oLdS^E( zhvNOgVc^rhU`NF-)wrjm{|&U9FihN2o&k`dpf zC~=?J74>u6Z%a6Udu|DbaKDYegn(YC-{M_a3E$z~TjI5h`%tTJ4=(X4%K+3fxQ~~3 zUE?9tA91fP;UezSCH#VWbct6q9!32N_xbqrm>7v_6QfZ*#aL7?@i?lV7>~W-&l)J6 zL`wi`5Z(dD_pGBzh{3zy0%B1m-T^5_?Ib3l-h+3+@wp7V2aa!IX6=Ue!6kHM9f0@3 z1w4oSx5dk-@8DfQ ziSv-pM_npjLtTM)%<;|EsQ9}Fu^4qV-anVH1@E3qyjTAY>QS*2^%&kumw5O5UDQ)z z73x{B2KAg+i+V-8kNT_FfTdkWl{k;^2blgH700XGgzANF6cbPjRf0FZGfaRFtDoGC z7GG9>xfAUHs1l;&$EbDXC#d!09<(Q+N@yTIMeQU%Lrbpw9Mku(_LpCvr9gg#mVvAf z$%AMageqZ_{04QjJd8R<9!2|DREhUqkE1>-zeCF_cy~hLynv+h=LCZc=0SDwcOn;6l;7j=froUjVkUyg3AnP~sC$xXfdPrVI`(f6j@@KRkVLdK? zLHoC?mGW1#f5&=4{)YCGsMzQ72BuG=;#02j57Zy!U#J)HE~12=q=EXo^gz9V*OhR@ zN(bs6vX&6=Cn}C!>4Rx7NF~1i2=^hZ&5Z!Gv_O?`2fpnH-?Pqoml1-NmZ$>m#y1v8 zXoV`^X(Jrd6IqLlNK6+SQD}dLwZw=)%Ouuk@vb#KkBN$V5+eb1x={x$Gf;6~Vbnui zWhA4nHd0a781>Qn9;$@3_#Pd6Y91B$5=I8iW4#3SEh5R`iKM4jT%8+DpTU(^{M{ZXIyxZk4~(rgtT&p;;XB)9{$ z1X`m$3!P9)p$qC{=!QB4dZSK-zNpjSLDcC`VEftw-*Soi92BC?gcoh!d(49MwkxR1 zY^PCI*v_J^w4Fy?ZM%T_p6w#)I@=}GCAO2O8*K+X=D`*8&Vvh>YaU$0T=U=(=9&lR zF$SO2z+Cg-8s?e@*RlN9ppj>=?KQ~s47Gg-PWxMUrW|26P{Zs;#fK1WKaLt}zl@f6 z`)Jfe`#G@*QZQx{Bw@@ZNW)y4ARQw&K|_q(1dT9q6J%oKW@v>mn;{G1H$!WT+zf3o zax=8Y$j#6JBR4}QjNAfUFmelY!^kbr9V53uK1ObVo*20WdSm1k=!=p2VUhhwV?Vrs zk^7+xBlpAGIGfgfSb~xJVHrm5hZPvokRPFP7YlVx+e77&~u@V+I4F`6Sg(%ldwO-Y~jA) zq2bZt^}<_*w+$Z{J~MnncvM84h(-~2L}W*FjCeTWrHBO)Z$~VRSR1h=;**FkA}S)j zjfje@>+Ip|;~eIk?%d`4%z4Cl#u*!x6xAhaTGXpiUq<~H^=DM;=;6^%M<0y#kBN@y z5%d4F_btF}UFVqx07-y)Kq6$>QcX&bZPjuj(R#*G0?DFCJ(!RZEmC&8mP>=+6^RH0 zC;*hiIBp3#nbzC!WZj9|q;00owwXy5OOU?YeEc)7|N$ z-Ap^1Nt5n=-~XR;?*%R>QHeX9?yN1|d+vGu=Rg1ZoO|)u_Tu*W?bo*d@b=%@{*~>2 zxBWZYZ_oB+@6Vpg?%wg#jt}qXyz9=p=I^?G*T22%7w;OryJLwb5n(9dKS(QcW&O{A zLGjQ355H)h=0kJd|CGE0Y#{ev%$(W9^cq+}Yw@=ZfA4@z@(65#JT(8uV7dG}tdY;- zgxDAG$6wce8T&2227m9@;p_bde7!G&(|*%DZTtJ(WU<$jy_gnj;{UjcR&6P#J-d{g!`kh*Ea2p{mG{9 zm~Y}YpZUAb-@#w(_HWDIUHEn9dy(cJ^Zy=q{(W=vx20}<%eM{xzPjZ*=8tjz<1Hrk zRs7v`d#-Dwr@!k{TPyLu*!p5}&kwwq9O=p7d8lj4o$(mnPL6$Nvx$9k^FPFgdVjiW zxUUj_xNlElsP_T<9f}S0c6Ghg*M&aLB^I|Gh&{9ILgJIS|Jk;4iLKiY#O~WZm-y7y zk0wTXo=<#Z`}2vO?DL83JHC|MxnmFR__4>^Kc4(ke8Fk-uCA_k-rd!;4}TBby}o1a zZs<$c_Bl{?4t$Y=WuJqceiU-!DD3j1u*6?R)Z=BMI5%3EUMP9T%%l0a(om&-)~okV zmrC+@@_NCWuNN!jaN%I3>Y0IZVYX5|TdAL_ER?5%dV{n1YQ9kSssrVGY4L+z^@)9E zuu`to^W}QY3@%h_m8uz9m@gFz`MRgQ1g(cp&K2uuY}{Qd4CU*2Gm)Q>`*DsyvaZH6j^1tw0Gr~Nc~ zuhzBqiN$%(42L^^xL7OJF{9D^{5%F6uP>H7bG9<=>CiTt-T5`xo6fi_v`bvKjTNGng{5(Sq^8 zQiZKTC0iCHDpG@GD@5PSy;(|Z63~-7CiH?2ac(f{n@w-pAAMT`DvkW z@>)n#ocHFdUJX2x=gL5qcqKE;a>p7>lOv>&u$%wn*iDLDeI??7TCF%!#(*xH-B?Wc z?U@*!#@NOB;>jxu`4aA6<@tOSWWWZ>XMTN$nIJ>hN#P}PLsDG@>Dbm*7>;|@BD(&d zOwgQOC{EwJTEAbVW`=+s?E(D`a~N>kJctHzgHI?gREzU?1m#{|G{Yi0oCJhGEtbK^ zlx{AMQ)>sDiZ)xTX5L!^tAyKeG#{}|C682#m~~T@JdlTsEL!k*Zt4R7K6q9n2hU;Z zj^u(!gFLq$LaEX0rnE^l zLaL6+rXcVK^K)KlFkkZ`vs`iMTWi+LnZ@~8uMEhiTg%MZg;FV!IhL89KL`$GjuGoc5qdiiJS5u2f^FD2gFpjY4v^QnuZ! zsuDG7WE8q|uOfDGyDC3U#u3wZE)2=ka78V}Ocg(RO2;pi)uVzN_b5qm#a4s|%NKSKBV6L0=-nJD7J5K`?DtrEh zy@$2R4a9qYs1wWKzNIJ{Nz6nmlcRN=QR$Rdn;L@)wR&Z)NvE`_W$_R5q_j|janYuV zhHbrejQuBb;xN@05h?o2u7L ztC(pjhE12BCg%^7r>TONw7_F&+gDw=+?j`Mra!b;hQ27UM_(DNNO0j=VwS>M4Clc> zuGH!Qcgws7^QF>MzHm8g8#N>5LcItBg(Ry>rX(52wvd6VRTqsFT+ojIVbrV7R;FDZ zRs{BP!P8t=?QSqGJrV+Ujhl3O*x=*`a)4SlA%t;;X-Ntt(iKv3l62YpWP9sBU8+pwed93XjkpTI`qr#)Q5zX{ zxd%hi`3z6&Z`Z)CKVb58B)~vZMQ*-WZQCwfU*{9HjM2k{qaHInRIJTcYMh`6^dou= z5IE!2C&fZDH9y5X`WwvQy$1YD!o&aB=+Nq*fnl?F%7s*uk2+5Q>wFJ;EuZ8v8rQ!1YLfwpc-eog>xj1iz zYXhbE+5B0WAH~8D9OQG=z|vuHtxzoDJ_d(SC<5uB;!Lq_2JC&fcE-DoCtinZdX@~RcwCh}9bJ~9i_8ut_M;Va2l)&S?I6^OK015wAQ`pLGm30n+P7&|v{#rIXj`&1z^t;t*z`T7-*R!oosHiUjE& zK4;iQeI`>`sFSRUwZVM3Qbt&-WTpZDn0%x-jnQf%6+x(l%iutHsu>q@@#v=EK#)LP zGxerr(p+;1zWoR)mN1r8&a@ZFIK`SDz6i3;S1MvqvO=L!T9_-No)B71=(JcFQqlIWj2xd+vE z?n%vLhf?Ab0=Q6Ni~-zn0f>akaFs!}3=h@4(R^W+#L1<0K|7{Zl%NVjb$E90YYqs| zasxW54a`+AhK0~_kIxilU><0gMm;}kqSDl*AQ+^@VW`$5A!H>fH!qk;g}Ody;03C% z0MfGMLOf$782jOjam>EtJ+x4P(-zJjsw_Z2NApMMwZlP`buiNBsY(e;XmcQSO8N3- z1X^T5a19MjLx<^Mh7pf&8bWc05V~KK576bb!In9bhH#KOq z;&pRX;&fnr_=zwi!34z`@he0$P(n&LSDTmfir81eFA0UFnK?;cUbCF_v3hA}k8=U5F~p;m`8S|kJF8IoQ$ zV#Mc$Y_{toq+&G>KrK!S!XiGTI)~=GVoe2Z zOQn`fScjD2ex>2oR?c>Z$bjC5B6hn3g@tMrTAvc+x&lv0DijRWHU$oMdp0#}+UQ14 z5mgj}g9v+2Wnu>j;rk)71@5rx5x>TM77IBk?6`3d?!3u8lm{mk?kHBqmifV?6YRrAapdfBBZi{ptc7I5B?6#5PDdp8qIw-L+-#a zY!6+V(@GK2vu!ORCiA6|wKXP-+@!MXIN5|%8Pm=jqgk0?+vV)MBO?{Kf2Cn+BYRn4 zpPsv)b_=n;-Bw_~l5ov#omp^FL163FS96cEZ~>mo>7cg47dxrl|$wm~P~WTy!e)q-;(}MOA<$S~gZRhYG{OltNcp zgfmq@Np@Iugt~}i+eP%dTdBg0x^{%%CKu8*P5s(>+LdGR=9Q4y2;ThExoQ+CBFTbk z4p*Yabhgsmk}rDz$0 z$y_Xe(zzMTsGCO0B=X=FgPZ)wng}Fq70!k+gs_7&t9o;=%u!gljLo5frvZtHe07FG z@M;BiA>?TgV7gGghK(dMtU)V)qI*}9^DYHAv`hk_ibuGtRy!gvfk>9MTj|M4Xv01u zaO1W-5Ur^dxqE#QQb+Lv7m{1;HCq6pu0f6Ji44jjp27fvajHP%2|$}(C}6oX4~rb+ zNYCiNS&G`Ruq?h|z)=RS=8GkXAi;UQTC6OnhGGoB`e=ZI3OJl0iw}r=^M^~0NQ@PX zf)JYyVj9#+;`N{M>V;YQn<79Nq~)IdiG?DZ9|p5wEY%(<(#NmoOP=oz)QmKwxg`zN z^cSDl#cmvTgZHeR?_wD|wNaj^1dV|sx=ePC+BE=iNHrJARcL!<;&7?(5GUY^Y3Vw6 z5+I|1NH&=ds?Zt{GE-=M^@>=g5rQ^VIqHzNVnr)32$o2q&@)A%bZ8m9Wm47@BX(?3 zD#Nr>jNvXBD&W*rW#t<@OSs4`mPn$YRp?QA73&M#ArK+Mg`dxZU#|wM-;8DMhKW%g zghW6`fU7kmptEKPrsOYDQ|^UoQJUheJg7aPzI6iI^{ea+4>b&8F3cnm%OqTA?Oj-H zwIZXpYS{aa5J|A}&qF8Uq=yD-Lys&K4zNJ5arl|#a>@s;fa@{>4a!{q(Xvo)k;0%) z=m*z@3AK>9`SvJ*^B)MA6M?mJ3-ua~1DKpEjtu1rjBRt;tAm^&bgi8&`>i!2RAa(^ zG7i23F&AS4EjVb!=!$@6SC;UMtB3B^TAv^b>9(_cOp|a{v9WsG2DwVkMFh!bwj>OpE6Q{Rj)v^6zO+BU{L!$wEOI zt#0?xTx+Y4w%$;Oc6>suma*3T3rCa;+^CLX!|4Jb5HsBEcN%I}kh2 zNCXdGoX{2#1mwVgkxai8yI_n|tTGPfKj;}52XxNmN4jzaMr?l2h1>^cp@raVg}sJ0 zr=qZO6ZW=LG6>>sd z$Td(RwSHF&Inv+U5SuVKff$*&KWJrs(%HoZX+%RbC@^h@TDAzq*?!2ID$L9Vj1o~>(p0IlilT0ch-0XSY+ zz^0HIftt)|R%Dj8Cf7kEi?q>HPHvGFta{!<5Cue|N?CY0lG7TfVXa88CfC$cWGrgK zaI~jgh35EBq(;*KGP_W~jDa^BJc~5MiYgwkLs8;+nsVWZ1E4%P+NM|*XNGI0k75+L zs2BYlDH?=I2CJW|(xzuokW%1uZa|D4stLBN=_l~y2~X15v6{NojzavY zgfk!>71UOKdRoJ&fontG@2c0DEA4_xlwR%mqLq95LxY>i=|Enc@k-!fSn9q6vpExD zu}oIv^rbtJh4Tr{6#&?gZtRhf30m+II!6LBT;qW@Gg$}jF_06TlQ?k;m+C?pCoB-c z0|vzbRS#7h;BqJ5HhdyrF~KB}u`E`R;JM+cdKQR2tV!SDc4(}B~K z7h4Z8v^}x5*zYr*OW5Nl?lJJ|eIAXRUo>?+o9abM9I>pjoY7Q&m}d21Phte*p{jyt zgc%7PGCX|)5(uF{%;8W<4`uf0IuTzJU~nDv>an4dWRru55I_ zYNk*>BylJYL`>&+jqq_!Ynn$?7_el#Le(`p}ZTTqxUY)rb7j%aFo)2FThM#su0@teebz>>|B-Wdcx3Efi-~$YI#P^ zlbgvY1WBP9xk4?J#qcRgLb=f#S@K{B(Dw|u1`dBSD+pUG5FBAD5ke!7 zoVU;*-*SUxVk1`iaH3KvdHJ#}!l5K@0w)jcBa;a0>ejR42)qEJ)`xQt@tg}4Mqmw< znK^`e^D{Vk!5zmS&M%M1#Je&Ddm^i%hviCo(#(@X0^<>Rnhk}Qamp(Qmzrxl+E~-WWO5)!>?;@t-gNk&nH*8OYTuM(&vFofSme(4>^?KQ z-=L#8gWZcfP82K}sQ|_{mHI45Ozd1fB(tAbDA&LazfKt9SVErB-yAgQ+<5%d$e;c{Qzm2v^ION(LC9Lr6};!3(53YFN=7 zD@8ME8gy{nCrehALpZ7=ngp8LTC}H_MGI8sAqK7%vE5@3a}G#@_|iGsWs;+r#}6*%c$01p~CHQfxA8&@nn5YTj}fovIDQ^DBr zNOyJ{2ZkD-Xnq7a%A^)0;|vr4uKqEvinm^uVHpfU=-j3AH0lC59S-+PfahFQl^yn^C33+NRzgVT2JhXQ)~?wDlz= zM44bUC@KaJeYeZZFkR3WvBJ-F=y_3{IQLxaoA0){Pz7)Y=~&maC09Bxi1R`~%geU# zWqF8T6r#=Kjuj>+>6Mi7i-V$$Ng;$`Pat6t>ncOghaN{_g^|JGAxpvH?AXok zi7H)Ttv^u_D_15W+%_&B3<;u-2#{iiG_h(7ALrPw+dDlrO{TMS707@Z0!d;%gf|p( zj3U^ec)M*-7BeV)taaz{*#1d(nsYTn!ID`0P@K%5Js8?%8g4%neKK~j_PM_qRb zt2i${cWmF}B+WUTLpWBNL;wViNWO%l;4oAXB)v)hVNi0%4o*(iaY(#fqgLGB(u7wz zSyxT9xmP_?oW_e5Aq}Qz(7934Yf6Q-;xm*3*^-~ZCa%K-r%GCaSemZP;Uqgwy#u+E zva^vBPvF?0$;o{tN4uIyNEnxdR5|v*Gc6jBGUsE7co(%a4s*-*uNQ1W2_%^q|=KJ{q?}i}^nK19C!o;1*|c0LR3@Gzbe&@RG{) zg@`C(Q8Q3SdKLt%PGaVFR?78v9W>)&-d#}Rk~f&Kys-!pjqgEwh2k7us*8ZJCttt=ow0P|Yx&S+8bgD^D0+2f0IQEQ1LOU@m0~&EHBO{+KxnK0 z1e>>4)oH$bo?$%{*D&g}7E>%0=Wrv>H%HKqOR)6SvFcf*?aDLxIGMix zB&%xs&~KlFrtg9c7+qfMqbl;M+@`>ukd;&r6|zegRcg(Kh0u|%Kowt-!SOFRrasz& z?{-|^PF0(HeO(29?`onWuw8&*D^;v`TBSUMi5zKajk24G(nI(T8xMWqB|JY|fwh*r z6N~s}>CRpFg}J@vDSUl5i(d)I;`a)kH2dWF-FSM^>_L z3SauiE+u|LfPG;Di9KJQz;C&D7`0t#7QgmF2-qt&R`6Fv%{lxMBm2=ddadJ^Up)L@ zMy}2+i&h+m&zxJoF`L{NkKlI(@b(QxHjAy}2W6`poxeuoVJrt7d*#S0&FCE{*-vPa zdw}~rCYJ2S6P|b64SYR@UrBfp(EcF4o4f{@NnEb0c<}=Jg(o3-)M04 z%-~7v1I+`1fvPxPF}FFFk1*BkcWe%1_`Sm)iSW%fjS zYOc+v0koa~w6UazU*5s`t=);=cwlcM#%xf`^Y;shanrq1TAViKebK&$@XHZ{_%8IQ zKrsPmg8s8YKUv9%KzoGrQ$US5p$_Z~f_6&4Ko)p%uw=2mMOhi*r3hF(V-5^~a^_LD zi1xZ-Y{OZdM(bz`tjf~UQP9T$_y8tMWb8)6aZKSMOoiwi#5Ft>mXD(582%qd`RPb0 zStTp|4dXg4J$my&pvWhwyg{e?N%7cL=-Z+7e21F_pAHD2d0= zb~pYW$KR9q17Rc{#2-jG0rKxwqQR%f6Yn&pXQ#05yYVq_iVf5qe+)kdwHH`B0_^O; z2g38Xeh?oMzli&LzzWClLFRk#(@z)W|NC%#96x&UZm`fhfy;}S-$gLfMF_czV4EE% zjh&9J>Af=UQ}`Jbu9(9=b4kkgB5#+Fj1!OdkqI6g5K^4A4xv>6v*8FFKPz_%n8(n*9lbTRAB?uA&{l=A%0AXpka9-k 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 B>J$I~ diff --git a/PSDeploy/Private/PSYaml/Lib/net35/LICENSE b/PSDeploy/Private/PSYaml/Lib/net35/LICENSE new file mode 100644 index 0000000..fbd466c --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/net35/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Antoine Aubry and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/PSDeploy/Private/PSYaml/Lib/net35/LICENSE-libyaml b/PSDeploy/Private/PSYaml/Lib/net35/LICENSE-libyaml new file mode 100644 index 0000000..050ced2 --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/net35/LICENSE-libyaml @@ -0,0 +1,19 @@ +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/PSDeploy/Private/PSYaml/Lib/net35/YamlDotNet.dll b/PSDeploy/Private/PSYaml/Lib/net35/YamlDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..547fc3f194e07ecb3e2592debebf8659f126ae6b GIT binary patch literal 181760 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

;Gn$V^f4M@ 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°y7$ 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 TUJTmiZSXGhfBO6X4+H-PivMuB literal 0 HcmV?d00001 diff --git a/PSDeploy/Private/PSYaml/Lib/net35/YamlDotNet.xml b/PSDeploy/Private/PSYaml/Lib/net35/YamlDotNet.xml new file mode 100644 index 0000000..1941da7 --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/net35/YamlDotNet.xml @@ -0,0 +1,4728 @@ + + + + YamlDotNet + + + +

+ The exception that is thrown when an alias references an anchor that does not exist. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Defines constants thar relate to the YAML specification. + + + + + Emits YAML streams. + + + + + Initializes a new instance of the class. + + The where the emitter will write. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + The preferred text width. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + The preferred text width. + If true, write the output in canonical form. + + + + Emit an evt. + + + + + Check if we need to accumulate more events before emitting. + + We accumulate extra + - 1 event for DOCUMENT-START + - 2 events for SEQUENCE-START + - 3 events for MAPPING-START + + + + + Expect STREAM-START. + + + + + Expect DOCUMENT-START or STREAM-END. + + + + + Expect the root node. + + + + + Expect a node. + + + + + Expect ALIAS. + + + + + Expect SCALAR. + + + + + Expect SEQUENCE-START. + + + + + Expect MAPPING-START. + + + + + Expect DOCUMENT-END. + + + + + Expect a flow item node. + + + + + Expect a flow key node. + + + + + Expect a flow value node. + + + + + Expect a block item node. + + + + + Expect a block key node. + + + + + Expect a block value node. + + + + + Check if the document content is an empty scalar. + + + + + Check if the next node can be expressed as a simple key. + + + + + Represents an alias event. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the value of the alias. + + + + + Initializes a new instance of the class. + + The value of the alias. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The value of the alias. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Represents a document end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Initializes a new instance of the class. + + Indicates whether the event is implicit. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + Indicates whether the event is implicit. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a document start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the tags. + + The tags. + + + + Gets the version. + + The version. + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Initializes a new instance of the class. + + The version. + The tags. + Indicates whether the event is implicit. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The version. + The tags. + Indicates whether the event is implicit. + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Callback interface for external event Visitor. + + + + + Represents a mapping end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a mapping start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Gets the style of the mapping. + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + Indicates whether the event is implicit. + The style of the mapping. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + Indicates whether the event is implicit. + The style of the mapping. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Specifies the style of a mapping. + + + + + Let the emitter choose the style. + + + + + The block mapping style. + + + + + The flow mapping style. + + + + + Contains the behavior that is common between node events. + + + + + Gets the anchor. + + + + + + Gets the tag. + + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Base class for parsing events. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the position in the input stream where the event starts. + + + + + Gets the position in the input stream where the event ends. + + + + + Accepts the specified visitor. + + Visitor to accept, may not be null + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Represents a scalar event. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the value. + + The value. + + + + Gets the style of the scalar. + + The style. + + + + Gets a value indicating whether the tag is optional for the plain style. + + + + + Gets a value indicating whether the tag is optional for any non-plain style. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The value. + The style. + . + . + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The value. + The style. + . + . + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The tag. + The value. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a sequence end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a sequence start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Gets the style. + + The style. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + if set to true [is implicit]. + The style. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Specifies the style of a sequence. + + + + + Let the emitter choose the style. + + + + + The block sequence style. + + + + + The flow sequence style. + + + + + Represents a stream end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a stream start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Implements an indexer through an IEnumerator<T>. + + + + + Initializes a new instance of FakeList<T>. + + The enumerator to use to implement the indexer. + + + + Initializes a new instance of FakeList<T>. + + The collection to use to implement the indexer. + + + + Gets the element at the specified index. + + + If index is greater or equal than the last used index, this operation is O(index - lastIndex), + else this operation is O(index). + + + + + The exception that is thrown when an alias references an anchor + that has not yet been defined in a context that does not support forward references. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Supports implementations of by providing methods to combine two hash codes. + + + + + Combines two hash codes. + + The first hash code. + The second hash code. + + + + + Represents a YAML stream emitter. + + + + + Emits an event. + + + + + Gets a value indicating whether the end of the input reader has been reached. + + + + + Gets the character at thhe specified offset. + + + + + Skips the next characters. Those characters must have been + obtained first by calling the method. + + + + + Generic queue on which items may be inserted + + + + + Gets the number of items that are contained by the queue. + + + + + Enqueues the specified item. + + The item to be enqueued. + + + + Dequeues an item. + + Returns the item that been dequeued. + + + + Inserts an item at the specified index. + + The index where to insert the item. + The item to be inserted. + + + + Represents a YAML stream paser. + + + + + Gets the current event. Returns null before the first call to , + and also after returns false. + + + + + Moves to the next event. + + Returns true if there are more events available, otherwise returns false. + + + + Defines the interface for a stand-alone YAML scanner that + converts a sequence of characters into a sequence of YAML tokens. + + + + + Gets the current position inside the input stream. + + The current position. + + + + Gets the current token. + + + + + Moves to the next token and consumes the current token. + + + + + Moves to the next token without consuming the current token. + + + + + Consumes the current token. + + + + + Provides access to a stream and allows to peek at the next characters, + up to the buffer's capacity. + + + This class implements a circular buffer with a fixed capacity. + + + + + Initializes a new instance of the class. + + The input. + The capacity. + + + + Gets a value indicating whether the end of the input reader has been reached. + + + + + Gets the index of the character for the specified offset. + + + + + Gets the character at thhe specified offset. + + + + + Reads characters until at least characters are in the buffer. + + + Number of characters to cache. + + + + + Skips the next characters. Those characters must have been + obtained first by calling the or methods. + + + + + Represents a location inside a file + + + + + Gets a with empty values. + + + + + Gets / sets the absolute offset in the file + + + + + Gets / sets the number of the line + + + + + Gets / sets the index of the column + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + + + + + + + Exception that is thrown when an infinite recursion is detected. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Simple implementation of that implements merging: http://yaml.org/type/merge.html + + + + + Parses YAML streams. + + + + + Initializes a new instance of the class. + + The input where the YAML stream is to be read. + + + + Initializes a new instance of the class. + + + + + Gets the current event. + + + + + Moves to the next event. + + Returns true if there are more events available, otherwise returns false. + + + + Parse the production: + stream ::= STREAM-START implicit_document? explicit_document* STREAM-END + ************ + + + + + Parse the productions: + implicit_document ::= block_node DOCUMENT-END* + * + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + ************************* + + + + + Parse directives. + + + + + Parse the productions: + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + *********** + + + + + Generate an empty scalar event. + + + + + Parse the productions: + block_node_or_indentless_sequence ::= + ALIAS + ***** + | properties (block_content | indentless_block_sequence)? + ********** * + | block_content | indentless_block_sequence + * + block_node ::= ALIAS + ***** + | properties block_content? + ********** * + | block_content + * + flow_node ::= ALIAS + ***** + | properties flow_content? + ********** * + | flow_content + * + properties ::= TAG ANCHOR? | ANCHOR TAG? + ************************* + block_content ::= block_collection | flow_collection | SCALAR + ****** + flow_content ::= flow_collection | SCALAR + ****** + + + + + Parse the productions: + implicit_document ::= block_node DOCUMENT-END* + ************* + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + ************* + + + + + Parse the productions: + block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END + ******************** *********** * ********* + + + + + Parse the productions: + indentless_sequence ::= (BLOCK-ENTRY block_node?)+ + *********** * + + + + + Parse the productions: + block_mapping ::= BLOCK-MAPPING_START + ******************* + ((KEY block_node_or_indentless_sequence?)? + *** * + (VALUE block_node_or_indentless_sequence?)?)* + + BLOCK-END + ********* + + + + + Parse the productions: + block_mapping ::= BLOCK-MAPPING_START + + ((KEY block_node_or_indentless_sequence?)? + + (VALUE block_node_or_indentless_sequence?)?)* + ***** * + BLOCK-END + + + + + + Parse the productions: + flow_sequence ::= FLOW-SEQUENCE-START + ******************* + (flow_sequence_entry FLOW-ENTRY)* + * ********** + flow_sequence_entry? + * + FLOW-SEQUENCE-END + ***************** + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + *** * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + ***** * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * + + + + + Parse the productions: + flow_mapping ::= FLOW-MAPPING-START + ****************** + (flow_mapping_entry FLOW-ENTRY)* + * ********** + flow_mapping_entry? + ****************** + FLOW-MAPPING-END + **************** + flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * *** * + + + + + Parse the productions: + flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * ***** * + + + + + Extension methods that provide useful abstractions over . + + + + + Ensures that the current event is of the specified type, returns it and moves to the next event. + + Type of the . + Returns the current event. + If the current event is not of the specified type. + + + + Checks whether the current event is of the specified type. + + Type of the event. + Returns true if the current event is of type . Otherwise returns false. + + + + Checks whether the current event is of the specified type. + If the event is of the specified type, returns it and moves to the next event. + Otherwise retruns null. + + Type of the . + Returns the current event if it is of type T; otherwise returns null. + + + + Gets the next event without consuming it. + + Type of the . + Returns the current event if it is of type T; otherwise returns null. + + + + Skips the current event and any nested event. + + + + + Keeps track of the recursion level, + and throws + whenever is reached. + + + + + Increments the recursion level, + and throws + if is reached. + + + + + Increments the recursion level, + and returns whether is still less than . + + + + + Decrements the recursion level. + + + + + Specifies the style of a YAML scalar. + + + + + Let the emitter choose the style. + + + + + The plain scalar style. + + + + + The single-quoted scalar style. + + + + + The double-quoted scalar style. + + + + + The literal scalar style. + + + + + The folded scalar style. + + + + + Converts a sequence of characters into a sequence of YAML tokens. + + + + + Gets the current token. + + + + + Initializes a new instance of the class. + + The input. + Indicates whether comments should be ignored + + + + Gets the current position inside the input stream. + + The current position. + + + + Moves to the next token. + + + + + + Consumes the current token and increments the parsed token count + + + + + Check the list of potential simple keys and remove the positions that + cannot contain simple keys anymore. + + + + + Pop indentation levels from the indents stack until the current level + becomes less or equal to the column. For each indentation level, append + the BLOCK-END token. + + + + + Produce the STREAM-END token and shut down the scanner. + + + + + Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. + + Scope: + %YAML 1.1 # a comment \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + %TAG !yaml! tag:yaml.org,2002: \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + + + Produce the DOCUMENT-START or DOCUMENT-END token. + + + + + Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. + + + + + Increase the flow level and resize the simple key list if needed. + + + + + Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. + + + + + Decrease the flow level. + + + + + Produce the FLOW-ENTRY token. + + + + + Produce the BLOCK-ENTRY token. + + + + + Produce the KEY token. + + + + + Produce the VALUE token. + + + + + Push the current indentation level to the stack and set the new level + the current column is greater than the indentation level. In this case, + append or insert the specified token into the token queue. + + + + + Produce the ALIAS or ANCHOR token. + + + + + Produce the TAG token. + + + + + Scan a TAG token. + + + + + Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. + + + + + Scan a block scalar. + + + + + Scan indentation spaces and line breaks for a block scalar. Determine the + indentation level if needed. + + + + + Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. + + + + + Scan a quoted scalar. + + + + + Produce the SCALAR(...,plain) token. + + + + + Scan a plain scalar. + + + + + Remove a potential simple key at the current flow level. + + + + + Scan the directive name. + + Scope: + %YAML 1.1 # a comment \n + ^^^^ + %TAG !yaml! tag:yaml.org,2002: \n + ^^^ + + + + + Scan the value of VERSION-DIRECTIVE. + + Scope: + %YAML 1.1 # a comment \n + ^^^^^^ + + + + + Scan the value of a TAG-DIRECTIVE token. + + Scope: + %TAG !yaml! tag:yaml.org,2002: \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + + + Scan a tag. + + + + + Decode an URI-escape sequence corresponding to a single UTF-8 character. + + + + + Scan a tag handle. + + + + + Scan the version number of VERSION-DIRECTIVE. + + Scope: + %YAML 1.1 # a comment \n + ^ + %YAML 1.1 # a comment \n + ^ + + + + + Check if a simple key may start at the current position and add it if + needed. + + + + + Exception that is thrown when a semantic error is detected on a YAML stream. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Exception that is thrown when a syntax error is detected on a YAML stream. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Collection of . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Initial content of the collection. + + + + + + + Gets a value indicating whether the collection contains a directive with the same handle + + + + + Represents an anchor token. + + + + + Gets the value. + + The value. + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The start position of the token. + The end position of the token. + + + + Represents an alias token. + + + + + Gets the value of the alias. + + + + + Initializes a new instance of the class. + + The value of the anchor. + + + + Initializes a new instance of the class. + + The value of the anchor. + The start position of the event. + The end position of the event. + + + + Represents a block end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block entry event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block mapping start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block sequence start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a comment + + + + + Gets the value of the comment + + + + + Gets a value indicating whether the comment appears other tokens on that line. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Represents a document end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a document start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow entry event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow mapping end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow mapping start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow sequence end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow sequence start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a key token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a scalar token. + + + + + Gets the value. + + The value. + + + + Gets the style. + + The style. + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The style. + + + + Initializes a new instance of the class. + + The value. + The style. + The start position of the token. + The end position of the token. + + + + Represents a stream end event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a stream start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a tag token. + + + + + Gets the handle. + + The handle. + + + + Gets the suffix. + + The suffix. + + + + Initializes a new instance of the class. + + The handle. + The suffix. + + + + Initializes a new instance of the class. + + The handle. + The suffix. + The start position of the token. + The end position of the token. + + + + Represents a tag directive token. + + + + + Gets the handle. + + The handle. + + + + Gets the prefix. + + The prefix. + + + + Initializes a new instance of the class. + + The handle. + The prefix. + + + + Initializes a new instance of the class. + + The handle. + The prefix. + The start position of the token. + The end position of the token. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + + + + Base class for YAML tokens. + + + + + Gets the start of the token in the input stream. + + + + + Gets the end of the token in the input stream. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a value token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a version directive token. + + + + + Gets the version. + + The version. + + + + Initializes a new instance of the class. + + The version. + + + + Initializes a new instance of the class. + + The version. + The start position of the token. + The end position of the token. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Specifies the version of the YAML language. + + + + + Gets the major version number. + + + + + Gets the minor version number. + + + + + Initializes a new instance of the class. + + The the major version number. + The the minor version number. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Base exception that is thrown when the a problem occurs in the YamlDotNet library. + + + + + Gets the position in the input stream where the event that originated the exception starts. + + + + + Gets the position in the input stream where the event that originated the exception ends. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Returns the that describes the property that + is being returned in an expression in the form: + + x => x.SomeProperty + + + + + + Adapts an to + because not all generic collections implement . + + + + + Adapts an to + because not all generic dictionaries implement . + + + + + Determines whether the specified type has a default constructor. + + The type. + + true if the type has a default constructor; otherwise, false. + + + + + Manages the state of a while it is loading. + + + + + Adds the specified node to the anchor list. + + The node. + + + + Gets the node with the specified anchor. + + The anchor. + if set to true, the method should throw an exception if there is no node with that anchor. + The start position. + The end position. + + + + + Adds the specified node to the collection of nodes with unresolved aliases. + + + The that has unresolved aliases. + + + + + Resolves the aliases that could not be resolved while loading the document. + + + + + Holds state that is used when emitting a stream. + + + + + Gets the already emitted anchors. + + The emitted anchors. + + + + Defines the method needed to be able to visit Yaml elements. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Represents an alias node in the YAML document. + + + + + Initializes a new instance of the class. + + The anchor. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Represents an YAML document. + + + + + Gets or sets the root node. + + The root node. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a single scalar node. + + + + + Initializes a new instance of the class. + + + + + Visitor that assigns anchors to nodes that are referenced more than once. + Existing anchors are preserved as much as possible. + + + + + Key: Node, Value: IsDuplicate + + + + + Returns whether the visited node is a duplicate. + + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + Gets all nodes from the document. + is thrown if an infinite recursion is detected. + + + + + Represents a mapping node in the YAML document. + + + + + Gets the children of the current node. + + The children. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + A sequence of where even elements are keys and odd elements are values. + + + + Initializes a new instance of the class. + + A sequence of where even elements are keys and odd elements are values. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + Creates a containing a key-value pair for each property of the specified object. + + + + + Represents a single node in the YAML document. + + + + + Gets or sets the anchor of the node. + + The anchor. + + + + Gets or sets the tag of the node. + + The tag. + + + + Gets the position in the input stream where the event that originated the node starts. + + + + + Gets the position in the input stream where the event that originated the node ends. + + + + + Loads the specified event. + + The event. + The state of the document. + + + + Parses the node represented by the next event in . + + Returns the node that has been parsed. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + Provides a basic implementation of Object.Equals + + + + + Gets a value indicating whether two objects are equal. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Gets the hash code of the specified object, or zero if the object is null. + + + + + Combines two hash codes into one. + + + + + Gets all nodes from the document, starting on the current node. + is thrown if an infinite recursion is detected. + + + + + When implemented, recursively enumerates all the nodes from the document, starting on the current node. + If is reached, a is thrown + instead of continuing and crashing with a . + + + + + Gets the type of node. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from string[] to . + + The value. + The result of the conversion. + + + + Converts a to a string by returning its value. + + + + + Gets the nth element in a . + + + + + Gets the value associated with a key in a . + + + + + Comparer that is based on identity comparisons. + + + + + + + + + + + Specifies the type of node in the representation model. + + + + + The node is a . + + + + + The node is a . + + + + + The node is a . + + + + + The node is a . + + + + + Represents a scalar node in the YAML document. + + + + + Gets or sets the value of the node. + + The value. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Represents a sequence node in the YAML document. + + + + + Gets the collection of child nodes. + + The children. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Adds the specified child to the collection. + + The child. + + + + Adds a scalar node to the collection. + + The child. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + Represents an YAML stream. + + + + + Gets the documents inside the stream. + + The documents. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Adds the specified document to the collection. + + The document. + + + + Loads the stream from the specified input. + + The input. + + + + Loads the stream from the specified . + + + + + Saves the stream to the specified output. + + The output. + + + + Saves the stream to the specified output. + + The output. + Indicates whether or not to assign node anchors. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Abstract implementation of that knows how to walk a complete Yaml object model. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Abstract implementation of that knows how to walk a complete YAML object model. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a key-value pair. + + The left (key) that is being visited. + The right (value) that is being visited. + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Common implementation of and . + + + + + Sets the that will be used by the (de)serializer. + + + + + Sets the that will be used by the (de)serializer. + + + + + Register an for for a given property. + + + An expression in the form: x => x.SomeProperty + The attribute to register. + + + + + Register an for for a given property. + + + + + Registers an additional to be used by the (de)serializer. + + + + + Registers an additional to be used by the (de)serializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the (de)serializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector. + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector based on a previously registered .. + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + A factory that creates instances of based on an existing . + + The type of the wrapped component. + The type of the component that this factory creates. + The component that is to be wrapped. + Returns a new instance of that is based on . + + + + A factory that creates instances of based on an existing and an argument. + + The type of the argument. + The type of the wrapped component. + The type of the component that this factory creates. + The component that is to be wrapped. + The argument of the factory. + Returns a new instance of that is based on and . + + + + This represents the YAML converter entity for . + + + + + Initializes a new instance of the class. + + value. Default value is . is considered as . + instance. Default value is . + List of date/time formats for parsing. Default value is "G". + On deserializing, all formats in the list are used for conversion, while on serializing, the first format in the list is used. + + + + Gets a value indicating whether the current converter supports converting the specified type. + + to check. + Returns True, if the current converter supports; otherwise returns False. + + + + Reads an object's state from a YAML parser. + + instance. + to convert. + Returns the instance converted. + On deserializing, all formats in the list are used for conversion. + + + + Writes the specified object's state to a YAML emitter. + + instance. + Value to write. + to convert. + On serializing, the first format in the list is used. + + + + Converter for System.Guid. + + + + + Converter for System.Type. + + + Converts to a scalar containing the assembly qualified name of the type. + + + + + Deserializes objects from the YAML format. + To customize the behavior of , + use the class. + + + + + Initializes a new instance of using the default configuration. + + + To customize the bahavior of the deserializer, use . + + + + + This constructor is private to discourage its use. + To invoke it, call the method. + + + + + Creates a new that uses the specified . + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use . + + + + + Deserializes an object of the specified type. + + The from where to deserialize the object. + The static type of the object to deserialize. + Returns the deserialized object. + + + + Creates and configures instances of . + This class is used to customize the behavior of . Use the relevant methods + to apply customizations, then call to create an instance of the deserializer + with the desired customizations. + + + + + Initializes a new using the default component registrations. + + + + + Sets the that will be used by the deserializer. + + + + + Sets the that will be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the deserializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an additional to be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the deserializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers a tag mapping. + + + + + Unregisters an existing tag mapping. + + + + + Instructs the deserializer to ignore unmatched properties instead of throwing an exception. + + + + + Creates a new according to the current configuration. + + + + + Creates a new that implements the current configuration. + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use the method. + + + + + Gets the next visitor that should be called by the current visitor. + + + + + Gets the that is to be used for serialization. + + + + + Gets a function that, when called, serializes the specified object. + + + + + Gets the visitor of type that was used during the pre-processig phase. + + The type of the visitor.s + + + No visitor of that type has been registered, + or ore than one visitors registered are of type . + + + + + Provided the base implementation for an IEventEmitter that is a + decorator for another IEventEmitter. + + + + + Deserializes an object of the specified type. + + The from where to deserialize the object. + The static type of the object to deserialize. + Returns the deserialized object. + + + + Translates property names according to a specific convention. + + + + + Determines the type of the specified node. + + The node to be deserialized. + The type that has been determined so far. + + true if has been resolved completely; + false if the next type should be invoked. + + + + + Represents an object along with its type. + + + + + A reference to the object. + + + + + The type that should be used when to interpret the . + + + + + The type of as determined by its container (e.g. a property). + + + + + The style to be used for scalars. + + + + + Creates instances of types. + + + This interface allows to provide a custom logic for creating instances during deserialization. + + + + + Creates an instance of the specified type. + + + + + Defines a strategy that walks through an object graph. + + + + + Traverses the specified object graph. + + The graph. + An that is to be notified during the traversal. + A that will be passed to the . + + + + Defined the interface of a type that can be notified during an object graph traversal. + + + + + Indicates whether the specified value should be entered. This allows the visitor to + override the handling of a particular object or type. + + The value that is about to be entered. + The context that this implementation depend on. + If the value is to be entered, returns true; otherwise returns false; + + + + Indicates whether the specified mapping should be entered. This allows the visitor to + override the handling of a particular pair. + + The key of the mapping that is about to be entered. + The value of the mapping that is about to be entered. + The context that this implementation depend on. + If the mapping is to be entered, returns true; otherwise returns false; + + + + Indicates whether the specified mapping should be entered. This allows the visitor to + override the handling of a particular pair. This overload should be invoked when the + mapping is produced by an object's property. + + The that provided access to . + The value of the mapping that is about to be entered. + The context that this implementation depend on. + If the mapping is to be entered, returns true; otherwise returns false; + + + + Notifies the visitor that a scalar value has been encountered. + + The value of the scalar. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a mapping is about to begin. + + The value that corresponds to the mapping. + The static type of the keys of the mapping. + The static type of the values of the mapping. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a mapping has ended. + + The value that corresponds to the mapping. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a sequence is about to begin. + + The value that corresponds to the sequence. + The static type of the elements of the sequence. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a sequence has ended. + + The value that corresponds to the sequence. + The context that this implementation depend on. + + + + Registers the component in place of the already registered component of type . + + + + + Registers the component before the already registered component of type . + + + + + Registers the component after the already registered component of type . + + + + + Registers the component before every other previously registered component. + + + + + Registers the component after every other previously registered component. + + + + + Registers the component in place of the already registered component of type . + + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object into a string. + + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Provides access to the properties of a type. + + + + + Gets all properties of the specified type. + + The type whose properties are to be enumerated. + The actual object of type whose properties are to be enumerated. Can be null. + + + + + Gets the property of the type with the specified name. + + The type whose properties are to be searched. + The actual object of type whose properties are to be searched. Can be null. + The name of the property. + + Determines if an exception or null should be returned if can't be + found in + + + + + + Resolves the type of values. + + + + + Allows an object to customize how it is serialized and deserialized. + + + + + Reads this object's state from a YAML parser. + + The parser where the object's state should be read from. + The type that the deserializer is expecting. + + A function that will use the current deserializer + to read an object of the given type from the parser. + + + + + Writes this object's state to a YAML emitter. + + The emitter where the object's state should be written to. + A function that will use the current serializer to write an object to the emitter. + + + + Represents a function that is used to deserialize an object of the given type. + + The type that the deserializer should read. + Returns the object that was deserialized. + + + + Represents a function that is used to serialize an object of the given type. + + The object to be serialized. + + The type that should be considered when emitting the object. + If null, the actual type of the is used. + + + + + Allows an object to customize how it is serialized and deserialized. + + + + + Reads this object's state from a YAML parser. + + + + + Writes this object's state to a YAML emitter. + + + + + Allows to customize how a type is serialized and deserialized. + + + + + Gets a value indicating whether the current converter supports converting the specified type. + + + + + Reads an object's state from a YAML parser. + + + + + Writes the specified object's state to a YAML emitter. + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter + is lowercase. + + + + + Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) string + + + + + Performs no naming conversion. + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter + is uppercase. + + + + + Convert the string from camelcase (thisIsATest) to a underscored (this_is_a_test) string + + + + + An empty type for cases where a type needs to be provided but won't be used. + + + + + Creates objects using Activator.CreateInstance. + + + + + Creates objects using a Func{Type,object}"/>. + + + + + An implementation of that traverses + readable properties, collections and dictionaries. + + + + + An implementation of that traverses + properties that are read/write, collections and dictionaries, while ensuring that + the graph can be regenerated from the resulting document. + + + + + A factory method for creating instances + + The type inspector to be used by the traversal strategy. + The type resolver to be used by the traversal strategy. + The type converters to be used by the traversal strategy. + The maximum object depth to be supported by the traversal strategy. + + + + + A base class that simplifies the correct implementation of . + + + + + Options that control the serialization process. + + + + + Serializes using the default options + + + + + Ensures that it will be possible to deserialize the serialized objects. + + + + + If this flag is specified, if the same object appears more than once in the + serialization graph, it will be serialized each time instead of just once. + + + If the serialization graph contains circular references and this flag is set, + a StackOverflowException will be thrown. + If this flag is not set, there is a performance penalty because the entire + object graph must be walked twice. + + + + + Forces every value to be serialized, even if it is the default value for that type. + + + + + Ensures that the result of the serialization is valid JSON. + + + + + Use the static type of values instead of their actual type. + + + + + Initializes a new instance of using the default configuration. + + + To customize the behavior of the serializer, use . + + + + + This constructor is private to discourage its use. + To invoke it, call the method. + + + + + Creates a new that uses the specified . + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use . + + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object into a string. + + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Creates and configures instances of . + This class is used to customize the behavior of . Use the relevant methods + to apply customizations, then call to create an instance of the serializer + with the desired customizations. + + + + + Sets the maximum recursion that is allowed while traversing the object graph. The default value is 50. + + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter. + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers a tag mapping. + + + + + Unregisters an existing tag mapping. + + + + + Ensures that it will be possible to deserialize the serialized objects. + This option will force the emission of tags and emit only properties with setters. + + + + + Specifies that, if the same object appears more than once in the + serialization graph, it will be serialized each time instead of just once. + + + If the serialization graph contains circular references and this flag is set, + a StackOverflowException will be thrown. + If this flag is not set, there is a performance penalty because the entire + object graph must be walked twice. + + + + + Forces every value to be serialized, even if it is the default value for that type. + + + + + Ensures that the result of the serialization is valid JSON. + + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + The type inspector. + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + The type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an to be used by the serializer + while traversing the object graph. + + A function that instantiates the traversal strategy. + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector. + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Creates a new according to the current configuration. + + + + + Creates a new that implements the current configuration. + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use the method. + + + + + An object that contains part of a YAML stream. + + + + + Gets or sets the events. + + The events. + + + + Reads this object's state from a YAML parser. + + + + + Writes this object's state to a YAML emitter. + + + + + Contains mappings between tags and types. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The mappings. + + + + Adds the specified tag. + + The tag. + The mapping. + + + + Gets the mapping. + + The tag. + + + + + Wraps another and applies caching. + + + + + Wraps another and applies a + naming convention to the names of the properties. + + + + + Returns the properties of a type that are both readable and writable. + + + + + Returns the properties of a type that are readable. + + + + + The type returned will be the actual type of the value, if available. + + + + + The type returned will always be the static type. + + + + + Indicates that a class used as deserialization state + needs to be notified after deserialization. + + + + + Adds the specified anchor. + + The anchor. + The @object. + + + + Gets the anchor for the specified object. + + The object. + The anchor. + + + + + Gets the with the specified anchor. + + + + + + A generic container that is preserved during the entire deserialization process. + Any disposable object added to this collecion will be disposed when this object is disposed. + + + + + Invokes on all + objects added to this collection that implement . + + + + + Various string extension methods + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter + is lowercase. + + String to convert + Converted string + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter + is uppercase. + + String to convert + Converted string + + + + Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) or + underscored (this_is_a_test) string + + String to convert + Separator to use between segments + Converted string + + + + Performs type conversions using every standard provided by the .NET library. + + + + + Registers a dynamically. + + The type to which the coverter should be associated. + The type of the converter. + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + The provider. + + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + The culture. + + + + + Converts the specified value using the invariant culture. + + The value to convert. + The type to which the value is to be converted. + + + + + Converts the specified value. + + The value to convert. + The type to which the value is to be converted. + The format provider. + + + + + Converts the specified value. + + The value to convert. + The type to which the value is to be converted. + The culture. + + + + + Define a collection of YamlAttribute Overrides for pre-defined object types. + + + + + Checks whether this mapping matches the specified type, and returns a value indicating the match priority. + + The priority of the match. Higher values have more priority. Zero indicates no match. + + + + Adds a Member Attribute Override + + Type + Class Member + Overriding Attribute + + + + Adds a Member Attribute Override + + + + + Creates a copy of this instance. + + + + + Applies the Yaml attribute overrides to another . + + + + + Applies the Yaml* attributes to another . + + + + + Instructs the YamlSerializer not to serialize the public field or public read/write property value. + + + + + Provides special Yaml serialization instructions. + + + + + Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. + + + + + Specifies the order priority of this property. + + + + + Instructs the to use a different field name for serialization. + + + + + When false, naming conventions will not be applied to this member. Defaults to true. + + + + + Specifies the scalar style of the property when serialized. This will only affect the serialization of scalar properties. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. + + + diff --git a/PSDeploy/Private/PSYaml/Lib/net45/LICENSE b/PSDeploy/Private/PSYaml/Lib/net45/LICENSE new file mode 100644 index 0000000..fbd466c --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/net45/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Antoine Aubry and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/PSDeploy/Private/PSYaml/Lib/net45/LICENSE-libyaml b/PSDeploy/Private/PSYaml/Lib/net45/LICENSE-libyaml new file mode 100644 index 0000000..050ced2 --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/net45/LICENSE-libyaml @@ -0,0 +1,19 @@ +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/PSDeploy/Private/PSYaml/Lib/net45/YamlDotNet.dll b/PSDeploy/Private/PSYaml/Lib/net45/YamlDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..1cf443b10e1997b4424ff1f56d3a1821812c1f31 GIT binary patch literal 182784 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 + + + YamlDotNet + + + + + The exception that is thrown when an alias references an anchor that does not exist. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Defines constants thar relate to the YAML specification. + + + + + Emits YAML streams. + + + + + Initializes a new instance of the class. + + The where the emitter will write. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + The preferred text width. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + The preferred text width. + If true, write the output in canonical form. + + + + Emit an evt. + + + + + Check if we need to accumulate more events before emitting. + + We accumulate extra + - 1 event for DOCUMENT-START + - 2 events for SEQUENCE-START + - 3 events for MAPPING-START + + + + + Expect STREAM-START. + + + + + Expect DOCUMENT-START or STREAM-END. + + + + + Expect the root node. + + + + + Expect a node. + + + + + Expect ALIAS. + + + + + Expect SCALAR. + + + + + Expect SEQUENCE-START. + + + + + Expect MAPPING-START. + + + + + Expect DOCUMENT-END. + + + + + Expect a flow item node. + + + + + Expect a flow key node. + + + + + Expect a flow value node. + + + + + Expect a block item node. + + + + + Expect a block key node. + + + + + Expect a block value node. + + + + + Check if the document content is an empty scalar. + + + + + Check if the next node can be expressed as a simple key. + + + + + Represents an alias event. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the value of the alias. + + + + + Initializes a new instance of the class. + + The value of the alias. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The value of the alias. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Represents a document end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Initializes a new instance of the class. + + Indicates whether the event is implicit. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + Indicates whether the event is implicit. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a document start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the tags. + + The tags. + + + + Gets the version. + + The version. + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Initializes a new instance of the class. + + The version. + The tags. + Indicates whether the event is implicit. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The version. + The tags. + Indicates whether the event is implicit. + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Callback interface for external event Visitor. + + + + + Represents a mapping end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a mapping start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Gets the style of the mapping. + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + Indicates whether the event is implicit. + The style of the mapping. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + Indicates whether the event is implicit. + The style of the mapping. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Specifies the style of a mapping. + + + + + Let the emitter choose the style. + + + + + The block mapping style. + + + + + The flow mapping style. + + + + + Contains the behavior that is common between node events. + + + + + Gets the anchor. + + + + + + Gets the tag. + + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Base class for parsing events. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the position in the input stream where the event starts. + + + + + Gets the position in the input stream where the event ends. + + + + + Accepts the specified visitor. + + Visitor to accept, may not be null + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Represents a scalar event. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the value. + + The value. + + + + Gets the style of the scalar. + + The style. + + + + Gets a value indicating whether the tag is optional for the plain style. + + + + + Gets a value indicating whether the tag is optional for any non-plain style. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The value. + The style. + . + . + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The value. + The style. + . + . + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The tag. + The value. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a sequence end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a sequence start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Gets the style. + + The style. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + if set to true [is implicit]. + The style. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Specifies the style of a sequence. + + + + + Let the emitter choose the style. + + + + + The block sequence style. + + + + + The flow sequence style. + + + + + Represents a stream end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a stream start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Implements an indexer through an IEnumerator<T>. + + + + + Initializes a new instance of FakeList<T>. + + The enumerator to use to implement the indexer. + + + + Initializes a new instance of FakeList<T>. + + The collection to use to implement the indexer. + + + + Gets the element at the specified index. + + + If index is greater or equal than the last used index, this operation is O(index - lastIndex), + else this operation is O(index). + + + + + The exception that is thrown when an alias references an anchor + that has not yet been defined in a context that does not support forward references. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Supports implementations of by providing methods to combine two hash codes. + + + + + Combines two hash codes. + + The first hash code. + The second hash code. + + + + + Represents a YAML stream emitter. + + + + + Emits an event. + + + + + Gets a value indicating whether the end of the input reader has been reached. + + + + + Gets the character at thhe specified offset. + + + + + Skips the next characters. Those characters must have been + obtained first by calling the method. + + + + + Generic queue on which items may be inserted + + + + + Gets the number of items that are contained by the queue. + + + + + Enqueues the specified item. + + The item to be enqueued. + + + + Dequeues an item. + + Returns the item that been dequeued. + + + + Inserts an item at the specified index. + + The index where to insert the item. + The item to be inserted. + + + + Represents a YAML stream paser. + + + + + Gets the current event. Returns null before the first call to , + and also after returns false. + + + + + Moves to the next event. + + Returns true if there are more events available, otherwise returns false. + + + + Defines the interface for a stand-alone YAML scanner that + converts a sequence of characters into a sequence of YAML tokens. + + + + + Gets the current position inside the input stream. + + The current position. + + + + Gets the current token. + + + + + Moves to the next token and consumes the current token. + + + + + Moves to the next token without consuming the current token. + + + + + Consumes the current token. + + + + + Provides access to a stream and allows to peek at the next characters, + up to the buffer's capacity. + + + This class implements a circular buffer with a fixed capacity. + + + + + Initializes a new instance of the class. + + The input. + The capacity. + + + + Gets a value indicating whether the end of the input reader has been reached. + + + + + Gets the index of the character for the specified offset. + + + + + Gets the character at thhe specified offset. + + + + + Reads characters until at least characters are in the buffer. + + + Number of characters to cache. + + + + + Skips the next characters. Those characters must have been + obtained first by calling the or methods. + + + + + Represents a location inside a file + + + + + Gets a with empty values. + + + + + Gets / sets the absolute offset in the file + + + + + Gets / sets the number of the line + + + + + Gets / sets the index of the column + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + + + + + + + Exception that is thrown when an infinite recursion is detected. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Simple implementation of that implements merging: http://yaml.org/type/merge.html + + + + + Parses YAML streams. + + + + + Initializes a new instance of the class. + + The input where the YAML stream is to be read. + + + + Initializes a new instance of the class. + + + + + Gets the current event. + + + + + Moves to the next event. + + Returns true if there are more events available, otherwise returns false. + + + + Parse the production: + stream ::= STREAM-START implicit_document? explicit_document* STREAM-END + ************ + + + + + Parse the productions: + implicit_document ::= block_node DOCUMENT-END* + * + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + ************************* + + + + + Parse directives. + + + + + Parse the productions: + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + *********** + + + + + Generate an empty scalar event. + + + + + Parse the productions: + block_node_or_indentless_sequence ::= + ALIAS + ***** + | properties (block_content | indentless_block_sequence)? + ********** * + | block_content | indentless_block_sequence + * + block_node ::= ALIAS + ***** + | properties block_content? + ********** * + | block_content + * + flow_node ::= ALIAS + ***** + | properties flow_content? + ********** * + | flow_content + * + properties ::= TAG ANCHOR? | ANCHOR TAG? + ************************* + block_content ::= block_collection | flow_collection | SCALAR + ****** + flow_content ::= flow_collection | SCALAR + ****** + + + + + Parse the productions: + implicit_document ::= block_node DOCUMENT-END* + ************* + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + ************* + + + + + Parse the productions: + block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END + ******************** *********** * ********* + + + + + Parse the productions: + indentless_sequence ::= (BLOCK-ENTRY block_node?)+ + *********** * + + + + + Parse the productions: + block_mapping ::= BLOCK-MAPPING_START + ******************* + ((KEY block_node_or_indentless_sequence?)? + *** * + (VALUE block_node_or_indentless_sequence?)?)* + + BLOCK-END + ********* + + + + + Parse the productions: + block_mapping ::= BLOCK-MAPPING_START + + ((KEY block_node_or_indentless_sequence?)? + + (VALUE block_node_or_indentless_sequence?)?)* + ***** * + BLOCK-END + + + + + + Parse the productions: + flow_sequence ::= FLOW-SEQUENCE-START + ******************* + (flow_sequence_entry FLOW-ENTRY)* + * ********** + flow_sequence_entry? + * + FLOW-SEQUENCE-END + ***************** + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + *** * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + ***** * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * + + + + + Parse the productions: + flow_mapping ::= FLOW-MAPPING-START + ****************** + (flow_mapping_entry FLOW-ENTRY)* + * ********** + flow_mapping_entry? + ****************** + FLOW-MAPPING-END + **************** + flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * *** * + + + + + Parse the productions: + flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * ***** * + + + + + Extension methods that provide useful abstractions over . + + + + + Ensures that the current event is of the specified type, returns it and moves to the next event. + + Type of the . + Returns the current event. + If the current event is not of the specified type. + + + + Checks whether the current event is of the specified type. + + Type of the event. + Returns true if the current event is of type . Otherwise returns false. + + + + Checks whether the current event is of the specified type. + If the event is of the specified type, returns it and moves to the next event. + Otherwise retruns null. + + Type of the . + Returns the current event if it is of type T; otherwise returns null. + + + + Gets the next event without consuming it. + + Type of the . + Returns the current event if it is of type T; otherwise returns null. + + + + Skips the current event and any nested event. + + + + + Keeps track of the recursion level, + and throws + whenever is reached. + + + + + Increments the recursion level, + and throws + if is reached. + + + + + Increments the recursion level, + and returns whether is still less than . + + + + + Decrements the recursion level. + + + + + Specifies the style of a YAML scalar. + + + + + Let the emitter choose the style. + + + + + The plain scalar style. + + + + + The single-quoted scalar style. + + + + + The double-quoted scalar style. + + + + + The literal scalar style. + + + + + The folded scalar style. + + + + + Converts a sequence of characters into a sequence of YAML tokens. + + + + + Gets the current token. + + + + + Initializes a new instance of the class. + + The input. + Indicates whether comments should be ignored + + + + Gets the current position inside the input stream. + + The current position. + + + + Moves to the next token. + + + + + + Consumes the current token and increments the parsed token count + + + + + Check the list of potential simple keys and remove the positions that + cannot contain simple keys anymore. + + + + + Pop indentation levels from the indents stack until the current level + becomes less or equal to the column. For each indentation level, append + the BLOCK-END token. + + + + + Produce the STREAM-END token and shut down the scanner. + + + + + Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. + + Scope: + %YAML 1.1 # a comment \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + %TAG !yaml! tag:yaml.org,2002: \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + + + Produce the DOCUMENT-START or DOCUMENT-END token. + + + + + Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. + + + + + Increase the flow level and resize the simple key list if needed. + + + + + Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. + + + + + Decrease the flow level. + + + + + Produce the FLOW-ENTRY token. + + + + + Produce the BLOCK-ENTRY token. + + + + + Produce the KEY token. + + + + + Produce the VALUE token. + + + + + Push the current indentation level to the stack and set the new level + the current column is greater than the indentation level. In this case, + append or insert the specified token into the token queue. + + + + + Produce the ALIAS or ANCHOR token. + + + + + Produce the TAG token. + + + + + Scan a TAG token. + + + + + Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. + + + + + Scan a block scalar. + + + + + Scan indentation spaces and line breaks for a block scalar. Determine the + indentation level if needed. + + + + + Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. + + + + + Scan a quoted scalar. + + + + + Produce the SCALAR(...,plain) token. + + + + + Scan a plain scalar. + + + + + Remove a potential simple key at the current flow level. + + + + + Scan the directive name. + + Scope: + %YAML 1.1 # a comment \n + ^^^^ + %TAG !yaml! tag:yaml.org,2002: \n + ^^^ + + + + + Scan the value of VERSION-DIRECTIVE. + + Scope: + %YAML 1.1 # a comment \n + ^^^^^^ + + + + + Scan the value of a TAG-DIRECTIVE token. + + Scope: + %TAG !yaml! tag:yaml.org,2002: \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + + + Scan a tag. + + + + + Decode an URI-escape sequence corresponding to a single UTF-8 character. + + + + + Scan a tag handle. + + + + + Scan the version number of VERSION-DIRECTIVE. + + Scope: + %YAML 1.1 # a comment \n + ^ + %YAML 1.1 # a comment \n + ^ + + + + + Check if a simple key may start at the current position and add it if + needed. + + + + + Exception that is thrown when a semantic error is detected on a YAML stream. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Exception that is thrown when a syntax error is detected on a YAML stream. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Collection of . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Initial content of the collection. + + + + + + + Gets a value indicating whether the collection contains a directive with the same handle + + + + + Represents an anchor token. + + + + + Gets the value. + + The value. + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The start position of the token. + The end position of the token. + + + + Represents an alias token. + + + + + Gets the value of the alias. + + + + + Initializes a new instance of the class. + + The value of the anchor. + + + + Initializes a new instance of the class. + + The value of the anchor. + The start position of the event. + The end position of the event. + + + + Represents a block end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block entry event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block mapping start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block sequence start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a comment + + + + + Gets the value of the comment + + + + + Gets a value indicating whether the comment appears other tokens on that line. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Represents a document end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a document start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow entry event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow mapping end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow mapping start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow sequence end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow sequence start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a key token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a scalar token. + + + + + Gets the value. + + The value. + + + + Gets the style. + + The style. + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The style. + + + + Initializes a new instance of the class. + + The value. + The style. + The start position of the token. + The end position of the token. + + + + Represents a stream end event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a stream start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a tag token. + + + + + Gets the handle. + + The handle. + + + + Gets the suffix. + + The suffix. + + + + Initializes a new instance of the class. + + The handle. + The suffix. + + + + Initializes a new instance of the class. + + The handle. + The suffix. + The start position of the token. + The end position of the token. + + + + Represents a tag directive token. + + + + + Gets the handle. + + The handle. + + + + Gets the prefix. + + The prefix. + + + + Initializes a new instance of the class. + + The handle. + The prefix. + + + + Initializes a new instance of the class. + + The handle. + The prefix. + The start position of the token. + The end position of the token. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + + + + Base class for YAML tokens. + + + + + Gets the start of the token in the input stream. + + + + + Gets the end of the token in the input stream. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a value token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a version directive token. + + + + + Gets the version. + + The version. + + + + Initializes a new instance of the class. + + The version. + + + + Initializes a new instance of the class. + + The version. + The start position of the token. + The end position of the token. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Specifies the version of the YAML language. + + + + + Gets the major version number. + + + + + Gets the minor version number. + + + + + Initializes a new instance of the class. + + The the major version number. + The the minor version number. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Base exception that is thrown when the a problem occurs in the YamlDotNet library. + + + + + Gets the position in the input stream where the event that originated the exception starts. + + + + + Gets the position in the input stream where the event that originated the exception ends. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Returns the that describes the property that + is being returned in an expression in the form: + + x => x.SomeProperty + + + + + + Adapts an to + because not all generic collections implement . + + + + + Adapts an to + because not all generic dictionaries implement . + + + + + Determines whether the specified type has a default constructor. + + The type. + + true if the type has a default constructor; otherwise, false. + + + + + Manages the state of a while it is loading. + + + + + Adds the specified node to the anchor list. + + The node. + + + + Gets the node with the specified anchor. + + The anchor. + if set to true, the method should throw an exception if there is no node with that anchor. + The start position. + The end position. + + + + + Adds the specified node to the collection of nodes with unresolved aliases. + + + The that has unresolved aliases. + + + + + Resolves the aliases that could not be resolved while loading the document. + + + + + Holds state that is used when emitting a stream. + + + + + Gets the already emitted anchors. + + The emitted anchors. + + + + Defines the method needed to be able to visit Yaml elements. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Represents an alias node in the YAML document. + + + + + Initializes a new instance of the class. + + The anchor. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Represents an YAML document. + + + + + Gets or sets the root node. + + The root node. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a single scalar node. + + + + + Initializes a new instance of the class. + + + + + Visitor that assigns anchors to nodes that are referenced more than once. + Existing anchors are preserved as much as possible. + + + + + Key: Node, Value: IsDuplicate + + + + + Returns whether the visited node is a duplicate. + + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + Gets all nodes from the document. + is thrown if an infinite recursion is detected. + + + + + Represents a mapping node in the YAML document. + + + + + Gets the children of the current node. + + The children. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + A sequence of where even elements are keys and odd elements are values. + + + + Initializes a new instance of the class. + + A sequence of where even elements are keys and odd elements are values. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + Creates a containing a key-value pair for each property of the specified object. + + + + + Represents a single node in the YAML document. + + + + + Gets or sets the anchor of the node. + + The anchor. + + + + Gets or sets the tag of the node. + + The tag. + + + + Gets the position in the input stream where the event that originated the node starts. + + + + + Gets the position in the input stream where the event that originated the node ends. + + + + + Loads the specified event. + + The event. + The state of the document. + + + + Parses the node represented by the next event in . + + Returns the node that has been parsed. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + Provides a basic implementation of Object.Equals + + + + + Gets a value indicating whether two objects are equal. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Gets the hash code of the specified object, or zero if the object is null. + + + + + Combines two hash codes into one. + + + + + Gets all nodes from the document, starting on the current node. + is thrown if an infinite recursion is detected. + + + + + When implemented, recursively enumerates all the nodes from the document, starting on the current node. + If is reached, a is thrown + instead of continuing and crashing with a . + + + + + Gets the type of node. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from string[] to . + + The value. + The result of the conversion. + + + + Converts a to a string by returning its value. + + + + + Gets the nth element in a . + + + + + Gets the value associated with a key in a . + + + + + Comparer that is based on identity comparisons. + + + + + + + + + + + Specifies the type of node in the representation model. + + + + + The node is a . + + + + + The node is a . + + + + + The node is a . + + + + + The node is a . + + + + + Represents a scalar node in the YAML document. + + + + + Gets or sets the value of the node. + + The value. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Represents a sequence node in the YAML document. + + + + + Gets the collection of child nodes. + + The children. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Adds the specified child to the collection. + + The child. + + + + Adds a scalar node to the collection. + + The child. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + Represents an YAML stream. + + + + + Gets the documents inside the stream. + + The documents. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Adds the specified document to the collection. + + The document. + + + + Loads the stream from the specified input. + + The input. + + + + Loads the stream from the specified . + + + + + Saves the stream to the specified output. + + The output. + + + + Saves the stream to the specified output. + + The output. + Indicates whether or not to assign node anchors. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Abstract implementation of that knows how to walk a complete Yaml object model. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Abstract implementation of that knows how to walk a complete YAML object model. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a key-value pair. + + The left (key) that is being visited. + The right (value) that is being visited. + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Common implementation of and . + + + + + Sets the that will be used by the (de)serializer. + + + + + Sets the that will be used by the (de)serializer. + + + + + Register an for for a given property. + + + An expression in the form: x => x.SomeProperty + The attribute to register. + + + + + Register an for for a given property. + + + + + Registers an additional to be used by the (de)serializer. + + + + + Registers an additional to be used by the (de)serializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the (de)serializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector. + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector based on a previously registered .. + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + A factory that creates instances of based on an existing . + + The type of the wrapped component. + The type of the component that this factory creates. + The component that is to be wrapped. + Returns a new instance of that is based on . + + + + A factory that creates instances of based on an existing and an argument. + + The type of the argument. + The type of the wrapped component. + The type of the component that this factory creates. + The component that is to be wrapped. + The argument of the factory. + Returns a new instance of that is based on and . + + + + This represents the YAML converter entity for . + + + + + Initializes a new instance of the class. + + value. Default value is . is considered as . + instance. Default value is . + List of date/time formats for parsing. Default value is "G". + On deserializing, all formats in the list are used for conversion, while on serializing, the first format in the list is used. + + + + Gets a value indicating whether the current converter supports converting the specified type. + + to check. + Returns True, if the current converter supports; otherwise returns False. + + + + Reads an object's state from a YAML parser. + + instance. + to convert. + Returns the instance converted. + On deserializing, all formats in the list are used for conversion. + + + + Writes the specified object's state to a YAML emitter. + + instance. + Value to write. + to convert. + On serializing, the first format in the list is used. + + + + Converter for System.Guid. + + + + + Converter for System.Type. + + + Converts to a scalar containing the assembly qualified name of the type. + + + + + Deserializes objects from the YAML format. + To customize the behavior of , + use the class. + + + + + Initializes a new instance of using the default configuration. + + + To customize the bahavior of the deserializer, use . + + + + + This constructor is private to discourage its use. + To invoke it, call the method. + + + + + Creates a new that uses the specified . + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use . + + + + + Deserializes an object of the specified type. + + The from where to deserialize the object. + The static type of the object to deserialize. + Returns the deserialized object. + + + + Creates and configures instances of . + This class is used to customize the behavior of . Use the relevant methods + to apply customizations, then call to create an instance of the deserializer + with the desired customizations. + + + + + Initializes a new using the default component registrations. + + + + + Sets the that will be used by the deserializer. + + + + + Sets the that will be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the deserializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an additional to be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the deserializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers a tag mapping. + + + + + Unregisters an existing tag mapping. + + + + + Instructs the deserializer to ignore unmatched properties instead of throwing an exception. + + + + + Creates a new according to the current configuration. + + + + + Creates a new that implements the current configuration. + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use the method. + + + + + Gets the next visitor that should be called by the current visitor. + + + + + Gets the that is to be used for serialization. + + + + + Gets a function that, when called, serializes the specified object. + + + + + Gets the visitor of type that was used during the pre-processig phase. + + The type of the visitor.s + + + No visitor of that type has been registered, + or ore than one visitors registered are of type . + + + + + Provided the base implementation for an IEventEmitter that is a + decorator for another IEventEmitter. + + + + + Deserializes an object of the specified type. + + The from where to deserialize the object. + The static type of the object to deserialize. + Returns the deserialized object. + + + + Translates property names according to a specific convention. + + + + + Determines the type of the specified node. + + The node to be deserialized. + The type that has been determined so far. + + true if has been resolved completely; + false if the next type should be invoked. + + + + + Represents an object along with its type. + + + + + A reference to the object. + + + + + The type that should be used when to interpret the . + + + + + The type of as determined by its container (e.g. a property). + + + + + The style to be used for scalars. + + + + + Creates instances of types. + + + This interface allows to provide a custom logic for creating instances during deserialization. + + + + + Creates an instance of the specified type. + + + + + Defines a strategy that walks through an object graph. + + + + + Traverses the specified object graph. + + The graph. + An that is to be notified during the traversal. + A that will be passed to the . + + + + Defined the interface of a type that can be notified during an object graph traversal. + + + + + Indicates whether the specified value should be entered. This allows the visitor to + override the handling of a particular object or type. + + The value that is about to be entered. + The context that this implementation depend on. + If the value is to be entered, returns true; otherwise returns false; + + + + Indicates whether the specified mapping should be entered. This allows the visitor to + override the handling of a particular pair. + + The key of the mapping that is about to be entered. + The value of the mapping that is about to be entered. + The context that this implementation depend on. + If the mapping is to be entered, returns true; otherwise returns false; + + + + Indicates whether the specified mapping should be entered. This allows the visitor to + override the handling of a particular pair. This overload should be invoked when the + mapping is produced by an object's property. + + The that provided access to . + The value of the mapping that is about to be entered. + The context that this implementation depend on. + If the mapping is to be entered, returns true; otherwise returns false; + + + + Notifies the visitor that a scalar value has been encountered. + + The value of the scalar. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a mapping is about to begin. + + The value that corresponds to the mapping. + The static type of the keys of the mapping. + The static type of the values of the mapping. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a mapping has ended. + + The value that corresponds to the mapping. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a sequence is about to begin. + + The value that corresponds to the sequence. + The static type of the elements of the sequence. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a sequence has ended. + + The value that corresponds to the sequence. + The context that this implementation depend on. + + + + Registers the component in place of the already registered component of type . + + + + + Registers the component before the already registered component of type . + + + + + Registers the component after the already registered component of type . + + + + + Registers the component before every other previously registered component. + + + + + Registers the component after every other previously registered component. + + + + + Registers the component in place of the already registered component of type . + + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object into a string. + + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Provides access to the properties of a type. + + + + + Gets all properties of the specified type. + + The type whose properties are to be enumerated. + The actual object of type whose properties are to be enumerated. Can be null. + + + + + Gets the property of the type with the specified name. + + The type whose properties are to be searched. + The actual object of type whose properties are to be searched. Can be null. + The name of the property. + + Determines if an exception or null should be returned if can't be + found in + + + + + + Resolves the type of values. + + + + + Allows an object to customize how it is serialized and deserialized. + + + + + Reads this object's state from a YAML parser. + + The parser where the object's state should be read from. + The type that the deserializer is expecting. + + A function that will use the current deserializer + to read an object of the given type from the parser. + + + + + Writes this object's state to a YAML emitter. + + The emitter where the object's state should be written to. + A function that will use the current serializer to write an object to the emitter. + + + + Represents a function that is used to deserialize an object of the given type. + + The type that the deserializer should read. + Returns the object that was deserialized. + + + + Represents a function that is used to serialize an object of the given type. + + The object to be serialized. + + The type that should be considered when emitting the object. + If null, the actual type of the is used. + + + + + Allows an object to customize how it is serialized and deserialized. + + + + + Reads this object's state from a YAML parser. + + + + + Writes this object's state to a YAML emitter. + + + + + Allows to customize how a type is serialized and deserialized. + + + + + Gets a value indicating whether the current converter supports converting the specified type. + + + + + Reads an object's state from a YAML parser. + + + + + Writes the specified object's state to a YAML emitter. + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter + is lowercase. + + + + + Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) string + + + + + Performs no naming conversion. + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter + is uppercase. + + + + + Convert the string from camelcase (thisIsATest) to a underscored (this_is_a_test) string + + + + + An empty type for cases where a type needs to be provided but won't be used. + + + + + Creates objects using Activator.CreateInstance. + + + + + Creates objects using a Func{Type,object}"/>. + + + + + An implementation of that traverses + readable properties, collections and dictionaries. + + + + + An implementation of that traverses + properties that are read/write, collections and dictionaries, while ensuring that + the graph can be regenerated from the resulting document. + + + + + A factory method for creating instances + + The type inspector to be used by the traversal strategy. + The type resolver to be used by the traversal strategy. + The type converters to be used by the traversal strategy. + The maximum object depth to be supported by the traversal strategy. + + + + + A base class that simplifies the correct implementation of . + + + + + Options that control the serialization process. + + + + + Serializes using the default options + + + + + Ensures that it will be possible to deserialize the serialized objects. + + + + + If this flag is specified, if the same object appears more than once in the + serialization graph, it will be serialized each time instead of just once. + + + If the serialization graph contains circular references and this flag is set, + a StackOverflowException will be thrown. + If this flag is not set, there is a performance penalty because the entire + object graph must be walked twice. + + + + + Forces every value to be serialized, even if it is the default value for that type. + + + + + Ensures that the result of the serialization is valid JSON. + + + + + Use the static type of values instead of their actual type. + + + + + Initializes a new instance of using the default configuration. + + + To customize the behavior of the serializer, use . + + + + + This constructor is private to discourage its use. + To invoke it, call the method. + + + + + Creates a new that uses the specified . + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use . + + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object into a string. + + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Creates and configures instances of . + This class is used to customize the behavior of . Use the relevant methods + to apply customizations, then call to create an instance of the serializer + with the desired customizations. + + + + + Sets the maximum recursion that is allowed while traversing the object graph. The default value is 50. + + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter. + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers a tag mapping. + + + + + Unregisters an existing tag mapping. + + + + + Ensures that it will be possible to deserialize the serialized objects. + This option will force the emission of tags and emit only properties with setters. + + + + + Specifies that, if the same object appears more than once in the + serialization graph, it will be serialized each time instead of just once. + + + If the serialization graph contains circular references and this flag is set, + a StackOverflowException will be thrown. + If this flag is not set, there is a performance penalty because the entire + object graph must be walked twice. + + + + + Forces every value to be serialized, even if it is the default value for that type. + + + + + Ensures that the result of the serialization is valid JSON. + + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + The type inspector. + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + The type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an to be used by the serializer + while traversing the object graph. + + A function that instantiates the traversal strategy. + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector. + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Creates a new according to the current configuration. + + + + + Creates a new that implements the current configuration. + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use the method. + + + + + An object that contains part of a YAML stream. + + + + + Gets or sets the events. + + The events. + + + + Reads this object's state from a YAML parser. + + + + + Writes this object's state to a YAML emitter. + + + + + Contains mappings between tags and types. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The mappings. + + + + Adds the specified tag. + + The tag. + The mapping. + + + + Gets the mapping. + + The tag. + + + + + Wraps another and applies caching. + + + + + Wraps another and applies a + naming convention to the names of the properties. + + + + + Returns the properties of a type that are both readable and writable. + + + + + Returns the properties of a type that are readable. + + + + + The type returned will be the actual type of the value, if available. + + + + + The type returned will always be the static type. + + + + + Indicates that a class used as deserialization state + needs to be notified after deserialization. + + + + + Adds the specified anchor. + + The anchor. + The @object. + + + + Gets the anchor for the specified object. + + The object. + The anchor. + + + + + Gets the with the specified anchor. + + + + + + A generic container that is preserved during the entire deserialization process. + Any disposable object added to this collecion will be disposed when this object is disposed. + + + + + Invokes on all + objects added to this collection that implement . + + + + + Various string extension methods + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter + is lowercase. + + String to convert + Converted string + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter + is uppercase. + + String to convert + Converted string + + + + Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) or + underscored (this_is_a_test) string + + String to convert + Separator to use between segments + Converted string + + + + Performs type conversions using every standard provided by the .NET library. + + + + + Registers a dynamically. + + The type to which the coverter should be associated. + The type of the converter. + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + The provider. + + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + The culture. + + + + + Converts the specified value using the invariant culture. + + The value to convert. + The type to which the value is to be converted. + + + + + Converts the specified value. + + The value to convert. + The type to which the value is to be converted. + The format provider. + + + + + Converts the specified value. + + The value to convert. + The type to which the value is to be converted. + The culture. + + + + + Define a collection of YamlAttribute Overrides for pre-defined object types. + + + + + Checks whether this mapping matches the specified type, and returns a value indicating the match priority. + + The priority of the match. Higher values have more priority. Zero indicates no match. + + + + Adds a Member Attribute Override + + Type + Class Member + Overriding Attribute + + + + Adds a Member Attribute Override + + + + + Creates a copy of this instance. + + + + + Applies the Yaml attribute overrides to another . + + + + + Applies the Yaml* attributes to another . + + + + + Instructs the YamlSerializer not to serialize the public field or public read/write property value. + + + + + Provides special Yaml serialization instructions. + + + + + Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. + + + + + Specifies the order priority of this property. + + + + + Instructs the to use a different field name for serialization. + + + + + When false, naming conventions will not be applied to this member. Defaults to true. + + + + + Specifies the scalar style of the property when serialized. This will only affect the serialization of scalar properties. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. + + + diff --git a/PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE b/PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE new file mode 100644 index 0000000..fbd466c --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Antoine Aubry and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE-libyaml b/PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE-libyaml new file mode 100644 index 0000000..050ced2 --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/netstandard1.3/LICENSE-libyaml @@ -0,0 +1,19 @@ +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/PSDeploy/Private/PSYaml/Lib/netstandard1.3/YamlDotNet.dll b/PSDeploy/Private/PSYaml/Lib/netstandard1.3/YamlDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..afd8d272c678216b4960ab763f09e372809c6c11 GIT binary patch literal 183808 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 DGm7aL literal 0 HcmV?d00001 diff --git a/PSDeploy/Private/PSYaml/Lib/netstandard1.3/YamlDotNet.xml b/PSDeploy/Private/PSYaml/Lib/netstandard1.3/YamlDotNet.xml new file mode 100644 index 0000000..1960c0c --- /dev/null +++ b/PSDeploy/Private/PSYaml/Lib/netstandard1.3/YamlDotNet.xml @@ -0,0 +1,4721 @@ + + + + YamlDotNet + + + + + The exception that is thrown when an alias references an anchor that does not exist. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Defines constants thar relate to the YAML specification. + + + + + Emits YAML streams. + + + + + Initializes a new instance of the class. + + The where the emitter will write. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + The preferred text width. + + + + Initializes a new instance of the class. + + The where the emitter will write. + The preferred indentation. + The preferred text width. + If true, write the output in canonical form. + + + + Emit an evt. + + + + + Check if we need to accumulate more events before emitting. + + We accumulate extra + - 1 event for DOCUMENT-START + - 2 events for SEQUENCE-START + - 3 events for MAPPING-START + + + + + Expect STREAM-START. + + + + + Expect DOCUMENT-START or STREAM-END. + + + + + Expect the root node. + + + + + Expect a node. + + + + + Expect ALIAS. + + + + + Expect SCALAR. + + + + + Expect SEQUENCE-START. + + + + + Expect MAPPING-START. + + + + + Expect DOCUMENT-END. + + + + + Expect a flow item node. + + + + + Expect a flow key node. + + + + + Expect a flow value node. + + + + + Expect a block item node. + + + + + Expect a block key node. + + + + + Expect a block value node. + + + + + Check if the document content is an empty scalar. + + + + + Check if the next node can be expressed as a simple key. + + + + + Represents an alias event. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the value of the alias. + + + + + Initializes a new instance of the class. + + The value of the alias. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The value of the alias. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Represents a document end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Initializes a new instance of the class. + + Indicates whether the event is implicit. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + Indicates whether the event is implicit. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a document start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the tags. + + The tags. + + + + Gets the version. + + The version. + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Initializes a new instance of the class. + + The version. + The tags. + Indicates whether the event is implicit. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The version. + The tags. + Indicates whether the event is implicit. + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Callback interface for external event Visitor. + + + + + Represents a mapping end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a mapping start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Gets the style of the mapping. + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + Indicates whether the event is implicit. + The style of the mapping. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + Indicates whether the event is implicit. + The style of the mapping. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Specifies the style of a mapping. + + + + + Let the emitter choose the style. + + + + + The block mapping style. + + + + + The flow mapping style. + + + + + Contains the behavior that is common between node events. + + + + + Gets the anchor. + + + + + + Gets the tag. + + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Base class for parsing events. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the position in the input stream where the event starts. + + + + + Gets the position in the input stream where the event ends. + + + + + Accepts the specified visitor. + + Visitor to accept, may not be null + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Represents a scalar event. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets the value. + + The value. + + + + Gets the style of the scalar. + + The style. + + + + Gets a value indicating whether the tag is optional for the plain style. + + + + + Gets a value indicating whether the tag is optional for any non-plain style. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The value. + The style. + . + . + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + The value. + The style. + . + . + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The tag. + The value. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a sequence end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a sequence start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Gets a value indicating whether this instance is implicit. + + + true if this instance is implicit; otherwise, false. + + + + + Gets a value indicating whether this instance is canonical. + + + + + + Gets the style. + + The style. + + + + Initializes a new instance of the class. + + The anchor. + The tag. + if set to true [is implicit]. + The style. + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Specifies the style of a sequence. + + + + + Let the emitter choose the style. + + + + + The block sequence style. + + + + + The flow sequence style. + + + + + Represents a stream end event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Initializes a new instance of the class. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Represents a stream start event. + + + + + Gets a value indicating the variation of depth caused by this event. + The value can be either -1, 0 or 1. For start events, it will be 1, + for end events, it will be -1, and for the remaining events, it will be 0. + + + + + Gets the event type, which allows for simpler type comparisons. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the event. + The end position of the event. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Invokes run-time type specific Visit() method of the specified visitor. + + visitor, may not be null. + + + + Implements an indexer through an IEnumerator<T>. + + + + + Initializes a new instance of FakeList<T>. + + The enumerator to use to implement the indexer. + + + + Initializes a new instance of FakeList<T>. + + The collection to use to implement the indexer. + + + + Gets the element at the specified index. + + + If index is greater or equal than the last used index, this operation is O(index - lastIndex), + else this operation is O(index). + + + + + The exception that is thrown when an alias references an anchor + that has not yet been defined in a context that does not support forward references. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Supports implementations of by providing methods to combine two hash codes. + + + + + Combines two hash codes. + + The first hash code. + The second hash code. + + + + + Represents a YAML stream emitter. + + + + + Emits an event. + + + + + Gets a value indicating whether the end of the input reader has been reached. + + + + + Gets the character at thhe specified offset. + + + + + Skips the next characters. Those characters must have been + obtained first by calling the method. + + + + + Generic queue on which items may be inserted + + + + + Gets the number of items that are contained by the queue. + + + + + Enqueues the specified item. + + The item to be enqueued. + + + + Dequeues an item. + + Returns the item that been dequeued. + + + + Inserts an item at the specified index. + + The index where to insert the item. + The item to be inserted. + + + + Represents a YAML stream paser. + + + + + Gets the current event. Returns null before the first call to , + and also after returns false. + + + + + Moves to the next event. + + Returns true if there are more events available, otherwise returns false. + + + + Defines the interface for a stand-alone YAML scanner that + converts a sequence of characters into a sequence of YAML tokens. + + + + + Gets the current position inside the input stream. + + The current position. + + + + Gets the current token. + + + + + Moves to the next token and consumes the current token. + + + + + Moves to the next token without consuming the current token. + + + + + Consumes the current token. + + + + + Provides access to a stream and allows to peek at the next characters, + up to the buffer's capacity. + + + This class implements a circular buffer with a fixed capacity. + + + + + Initializes a new instance of the class. + + The input. + The capacity. + + + + Gets a value indicating whether the end of the input reader has been reached. + + + + + Gets the index of the character for the specified offset. + + + + + Gets the character at thhe specified offset. + + + + + Reads characters until at least characters are in the buffer. + + + Number of characters to cache. + + + + + Skips the next characters. Those characters must have been + obtained first by calling the or methods. + + + + + Represents a location inside a file + + + + + Gets a with empty values. + + + + + Gets / sets the absolute offset in the file + + + + + Gets / sets the number of the line + + + + + Gets / sets the index of the column + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + + + + + + + Exception that is thrown when an infinite recursion is detected. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Simple implementation of that implements merging: http://yaml.org/type/merge.html + + + + + Parses YAML streams. + + + + + Initializes a new instance of the class. + + The input where the YAML stream is to be read. + + + + Initializes a new instance of the class. + + + + + Gets the current event. + + + + + Moves to the next event. + + Returns true if there are more events available, otherwise returns false. + + + + Parse the production: + stream ::= STREAM-START implicit_document? explicit_document* STREAM-END + ************ + + + + + Parse the productions: + implicit_document ::= block_node DOCUMENT-END* + * + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + ************************* + + + + + Parse directives. + + + + + Parse the productions: + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + *********** + + + + + Generate an empty scalar event. + + + + + Parse the productions: + block_node_or_indentless_sequence ::= + ALIAS + ***** + | properties (block_content | indentless_block_sequence)? + ********** * + | block_content | indentless_block_sequence + * + block_node ::= ALIAS + ***** + | properties block_content? + ********** * + | block_content + * + flow_node ::= ALIAS + ***** + | properties flow_content? + ********** * + | flow_content + * + properties ::= TAG ANCHOR? | ANCHOR TAG? + ************************* + block_content ::= block_collection | flow_collection | SCALAR + ****** + flow_content ::= flow_collection | SCALAR + ****** + + + + + Parse the productions: + implicit_document ::= block_node DOCUMENT-END* + ************* + explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + ************* + + + + + Parse the productions: + block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END + ******************** *********** * ********* + + + + + Parse the productions: + indentless_sequence ::= (BLOCK-ENTRY block_node?)+ + *********** * + + + + + Parse the productions: + block_mapping ::= BLOCK-MAPPING_START + ******************* + ((KEY block_node_or_indentless_sequence?)? + *** * + (VALUE block_node_or_indentless_sequence?)?)* + + BLOCK-END + ********* + + + + + Parse the productions: + block_mapping ::= BLOCK-MAPPING_START + + ((KEY block_node_or_indentless_sequence?)? + + (VALUE block_node_or_indentless_sequence?)?)* + ***** * + BLOCK-END + + + + + + Parse the productions: + flow_sequence ::= FLOW-SEQUENCE-START + ******************* + (flow_sequence_entry FLOW-ENTRY)* + * ********** + flow_sequence_entry? + * + FLOW-SEQUENCE-END + ***************** + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + *** * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + ***** * + + + + + Parse the productions: + flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * + + + + + Parse the productions: + flow_mapping ::= FLOW-MAPPING-START + ****************** + (flow_mapping_entry FLOW-ENTRY)* + * ********** + flow_mapping_entry? + ****************** + FLOW-MAPPING-END + **************** + flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * *** * + + + + + Parse the productions: + flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * ***** * + + + + + Extension methods that provide useful abstractions over . + + + + + Ensures that the current event is of the specified type, returns it and moves to the next event. + + Type of the . + Returns the current event. + If the current event is not of the specified type. + + + + Checks whether the current event is of the specified type. + + Type of the event. + Returns true if the current event is of type . Otherwise returns false. + + + + Checks whether the current event is of the specified type. + If the event is of the specified type, returns it and moves to the next event. + Otherwise retruns null. + + Type of the . + Returns the current event if it is of type T; otherwise returns null. + + + + Gets the next event without consuming it. + + Type of the . + Returns the current event if it is of type T; otherwise returns null. + + + + Skips the current event and any nested event. + + + + + Keeps track of the recursion level, + and throws + whenever is reached. + + + + + Increments the recursion level, + and throws + if is reached. + + + + + Increments the recursion level, + and returns whether is still less than . + + + + + Decrements the recursion level. + + + + + Specifies the style of a YAML scalar. + + + + + Let the emitter choose the style. + + + + + The plain scalar style. + + + + + The single-quoted scalar style. + + + + + The double-quoted scalar style. + + + + + The literal scalar style. + + + + + The folded scalar style. + + + + + Converts a sequence of characters into a sequence of YAML tokens. + + + + + Gets the current token. + + + + + Initializes a new instance of the class. + + The input. + Indicates whether comments should be ignored + + + + Gets the current position inside the input stream. + + The current position. + + + + Moves to the next token. + + + + + + Consumes the current token and increments the parsed token count + + + + + Check the list of potential simple keys and remove the positions that + cannot contain simple keys anymore. + + + + + Pop indentation levels from the indents stack until the current level + becomes less or equal to the column. For each indentation level, append + the BLOCK-END token. + + + + + Produce the STREAM-END token and shut down the scanner. + + + + + Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. + + Scope: + %YAML 1.1 # a comment \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + %TAG !yaml! tag:yaml.org,2002: \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + + + Produce the DOCUMENT-START or DOCUMENT-END token. + + + + + Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. + + + + + Increase the flow level and resize the simple key list if needed. + + + + + Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. + + + + + Decrease the flow level. + + + + + Produce the FLOW-ENTRY token. + + + + + Produce the BLOCK-ENTRY token. + + + + + Produce the KEY token. + + + + + Produce the VALUE token. + + + + + Push the current indentation level to the stack and set the new level + the current column is greater than the indentation level. In this case, + append or insert the specified token into the token queue. + + + + + Produce the ALIAS or ANCHOR token. + + + + + Produce the TAG token. + + + + + Scan a TAG token. + + + + + Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. + + + + + Scan a block scalar. + + + + + Scan indentation spaces and line breaks for a block scalar. Determine the + indentation level if needed. + + + + + Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. + + + + + Scan a quoted scalar. + + + + + Produce the SCALAR(...,plain) token. + + + + + Scan a plain scalar. + + + + + Remove a potential simple key at the current flow level. + + + + + Scan the directive name. + + Scope: + %YAML 1.1 # a comment \n + ^^^^ + %TAG !yaml! tag:yaml.org,2002: \n + ^^^ + + + + + Scan the value of VERSION-DIRECTIVE. + + Scope: + %YAML 1.1 # a comment \n + ^^^^^^ + + + + + Scan the value of a TAG-DIRECTIVE token. + + Scope: + %TAG !yaml! tag:yaml.org,2002: \n + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + + + Scan a tag. + + + + + Decode an URI-escape sequence corresponding to a single UTF-8 character. + + + + + Scan a tag handle. + + + + + Scan the version number of VERSION-DIRECTIVE. + + Scope: + %YAML 1.1 # a comment \n + ^ + %YAML 1.1 # a comment \n + ^ + + + + + Check if a simple key may start at the current position and add it if + needed. + + + + + Exception that is thrown when a semantic error is detected on a YAML stream. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Exception that is thrown when a syntax error is detected on a YAML stream. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Collection of . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Initial content of the collection. + + + + + + + Gets a value indicating whether the collection contains a directive with the same handle + + + + + Represents an anchor token. + + + + + Gets the value. + + The value. + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The start position of the token. + The end position of the token. + + + + Represents an alias token. + + + + + Gets the value of the alias. + + + + + Initializes a new instance of the class. + + The value of the anchor. + + + + Initializes a new instance of the class. + + The value of the anchor. + The start position of the event. + The end position of the event. + + + + Represents a block end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block entry event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block mapping start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a block sequence start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a comment + + + + + Gets the value of the comment + + + + + Gets a value indicating whether the comment appears other tokens on that line. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Represents a document end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a document start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow entry event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow mapping end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow mapping start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow sequence end token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a flow sequence start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a key token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a scalar token. + + + + + Gets the value. + + The value. + + + + Gets the style. + + The style. + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The style. + + + + Initializes a new instance of the class. + + The value. + The style. + The start position of the token. + The end position of the token. + + + + Represents a stream end event. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a stream start token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a tag token. + + + + + Gets the handle. + + The handle. + + + + Gets the suffix. + + The suffix. + + + + Initializes a new instance of the class. + + The handle. + The suffix. + + + + Initializes a new instance of the class. + + The handle. + The suffix. + The start position of the token. + The end position of the token. + + + + Represents a tag directive token. + + + + + Gets the handle. + + The handle. + + + + Gets the prefix. + + The prefix. + + + + Initializes a new instance of the class. + + The handle. + The prefix. + + + + Initializes a new instance of the class. + + The handle. + The prefix. + The start position of the token. + The end position of the token. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + + + + Base class for YAML tokens. + + + + + Gets the start of the token in the input stream. + + + + + Gets the end of the token in the input stream. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a value token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The start position of the token. + The end position of the token. + + + + Represents a version directive token. + + + + + Gets the version. + + The version. + + + + Initializes a new instance of the class. + + The version. + + + + Initializes a new instance of the class. + + The version. + The start position of the token. + The end position of the token. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Specifies the version of the YAML language. + + + + + Gets the major version number. + + + + + Gets the minor version number. + + + + + Initializes a new instance of the class. + + The the major version number. + The the minor version number. + + + + Determines whether the specified System.Object is equal to the current System.Object. + + The System.Object to compare with the current System.Object. + + true if the specified System.Object is equal to the current System.Object; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Base exception that is thrown when the a problem occurs in the YamlDotNet library. + + + + + Gets the position in the input stream where the event that originated the exception starts. + + + + + Gets the position in the input stream where the event that originated the exception ends. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Returns the that describes the property that + is being returned in an expression in the form: + + x => x.SomeProperty + + + + + + Adapts an to + because not all generic collections implement . + + + + + Adapts an to + because not all generic dictionaries implement . + + + + + Determines whether the specified type has a default constructor. + + The type. + + true if the type has a default constructor; otherwise, false. + + + + + Manages the state of a while it is loading. + + + + + Adds the specified node to the anchor list. + + The node. + + + + Gets the node with the specified anchor. + + The anchor. + if set to true, the method should throw an exception if there is no node with that anchor. + The start position. + The end position. + + + + + Adds the specified node to the collection of nodes with unresolved aliases. + + + The that has unresolved aliases. + + + + + Resolves the aliases that could not be resolved while loading the document. + + + + + Holds state that is used when emitting a stream. + + + + + Gets the already emitted anchors. + + The emitted anchors. + + + + Defines the method needed to be able to visit Yaml elements. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Visits a . + + + The that is being visited. + + + + + Represents an alias node in the YAML document. + + + + + Initializes a new instance of the class. + + The anchor. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Represents an YAML document. + + + + + Gets or sets the root node. + + The root node. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a single scalar node. + + + + + Initializes a new instance of the class. + + + + + Visitor that assigns anchors to nodes that are referenced more than once. + Existing anchors are preserved as much as possible. + + + + + Key: Node, Value: IsDuplicate + + + + + Returns whether the visited node is a duplicate. + + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + Gets all nodes from the document. + is thrown if an infinite recursion is detected. + + + + + Represents a mapping node in the YAML document. + + + + + Gets the children of the current node. + + The children. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + A sequence of where even elements are keys and odd elements are values. + + + + Initializes a new instance of the class. + + A sequence of where even elements are keys and odd elements are values. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Adds the specified mapping to the collection. + + The key node. + The value node. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + Creates a containing a key-value pair for each property of the specified object. + + + + + Represents a single node in the YAML document. + + + + + Gets or sets the anchor of the node. + + The anchor. + + + + Gets or sets the tag of the node. + + The tag. + + + + Gets the position in the input stream where the event that originated the node starts. + + + + + Gets the position in the input stream where the event that originated the node ends. + + + + + Loads the specified event. + + The event. + The state of the document. + + + + Parses the node represented by the next event in . + + Returns the node that has been parsed. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + Provides a basic implementation of Object.Equals + + + + + Gets a value indicating whether two objects are equal. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Gets the hash code of the specified object, or zero if the object is null. + + + + + Combines two hash codes into one. + + + + + Gets all nodes from the document, starting on the current node. + is thrown if an infinite recursion is detected. + + + + + When implemented, recursively enumerates all the nodes from the document, starting on the current node. + If is reached, a is thrown + instead of continuing and crashing with a . + + + + + Gets the type of node. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from string[] to . + + The value. + The result of the conversion. + + + + Converts a to a string by returning its value. + + + + + Gets the nth element in a . + + + + + Gets the value associated with a key in a . + + + + + Comparer that is based on identity comparisons. + + + + + + + + + + + Specifies the type of node in the representation model. + + + + + The node is a . + + + + + The node is a . + + + + + The node is a . + + + + + The node is a . + + + + + Represents a scalar node in the YAML document. + + + + + Gets or sets the value of the node. + + The value. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Represents a sequence node in the YAML document. + + + + + Gets the collection of child nodes. + + The children. + + + + Gets or sets the style of the node. + + The style. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Adds the specified child to the collection. + + The child. + + + + Adds a scalar node to the collection. + + The child. + + + + Resolves the aliases that could not be resolved when the node was created. + + The state of the document. + + + + Saves the current node to the specified emitter. + + The emitter where the node is to be saved. + The state. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Recursively enumerates all the nodes from the document, starting on the current node, + and throwing + if is reached. + + + + + Gets the type of node. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + Represents an YAML stream. + + + + + Gets the documents inside the stream. + + The documents. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Adds the specified document to the collection. + + The document. + + + + Loads the stream from the specified input. + + The input. + + + + Loads the stream from the specified . + + + + + Saves the stream to the specified output. + + The output. + + + + Saves the stream to the specified output. + + The output. + Indicates whether or not to assign node anchors. + + + + Accepts the specified visitor by calling the appropriate Visit method on it. + + + A . + + + + + + + + Abstract implementation of that knows how to walk a complete Yaml object model. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called after this object finishes visiting a . + + + The that has been visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Abstract implementation of that knows how to walk a complete YAML object model. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a . + + + The that is being visited. + + + + + Called when this object is visiting a key-value pair. + + The left (key) that is being visited. + The right (value) that is being visited. + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Visits every child of a . + + + The that is being visited. + + + + + Common implementation of and . + + + + + Sets the that will be used by the (de)serializer. + + + + + Sets the that will be used by the (de)serializer. + + + + + Register an for for a given property. + + + An expression in the form: x => x.SomeProperty + The attribute to register. + + + + + Register an for for a given property. + + + + + Registers an additional to be used by the (de)serializer. + + + + + Registers an additional to be used by the (de)serializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the (de)serializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector. + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the (de)serializer. + + A function that instantiates the type inspector based on a previously registered .. + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + A factory that creates instances of based on an existing . + + The type of the wrapped component. + The type of the component that this factory creates. + The component that is to be wrapped. + Returns a new instance of that is based on . + + + + A factory that creates instances of based on an existing and an argument. + + The type of the argument. + The type of the wrapped component. + The type of the component that this factory creates. + The component that is to be wrapped. + The argument of the factory. + Returns a new instance of that is based on and . + + + + This represents the YAML converter entity for . + + + + + Initializes a new instance of the class. + + value. Default value is . is considered as . + instance. Default value is . + List of date/time formats for parsing. Default value is "G". + On deserializing, all formats in the list are used for conversion, while on serializing, the first format in the list is used. + + + + Gets a value indicating whether the current converter supports converting the specified type. + + to check. + Returns True, if the current converter supports; otherwise returns False. + + + + Reads an object's state from a YAML parser. + + instance. + to convert. + Returns the instance converted. + On deserializing, all formats in the list are used for conversion. + + + + Writes the specified object's state to a YAML emitter. + + instance. + Value to write. + to convert. + On serializing, the first format in the list is used. + + + + Converter for System.Guid. + + + + + Converter for System.Type. + + + Converts to a scalar containing the assembly qualified name of the type. + + + + + Deserializes objects from the YAML format. + To customize the behavior of , + use the class. + + + + + Initializes a new instance of using the default configuration. + + + To customize the bahavior of the deserializer, use . + + + + + This constructor is private to discourage its use. + To invoke it, call the method. + + + + + Creates a new that uses the specified . + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use . + + + + + Deserializes an object of the specified type. + + The from where to deserialize the object. + The static type of the object to deserialize. + Returns the deserialized object. + + + + Creates and configures instances of . + This class is used to customize the behavior of . Use the relevant methods + to apply customizations, then call to create an instance of the deserializer + with the desired customizations. + + + + + Initializes a new using the default component registrations. + + + + + Sets the that will be used by the deserializer. + + + + + Sets the that will be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the deserializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an additional to be used by the deserializer. + + + + + Registers an additional to be used by the deserializer. + + + Configures the location where to insert the + + + + Registers an additional to be used by the deserializer. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers a tag mapping. + + + + + Unregisters an existing tag mapping. + + + + + Instructs the deserializer to ignore unmatched properties instead of throwing an exception. + + + + + Creates a new according to the current configuration. + + + + + Creates a new that implements the current configuration. + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use the method. + + + + + Gets the next visitor that should be called by the current visitor. + + + + + Gets the that is to be used for serialization. + + + + + Gets a function that, when called, serializes the specified object. + + + + + Gets the visitor of type that was used during the pre-processig phase. + + The type of the visitor.s + + + No visitor of that type has been registered, + or ore than one visitors registered are of type . + + + + + Provided the base implementation for an IEventEmitter that is a + decorator for another IEventEmitter. + + + + + Deserializes an object of the specified type. + + The from where to deserialize the object. + The static type of the object to deserialize. + Returns the deserialized object. + + + + Translates property names according to a specific convention. + + + + + Determines the type of the specified node. + + The node to be deserialized. + The type that has been determined so far. + + true if has been resolved completely; + false if the next type should be invoked. + + + + + Represents an object along with its type. + + + + + A reference to the object. + + + + + The type that should be used when to interpret the . + + + + + The type of as determined by its container (e.g. a property). + + + + + The style to be used for scalars. + + + + + Creates instances of types. + + + This interface allows to provide a custom logic for creating instances during deserialization. + + + + + Creates an instance of the specified type. + + + + + Defines a strategy that walks through an object graph. + + + + + Traverses the specified object graph. + + The graph. + An that is to be notified during the traversal. + A that will be passed to the . + + + + Defined the interface of a type that can be notified during an object graph traversal. + + + + + Indicates whether the specified value should be entered. This allows the visitor to + override the handling of a particular object or type. + + The value that is about to be entered. + The context that this implementation depend on. + If the value is to be entered, returns true; otherwise returns false; + + + + Indicates whether the specified mapping should be entered. This allows the visitor to + override the handling of a particular pair. + + The key of the mapping that is about to be entered. + The value of the mapping that is about to be entered. + The context that this implementation depend on. + If the mapping is to be entered, returns true; otherwise returns false; + + + + Indicates whether the specified mapping should be entered. This allows the visitor to + override the handling of a particular pair. This overload should be invoked when the + mapping is produced by an object's property. + + The that provided access to . + The value of the mapping that is about to be entered. + The context that this implementation depend on. + If the mapping is to be entered, returns true; otherwise returns false; + + + + Notifies the visitor that a scalar value has been encountered. + + The value of the scalar. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a mapping is about to begin. + + The value that corresponds to the mapping. + The static type of the keys of the mapping. + The static type of the values of the mapping. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a mapping has ended. + + The value that corresponds to the mapping. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a sequence is about to begin. + + The value that corresponds to the sequence. + The static type of the elements of the sequence. + The context that this implementation depend on. + + + + Notifies the visitor that the traversal of a sequence has ended. + + The value that corresponds to the sequence. + The context that this implementation depend on. + + + + Registers the component in place of the already registered component of type . + + + + + Registers the component before the already registered component of type . + + + + + Registers the component after the already registered component of type . + + + + + Registers the component before every other previously registered component. + + + + + Registers the component after every other previously registered component. + + + + + Registers the component in place of the already registered component of type . + + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object into a string. + + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Provides access to the properties of a type. + + + + + Gets all properties of the specified type. + + The type whose properties are to be enumerated. + The actual object of type whose properties are to be enumerated. Can be null. + + + + + Gets the property of the type with the specified name. + + The type whose properties are to be searched. + The actual object of type whose properties are to be searched. Can be null. + The name of the property. + + Determines if an exception or null should be returned if can't be + found in + + + + + + Resolves the type of values. + + + + + Allows an object to customize how it is serialized and deserialized. + + + + + Reads this object's state from a YAML parser. + + The parser where the object's state should be read from. + The type that the deserializer is expecting. + + A function that will use the current deserializer + to read an object of the given type from the parser. + + + + + Writes this object's state to a YAML emitter. + + The emitter where the object's state should be written to. + A function that will use the current serializer to write an object to the emitter. + + + + Represents a function that is used to deserialize an object of the given type. + + The type that the deserializer should read. + Returns the object that was deserialized. + + + + Represents a function that is used to serialize an object of the given type. + + The object to be serialized. + + The type that should be considered when emitting the object. + If null, the actual type of the is used. + + + + + Allows an object to customize how it is serialized and deserialized. + + + + + Reads this object's state from a YAML parser. + + + + + Writes this object's state to a YAML emitter. + + + + + Allows to customize how a type is serialized and deserialized. + + + + + Gets a value indicating whether the current converter supports converting the specified type. + + + + + Reads an object's state from a YAML parser. + + + + + Writes the specified object's state to a YAML emitter. + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter + is lowercase. + + + + + Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) string + + + + + Performs no naming conversion. + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter + is uppercase. + + + + + Convert the string from camelcase (thisIsATest) to a underscored (this_is_a_test) string + + + + + An empty type for cases where a type needs to be provided but won't be used. + + + + + Creates objects using Activator.CreateInstance. + + + + + Creates objects using a Func{Type,object}"/>. + + + + + An implementation of that traverses + readable properties, collections and dictionaries. + + + + + An implementation of that traverses + properties that are read/write, collections and dictionaries, while ensuring that + the graph can be regenerated from the resulting document. + + + + + A factory method for creating instances + + The type inspector to be used by the traversal strategy. + The type resolver to be used by the traversal strategy. + The type converters to be used by the traversal strategy. + The maximum object depth to be supported by the traversal strategy. + + + + + A base class that simplifies the correct implementation of . + + + + + Options that control the serialization process. + + + + + Serializes using the default options + + + + + Ensures that it will be possible to deserialize the serialized objects. + + + + + If this flag is specified, if the same object appears more than once in the + serialization graph, it will be serialized each time instead of just once. + + + If the serialization graph contains circular references and this flag is set, + a StackOverflowException will be thrown. + If this flag is not set, there is a performance penalty because the entire + object graph must be walked twice. + + + + + Forces every value to be serialized, even if it is the default value for that type. + + + + + Ensures that the result of the serialization is valid JSON. + + + + + Use the static type of values instead of their actual type. + + + + + Initializes a new instance of using the default configuration. + + + To customize the behavior of the serializer, use . + + + + + This constructor is private to discourage its use. + To invoke it, call the method. + + + + + Creates a new that uses the specified . + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use . + + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object into a string. + + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + + + + Serializes the specified object. + + The where to serialize the object. + The object to serialize. + The static type of the object to serialize. + + + + Creates and configures instances of . + This class is used to customize the behavior of . Use the relevant methods + to apply customizations, then call to create an instance of the serializer + with the desired customizations. + + + + + Sets the maximum recursion that is allowed while traversing the object graph. The default value is 50. + + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter. + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer. + + A function that instantiates the event emitter based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers a tag mapping. + + + + + Unregisters an existing tag mapping. + + + + + Ensures that it will be possible to deserialize the serialized objects. + This option will force the emission of tags and emit only properties with setters. + + + + + Specifies that, if the same object appears more than once in the + serialization graph, it will be serialized each time instead of just once. + + + If the serialization graph contains circular references and this flag is set, + a StackOverflowException will be thrown. + If this flag is not set, there is a performance penalty because the entire + object graph must be walked twice. + + + + + Forces every value to be serialized, even if it is the default value for that type. + + + + + Ensures that the result of the serialization is valid JSON. + + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + The type inspector. + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + The type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer + before emitting an object graph. + + + Registering a visitor in the pre-processing phase enables to traverse the object graph once + before actually emitting it. This allows a visitor to collect information about the graph that + can be used later by another visitor registered in the emission phase. + + A factory that creates the based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Registers an to be used by the serializer + while traversing the object graph. + + A function that instantiates the traversal strategy. + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector. + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector. + Configures the location where to insert the + + + + Registers an additional to be used by the serializer + while emitting an object graph. + + A function that instantiates the type inspector based on a previously registered . + Configures the location where to insert the + + + + Unregisters an existing of type . + + + + + Unregisters an existing of type . + + + + + Creates a new according to the current configuration. + + + + + Creates a new that implements the current configuration. + This method is available for advanced scenarios. The preferred way to customize the bahavior of the + deserializer is to use the method. + + + + + An object that contains part of a YAML stream. + + + + + Gets or sets the events. + + The events. + + + + Reads this object's state from a YAML parser. + + + + + Writes this object's state to a YAML emitter. + + + + + Contains mappings between tags and types. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The mappings. + + + + Adds the specified tag. + + The tag. + The mapping. + + + + Gets the mapping. + + The tag. + + + + + Wraps another and applies caching. + + + + + Wraps another and applies a + naming convention to the names of the properties. + + + + + Returns the properties of a type that are both readable and writable. + + + + + Returns the properties of a type that are readable. + + + + + The type returned will be the actual type of the value, if available. + + + + + The type returned will always be the static type. + + + + + Indicates that a class used as deserialization state + needs to be notified after deserialization. + + + + + Adds the specified anchor. + + The anchor. + The @object. + + + + Gets the anchor for the specified object. + + The object. + The anchor. + + + + + Gets the with the specified anchor. + + + + + + A generic container that is preserved during the entire deserialization process. + Any disposable object added to this collecion will be disposed when this object is disposed. + + + + + Invokes on all + objects added to this collection that implement . + + + + + Various string extension methods + + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter + is lowercase. + + String to convert + Converted string + + + + Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to + pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter + is uppercase. + + String to convert + Converted string + + + + Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) or + underscored (this_is_a_test) string + + String to convert + Separator to use between segments + Converted string + + + + Performs type conversions using every standard provided by the .NET library. + + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + The provider. + + + + + Converts the specified value. + + The type to which the value is to be converted. + The value to convert. + The culture. + + + + + Converts the specified value using the invariant culture. + + The value to convert. + The type to which the value is to be converted. + + + + + Converts the specified value. + + The value to convert. + The type to which the value is to be converted. + The format provider. + + + + + Converts the specified value. + + The value to convert. + The type to which the value is to be converted. + The culture. + + + + + Define a collection of YamlAttribute Overrides for pre-defined object types. + + + + + Checks whether this mapping matches the specified type, and returns a value indicating the match priority. + + The priority of the match. Higher values have more priority. Zero indicates no match. + + + + Adds a Member Attribute Override + + Type + Class Member + Overriding Attribute + + + + Adds a Member Attribute Override + + + + + Creates a copy of this instance. + + + + + Applies the Yaml attribute overrides to another . + + + + + Applies the Yaml* attributes to another . + + + + + Instructs the YamlSerializer not to serialize the public field or public read/write property value. + + + + + Provides special Yaml serialization instructions. + + + + + Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. + + + + + Specifies the order priority of this property. + + + + + Instructs the to use a different field name for serialization. + + + + + When false, naming conventions will not be applied to this member. Defaults to true. + + + + + Specifies the scalar style of the property when serialized. This will only affect the serialization of scalar properties. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. + + + diff --git a/PSDeploy/Private/PSYaml/Private/YamlDotNet-Integration.ps1 b/PSDeploy/Private/PSYaml/Private/YamlDotNet-Integration.ps1 index c004d45..78ca9c4 100644 --- a/PSDeploy/Private/PSYaml/Private/YamlDotNet-Integration.ps1 +++ b/PSDeploy/Private/PSYaml/Private/YamlDotNet-Integration.ps1 @@ -1,8 +1,42 @@ function Load-YamlDotNetLibraries([string] $dllPath, $shadowPath = (Join-Path -Path (Get-TempPath) -ChildPath 'poweryaml\shadow')) { - gci $dllPath | % { - $shadow = Shadow-Copy -File $_.FullName -ShadowPath $shadowPath - Add-Type -Path $Shadow - } | Out-Null + + # Borrowed from powershell-yaml + # See https://github.com/cloudbase/powershell-yaml/issues/47 + + $yaml = [System.AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { + $_.Location -Match "YamlDotNet.dll" + } + + if ($yaml) { + # YamlDotNet already loaded. + + $requiredTypes = @('YamlStream') + + foreach ($i in $requiredTypes) { + if ($i -notin $yaml.DefinedTypes.Name) { + Throw "YamlDotNet is loaded but missing required type ($i). Older version installed on system or assembly version mismatch?" + } + } + + return + } + + $assemblies = @{ + "core" = Join-Path $dllPath "netstandard1.3\YamlDotNet.dll"; + "net45" = Join-Path $dllPath "net45\YamlDotNet.dll"; + "net35" = Join-Path $dllPath "net35\YamlDotNet.dll"; + } + + if ($PSVersionTable.PSEdition -eq "Core") { + $dllPath = $assemblies["core"] + } elseif ($PSVersionTable.PSVersion.Major -ge 4) { + $dllPath = $assemblies["net45"] + } else { + $dllPath = $assemblies["net35"] + } + + Add-Type -Path (Shadow-Copy -File $dllPath -ShadowPath $shadowPath) } #Get-YamlStream returned a document. Not sure why. Swapping code directly into function