MixX

Aus Coldmirror-Wiki
Zur Navigation springen Zur Suche springen

WixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX XWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX