ࡱ> )  !"#$%&'(+-/0123456Root Entry{E1DXD*Scene dDllDirectoryClassDirectory3 Z ClassDataFConfig,XVideoPostQueueR4SummaryInformation(.\DocumentSummaryInformation8S d &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0 @ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (# !@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (# !?!! 2?224  E G dH $'I $'J 9~4 2 E G dH $' I $' J ! @v@&01 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&02 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0)@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# !)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4  E G dH $'I $'J S P "  (#)!@!@!@!@!@!@  (# )!@!?)???!)@!@!!?!?!@! @! ! @@  (# )!@!?!!@=!@!@!@!@!@! @! @  (#)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#)!?!! 2?224 'E G dH $'I $'J 9~4 2!"#$%&(E G dH $' I $' J ! @v@&03 - Default@ @0@?S V " &<)Z B0`(#+!@!@!@! @ 4 *E G dH $'I $'J 4 +E G dH $'I $'J 07@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# /)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 .E G dH $'I $'J S P "  (#7!@!@!@!@!@!@  (# 7!@!?)???!)@!@!!?!?!@! @! ! @@  (# 7!@!?!!@=!@!@!@!@!@! @! @  (#7@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#7!?!! 2?224 5E G dH $'I $'J 9~4 2-/012346E G dH $' I $' J ! ,@v@&04 - Default@ @0@?S V " &<)Z B0`(#9!@!@!@! @ 4 8E G dH $'I $'J 4 9E G dH $'I $'J 0E@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# =)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 <E G dH $'I $'J S P "  (#E!@!@!@!@!@!@  (# E!@!?)???!)@!@!!?!?!@! @! ! @@  (# E!@!?!!@=!@!@!@!@!@! @! @  (#E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#E!?!! 2?224 CE G dH $'I $'J 9~4 2;=>?@ABDE G dH $' I $' J ! :@v@&05 - Default@ @0@?S V " &<)Z B0`(#G!@!@!@! @ 4 FE G dH $'I $'J 4 GE G dH $'I $'J 0S@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# K)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 JE G dH $'I $'J S P "  (#S!@!@!@!@!@!@  (# S!@!?)???!)@!@!!?!?!@! @! ! @@  (# S!@!?!!@=!@!@!@!@!@! @! @  (#S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#S!?!! 2?224 QE G dH $'I $'J 9~4 2IKLMNOPRE G dH $' I $' J ! H@v@&06 - Default@ @0@?S V " &<)Z B0`(#U!@!@!@! @ 4 TE G dH $'I $'J 4 UE G dH $'I $'J 0a@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# Y)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 XE G dH $'I $'J S P "  (#a!@!@!@!@!@!@  (# a!@!?)???!)@!@!!?!?!@! @! ! @@  (# a!@!?!!@=!@!@!@!@!@! @! @  (#a@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#a!?!! 2?224 _E G dH $'I $'J 9~4 2WYZ[\]^`E G dH $' I $' J ! V@v@&07 - Default@ @0@?S V " &<)Z B0`(#c!@!@!@! @ 4 bE G dH $'I $'J 4 cE G dH $'I $'J 0o@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# g)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 fE G dH $'I $'J S P "  (#o!@!@!@!@!@!@  (# o!@!?)???!)@!@!!?!?!@! @! ! @@  (# o!@!?!!@=!@!@!@!@!@! @! @  (#o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#o!?!! 2?224 mE G dH $'I $'J 9~4 2eghijklnE G dH $' I $' J ! d@v@&08 - Default@ @0@?S V " &<)Z B0`(#q!@!@!@! @ 4 pE G dH $'I $'J 4 qE G dH $'I $'J 0}@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# u)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 tE G dH $'I $'J S P "  (#}!@!@!@!@!@!@  (# }!@!?)???!)@!@!!?!?!@! @! ! @@  (# }!@!?!!@=!@!@!@!@!@! @! @  (#}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#}!?!! 2?224 {E G dH $'I $'J 9~4 2suvwxyz|E G dH $' I $' J ! r@v@&09 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 ~E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&10 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&11 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&12 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&13 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&14 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&15 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&16 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&17 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&18 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0 @ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (# !@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (# !?!! 2?224 E G dH $'I $'J 9~4 2E G dH $' I $' J ! @v@&19 - Default@ @0@?S V " &<)Z B0`(# !@!@!@! @ 4  E G dH $'I $'J 4  E G dH $'I $'J 0@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#!@!@!@!@!@!@  (# !@!?)???!)@!@!!?!?!@! @! ! @@  (# !@!?!!@=!@!@!@!@!@! @! @  (#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#!?!! 2?224 E G dH $'I $'J 9~4 2 E G dH $' I $' J !  @v@&20 - Default@ @0@?S V " &<)Z B0`(#!@!@!@! @ 4 E G dH $'I $'J 4 E G dH $'I $'J 0%@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# )???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 E G dH $'I $'J S P "  (#%!@!@!@!@!@!@  (# %!@!?)???!)@!@!!?!?!@! @! ! @@  (# %!@!?!!@=!@!@!@!@!@! @! @  (#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#%!?!! 2?224 #E G dH $'I $'J 9~4 2 !"$E G dH $' I $' J ! @v@&21 - Default@ @0@?S V " &<)Z B0`(#'!@!@!@! @ 4 &E G dH $'I $'J 4 'E G dH $'I $'J 03@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# +)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 *E G dH $'I $'J S P "  (#3!@!@!@!@!@!@  (# 3!@!?)???!)@!@!!?!?!@! @! ! @@  (# 3!@!?!!@=!@!@!@!@!@! @! @  (#3@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#3!?!! 2?224 1E G dH $'I $'J 9~4 2)+,-./02E G dH $' I $' J ! (@v@&22 - Default@ @0@?S V " &<)Z B0`(#5!@!@!@! @ 4 4E G dH $'I $'J 4 5E G dH $'I $'J 0A@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# 9)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 8E G dH $'I $'J S P "  (#A!@!@!@!@!@!@  (# A!@!?)???!)@!@!!?!?!@! @! ! @@  (# A!@!?!!@=!@!@!@!@!@! @! @  (#A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#A!?!! 2?224 ?E G dH $'I $'J 9~4 279:;<=>@E G dH $' I $' J ! 6@v@&23 - Default@ @0@?S V " &<)Z B0`(#C!@!@!@! @ 4 BE G dH $'I $'J 4 CE G dH $'I $'J 0O@ 5 0E G lH ('0I ('0J PQ> Q QQQ (# G)???)???)fff?fff?fff?!@!@!@!@!)! ! =! = 4 FE G dH $'I $'J S P "  (#O!@!@!@!@!@!@  (# O!@!?)???!)@!@!!?!?!@! @! ! @@  (# O!@!?!!@=!@!@!@!@!@! @! @  (#O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@@@@@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#O!?!! 2?224 ME G dH $'I $'J 9~4 2EGHIJKLNE G dH $' I $' J ! D@v@&24 - Default@ @0@?S V "5 0E G lH ('0I ('0J PQ> (# R)a7>څ=څ=) ?H>H>)fff?fff?fff?!@!@!@!@!)! ! =! = 4 QE G dH $'I $'J S P "  (#Z!@!@!@!@!@!@  (# Z!@!?)???!)@!@!!?!?!@! @! ! @@  (# Z!@!?!!@=!@!@!@!@!@! @! @  (#Z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?@?@?@?@?@?@?@>@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?!@$ ambientMapambientMapAmountambientMapEnablebumpMapbumpMapAmountbumpMapEnable diffuseMapdiffuseMapAmountdiffuseMapEnabledisplacementMap displacementMapAmount displacementMapEnable filterMapfilterMapAmountfilterMapEnableglossinessMapglossinessMapAmountglossinessMapEnable opacityMapopacityMapAmountopacityMapEnablereflectionMap reflectionMapAmount reflectionMapEnable refractionMap refractionMapAmount refractionMapEnable selfIllumMapselfIllumMapAmountselfIllumMapEnablespecularLevelMapspecularLevelMapAmountspecularLevelMapEnable specularMapspecularMapAmountspecularMapEnable  (#Z!?!! 2?224 XE G dH $'I $'J 9\4 2PRSTUVWYE G dH $' I $' J @t@$Material #1@ @0@?S V "4 v )7ESao} %3AOZE G dH $'I $'J 0n   A P<PPPPP P 5 E G dH $'I $'J   "5 E G dH $'I $'J %W>%002%3%4%0 "5 E G dH $'I $'J %Ww%002%3%4%0 "5 E G dH $'I $'J %%002%3%4%0 4 _`aE G dH $'I $'J  "5 E G dH $'I $'J %%002%3%4%0 "5 E G dH $'I $'J %%002%3%4%0 "5 E G dH $'I $'J %%002%3%4%04 cdeE G dH $'I $'J :5 E G dH $'I $'J %*????%002%3%4%04 bfgE G dH $'I $'J 0r1r@?@ @2?2 22222 2 2 @ @@ @@22@2@222@¸2?2P!%B " @0? "WH D` 0B "oH` 0B "%;[`b5` 04 ijE G dH $'I $'J   *N 6)) )%I=AIB\A%I=! *A.ZIA! *A%I=~EA~EA~EA%I=\NA\NA\NA%I=Z?=AZ?=AZ?=A%I=R1tWwR1tWwR1tWw%I=Z<(=Z<(=Z<(=%I=\Š91\Š91\Š91%I=~E{m~E{m~E{m%I= s4 s4l>%I=v,Lk3%I=Ww+hfv+h{WA+h%I=CACA8{.A%I=Ǘ B<$5BǗ B<$5%I=XHB{mXHB{mXHB{m%I=P`B91P`B91P`B91%I=B7(=B7(=B7(=%I=wBWwwBWwwBWw%I=B@=AB@=AB@=A%I=P`BNAP`BNAP`BNA%I=WHBAWHBAWHBA%I=~"B)A~"B)AmB3A%I=rAHBpAA,&AAB%I='A[ZB'A&8B'AB%I=lXADZB0ADZB @DZB%I=?9LB?B?B%I= hDZBc-DZBDZB%I=([ZB(B(27B%I=A(9B?wA )")) )>1lA1lA=@"1lA>Ww`:@`:WQ`:>[\[>@">Wws>TQs>@s> )")) )>eP&^Ae/rAe8mA>'F}XdA/XdA2.XdA>lN&^Al8mAl-rA>%F}@2.@/@ )")) )>+?AP&^A+?A/rA+?A8mA>-TAXdAAXdA@XdA>`@N&^A`@8mA`@-rA>/TA@@@A@ )")) )> %ؿ@ %ؿγ %ؿ>'H͗N'H'Hט>{γ{@{>A˗NAטA ) ,'W$' $' $' $' 0$'$'$'$'$'@D$'P`p  &A`==00X @P `??p1#B?C5 *hklE G dH $'I $'CJ  ` ^b Circle01 c @@j k ?l *????t X ( 2    1#B?" r@A - IqIqII    A   ?  AJ *94 nE G dH $'I $'J  r??   ?0? `?w2w%tuq?v=*94 pE G dH $'I $'J  r??   ?0? `?w2w%tuq?v=*94 rE G dH $'I $'J  r??   ?0? `?w2w%tuq?v=@ 0"d7%Z@P`@ 0"d7%Z@P`*5 E G dH $'I $'J %%0 02%3%4%0*5 E G dH $'I $'J %%0 02%3%4%0*5 E G dH $'I $'J %???%0 02%3%4%0 "5 E G dH $'I $'J %?%002%3%4%0*94 zE G dH $'I $'J  r??   ?0? `?w2w%tuq?v=[4 Noqstuvwxy{E G dH $'I $'J   A = >05@P`p 0@P`p(?@B ?0B @ 08@1,3,5-12bT??@?bT??@?@ 0"d7%Z@P`.!= >05@P`p 0@P`p(?@B ?0B @ 08@1,3,5-12bT??@?bT??@?@ 0"d7%Z@P`.# >05@P`p 0@P`p(?@B ?0B @ 08@1,3,5-12bT??@?bT??@?.$%`  (#!!@ 4 E G dH $'I $'J   (#!!@ 4 E G dH $'I $'J   (#!!@ 4 E G dH $'I $'J   (#!!@ 4 E G dH $'I $'J    (#!!@  4 E G dH $'I $'J   !(#!!@ !4 E G dH $'I $'J   "(#!!@ "4 E G dH $'I $'J  4 *E G dH $'I $'J Float KK0Point3 KK0Point4 KK0Position KK0Rotation KK0Scale KK0(Block Control KK0#. 4 E G dH $'I $'J @8Block Manager Wrapper F6;y0$. 4 E G dH $'I $'J @DPropagation Manager Wrapper fZ+y v0 %(#!!! %4 E G dH $'I $'J  4 E G dH $'I $'J @P4Scene Effect Loader 96G0&o &0 %(&#Z&`(#!@4@XX UNNAMED XX!!!!!!! !!! ! ! ! ! '4 E G dH $'I $'J 2e 4 E G dH $'I $'J 0@J! @P(4 E G dH $'I $'J  0@)4 E G dH $'I $'J 4 E G dH $'I $'J @P f Je1Q0e *(#!H *4 E G dH $'I $'J d4 2~E G dH $' I $' J @"Video Post 0+H,0(Global Tracks *~ps0FBlock Manager Wrapper TVNode F6;y0RPropagation Manager Wrapper TVNode fZ+y v0(Scene Effects 96G0.Reaction Manager 8J)y04Parameter Collector M[9~t0 f Je1Q0BAnim Layer Control Manager qH0x0+5 E G dH $'I $'J ,2b@@@@?@2-4 E G dH $'I $'J .4 lE G dH $'I $'J 0/ 04 >[\]^|}E G dH $' I $' J 0 ?n(@.Pdp)P   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEGHIJKLMNOPQTUVWXYZ[\]^_`abcdefghijklmnopqr! d(#8 9 TViewport Manager for DirectX (Autodesk)7 ,ViewportManager.gup8 9 PCustom Attribute Container (Autodesk)7 4CustAttribContainer.dlo8 t9 ZStandard Materials and Textures (Autodesk)7 mtl.dlt8 b9 >Standard Samplers (Autodesk)7 samplers.dlh8 `9 DStandard Controllers (Autodesk)7 ctrl.dlc8 r9 RStandard Pre-Filter Kernels (Autodesk)7 kernel.dlk8 j9 NDefault Scanline Renderer (Autodesk)7 rend.dlr8 n9 FBlock Manager Utility (Autodesk)7 "AcadBlocks.dlu8 |9 RPropagation Manager Utility (Autodesk)7 $InstanceMgr.dlu8 z9 DScene Effect Manager (Autodesk)7 0SceneEffectLoader.dlu8 r9 PChange Reaction Controller (Autodesk)7 reactor.dlc8 d9 :ParameterEditor (Autodesk)7 $ParamEditor.gup8 f9 8Bitmap Proxies (Autodesk)7 (BitmapProxies.dlu@ 8` B ParamBlock2@ @` <)Z B0`B $ViewportManager@ H` &6]#B ,CustAttribContainer@ 0` B Texmaps@ ,` 8B Blinn@ 6` B ParamBlock@ :` 2w%B Max 2.5 Star@ 2`  B Standard@ @`  B $Material Editor@ 6` 33B MtlBaseLib@ <`  B Default Sound@ 2` B RootNode@ :`  B Bezier Float@ :` ~# B Position XYZ@ 4`  B Euler XYZ@ :`  B Bezier Scale@ P`  B 4Position/Rotation/Scale@ P`  B 4Master Point Controller@ 8`  @B SplineShape@ 6` X~B Base Layer@ *` B Node@ *` #wB Area@ T` B 8Default Scanline Renderer@ B` gaWFFeTB &RenderElementMgr@ :`  B Bezier Color@ D` #DB (RenderEnvironment@ @` RB $NamedSelSetList@ .` sqB TVNode@ 6` KKB Float List@ 8` KKB Point3 List@ 8` KKB Point4 List@ <` KK B Position List@ <` KK B Rotation List@ 6` KK B Scale List@ <` KKB Block Control@ L` F6;yB 0Block Manager Wrapper@ X` fZ+y vB <Propagation Manager Wrapper@ H`  96GB ,Scene Effect Loader@ B`  8J)yB &Reaction Manager@ J`  0 %(&#Z&`B .ParameterCollectorCA@ "`  f Je1Q` B @ "`  co { ,B @ T` qH0xB 8MasterLayerControlManager@ >` B "Grid Reference@ <` i5B RenderEffects@ 6` B Shadow Map@ <` ts QB Layer Manager@ :` 5,B TrackSetList@ ,` ""B Scene!!هR~| !!$!0 ! !!` !!!l}X;O !!Z!CbT  !B@ @ @ @ @ @ !! Ds3  !j6=={@zB@=N?@{@zB@==@E=HCd ?:@@GA=?   =@E=   !n!Rv  !V    0 ?@ P ` >P `*  ՜.+,D՜.+,|08 @  GeneralMesh TotalsScene Totals,External DependenciesObjectsMaterialsUsed Plug-Ins Render Data +*3ds max Version: 9.0UncompressedBuild: M100Vertices: 0Faces: 0Objects: 0Shapes: 1Lights: 0Cameras: 0Helpers: 0Space Warps: 0Total: 13dsmax3dsmax3dsmax3dsmaxCircle01(ViewportManager.gup0CustAttribContainer.dlomtl.dltsamplers.dlhctrl.dlckernel.dlkrend.dlrAcadBlocks.dlu InstanceMgr.dlu,SceneEffectLoader.dlureactor.dlc ParamEditor.gup$BitmapProxies.dlu0User Name=Administrator<Computer Name=PC-200906091811"Render Width=640$Render Height=480&Render Aspect=1.00(Renderer ClassIDA=1(Renderer ClassIDB=0PRenderer Name=Default Scanline Renderer$Animation Start=0 Animation End=0 Render Flags=32$Scene Flags=57032"RenderElements=14 $, Z A .@ A ,    0 @ P ` a p      D;0 O >@ P `p   default 0!,     @ 0  @ ?P` p    P ` p      ?  @ P p  0 @ P ` >p    0!    ް  0*<}M@Pް` p*<}Mۀ ( ) cT)'( (( 0 0 0 0 0 fff?0 fff?0 fff?0 L?0 L?0 L?0 333?0 333?0 333?0 0 0  0 (????????????????????????)V ???)V????)V5?>q5>qس]?>zI?zC0) 1) 2) ( t(V???P@?(V?.;?.;?(V.;.;.;3.;? '?(V5?>q5>qس]?>zI?zC@0@??v(0 0( :( 6( @( ( F(      pB p( a( (==fff?fff?(==fff?fff?( ( ( ( ( 00( T0 \0 X0 `0 d0 h0 ?@ @ @@ ?A.09{O0 ?A ?A0@??w(0 1( ;( 7( A( ( G(      qB q( b( (==fff?fff?(==fff?fff?( ( ( ( ( 10( U0 ]0 Y0 a0 e0 i0 ?@ @ A@ ?A.0GAA 0 ?A ?B0@??x(0 2( <( 8( B( ( H(      rB r( c( (==fff?fff?(==fff?fff?( ( ( ( ( 20( V0 ^0 Z0 b0 f0 j0 ?@ @ B@ ?A.0GAA 0 ?A ?C0@??y(0 3( =( 9( C( ( I(      sB s( d( (==fff?fff?(==fff?fff?( ( ( ( ( 30( W0 _0 [0 c0 g0 k0 ?@ @ C@ ?A.0GAA 0 ?A ? ( !(&( FL%("%D80B2>A A??? p      0 ?1 `!\??"  !d[&<98J$D:lL8Ca +@.,f6)I@,Ie[T:Am Msrw(FhixB==nH`{{a &+ڤ}kHE&F L1-PPPPPPeD~J.I2G% -/\M[9~tɶ?tQrxa_m;oK`Y)a*ȅÊc(A0[<:=]?9  pA HB! Oh+'0,(08GU ???C UU(U  }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}