From 7998d8966886e7861f8ac53dedb9d2f441588c65 Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Fri, 17 Mar 2023 21:01:27 +0000 Subject: [PATCH] Save figures --- figures/3d-nc-fd-convergence.png | Bin 0 -> 43753 bytes figures/3d-nc-fd-convergence.svg | 1032905 +++++++++++++++++++++++++++ figures/dla-eg.png | Bin 0 -> 94625 bytes figures/dla-eg.svg | 5003 + figures/nc-fd-convergence.png | Bin 0 -> 44508 bytes figures/nc-fd-convergence.svg | 44717 ++ figures/rmax-n.png | Bin 0 -> 28177 bytes figures/rmax-n.svg | 200668 ++++++ figures/sp-fd-rust-vs-c.png | Bin 0 -> 32548 bytes figures/sp-fd-rust-vs-c.svg | 1379 + figures/sp-fd.png | Bin 0 -> 30242 bytes figures/sp-fd.svg | 1401 + 12 files changed, 1286073 insertions(+) create mode 100644 figures/3d-nc-fd-convergence.png create mode 100644 figures/3d-nc-fd-convergence.svg create mode 100644 figures/dla-eg.png create mode 100644 figures/dla-eg.svg create mode 100644 figures/nc-fd-convergence.png create mode 100644 figures/nc-fd-convergence.svg create mode 100644 figures/rmax-n.png create mode 100644 figures/rmax-n.svg create mode 100644 figures/sp-fd-rust-vs-c.png create mode 100644 figures/sp-fd-rust-vs-c.svg create mode 100644 figures/sp-fd.png create mode 100644 figures/sp-fd.svg diff --git a/figures/3d-nc-fd-convergence.png b/figures/3d-nc-fd-convergence.png new file mode 100644 index 0000000000000000000000000000000000000000..c809d0dec4b51efb63e8e427d4ee1bbf130467b4 GIT binary patch literal 43753 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 literal 0 HcmV?d00001 diff --git a/figures/3d-nc-fd-convergence.svg b/figures/3d-nc-fd-convergence.svg new file mode 100644 index 0000000..6836c9f --- /dev/null +++ b/figures/3d-nc-fd-convergence.svg @@ -0,0 +1,1032905 @@ + + + + + + + + 2023-03-17T20:04:23.419580 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/dla-eg.png b/figures/dla-eg.png new file mode 100644 index 0000000000000000000000000000000000000000..5a42125c1aaccbb29e6043df2ae97f7dc163aab1 GIT binary patch literal 94625 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/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 literal 0 HcmV?d00001 diff --git a/figures/dla-eg.svg b/figures/dla-eg.svg new file mode 100644 index 0000000..ebdd83d --- /dev/null +++ b/figures/dla-eg.svg @@ -0,0 +1,5003 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/figures/nc-fd-convergence.png b/figures/nc-fd-convergence.png new file mode 100644 index 0000000000000000000000000000000000000000..df152d68c5cef4804d68fb4698fbf3400ec89ae0 GIT binary patch literal 44508 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�mS#fJF%iWiJA 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 bT}y(uujhw<)wuEj&qdPJGSn>8I1}_Qqf#{H literal 0 HcmV?d00001 diff --git a/figures/nc-fd-convergence.svg b/figures/nc-fd-convergence.svg new file mode 100644 index 0000000..73fa4ee --- /dev/null +++ b/figures/nc-fd-convergence.svg @@ -0,0 +1,44717 @@ + + + + + + + + 2023-03-17T15:05:26.819064 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/rmax-n.png b/figures/rmax-n.png new file mode 100644 index 0000000000000000000000000000000000000000..90a893d8b5eb9737b7216818a9c7577aa50f46dc GIT binary patch literal 28177 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 Ol)8$x^5?7OPyPp18hJSY literal 0 HcmV?d00001 diff --git a/figures/rmax-n.svg b/figures/rmax-n.svg new file mode 100644 index 0000000..c5aab77 --- /dev/null +++ b/figures/rmax-n.svg @@ -0,0 +1,200668 @@ + + + + + + + + 2023-03-17T20:07:57.975142 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/sp-fd-rust-vs-c.png b/figures/sp-fd-rust-vs-c.png new file mode 100644 index 0000000000000000000000000000000000000000..905536b1ebaaa31567062829e638ff3344519911 GIT binary patch literal 32548 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 + + + + + + + 2023-03-17T15:19:19.078346 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/sp-fd.png b/figures/sp-fd.png new file mode 100644 index 0000000000000000000000000000000000000000..4eacd3755df98339aa67220808ccd655d30de801 GIT binary patch literal 30242 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 literal 0 HcmV?d00001 diff --git a/figures/sp-fd.svg b/figures/sp-fd.svg new file mode 100644 index 0000000..c3282ff --- /dev/null +++ b/figures/sp-fd.svg @@ -0,0 +1,1401 @@ + + + + + + + + 2023-03-17T15:15:17.288767 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +