j1-template 2022.5.0.rc1 → 2022.5.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/banner.html +24 -1
  3. data/assets/themes/j1/adapter/js/masterslider.js +22 -5
  4. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +56 -0
  5. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  6. data/lib/j1/version.rb +1 -1
  7. data/lib/starter_web/Gemfile +270 -270
  8. data/lib/starter_web/_config.yml +19 -9
  9. data/lib/starter_web/_data/blocks/banner.yml +17 -0
  10. data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
  11. data/lib/starter_web/_data/modules/justifiedGallery.yml +82 -0
  12. data/lib/starter_web/_data/modules/masterslider.yml +5 -9
  13. data/lib/starter_web/_data/modules/navigator_menu.yml +208 -168
  14. data/lib/starter_web/_includes/attributes.asciidoc +18 -14
  15. data/lib/starter_web/_includes/tables/template_variables.asciidoc +1 -1
  16. data/lib/starter_web/_plugins/asciidoctor-extensions/lightbox-block.rb +4 -4
  17. data/lib/starter_web/assets/images/pages/features/blog-post-navigator-1280x1000.jpg +0 -0
  18. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1280x800.png +0 -0
  19. data/lib/starter_web/assets/images/pages/features/clipboard-1280x600.jpg +0 -0
  20. data/lib/starter_web/assets/images/pages/features/comments-1280x600.jpg +0 -0
  21. data/lib/starter_web/assets/images/pages/features/cookie-consent-1280x800.jpg +0 -0
  22. data/lib/starter_web/assets/images/pages/features/desktop-web-navigation-1280x1000.jpg +0 -0
  23. data/lib/starter_web/assets/images/pages/features/example-content-1280x800.jpg +0 -0
  24. data/lib/starter_web/assets/images/pages/features/example-content-present-videos-1280x800.jpg +0 -0
  25. data/lib/starter_web/assets/images/pages/features/fab-1280x500.jpg +0 -0
  26. data/lib/starter_web/assets/images/pages/features/full-text-search-1280x800.jpg +0 -0
  27. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.png +0 -0
  28. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.png +0 -0
  29. data/lib/starter_web/assets/images/pages/features/intro-panel-1280x800.jpg +0 -0
  30. data/lib/starter_web/assets/images/pages/features/master-header-1280x600.jpg +0 -0
  31. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.png +0 -0
  32. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.png +0 -0
  33. data/lib/starter_web/assets/images/pages/features/nav-module-1280x300.jpg +0 -0
  34. data/lib/starter_web/assets/images/pages/features/nbi-barchart-1280x800.jpg +0 -0
  35. data/lib/starter_web/assets/images/pages/features/teaser-banner-1280x600.jpg +0 -0
  36. data/lib/starter_web/assets/images/pages/features/translator-1280x800.jpg +0 -0
  37. data/lib/starter_web/assets/images/sticker/600x600/sticker-new-version.png +0 -0
  38. data/lib/starter_web/assets/images/sticker/scalable/readme +0 -0
  39. data/lib/starter_web/package.json +6 -6
  40. data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +67 -0
  41. data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +232 -0
  42. data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +631 -0
  43. data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +638 -0
  44. data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +248 -0
  45. data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +928 -0
  46. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +139 -0
  47. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +229 -0
  48. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +112 -0
  49. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +142 -0
  50. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +171 -0
  51. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +111 -0
  52. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +94 -0
  53. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +106 -0
  54. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +16260 -0
  55. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +247 -0
  56. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +12382 -0
  57. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +12387 -0
  58. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +12170 -0
  59. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +1058 -0
  60. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +14478 -0
  61. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +379 -0
  62. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +442 -0
  63. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +523 -0
  64. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +84 -0
  65. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +194 -0
  66. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +89 -0
  67. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +164 -0
  68. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +173 -0
  69. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +256 -0
  70. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +126 -0
  71. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +87 -0
  72. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +90 -0
  73. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +87 -0
  74. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +64 -0
  75. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +122 -0
  76. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +181 -0
  77. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +89 -0
  78. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +175 -0
  79. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +87 -0
  80. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +14478 -0
  81. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +15227 -0
  82. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  83. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +12382 -0
  84. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +1058 -0
  85. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +14478 -0
  86. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +442 -0
  87. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +523 -0
  88. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +89 -0
  89. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +87 -0
  90. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +90 -0
  91. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +64 -0
  92. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +122 -0
  93. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +89 -0
  94. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +87 -0
  95. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +15227 -0
  96. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  97. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  98. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +16296 -0
  99. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +15385 -0
  100. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +16296 -0
  101. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +15385 -0
  102. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +717 -0
  103. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +1381 -0
  104. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +1440 -0
  105. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +927 -0
  106. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +1105 -0
  107. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +578 -0
  108. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +1196 -0
  109. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +1681 -0
  110. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +680 -0
  111. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +693 -0
  112. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +751 -0
  113. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +770 -0
  114. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +666 -0
  115. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +1365 -0
  116. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +1405 -0
  117. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +856 -0
  118. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +1167 -0
  119. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +601 -0
  120. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +1356 -0
  121. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_07_bar_and_categorical_data_plots-checkpoint.ipynb +1742 -0
  122. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +625 -0
  123. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +685 -0
  124. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +726 -0
  125. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +726 -0
  126. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +560 -0
  127. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +716 -0
  128. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +1365 -0
  129. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +1405 -0
  130. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +856 -0
  131. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +1167 -0
  132. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +601 -0
  133. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +1356 -0
  134. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +1742 -0
  135. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +625 -0
  136. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +685 -0
  137. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +336 -0
  138. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +433 -0
  139. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +244 -0
  140. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +12170 -0
  141. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +336 -0
  142. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +163 -0
  143. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +51 -0
  144. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +289 -0
  145. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +266 -0
  146. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +396 -0
  147. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +318 -0
  148. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +158 -0
  149. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +6799 -0
  150. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +470 -0
  151. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +49 -0
  152. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +378 -0
  153. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +123 -0
  154. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +177 -0
  155. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +311 -0
  156. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +255 -0
  157. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +275 -0
  158. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +1 -0
  159. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +234 -0
  160. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +186 -0
  161. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +794 -0
  162. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +323 -0
  163. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +261 -0
  164. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +1489 -0
  165. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +163 -0
  166. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +966 -0
  167. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +476 -0
  168. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +427 -0
  169. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +528 -0
  170. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +480 -0
  171. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +217 -0
  172. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +253 -0
  173. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +225 -0
  174. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +123 -0
  175. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +357 -0
  176. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +422 -0
  177. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +157 -0
  178. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +176 -0
  179. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +195 -0
  180. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +189 -0
  181. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +565 -0
  182. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +182 -0
  183. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +315 -0
  184. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +465 -0
  185. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +835 -0
  186. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +362 -0
  187. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +252 -0
  188. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +273 -0
  189. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +242 -0
  190. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +417 -0
  191. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +155 -0
  192. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +238 -0
  193. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +152 -0
  194. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +206 -0
  195. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +474 -0
  196. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +181 -0
  197. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +310 -0
  198. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +702 -0
  199. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +495 -0
  200. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +433 -0
  201. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +326 -0
  202. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +177 -0
  203. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +177 -0
  204. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +154 -0
  205. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +152 -0
  206. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +128 -0
  207. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +113 -0
  208. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +326 -0
  209. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +179 -0
  210. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +174 -0
  211. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +177 -0
  212. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +51 -0
  213. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +213 -0
  214. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +56 -0
  215. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +52 -0
  216. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
  217. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +247 -0
  218. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +323 -0
  219. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +387 -0
  220. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +185 -0
  221. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +384 -0
  222. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +254 -0
  223. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +732 -0
  224. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +247 -0
  225. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +651 -0
  226. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +773 -0
  227. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +111 -0
  228. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +199 -0
  229. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +421 -0
  230. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +323 -0
  231. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +387 -0
  232. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +185 -0
  233. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +384 -0
  234. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +254 -0
  235. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +732 -0
  236. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +373 -0
  237. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +361 -0
  238. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +569 -0
  239. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +487 -0
  240. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +341 -0
  241. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +259 -0
  242. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +277 -0
  243. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +182 -0
  244. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +299 -0
  245. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +252 -0
  246. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +318 -0
  247. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +514 -0
  248. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +182 -0
  249. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +479 -0
  250. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +128 -0
  251. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +152 -0
  252. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +137 -0
  253. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +484 -0
  254. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +483 -0
  255. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +170 -0
  256. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +349 -0
  257. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +177 -0
  258. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +29 -0
  259. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +1372 -0
  260. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +749 -0
  261. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +268 -0
  262. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +704 -0
  263. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +389 -0
  264. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +455 -0
  265. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +229 -0
  266. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +613 -0
  267. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +413 -0
  268. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +131 -0
  269. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +190 -0
  270. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +193 -0
  271. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +363 -0
  272. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +367 -0
  273. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +337 -0
  274. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +196 -0
  275. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +948 -0
  276. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +489 -0
  277. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +173 -0
  278. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +40 -0
  279. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +228 -0
  280. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +2216 -0
  281. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +1170 -0
  282. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +318 -0
  283. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +1479 -0
  284. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +1524 -0
  285. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +983 -0
  286. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +1280 -0
  287. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +660 -0
  288. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +1563 -0
  289. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +1888 -0
  290. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +689 -0
  291. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +767 -0
  292. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +475 -0
  293. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +747 -0
  294. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +1250 -0
  295. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -0
  296. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -0
  297. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +407 -0
  298. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -0
  299. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -0
  300. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -0
  301. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -0
  302. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -0
  303. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -0
  304. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -0
  305. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -0
  306. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -0
  307. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +290 -0
  308. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +818 -0
  309. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +351 -0
  310. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +106 -0
  311. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +228 -0
  312. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +518 -0
  313. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +372 -0
  314. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +473 -0
  315. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +242 -0
  316. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +496 -0
  317. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +329 -0
  318. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +866 -0
  319. data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +270 -0
  320. data/lib/starter_web/pages/public/features/general.adoc +74 -33
  321. data/lib/starter_web/pages/public/features/template.adoc +159 -68
  322. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  323. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  324. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -95
  325. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  326. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -96
  327. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  328. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  329. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -95
  330. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -93
  331. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  332. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +313 -0
  333. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +281 -0
  334. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +253 -0
  335. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +579 -0
  336. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +718 -0
  337. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +91 -0
  338. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +420 -0
  339. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +250 -0
  340. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +425 -0
  341. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +118 -0
  342. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
  343. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +14 -0
  344. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +11 -0
  345. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +11 -0
  346. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +11 -0
  347. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +11 -0
  348. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +11 -0
  349. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +47 -0
  350. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +11 -0
  351. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +11 -0
  352. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +11 -0
  353. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +337 -0
  354. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
  355. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +130 -0
  356. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +6 -5
  357. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -2
  358. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +4 -2
  359. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
  360. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +1 -1
  361. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  362. data/lib/starter_web/utilsrv/package.json +1 -1
  363. metadata +384 -17
  364. data/lib/starter_web/_includes/_attributes.asciidoc +0 -575
  365. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1080x800.jpg +0 -0
  366. data/lib/starter_web/assets/images/pages/features/comments-1080x600.jpg +0 -0
  367. data/lib/starter_web/assets/images/pages/features/cookie-consent-1080x800.jpg +0 -0
  368. data/lib/starter_web/assets/images/pages/features/example-content-present-videos-1080x800.jpg +0 -0
  369. data/lib/starter_web/assets/images/pages/features/fab-1080x500.jpg +0 -0
  370. data/lib/starter_web/assets/images/pages/features/full-text-search-1080x800.jpg +0 -0
  371. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.jpg +0 -0
  372. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.jpg +0 -0
  373. data/lib/starter_web/assets/images/pages/features/intro-panel-1080x800.jpg +0 -0
  374. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.jpg +0 -0
  375. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.jpg +0 -0
  376. data/lib/starter_web/assets/images/pages/features/nav-module-1080x300.jpg +0 -0
  377. data/lib/starter_web/assets/images/pages/features/teaser-banner-1080x600.jpg +0 -0
  378. data/lib/starter_web/assets/images/pages/features/translator-1080x800.jpg +0 -0
@@ -0,0 +1,927 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "<table style=\"float:left; border:none\">\n",
8
+ " <tr style=\"border:none\">\n",
9
+ " <td style=\"border:none\">\n",
10
+ " <a href=\"https://bokeh.org/\"> \n",
11
+ " <img \n",
12
+ " src=\"assets/bokeh-transparent.png\" \n",
13
+ " style=\"width:50px\"\n",
14
+ " >\n",
15
+ " </a> \n",
16
+ " </td>\n",
17
+ " <td style=\"border:none\">\n",
18
+ " <h1>Bokeh Tutorial</h1>\n",
19
+ " </td>\n",
20
+ " </tr>\n",
21
+ "</table>\n",
22
+ "\n",
23
+ "<div style=\"float:right;\"><h2>03. Data Sources and Transformations</h2></div>"
24
+ ]
25
+ },
26
+ {
27
+ "cell_type": "markdown",
28
+ "metadata": {},
29
+ "source": [
30
+ "# Imports and Setup\n",
31
+ "\n",
32
+ "First, let's make the standard imports"
33
+ ]
34
+ },
35
+ {
36
+ "cell_type": "code",
37
+ "execution_count": 1,
38
+ "metadata": {},
39
+ "outputs": [],
40
+ "source": [
41
+ "from bokeh.io import output_notebook, show\n",
42
+ "from bokeh.plotting import figure"
43
+ ]
44
+ },
45
+ {
46
+ "cell_type": "code",
47
+ "execution_count": 2,
48
+ "metadata": {},
49
+ "outputs": [
50
+ {
51
+ "data": {
52
+ "text/html": [
53
+ "<div class=\"bk-root\">\n",
54
+ " <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
55
+ " <span id=\"1002\">Loading BokehJS ...</span>\n",
56
+ " </div>\n"
57
+ ]
58
+ },
59
+ "metadata": {},
60
+ "output_type": "display_data"
61
+ },
62
+ {
63
+ "data": {
64
+ "application/javascript": [
65
+ "(function(root) {\n",
66
+ " function now() {\n",
67
+ " return new Date();\n",
68
+ " }\n",
69
+ "\n",
70
+ " const force = true;\n",
71
+ "\n",
72
+ " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
73
+ " root._bokeh_onload_callbacks = [];\n",
74
+ " root._bokeh_is_loading = undefined;\n",
75
+ " }\n",
76
+ "\n",
77
+ "const JS_MIME_TYPE = 'application/javascript';\n",
78
+ " const HTML_MIME_TYPE = 'text/html';\n",
79
+ " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
80
+ " const CLASS_NAME = 'output_bokeh rendered_html';\n",
81
+ "\n",
82
+ " /**\n",
83
+ " * Render data to the DOM node\n",
84
+ " */\n",
85
+ " function render(props, node) {\n",
86
+ " const script = document.createElement(\"script\");\n",
87
+ " node.appendChild(script);\n",
88
+ " }\n",
89
+ "\n",
90
+ " /**\n",
91
+ " * Handle when an output is cleared or removed\n",
92
+ " */\n",
93
+ " function handleClearOutput(event, handle) {\n",
94
+ " const cell = handle.cell;\n",
95
+ "\n",
96
+ " const id = cell.output_area._bokeh_element_id;\n",
97
+ " const server_id = cell.output_area._bokeh_server_id;\n",
98
+ " // Clean up Bokeh references\n",
99
+ " if (id != null && id in Bokeh.index) {\n",
100
+ " Bokeh.index[id].model.document.clear();\n",
101
+ " delete Bokeh.index[id];\n",
102
+ " }\n",
103
+ "\n",
104
+ " if (server_id !== undefined) {\n",
105
+ " // Clean up Bokeh references\n",
106
+ " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
107
+ " cell.notebook.kernel.execute(cmd_clean, {\n",
108
+ " iopub: {\n",
109
+ " output: function(msg) {\n",
110
+ " const id = msg.content.text.trim();\n",
111
+ " if (id in Bokeh.index) {\n",
112
+ " Bokeh.index[id].model.document.clear();\n",
113
+ " delete Bokeh.index[id];\n",
114
+ " }\n",
115
+ " }\n",
116
+ " }\n",
117
+ " });\n",
118
+ " // Destroy server and session\n",
119
+ " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
120
+ " cell.notebook.kernel.execute(cmd_destroy);\n",
121
+ " }\n",
122
+ " }\n",
123
+ "\n",
124
+ " /**\n",
125
+ " * Handle when a new output is added\n",
126
+ " */\n",
127
+ " function handleAddOutput(event, handle) {\n",
128
+ " const output_area = handle.output_area;\n",
129
+ " const output = handle.output;\n",
130
+ "\n",
131
+ " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
132
+ " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n",
133
+ " return\n",
134
+ " }\n",
135
+ "\n",
136
+ " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
137
+ "\n",
138
+ " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
139
+ " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
140
+ " // store reference to embed id on output_area\n",
141
+ " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
142
+ " }\n",
143
+ " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
144
+ " const bk_div = document.createElement(\"div\");\n",
145
+ " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
146
+ " const script_attrs = bk_div.children[0].attributes;\n",
147
+ " for (let i = 0; i < script_attrs.length; i++) {\n",
148
+ " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
149
+ " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n",
150
+ " }\n",
151
+ " // store reference to server id on output_area\n",
152
+ " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
153
+ " }\n",
154
+ " }\n",
155
+ "\n",
156
+ " function register_renderer(events, OutputArea) {\n",
157
+ "\n",
158
+ " function append_mime(data, metadata, element) {\n",
159
+ " // create a DOM node to render to\n",
160
+ " const toinsert = this.create_output_subarea(\n",
161
+ " metadata,\n",
162
+ " CLASS_NAME,\n",
163
+ " EXEC_MIME_TYPE\n",
164
+ " );\n",
165
+ " this.keyboard_manager.register_events(toinsert);\n",
166
+ " // Render to node\n",
167
+ " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
168
+ " render(props, toinsert[toinsert.length - 1]);\n",
169
+ " element.append(toinsert);\n",
170
+ " return toinsert\n",
171
+ " }\n",
172
+ "\n",
173
+ " /* Handle when an output is cleared or removed */\n",
174
+ " events.on('clear_output.CodeCell', handleClearOutput);\n",
175
+ " events.on('delete.Cell', handleClearOutput);\n",
176
+ "\n",
177
+ " /* Handle when a new output is added */\n",
178
+ " events.on('output_added.OutputArea', handleAddOutput);\n",
179
+ "\n",
180
+ " /**\n",
181
+ " * Register the mime type and append_mime function with output_area\n",
182
+ " */\n",
183
+ " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
184
+ " /* Is output safe? */\n",
185
+ " safe: true,\n",
186
+ " /* Index of renderer in `output_area.display_order` */\n",
187
+ " index: 0\n",
188
+ " });\n",
189
+ " }\n",
190
+ "\n",
191
+ " // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
192
+ " if (root.Jupyter !== undefined) {\n",
193
+ " const events = require('base/js/events');\n",
194
+ " const OutputArea = require('notebook/js/outputarea').OutputArea;\n",
195
+ "\n",
196
+ " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
197
+ " register_renderer(events, OutputArea);\n",
198
+ " }\n",
199
+ " }\n",
200
+ " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
201
+ " root._bokeh_timeout = Date.now() + 5000;\n",
202
+ " root._bokeh_failed_load = false;\n",
203
+ " }\n",
204
+ "\n",
205
+ " const NB_LOAD_WARNING = {'data': {'text/html':\n",
206
+ " \"<div style='background-color: #fdd'>\\n\"+\n",
207
+ " \"<p>\\n\"+\n",
208
+ " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
209
+ " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
210
+ " \"</p>\\n\"+\n",
211
+ " \"<ul>\\n\"+\n",
212
+ " \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
213
+ " \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
214
+ " \"</ul>\\n\"+\n",
215
+ " \"<code>\\n\"+\n",
216
+ " \"from bokeh.resources import INLINE\\n\"+\n",
217
+ " \"output_notebook(resources=INLINE)\\n\"+\n",
218
+ " \"</code>\\n\"+\n",
219
+ " \"</div>\"}};\n",
220
+ "\n",
221
+ " function display_loaded() {\n",
222
+ " const el = document.getElementById(\"1002\");\n",
223
+ " if (el != null) {\n",
224
+ " el.textContent = \"BokehJS is loading...\";\n",
225
+ " }\n",
226
+ " if (root.Bokeh !== undefined) {\n",
227
+ " if (el != null) {\n",
228
+ " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
229
+ " }\n",
230
+ " } else if (Date.now() < root._bokeh_timeout) {\n",
231
+ " setTimeout(display_loaded, 100)\n",
232
+ " }\n",
233
+ " }\n",
234
+ "\n",
235
+ " function run_callbacks() {\n",
236
+ " try {\n",
237
+ " root._bokeh_onload_callbacks.forEach(function(callback) {\n",
238
+ " if (callback != null)\n",
239
+ " callback();\n",
240
+ " });\n",
241
+ " } finally {\n",
242
+ " delete root._bokeh_onload_callbacks\n",
243
+ " }\n",
244
+ " console.debug(\"Bokeh: all callbacks have finished\");\n",
245
+ " }\n",
246
+ "\n",
247
+ " function load_libs(css_urls, js_urls, callback) {\n",
248
+ " if (css_urls == null) css_urls = [];\n",
249
+ " if (js_urls == null) js_urls = [];\n",
250
+ "\n",
251
+ " root._bokeh_onload_callbacks.push(callback);\n",
252
+ " if (root._bokeh_is_loading > 0) {\n",
253
+ " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
254
+ " return null;\n",
255
+ " }\n",
256
+ " if (js_urls == null || js_urls.length === 0) {\n",
257
+ " run_callbacks();\n",
258
+ " return null;\n",
259
+ " }\n",
260
+ " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
261
+ " root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
262
+ "\n",
263
+ " function on_load() {\n",
264
+ " root._bokeh_is_loading--;\n",
265
+ " if (root._bokeh_is_loading === 0) {\n",
266
+ " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
267
+ " run_callbacks()\n",
268
+ " }\n",
269
+ " }\n",
270
+ "\n",
271
+ " function on_error(url) {\n",
272
+ " console.error(\"failed to load \" + url);\n",
273
+ " }\n",
274
+ "\n",
275
+ " for (let i = 0; i < css_urls.length; i++) {\n",
276
+ " const url = css_urls[i];\n",
277
+ " const element = document.createElement(\"link\");\n",
278
+ " element.onload = on_load;\n",
279
+ " element.onerror = on_error.bind(null, url);\n",
280
+ " element.rel = \"stylesheet\";\n",
281
+ " element.type = \"text/css\";\n",
282
+ " element.href = url;\n",
283
+ " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
284
+ " document.body.appendChild(element);\n",
285
+ " }\n",
286
+ "\n",
287
+ " for (let i = 0; i < js_urls.length; i++) {\n",
288
+ " const url = js_urls[i];\n",
289
+ " const element = document.createElement('script');\n",
290
+ " element.onload = on_load;\n",
291
+ " element.onerror = on_error.bind(null, url);\n",
292
+ " element.async = false;\n",
293
+ " element.src = url;\n",
294
+ " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
295
+ " document.head.appendChild(element);\n",
296
+ " }\n",
297
+ " };\n",
298
+ "\n",
299
+ " function inject_raw_css(css) {\n",
300
+ " const element = document.createElement(\"style\");\n",
301
+ " element.appendChild(document.createTextNode(css));\n",
302
+ " document.body.appendChild(element);\n",
303
+ " }\n",
304
+ "\n",
305
+ " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n",
306
+ " const css_urls = [];\n",
307
+ "\n",
308
+ " const inline_js = [ function(Bokeh) {\n",
309
+ " Bokeh.set_log_level(\"info\");\n",
310
+ " },\n",
311
+ "function(Bokeh) {\n",
312
+ " }\n",
313
+ " ];\n",
314
+ "\n",
315
+ " function run_inline_js() {\n",
316
+ " if (root.Bokeh !== undefined || force === true) {\n",
317
+ " for (let i = 0; i < inline_js.length; i++) {\n",
318
+ " inline_js[i].call(root, root.Bokeh);\n",
319
+ " }\n",
320
+ "if (force === true) {\n",
321
+ " display_loaded();\n",
322
+ " }} else if (Date.now() < root._bokeh_timeout) {\n",
323
+ " setTimeout(run_inline_js, 100);\n",
324
+ " } else if (!root._bokeh_failed_load) {\n",
325
+ " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
326
+ " root._bokeh_failed_load = true;\n",
327
+ " } else if (force !== true) {\n",
328
+ " const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n",
329
+ " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
330
+ " }\n",
331
+ " }\n",
332
+ "\n",
333
+ " if (root._bokeh_is_loading === 0) {\n",
334
+ " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
335
+ " run_inline_js();\n",
336
+ " } else {\n",
337
+ " load_libs(css_urls, js_urls, function() {\n",
338
+ " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
339
+ " run_inline_js();\n",
340
+ " });\n",
341
+ " }\n",
342
+ "}(window));"
343
+ ],
344
+ "application/vnd.bokehjs_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
345
+ },
346
+ "metadata": {},
347
+ "output_type": "display_data"
348
+ }
349
+ ],
350
+ "source": [
351
+ "output_notebook()"
352
+ ]
353
+ },
354
+ {
355
+ "cell_type": "markdown",
356
+ "metadata": {},
357
+ "source": [
358
+ "This notebook uses Bokeh sample data. If you haven't downloaded it already, this can be downloaded by running the following:"
359
+ ]
360
+ },
361
+ {
362
+ "cell_type": "code",
363
+ "execution_count": 3,
364
+ "metadata": {
365
+ "jupyter": {
366
+ "outputs_hidden": true
367
+ }
368
+ },
369
+ "outputs": [
370
+ {
371
+ "name": "stdout",
372
+ "output_type": "stream",
373
+ "text": [
374
+ "Using data directory: C:\\Users\\jadams\\.bokeh\\data\n",
375
+ "Skipping 'CGM.csv' (checksum match)\n",
376
+ "Skipping 'US_Counties.zip' (checksum match)\n",
377
+ "Skipping 'us_cities.json' (checksum match)\n",
378
+ "Skipping 'unemployment09.csv' (checksum match)\n",
379
+ "Skipping 'AAPL.csv' (checksum match)\n",
380
+ "Skipping 'FB.csv' (checksum match)\n",
381
+ "Skipping 'GOOG.csv' (checksum match)\n",
382
+ "Skipping 'IBM.csv' (checksum match)\n",
383
+ "Skipping 'MSFT.csv' (checksum match)\n",
384
+ "Skipping 'WPP2012_SA_DB03_POPULATION_QUINQUENNIAL.zip' (checksum match)\n",
385
+ "Skipping 'gapminder_fertility.csv' (checksum match)\n",
386
+ "Skipping 'gapminder_population.csv' (checksum match)\n",
387
+ "Skipping 'gapminder_life_expectancy.csv' (checksum match)\n",
388
+ "Skipping 'gapminder_regions.csv' (checksum match)\n",
389
+ "Skipping 'world_cities.zip' (checksum match)\n",
390
+ "Skipping 'airports.json' (checksum match)\n",
391
+ "Skipping 'movies.db.zip' (checksum match)\n",
392
+ "Skipping 'airports.csv' (checksum match)\n",
393
+ "Skipping 'routes.csv' (checksum match)\n",
394
+ "Skipping 'haarcascade_frontalface_default.xml' (checksum match)\n"
395
+ ]
396
+ }
397
+ ],
398
+ "source": [
399
+ "import bokeh.sampledata\n",
400
+ "bokeh.sampledata.download()"
401
+ ]
402
+ },
403
+ {
404
+ "cell_type": "markdown",
405
+ "metadata": {},
406
+ "source": [
407
+ "# Overview\n",
408
+ "\n",
409
+ "We've seen how Bokeh can work well with Python lists, NumPy arrays, Pandas series, etc. At lower levels, these inputs are converted to a Bokeh `ColumnDataSource`. This data type is the central data source object used throughout Bokeh. Although Bokeh often creates them for us transparently, there are times when it is useful to create them explicitly.\n",
410
+ "\n",
411
+ "In later sections we will see features like hover tooltips, computed transforms, and CustomJS interactions that make use of the `ColumnDataSource`, so let's take a quick look now. "
412
+ ]
413
+ },
414
+ {
415
+ "cell_type": "markdown",
416
+ "metadata": {},
417
+ "source": [
418
+ "## Creating with Python Dicts\n",
419
+ "\n",
420
+ "The `ColumnDataSource` can be imported from `bokeh.models`:"
421
+ ]
422
+ },
423
+ {
424
+ "cell_type": "code",
425
+ "execution_count": 4,
426
+ "metadata": {},
427
+ "outputs": [],
428
+ "source": [
429
+ "from bokeh.models import ColumnDataSource"
430
+ ]
431
+ },
432
+ {
433
+ "cell_type": "markdown",
434
+ "metadata": {},
435
+ "source": [
436
+ "The `ColumnDataSource` is a mapping of column names (strings) to sequences of values. Here is a simple example. The mapping is provided by passing a Python `dict` with string keys and simple Python lists as values. The values could also be NumPy arrays, or Pandas sequences.\n",
437
+ "\n",
438
+ "***NOTE: ALL the columns in a `ColumnDataSource` must always be the SAME length.***\n"
439
+ ]
440
+ },
441
+ {
442
+ "cell_type": "code",
443
+ "execution_count": 5,
444
+ "metadata": {},
445
+ "outputs": [],
446
+ "source": [
447
+ "source = ColumnDataSource(data={\n",
448
+ " 'x' : [1, 2, 3, 4, 5],\n",
449
+ " 'y' : [3, 7, 8, 5, 1],\n",
450
+ "})"
451
+ ]
452
+ },
453
+ {
454
+ "cell_type": "markdown",
455
+ "metadata": {},
456
+ "source": [
457
+ "Up until now we have called functions like `p.circle` by passing in literal lists or arrays of data directly, when we do this, Bokeh creates a `ColumnDataSource` for us, automatically. But it is possible to specify a `ColumnDataSource` explicitly by passing it as the `source` argument to a glyph method. Whenever we do this, if we want a property (like `\"x\"` or `\"y\"` or `\"fill_color\"`) to have a sequence of values, we pass the ***name of the column*** that we would like to use for a property:"
458
+ ]
459
+ },
460
+ {
461
+ "cell_type": "code",
462
+ "execution_count": 6,
463
+ "metadata": {},
464
+ "outputs": [
465
+ {
466
+ "data": {
467
+ "text/html": [
468
+ "\n",
469
+ " <div class=\"bk-root\" id=\"8ced5978-9aef-4bf7-b023-893c4ae8ed17\" data-root-id=\"1004\"></div>\n"
470
+ ]
471
+ },
472
+ "metadata": {},
473
+ "output_type": "display_data"
474
+ },
475
+ {
476
+ "data": {
477
+ "application/javascript": [
478
+ "(function(root) {\n",
479
+ " function embed_document(root) {\n",
480
+ " const docs_json = {\"813b361b-34c3-47ea-8165-307b6172fddc\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1013\"}],\"center\":[{\"id\":\"1016\"},{\"id\":\"1020\"}],\"height\":400,\"left\":[{\"id\":\"1017\"}],\"renderers\":[{\"id\":\"1039\"}],\"title\":{\"id\":\"1041\"},\"toolbar\":{\"id\":\"1028\"},\"width\":400,\"x_range\":{\"id\":\"1005\"},\"x_scale\":{\"id\":\"1009\"},\"y_range\":{\"id\":\"1007\"},\"y_scale\":{\"id\":\"1011\"}},\"id\":\"1004\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis\":{\"id\":\"1017\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{\"tools\":[{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1026\"}]},\"id\":\"1028\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1037\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1038\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1049\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1041\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1027\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1014\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1040\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1047\"},\"group\":null,\"major_label_policy\":{\"id\":\"1048\"},\"ticker\":{\"id\":\"1014\"}},\"id\":\"1013\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1050\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"1013\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1016\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"AllLabels\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1027\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1036\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1038\"},\"nonselection_glyph\":{\"id\":\"1037\"},\"view\":{\"id\":\"1040\"}},\"id\":\"1039\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1018\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1044\"},\"group\":null,\"major_label_policy\":{\"id\":\"1045\"},\"ticker\":{\"id\":\"1018\"}},\"id\":\"1017\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data\":{\"x\":[1,2,3,4,5],\"y\":[3,7,8,5,1]},\"selected\":{\"id\":\"1050\"},\"selection_policy\":{\"id\":\"1049\"}},\"id\":\"1003\",\"type\":\"ColumnDataSource\"}],\"root_ids\":[\"1004\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
481
+ " const render_items = [{\"docid\":\"813b361b-34c3-47ea-8165-307b6172fddc\",\"root_ids\":[\"1004\"],\"roots\":{\"1004\":\"8ced5978-9aef-4bf7-b023-893c4ae8ed17\"}}];\n",
482
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
483
+ " }\n",
484
+ " if (root.Bokeh !== undefined) {\n",
485
+ " embed_document(root);\n",
486
+ " } else {\n",
487
+ " let attempts = 0;\n",
488
+ " const timer = setInterval(function(root) {\n",
489
+ " if (root.Bokeh !== undefined) {\n",
490
+ " clearInterval(timer);\n",
491
+ " embed_document(root);\n",
492
+ " } else {\n",
493
+ " attempts++;\n",
494
+ " if (attempts > 100) {\n",
495
+ " clearInterval(timer);\n",
496
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
497
+ " }\n",
498
+ " }\n",
499
+ " }, 10, root)\n",
500
+ " }\n",
501
+ "})(window);"
502
+ ],
503
+ "application/vnd.bokehjs_exec.v0+json": ""
504
+ },
505
+ "metadata": {
506
+ "application/vnd.bokehjs_exec.v0+json": {
507
+ "id": "1004"
508
+ }
509
+ },
510
+ "output_type": "display_data"
511
+ }
512
+ ],
513
+ "source": [
514
+ "p = figure(plot_width=400, plot_height=400)\n",
515
+ "p.circle('x', 'y', size=20, source=source)\n",
516
+ "show(p)"
517
+ ]
518
+ },
519
+ {
520
+ "cell_type": "code",
521
+ "execution_count": 7,
522
+ "metadata": {},
523
+ "outputs": [],
524
+ "source": [
525
+ "# Exercise: create a column data source with NumPy arrays as column values and plot it\n",
526
+ "\n",
527
+ "import numpy as np\n"
528
+ ]
529
+ },
530
+ {
531
+ "cell_type": "markdown",
532
+ "metadata": {},
533
+ "source": [
534
+ "## Creating with Pandas DataFrames\n",
535
+ "\n",
536
+ "It's also simple to create `ColumnDataSource` objects directly from Pandas data frames. To do this, just pass the data frame to `ColumnDataSource` when you create it:"
537
+ ]
538
+ },
539
+ {
540
+ "cell_type": "code",
541
+ "execution_count": 8,
542
+ "metadata": {},
543
+ "outputs": [],
544
+ "source": [
545
+ "from bokeh.sampledata.iris import flowers as df\n",
546
+ "\n",
547
+ "source = ColumnDataSource(df)"
548
+ ]
549
+ },
550
+ {
551
+ "cell_type": "markdown",
552
+ "metadata": {},
553
+ "source": [
554
+ "Now we can use it as we did above by passing the column names to glyph methods:"
555
+ ]
556
+ },
557
+ {
558
+ "cell_type": "code",
559
+ "execution_count": 9,
560
+ "metadata": {},
561
+ "outputs": [
562
+ {
563
+ "data": {
564
+ "text/html": [
565
+ "\n",
566
+ " <div class=\"bk-root\" id=\"aebbed54-7129-43ff-a5fe-d22e47f0e59e\" data-root-id=\"1108\"></div>\n"
567
+ ]
568
+ },
569
+ "metadata": {},
570
+ "output_type": "display_data"
571
+ },
572
+ {
573
+ "data": {
574
+ "application/javascript": [
575
+ "(function(root) {\n",
576
+ " function embed_document(root) {\n",
577
+ " const docs_json = {\"8b38b335-df33-4d75-a092-e3fc8082fbd6\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1117\"}],\"center\":[{\"id\":\"1120\"},{\"id\":\"1124\"}],\"height\":400,\"left\":[{\"id\":\"1121\"}],\"renderers\":[{\"id\":\"1143\"}],\"title\":{\"id\":\"1156\"},\"toolbar\":{\"id\":\"1132\"},\"width\":400,\"x_range\":{\"id\":\"1109\"},\"x_scale\":{\"id\":\"1113\"},\"y_range\":{\"id\":\"1111\"},\"y_scale\":{\"id\":\"1115\"}},\"id\":\"1108\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1128\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1159\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1129\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1160\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1113\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1107\"}},\"id\":\"1144\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1163\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1130\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1164\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"1165\"},\"selection_policy\":{\"id\":\"1164\"}},\"id\":\"1107\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1115\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1162\"},\"group\":null,\"major_label_policy\":{\"id\":\"1163\"},\"ticker\":{\"id\":\"1118\"}},\"id\":\"1117\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1165\",\"type\":\"Selection\"},{\"attributes\":{\"tools\":[{\"id\":\"1125\"},{\"id\":\"1126\"},{\"id\":\"1127\"},{\"id\":\"1128\"},{\"id\":\"1129\"},{\"id\":\"1130\"}]},\"id\":\"1132\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"1117\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1120\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1159\"},\"group\":null,\"major_label_policy\":{\"id\":\"1160\"},\"ticker\":{\"id\":\"1122\"}},\"id\":\"1121\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1131\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1111\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1118\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1121\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1124\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1141\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1140\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1109\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1142\",\"type\":\"Circle\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1107\"},\"glyph\":{\"id\":\"1140\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1142\"},\"nonselection_glyph\":{\"id\":\"1141\"},\"view\":{\"id\":\"1144\"}},\"id\":\"1143\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1131\"}},\"id\":\"1127\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1156\",\"type\":\"Title\"}],\"root_ids\":[\"1108\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
578
+ " const render_items = [{\"docid\":\"8b38b335-df33-4d75-a092-e3fc8082fbd6\",\"root_ids\":[\"1108\"],\"roots\":{\"1108\":\"aebbed54-7129-43ff-a5fe-d22e47f0e59e\"}}];\n",
579
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
580
+ " }\n",
581
+ " if (root.Bokeh !== undefined) {\n",
582
+ " embed_document(root);\n",
583
+ " } else {\n",
584
+ " let attempts = 0;\n",
585
+ " const timer = setInterval(function(root) {\n",
586
+ " if (root.Bokeh !== undefined) {\n",
587
+ " clearInterval(timer);\n",
588
+ " embed_document(root);\n",
589
+ " } else {\n",
590
+ " attempts++;\n",
591
+ " if (attempts > 100) {\n",
592
+ " clearInterval(timer);\n",
593
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
594
+ " }\n",
595
+ " }\n",
596
+ " }, 10, root)\n",
597
+ " }\n",
598
+ "})(window);"
599
+ ],
600
+ "application/vnd.bokehjs_exec.v0+json": ""
601
+ },
602
+ "metadata": {
603
+ "application/vnd.bokehjs_exec.v0+json": {
604
+ "id": "1108"
605
+ }
606
+ },
607
+ "output_type": "display_data"
608
+ }
609
+ ],
610
+ "source": [
611
+ "p = figure(plot_width=400, plot_height=400)\n",
612
+ "p.circle('petal_length', 'petal_width', source=source)\n",
613
+ "show(p)"
614
+ ]
615
+ },
616
+ {
617
+ "cell_type": "code",
618
+ "execution_count": 10,
619
+ "metadata": {},
620
+ "outputs": [],
621
+ "source": [
622
+ "# Exercise: create a column data source with the autompg sample data frame and plot it\n",
623
+ "\n",
624
+ "from bokeh.sampledata.autompg import autompg_clean as df\n"
625
+ ]
626
+ },
627
+ {
628
+ "cell_type": "markdown",
629
+ "metadata": {},
630
+ "source": [
631
+ "## Automatic Conversion\n",
632
+ "\n",
633
+ "If you do not need to share data sources, it may be convenient to pass dicts, Pandas `DataFrame` or `GroupBy` objects directly to glhyph methods, without explicitly creating a `ColumnDataSource`. In this case, a `ColumnDataSource` will be created automatically."
634
+ ]
635
+ },
636
+ {
637
+ "cell_type": "code",
638
+ "execution_count": 11,
639
+ "metadata": {},
640
+ "outputs": [
641
+ {
642
+ "data": {
643
+ "text/html": [
644
+ "\n",
645
+ " <div class=\"bk-root\" id=\"c2d84e23-afea-4b42-aae8-e443316932fe\" data-root-id=\"1222\"></div>\n"
646
+ ]
647
+ },
648
+ "metadata": {},
649
+ "output_type": "display_data"
650
+ },
651
+ {
652
+ "data": {
653
+ "application/javascript": [
654
+ "(function(root) {\n",
655
+ " function embed_document(root) {\n",
656
+ " const docs_json = {\"a5fa5eef-750f-40eb-aa5d-aa703a584347\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1231\"}],\"center\":[{\"id\":\"1234\"},{\"id\":\"1238\"}],\"height\":400,\"left\":[{\"id\":\"1235\"}],\"renderers\":[{\"id\":\"1258\"}],\"title\":{\"id\":\"1282\"},\"toolbar\":{\"id\":\"1246\"},\"width\":400,\"x_range\":{\"id\":\"1223\"},\"x_scale\":{\"id\":\"1227\"},\"y_range\":{\"id\":\"1225\"},\"y_scale\":{\"id\":\"1229\"}},\"id\":\"1222\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1242\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1232\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1227\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1243\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1244\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1290\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1229\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1289\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1288\"},\"group\":null,\"major_label_policy\":{\"id\":\"1289\"},\"ticker\":{\"id\":\"1232\"}},\"id\":\"1231\",\"type\":\"LinearAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"1239\"},{\"id\":\"1240\"},{\"id\":\"1241\"},{\"id\":\"1242\"},{\"id\":\"1243\"},{\"id\":\"1244\"}]},\"id\":\"1246\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"1231\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1234\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1236\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1285\"},\"group\":null,\"major_label_policy\":{\"id\":\"1286\"},\"ticker\":{\"id\":\"1236\"}},\"id\":\"1235\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1256\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1257\",\"type\":\"Circle\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1245\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1253\"},\"glyph\":{\"id\":\"1255\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1257\"},\"nonselection_glyph\":{\"id\":\"1256\"},\"view\":{\"id\":\"1259\"}},\"id\":\"1258\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1286\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1291\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1253\"}},\"id\":\"1259\",\"type\":\"CDSView\"},{\"attributes\":{\"axis\":{\"id\":\"1235\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1238\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1282\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1288\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1285\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1223\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"1291\"},\"selection_policy\":{\"id\":\"1290\"}},\"id\":\"1253\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1225\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1255\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1239\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1240\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1245\"}},\"id\":\"1241\",\"type\":\"BoxZoomTool\"}],\"root_ids\":[\"1222\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
657
+ " const render_items = [{\"docid\":\"a5fa5eef-750f-40eb-aa5d-aa703a584347\",\"root_ids\":[\"1222\"],\"roots\":{\"1222\":\"c2d84e23-afea-4b42-aae8-e443316932fe\"}}];\n",
658
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
659
+ " }\n",
660
+ " if (root.Bokeh !== undefined) {\n",
661
+ " embed_document(root);\n",
662
+ " } else {\n",
663
+ " let attempts = 0;\n",
664
+ " const timer = setInterval(function(root) {\n",
665
+ " if (root.Bokeh !== undefined) {\n",
666
+ " clearInterval(timer);\n",
667
+ " embed_document(root);\n",
668
+ " } else {\n",
669
+ " attempts++;\n",
670
+ " if (attempts > 100) {\n",
671
+ " clearInterval(timer);\n",
672
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
673
+ " }\n",
674
+ " }\n",
675
+ " }, 10, root)\n",
676
+ " }\n",
677
+ "})(window);"
678
+ ],
679
+ "application/vnd.bokehjs_exec.v0+json": ""
680
+ },
681
+ "metadata": {
682
+ "application/vnd.bokehjs_exec.v0+json": {
683
+ "id": "1222"
684
+ }
685
+ },
686
+ "output_type": "display_data"
687
+ }
688
+ ],
689
+ "source": [
690
+ "from bokeh.sampledata.iris import flowers as df\n",
691
+ "\n",
692
+ "p = figure(plot_width=400, plot_height=400)\n",
693
+ "p.circle('petal_length', 'petal_width', source=df)\n",
694
+ "show(p)"
695
+ ]
696
+ },
697
+ {
698
+ "cell_type": "markdown",
699
+ "metadata": {},
700
+ "source": [
701
+ "## Transformations\n",
702
+ "\n",
703
+ "In addition to being configured with names of columns from data sources, glyph properties may also be configured with transform objects that represent transformations of columns. These live in the `bokeh.transform` module. It is important to note that when doing using these objects, the tranformations occur *in the browser, not in Python*. \n",
704
+ "\n",
705
+ "The first transform we look at is the `cumsum` transform, which can generate a new sequence of values from a data source column by cumulatively summing the values in the column. This can be usefull for pie or donut type charts as seen below."
706
+ ]
707
+ },
708
+ {
709
+ "cell_type": "code",
710
+ "execution_count": 12,
711
+ "metadata": {},
712
+ "outputs": [
713
+ {
714
+ "data": {
715
+ "text/html": [
716
+ "\n",
717
+ " <div class=\"bk-root\" id=\"230a0b4e-cb37-4193-851c-50fec0e787b0\" data-root-id=\"1348\"></div>\n"
718
+ ]
719
+ },
720
+ "metadata": {},
721
+ "output_type": "display_data"
722
+ },
723
+ {
724
+ "data": {
725
+ "application/javascript": [
726
+ "(function(root) {\n",
727
+ " function embed_document(root) {\n",
728
+ " const docs_json = {\"af846c50-b309-4ca2-bff7-b6b60047aa8e\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1359\"}],\"center\":[{\"id\":\"1362\"},{\"id\":\"1366\"},{\"id\":\"1388\"}],\"height\":350,\"left\":[{\"id\":\"1363\"}],\"renderers\":[{\"id\":\"1377\"}],\"title\":{\"id\":\"1349\"},\"toolbar\":{\"id\":\"1368\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1351\"},\"x_scale\":{\"id\":\"1355\"},\"y_range\":{\"id\":\"1353\"},\"y_scale\":{\"id\":\"1357\"}},\"id\":\"1348\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"tools\":[{\"id\":\"1367\"}]},\"id\":\"1368\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1364\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country: @value\"},\"id\":\"1367\",\"type\":\"HoverTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Pie Chart\"},\"id\":\"1349\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1382\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1372\"},\"glyph\":{\"id\":\"1374\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1376\"},\"nonselection_glyph\":{\"id\":\"1375\"},\"view\":{\"id\":\"1378\"}},\"id\":\"1377\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1384\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1353\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis\":{\"id\":\"1363\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1366\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"angle\":{\"__ndarray__\":\"eQLEMwAC9z+3V8R09kHrP+QcmNXVFeo/hZ74ygF34j8vDs2tzcrZP1vToA6tntg/iJh0b4xy1z93BYbhOoTUPzmtw/IJwtI/0I8to/kr0j/Qjy2j+SvSP/xUAQTZ/9A/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[12]},\"color\":[\"#3182bd\",\"#6baed6\",\"#9ecae1\",\"#c6dbef\",\"#e6550d\",\"#fd8d3c\",\"#fdae6b\",\"#fdd0a2\",\"#31a354\",\"#74c476\",\"#a1d99b\",\"#c7e9c0\"],\"country\":[\"United States\",\"United Kingdom\",\"Japan\",\"China\",\"Germany\",\"India\",\"Italy\",\"Australia\",\"Brazil\",\"France\",\"Taiwan\",\"Spain\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11],\"value\":[157,93,89,63,44,42,40,35,32,31,31,29]},\"selected\":{\"id\":\"1387\"},\"selection_policy\":{\"id\":\"1386\"}},\"id\":\"1372\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1381\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1371\"}},\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"color\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1370\"}},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1376\",\"type\":\"Wedge\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1389\"}]},\"id\":\"1388\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1351\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1372\"}},\"id\":\"1378\",\"type\":\"CDSView\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1371\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"color\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1370\"}},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1375\",\"type\":\"Wedge\"},{\"attributes\":{},\"id\":\"1360\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1387\",\"type\":\"Selection\"},{\"attributes\":{\"field\":\"angle\",\"include_zero\":true},\"id\":\"1370\",\"type\":\"CumSum\"},{\"attributes\":{},\"id\":\"1385\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1355\",\"type\":\"LinearScale\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1371\"}},\"fill_color\":{\"field\":\"color\"},\"line_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1370\"}},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1374\",\"type\":\"Wedge\"},{\"attributes\":{\"field\":\"angle\"},\"id\":\"1371\",\"type\":\"CumSum\"},{\"attributes\":{},\"id\":\"1357\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1381\"},\"group\":null,\"major_label_policy\":{\"id\":\"1382\"},\"ticker\":{\"id\":\"1364\"},\"visible\":false},\"id\":\"1363\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1384\"},\"group\":null,\"major_label_policy\":{\"id\":\"1385\"},\"ticker\":{\"id\":\"1360\"},\"visible\":false},\"id\":\"1359\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"field\":\"country\"},\"renderers\":[{\"id\":\"1377\"}]},\"id\":\"1389\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1386\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"1359\"},\"coordinates\":null,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1362\",\"type\":\"Grid\"}],\"root_ids\":[\"1348\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
729
+ " const render_items = [{\"docid\":\"af846c50-b309-4ca2-bff7-b6b60047aa8e\",\"root_ids\":[\"1348\"],\"roots\":{\"1348\":\"230a0b4e-cb37-4193-851c-50fec0e787b0\"}}];\n",
730
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
731
+ " }\n",
732
+ " if (root.Bokeh !== undefined) {\n",
733
+ " embed_document(root);\n",
734
+ " } else {\n",
735
+ " let attempts = 0;\n",
736
+ " const timer = setInterval(function(root) {\n",
737
+ " if (root.Bokeh !== undefined) {\n",
738
+ " clearInterval(timer);\n",
739
+ " embed_document(root);\n",
740
+ " } else {\n",
741
+ " attempts++;\n",
742
+ " if (attempts > 100) {\n",
743
+ " clearInterval(timer);\n",
744
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
745
+ " }\n",
746
+ " }\n",
747
+ " }, 10, root)\n",
748
+ " }\n",
749
+ "})(window);"
750
+ ],
751
+ "application/vnd.bokehjs_exec.v0+json": ""
752
+ },
753
+ "metadata": {
754
+ "application/vnd.bokehjs_exec.v0+json": {
755
+ "id": "1348"
756
+ }
757
+ },
758
+ "output_type": "display_data"
759
+ }
760
+ ],
761
+ "source": [
762
+ "from math import pi\n",
763
+ "import pandas as pd\n",
764
+ "from bokeh.palettes import Category20c\n",
765
+ "from bokeh.transform import cumsum\n",
766
+ "\n",
767
+ "x = { 'United States': 157, 'United Kingdom': 93, 'Japan': 89, 'China': 63,\n",
768
+ " 'Germany': 44, 'India': 42, 'Italy': 40, 'Australia': 35, 'Brazil': 32,\n",
769
+ " 'France': 31, 'Taiwan': 31, 'Spain': 29 }\n",
770
+ "\n",
771
+ "data = pd.Series(x).reset_index(name='value').rename(columns={'index':'country'})\n",
772
+ "data['color'] = Category20c[len(x)]\n",
773
+ "\n",
774
+ "# represent each value as an angle = value / total * 2pi\n",
775
+ "data['angle'] = data['value']/data['value'].sum() * 2*pi\n",
776
+ "\n",
777
+ "p = figure(plot_height=350, title=\"Pie Chart\", toolbar_location=None,\n",
778
+ " tools=\"hover\", tooltips=\"@country: @value\")\n",
779
+ "\n",
780
+ "p.wedge(x=0, y=1, radius=0.4, \n",
781
+ " \n",
782
+ " # use cumsum to cumulatively sum the values for start and end angles\n",
783
+ " start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),\n",
784
+ " line_color=\"white\", fill_color='color', legend_field='country', source=data)\n",
785
+ "\n",
786
+ "p.axis.axis_label=None\n",
787
+ "p.axis.visible=False\n",
788
+ "p.grid.grid_line_color = None\n",
789
+ "\n",
790
+ "show(p)"
791
+ ]
792
+ },
793
+ {
794
+ "cell_type": "markdown",
795
+ "metadata": {},
796
+ "source": [
797
+ "The next transform we look at is the `linear_cmap` transform, which can generate a new sequence of colors by applying a linear colormapping to a data source column. "
798
+ ]
799
+ },
800
+ {
801
+ "cell_type": "code",
802
+ "execution_count": 13,
803
+ "metadata": {},
804
+ "outputs": [
805
+ {
806
+ "data": {
807
+ "text/html": [
808
+ "\n",
809
+ " <div class=\"bk-root\" id=\"9a93b7fe-d94e-4fa1-b1f5-5f08e03f9708\" data-root-id=\"1477\"></div>\n"
810
+ ]
811
+ },
812
+ "metadata": {},
813
+ "output_type": "display_data"
814
+ },
815
+ {
816
+ "data": {
817
+ "application/javascript": [
818
+ "(function(root) {\n",
819
+ " function embed_document(root) {\n",
820
+ " const docs_json = {\"6e29a576-9d17-4c7c-b42d-a42ad5ad9262\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1486\"}],\"center\":[{\"id\":\"1489\"},{\"id\":\"1493\"}],\"left\":[{\"id\":\"1490\"}],\"renderers\":[{\"id\":\"1514\"}],\"title\":{\"id\":\"1558\"},\"toolbar\":{\"id\":\"1501\"},\"x_range\":{\"id\":\"1478\"},\"x_scale\":{\"id\":\"1482\"},\"y_range\":{\"id\":\"1480\"},\"y_scale\":{\"id\":\"1484\"}},\"id\":\"1477\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1561\"},\"group\":null,\"major_label_policy\":{\"id\":\"1562\"},\"ticker\":{\"id\":\"1491\"}},\"id\":\"1490\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1566\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1567\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1490\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1493\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1565\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1509\"}},\"id\":\"1515\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"radius\":{\"field\":\"r\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1513\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"r\":{\"__ndarray__\":\"XLE0NUzL9z8SXGK+IyX1P7jdABLcreQ/mr9C8vMp4D82S4aqJjH2P/y7OR9adOk/cH0ujWmC8T++zcpXzUD0P7AKgTBHuc0/lNfrjsb35D91KAfRGSLrP9Ck11s4b5Y/2uojbkmi9T/MNArZUSrzPzBTfMK3hfM/MH7cd9dU7j+JmV7bHb/3P4i9RlxE+K8/6szzCqli9j8Cq1Ft/hHzP9zXeWFRQcE/IGeI/IjbrD8FjXxLnJ33P46DnE8QO+E/VjUp4P3l9D+odQkIP9DrP+p9npq0Lvc/Ba9tJkWm0T9ALfq6PuTdPz8fkGHO0uo/VvwUYCBC8D+J7c/4HjrsPz7rwwM2Y+8/u6AbwPx67T8tnvNdLH/zP4ru/dsPaeM/htcFU6UT8D+Emi/vrcbrP/xHF8qRW+U/WuMXwmcC7T+uwT5pOD7xP7LEKNIeSPM/wFsb73N32z/g1EgHdnDsPztm3B0Uv/A/Mp0/oF1i2z9QKaYPqX7nP1SYYJoTrfc/ts+qO08l9z83ltA1EubYP8y7pUQRc/Q/Wjq/yDti0j/ISW/zNLfkP7rswjo+Etc/gxGaP6ZC3j+IF36xqda2P92dGY7t2fY/6Cqtj0Iduj8CotGCSkbZP5q9brg6WMI/mKaHmVcI6j/nHivKbCDRP/+lUPaAIOg/+yMoyFx69j+0DDatD9m+P27jXhxHTPc/c5zDG9JB0j/8wm3AVZ/1P5cuVHG3LvQ/vJkuJSKS8D9gJ8IvA4zxP2qTYMgPtOg/sUh25jHn8z8SwZjylXr3P3SCKvJudPY/eo+zwahS8T+YTSCKfwzNP15LlHm4t+Y/oSUwaFl73T8NLUVad9LeP7WhIBPA2dc/kn5ns19k8z9df+FQxAr1P8fPWoBAsOU/+KT7DrlIsT9nSAV5HAzWP3jX1kXgSu4/Uj6eaic65T/ioBqTrXv3P7ovALb10+k/gy45o1UK6D+Y5KRNE3eoPzwhrYG5SOc/udUblk1E8D/GQSNckcv2P4X6k6mh0ec/qNYd3NGQ4T+dJ1DA7yHwP8QUAzBMVN0/WV7IXNkq0z/o4YV18JLzP9r6aHnU9/Q/9Wgfs+nD8z8qteGj/XryPxYcRQOOe8U/iPWNlUFR4T+ge3agWGvbPzg37rrwWeM/eKWJzVpf0D8Cl/Zi+YvjPzK4zDU1Cvc/d6clhJbS3z8g5wVn6W+hP3ZAYuBrWu8/5l2jcb+40z88LzC5aqDhP/91ISnNftg/522L20Q00z/EhpSny/jkP3G33BJdL+w/7CYHGNsj7D9CwSxKeM3hP5a8/wlnAN4/XrqN82kg6T8kIWBC83T3P3TqZjxIqPA/AKACeOxO8j9mNS5OB/3QP3U52LDbSfM/WvML5X+y8j+wqjf6OnTyP059Gace0OM/oodF6xYB3j993twAhADePyABO92cRqw/KK7NsgNZ8D+CkC01OGXXPwR7XLEYMt8/gU1GSFqa2j+yhFNBEXH2P3xl8ld5zPM/Jve0t57v0T+s3fNlRXe0P+DeHFdhtOQ/PM+CzUW29z+KOJu1NYvZP5ZC/QdkOeY/7xWRXTAY1T+IFzWAURzhP2Bp7LBPlpM/bUreHlGr9j/qHm2hhrTrP2AUJgVkRqk/wjNICdH56j9cYo581bX2P1STYXc3Qu0/8lX8ffxS8T8AN0L0VnzgP/m5otr2HPY/QuBLMSEb8z/g4t4/ET/lP/02HU6yZ9A/+p8CdOPm8T9I+O7kvgzhP49ecuvCpuQ/itI5w5x88D+ZRgzxYMDWP5WVJztRKvY/9hK+aoaL3D9O8375gQHzP7UbyvzFgtM/d+FVDY9U1T//wLTFiv7XP2D7D74yj8o/G2/D4eyz5z/6eyEzPFLgP4B5B0KwQZw/jLqMkNmf5z9yyntctlPXP5sIsSYTvvQ/OHBy6CfG1z/1Szqyp1fYP2qlEisisvA/UleQqqnV6j8W+o0grFnnP/Q5fcT94cA/6W1ZWEIj3D8pXYySux3SP1BmNcaCpaY/oOs1F9Wj1z+WzwLDdEHpP0Axx4QxWZg/vU5QMQNJ8z+c5i/VI2fKPxXNDB0Y1OM/fJNBymv3uj+Ehq6MY1/gPxpIMluxbs0/8HnEnvMIyD/xUBBlVmbcP0RegjXHprM/IpFy6PX89D9Yd3KhbKvMP4rCIuzWBOw/ts7vqaYK5j+MLd61p8f2P4BUpzp2ZNc/1KPl0Xzp5j82OjOOxarrPypQNaQCrus/HG1khyhs8z8/MeebU6faP9cUKsa5zeQ/8SKba1ht3D96p7QVJi3oP9kdaoPrJvI/y8ug9c4z9j8cNSK4longP7uyH79aO9Q/eySt61m19z8cAG7o2CG0P7LJeayM49Q/Di7dnnR48T9gmFzKo4zcP7QewADhtfM/nqC1MboA8D+5ALqnyuHgP1/APtefK+c/AqDg2CN05T+qXnvg0ZTxP7IzrzyC/MU/ts5+GM+I8T+5VL/o8xPxPw2LMgKQG/Y/uB9Ea/gH8D8gsOK9sSzhP7IuQ8+3I/c/UzuvyWwx9j/aA9SbcZDGP0qPedaS6/Q/Vqrvrz7m0D+nVE7i9kHcP/B5c4bVZPI/HiWRMv3o9z9gHPYiD72QPxL54GdkBtc/lh9E8lwi6D+ysccSgPTyPwDgq7niVPE/WGajztqWvj/7TVGShhPSP2zjSF8LsPE/SNjDIA33sT8M4evMxaW+P5VDfXKXz/E/m2IwBP785z/CwEjd8sf1PyU7ta0C/N8/rTnF4YZV2j9o7UD+DNj3P0psHbL8Ju4/aE7y2Pst9j9fsd+F7dncP0jW5Kwrfc8/Lgs3HQfL8z9xyvR3fiH2P/a0SDoqW/Q/gFZ9KbDizz/4cYdJWhvTP28NohKB6NY/ste6+AWm8z9dFxerjSneP/t67003Seo/BiLUxVI/9z9048z6ZFb0P/AcgaUT8Oo/LpZfaE9L9D/o51KjZzr1P6g6K3mPH+o/IkKJoHF1zj+H7dZy07X0P2jwUmNq5aA/vlKdMQYH5T8IiPjZ6k2zP4F+1safaOI/NKdJhjt/8D8sBGDpIUftP7Sgs9i0mtc/MhOSHrdq4z9W+UJvrj7nP6aBt0YXf8Y/lDJg9qCk6D8XOewtZlniPwaFBMNO2fE/vib+HY8b8D8sY5i/jMrzPzzK5JlRWvE/ooeWVyncwj8g3Y1CzBftP7Aicbo6R8k/HrEUWqx98j/ye5vqbRPeP4nrlkNt4PM/+iektVQywj9ahynu6zP1PwUN6QBBeNc/DFU6X3sw6D/iDzPGSxPvP9qu1RSxCMU/CglBaw+I1T/weQHWGzCoP97TYR2ajcA/X+Obr04z9T/Xkn9ILsraPwQPynDyxOo/uDdDmjBWuz8wqCpDvTb2Px7a12cT/vc/xjRk5yY64T8v6AdHxBzjP1Y5q8WJ1+E/z9alGuJ19D9l30jhW1fUP15uio7H0vQ/g3ME6Fbz5D+Gb7PCjhvyPwHfdsOpGts/DKyc4y5r1T/uN//cPH3MP4CLmH9OG84/qL1nn9k2zz+yvX0vD2zoP557+ylpKuM/trh4+UIN6j9qqgL7vRr2P9C687kAPd0/+Gb6DLDh6D8etIZhZmvpPwZXBBNNTPE/zWeUGnqR8D8w7oVBd9egPyhTHif1Pqo/2KACArm0vT8asq5LoxPmP5OvTmkyz/I/vFC7q5wr9j9KbAwpiSnvP+gYeUSqFfQ/ohG4zpj/1D/qRCKW/WjkP1LgJl1GROw/IhnzPJiF4j/5zuRfC9fpPwgywuc3G+M/JgUfJ48c5T+oIyowRWPoP6ju3fS3CqM/oPKwlcsNgT+QUH2YG+3SP9iP2NrvDKg/fuB9YMxk9z+d+E6B3d3XP1zsJPP8Obc/2oQ1GvNK9D8SKcVjlIrTP3A3NBj2HPY/AekjB+368j8AHC4SOMuFP4w05Tptb/c/PKrsnF4U7T/U8MSTY+vsP29dCsUBefY/mkyD5ik82T+UNU/N/yvqP3iyVaQVDPM/vF3F67Zs4z8Y1b2t7gLyP4qltpp2v/c/FwXbqu1F9T98EC7lMzq5PyAhXatS/q8/IkgMlAFC8z8UFTdoSxr0P6xxZMslluU/zve3YhcT9j8lxuNqKAjqP1RR4KDSI8A/8Aaaj+q8nz+i4XRwxh3rP3cL0yIhA94/UCV7SUytpz9I5hFkOHfSPwSO1Gvhqew/BMYZ/6gC8D8XBbyDOvDYP0hzE0i6qaI/rXnd2oGH3T/g5+6OIQ/wP3iO26+M8u8/cbxNQem14z9gtODaVObFP6zC2kPoyMI/ro2Cz3Bh8D8EJsrByaXQPxYLLT5OmPc/WksKjwaB9D/KQ+A+bqDVP/JzC2xvI/I/gqI7GfsozT9emVXw56viP3I4uWrcXuo/JFpCNidi5D8scqzVdbDMPzE0jJwuTvE/5vdm5Ypa5D/8etRmd673P7fkGtA61vE/bUw4DNHT1z8FAEq+I5DdPzVm+jY+rdQ/JtATva5N6j86ESYuYJLJPz7jxKEYiPc/YDZkQhMbwD+al2DTFYLwP0ptYzwft9E/Gs7nsKts9j8wFNyn2FLwP3xzw6437ek/8jPdXFU88D9rGcSCteDjP9AQZaUEVuM/W/Cnqf4w8T+lsxsasHbtP4C5EjsFpM0/IjC1xV919T9kG+l0ut7TP3GQQjtaDvU/RzHDq8s/8T8fNnM6mL/3P6ajifUsRMo/FJl7bPPW2z/wjRTxI43rPxhOHG5CJfA/M6LREunn5z/AHY9ME5vTP7I418EUsss/MelzSFGi5z8Yp46+ExKmPxIKYzJxYuw/4ltE6QF46j9szSDDCnK0P2qm66Bge+E/Cwzsvx/F8T/XHgAa1svhPytwpEKRtvI/WEtBq7QC9T+e9agxa7DePybvFDApcMg/ds2TSYqy5j+7CrgQCSL0P6hhDlHRf6g/tGOlynO74T8xjLHU8rf1P13lHixC4vQ/OApy6bet1D+WwLlmncfaPxYBAeTkBO4/pYjy95NU9D8Wg+RLUOTiPw7HNrOcr+Y/zZvDAbne8j/GBfYJujz1P359qkSVkfU/VhTM4xKW1T+AZPKB5RhyP8zlLkb73cQ/8FQfjgHjoD8F7KvPnlfbP23rzqzJnds/cn8lZRiM5D+Mwv2wo8vEP1Ok3/PIovE/7P6NCnTb5j8GeU7SZNLyP+S7ym9fCvA/OdiYne+I9z/EpelmVGH2P8wimzpYTNg/ZGR2sRJ2uj8atTLshqH3P0JFIZcj9+w/SiSlEARa8D+5gk9RtnfxP0bEJQo2HtQ/WWxDDQUO3D9XFh7GZav2P/IEI0zU8eo/nmTAZHqb6T8i47+GClXoP+st4hSjXdY/thmv4ttK9D/IQIgvwbftP5KmAW8298w/akXgn8Oy9j9E3p70oGzCP5LucMK52ek/P/RIqKUK5j+wFXiAnMTmP9RRsWOmCrc/vGmsAZ4a5T9YSu8Ao8jmP0wPEEfIDN4/C2Lg6ATB9j/IiIh6qQK1P+sL00JTgt0/lo24SRmW6j8C+MNFupjpP1eiAGKf8dI/eujrLdGE4j9UM2kIUDn3PyHo6kIDwug/pOklpv6k8z+Y/ntAUHLnPy+8pwOOOvQ/JFDnsLXj9T9e3QAq3LbSP0J/2fTnLuo/DFVsgVPO4z+pjySHSUryP4bg8zMPJPI/SoZ4RUeU5D8gYt0hZY/1P3+hAJTHVto/Cc+igAMh9j9s1eQjnbDTP/J+QouY5vE/oQrC1NgZ4z+WloPjTw30P/wwO0voFO8/mmoWp4ek8T8cRoWJfPrrP5of5iyMP/c/leKdgwKA2j8DvOgSnej1PxJe0sa4E94/RAAiBSGB2T/aQl6gTsv0P0k2ZLmjhdU/zV+ih9oB9T9Q75JlGUbdP+ZCfcj0Pcw/OyA62dbW0z8mYSPlwcHhP4I8GjxbDvM/p7Z2ud+M6j9aTY7W6f3XP4pvBDVjre0/Evx/MFcl8D8xGI4zAObkP4zFG8lPmuY/WOJyBwzP7D9zi2SpLGvsP/bpNY/DDuM/a1WfVfUa0z+cJNf2bZrRP2nkE4MvUeM/Ex+is3BS5T9dJWo8MxHdP9u3raNrH/M/OCR0HPmf5D/plQITa8vzP3xCSFDXBuQ/zCLHffan8T+IkFwfiJjwP7oXL/ADj+Q/xVbCvlDY0j9A5YbFAUP2PxBo50y39LM/8AsbxYPd8j/zj7uHMlvwP6OhsHrkkfY/Fyb7l2/R9j/Y+r5ealG3P8AEM5QOg3g/1JjY3m1M5T8fIaWgbIHZP/pw4JoH1PE/7DPKHrXZtj+gbKni9t2gP5rgGFhXQuw/SGlpWRjD6z+6laBnCej0P+Yt6G6w2+A/iKyFoBk5wz/jpZRm4BrzPwSblZIlKe4/+h8OiLao4D+e0LDAagj1P2a8Q9bv4fQ/HO7TyBdp6D/n9D3hvgfzP+5IXwD2w/c/ETvYk5aZ9D8+//LalS3cP4fU8XQlkec/mKAuZYPt6T/DggHGqWvpP6Typjbkiu8/XXq1zkQw9D/KRskJbsPqPz2t349WkvI/MAWWRWhM9j+MFo9z5uzjP/yYnpzsD/c/9q7upmWo9T//T7EkRl3zP3NhedIdGN8/M1XegMlJ5z8ZRvURNXXTP1YIoB+sBuY/IKQ/vFuH0T/Qv5ARumTiP7KZIChNDPM/DrKHBUoY6D8PN55Zau30P1zpQsFcJfY/4TMXfdd95j+YMfF8fBbhP6zAD2mGTfA/vErtXbiT8z/A4HfD8hTkPzNpmVQYl/A/sB8HZOxc9j90UKGADKfnP5j+sjxxV/M/JCij+IX98z8yJKFIidD3P7vX59zWEvE/wTgHXMr04D/FXmlePCHkP8jVrXSYitY/uNgOUaSo4D/+gsFUlvnRP7i7akhhjuU/GvLxLwWb9z+cO1BKaiHnPxFERwt79/U/UhuAiMmu0T/B2rca/JDgP5YUyQE8jfA/c1Ikai+I9j/uy9ysGyTlPyKRRiEiaPE/IOZGPJpK4j/eFwVZs1P3P025FrIES9o/OkApwwTh8j84RJY5D0HiP4vHrm2RIvA/R8hz3J091j/DbgqzK5HzPyRJ1bQIetw/HgGyzgaX9T+WgZDOB8HwP/iOV+9/pe8/+B6liknBsT+IiDDCNujvP0BYP5AnUuY/FFoJ5xnr7z/tTMZHYcXlP2ayD9jLQuo/ODNgDYBX4D+BiuAC01v2P1CmjLb7J7U/k5byq3ZN3D8b1ebqvqn0P6oMkW8Td/A/1spxVtXo7D+vTYNnF9nbP/ymsQIPBt4/UBTo1kYo5T965Qh5dGHVP0LgrA/TZ/Q/ejzyPls99T+K/sDzKXrzP+GolSdNq9E/I2TsQgL/5D8ONONsj/P3P9/F5vF7D/Q/FnLz1vzP5T88P/y7xHnFP6Ylr0LPufI/9mLbHWsx6T+/4nMLAgzcP9D+KfR+UKk/bpB1Km635T+dvTLDSJ7TP/pEW16l6vQ/7OjX9Hvo9T+SxmSOi+rQP9CP9OoFY/c/iJ2UPs3+9D/0cTcPOentPxZtnk5VEsA/K7P1Ce+N7T9WZfv3ixLoP8QyQEPTptE/uhC9YQRz4z+E4EeoI8G9PzhME5QQoaA/0L1uD6Hj9T8fiJkAiB71P+F2WwxXZOg/hQO3rw3m8j+Q4xanrqTHP47V8PKwt+Y/0ptaxQ+V9z8cNMeuddjbPxzZ7K3hB/I/cpi32a609j82hZ82DPv2P+gG6UUSv/I/s6ybzzlu0T+UzPEIaWfWPxKjeMM0H+I/5lYc48aV8T+zDrCiUpXVPyc4J1ZCZ/M/NsI9wVnI9j/pcXhh6GnVP6HnjpigD94/V+Uyyekk4z+A+etXmNNlP2v15pOuD/Y/RJrtPcqX8T+co9NQOLnhP7wd8Tq0rfI/wB9gsdBz7z8axN1aXVTJP+ibLxxE5Mw/tbSNAMBd5D9otu5Echb0P4mBdfh27us/AFIOuLer8D8JU/D8WYPzP8n9eO53NNA/3D4dLtxO2j9P3k8UDVTvPxTm1X6wRtE/jmGJ091i9D+LYAcRYaLzPwBQL7kRB+U/4J1txP0m4T8A6K2rvtLiPw5BEl/7E+w/bD2cu0TU7z9kSLkGbSLxPwMSNwu2PPI/uluLBOid7z+9ucCIH4DYP3h7G1tvtfc/aY+bOZrU3T8wwBuKqNqZP5kzcjgQ/PM/7hvG+m236j9U23VPkrnoPyL/lK99fvM/hI/ueeRIsT/hc7ixqWLcP++gOGR4ZfQ/R0ibXs/A4D8zr4OKRUvVP/gK3T4Bm+c/Fpz97LVN6T+8OeUes4/tPzjakrzhWKU/AGlTLUWd9j/AIUCdlPPYPxx0yFn/BcI/jr3Wj5WF0T801JMYKVnUP/4Pjp7xV8I/QLAPdhod7D/syaeKU9vYP8ja5OTFpOM/QoWVjxUe0D8G4EfkRV/VPwzhHhqqfPA/4oSyzbGD4D/Vg63Eckv2PyANG2c2xtc/nDneXOzD5D/83BzTmAn0PyJXwEk1ncA/Gl7zggpJ9j8+3suwghHLPz3hhG9FQeU/OTUJdPot8z/oeBKkep/pP83VNxGqE9c/3L4T3++G5j+AO6xBk1StP1hBbXaLAqA/gOBZikbb4T/sXutt1XXvPzYQq/UwMfY/R41bszgL6z8Yp9FRiyevP4ZZpU3BAeo/e9Wuuigo9z/z3Ts4Y63wPzApS1SuPKM/YFY1exSu9D83t9Nkt/bYP8iuH7KXB/Y/UH8aJxbw6D+bwQQyRN32P4r2n2foEfE/HKv3dcoCwD+Qb0p9Lt+yP+mCQxRH6fY/3db2Nka51T9Arpn4IFx6PyHXXUY9auk/uXvSi2wx9T/43n54msDlPySlE3zdpfI/yH3lk7AA6T+M37OZK/DOPwCfbg6frO4/TL1sTp9w4T+nqavI+/L0P6B+Iv+8Paw/8pEzbDDs9D8T0GHWkoTbPyDCLEtCIe4/uHqq7tDDtz896G+3YP31P9Y5qUoLY9U//4kcZTeh9D/k/qjMWPK5P6pr45w3uuo/ypz80yFaxj+2KEKrJkL2P8inxVisa/I/7qCSBB7S7z9+f7LSF/nyP3kXqhUfSPA/CDwPAWuT4z+WTIW28BPkPyCwzmlhAO8/kQTSqbEd9j/AYF1vcSbvP0BnIl0sWPY/9qpFI2Xd8z981QHvGzPyP4ts2ZnE8NI/xIWn36tF0z+khAj0YPHoPzyZ1Lg4COk/JKHnHwcB6T+49zqMyBTyPxGSmkchLuw/EgHBg8MP6D/gm7dQ3u7oP5aDlo7MNsg/Wh3sbCcF3j8g428GmGHEP5aenT7DafU/8YxprAbc2T/PwPCUBIrzPxjwpqZ057E/chje97pN8z+GXpH1EqLxP2bPj1jGEvc/a3w0iV+d6z9aU7Ca9HLmP5zTinNX9+Q/QJRPBDqP8j9uTS5+YL3JP9gWk8lHLvY/jNeGCAKt9z/bS9OMGKLiP+A4aGHXBOk/2No0V4Vqpj/ZJxSYYUHyP2+FLYIwjvQ/aHEq2s5G5j+Mx5eKsH3PPzx94sJihOE/9AFNrJhZsj+UlF9Y4HTVP4wbbftN/rs/2D7v9E3FqD8CKKPKeR7rP8by1ukS8fc/qC3htBbe8j8APALyiyrxPxlgLwsgw+0/am0sUboGzT9hsnZcqfHRP5ibsMJ6Ecg/Zu0z52+y4D9wOJBDJ7SdP4uYfJ6OsPQ/x3HnDzv91T8Sr1Uvc5PhP93vzbHI6/I//bzqJNWK9j8C4uNwmhLuP0i9fGpR0OY/UKaZVUuu8z8s/WXNqUHeP3YcccdA9ew/ckzgFqZr9j+iT3eQlQPkP1BxDJvcu+k/DxTOLQg40D+775TaiGL3PxbZGCI8POQ/4A4dXmW88T++T5M5ziz2P/iAnda7s8U/qkKjnn7E5D/Ic4a9o0OhPyxf3EfTNOE/cmzvUZnp7j/0/gvatvz1P4wY+J6etOM/7nz8mnK69z+AyiahrgGcP8Lra5Xnjes/wekB0t378D99LuzWz4TuP27cAOrwKO8/gKYsDdEJYD+WaFKfe13sPwL+lvlpGu0/L/Wip7x90T9xnxJsJuboP/D1G4kBsb8/WIHR0QMT8z8ATuPtr9TQP+ijWaIMU/E/HEDQpf3sxT++hL9wVhHuP/I6TKXplvI/QSnr3WZY8j8QIhCkOEfxP5yqeGmruOU/FUoZbQob9z+8ebAMbqrFP4Sk5uOJtds/bzvUgHh68z8QEs5dSqDoP65uIi7IidA/sm9lrLZN9T/wU5gmPDi2P1g9V5p4Yvc/G0WZEkRa8D85CxSBuP/yPzJQd9mztOY/qiXG0Wg57j/G7j2udCT3P/zIIFJ3Buo/+m+UutGa5j9WSyJvPpDuP8zdi6Spg9Y/IAwbG7PD9j8QuVtS7/mXP17CRZ6dYuE/dKIYXenHsz9+t9RQASLLPwvx+a/5HfM/TDivmAQCzj+TZlvJLa/wP24cpPHB3tc/iix8Ug2d0j8mF9yc5JPPP6im+qWDt7o/t3tMxQYj4D/dJ7oWC2PzP6Js8Xk+EfQ/huWL1Pim6j9rbWGC5+bXPyA/32v/xvQ/RCLxvlv15j8cbWZu69/nP8kNaCScsNY/VsZkTjbB5z99H7KfQ63tP2FViQuj/PQ/vq0UhK2P4T9uLaYYlQTIP4B518stl2Y/kESJRCGZ5D9kRhDPbx7SP8WuNMX4t9o/6vr8s5hz8T9AEaS7qZWoP7YlNV7Pzuo/yN9Z2Cnz6D+h3fjHtADaP9S2PsjuGt8/lqw6pCPM9z/GFOx0u5/3P+A4r7HPRdY/6F3dWCNB3D+5ykIZ1abfP7zQKyZhavQ/sG+Ccq8y6z8QaGh9/T31P94Q5Mq8dsM/HpdxP0tAxD/zBpQTsnv1P2Ye6p59DPE/bFMiaTqO8z9+b+B3qq7YP+woMeFZ8PQ/KVKWzzek5T9cX2ptGk3mP4ZO1do+vvY/imzGeuas6T8oeNFd+6buP5S9NYSsZ/U/zHMXxrvd4D/ymOkaKR3LPyh9HsEjd7k/KXZ2kQz+9j/YzYyJJGy8Pwt+a8G91ug/P+lnd8/K6D/oIedhEjjvPypMSCDSIvc/gl5Ug9DB7z8is0cMhBHiPxxCnmcvg+o/0+hD4l3W9D9moZMF8hj3P2Ex6nnrvNI/YGj3FTof7D+itA5HvV/kPznnQtWxBuI/6NATJNPQ7j+0zMCeMa7rP94UodMKVMg/fmv0hqbzxT+yDGrgzbjgP7B+7Bg9eeo/U+9hdZXy8j9Qasx2QzzoP8LsW7TNxPY/8OulBWjH8z+2oLqiMT3cP8ZcLg1/OvY/xYouz/Xf8T+glYOSAsuQP9JyX4IiT+g/RPqXMqjj6j8AiAnfSwB8PxkRDIagQ+0/EETwisaFrT9X/7JpnH/WP1x/uKiJOeo/4ItuXnKs8z/cSPg/vVfyP5kBkstsqPE/mcLK+rH29j/QqRig5PrHP7gYa442Wug/irX5kCjQ7D+SXyGxZkHwP+jllQ0fzOA/4OWmS0YtgD/cPUzXjMrxPyWXGTvxRfI/4gtYslKP4D9yqNW1rCb3P4AVxeGkyXU/pOiF/kTPzD+Gjvfm5MnuP4wfJY64e+4/XM86Uh1w9T8+jVMZ8PPkP3iKSPYkads/i2Rj4xSv0T/8IxrWpA/pP7A0lniMWsA/hOJRi81m7D/XLG1NFEH0P+LC7lzhDvE/QI4+YvIx4j+e3BPb1wD0P9jNWVbZZvA/YPHBrFPduj/0q8uY1V7uPzzcLsevruY/8Sktrwfs9j/famJQLWvzP7q7lI+mosM/ssM0o/qz8D/Q5zPqtYubP7RYPOsfXNA/u6iDr66R0D82phuBkvn2P+i4XJFeHPE/uWX23zNY9D8uFlpRoLHuP7yn4n8+p+A/KEhenZC04T/Evndw7jLtP+AbX8ppI/M/oNnZZVVcrD+JXSQgvyn1P3FeiS2eleg/1JKDfE4e4D/MumlmpfvvP8kjZcGDyfE/HppRM0TawD/A1ps04/B1P0IFo0iL28c/4d6eOc/g8j9K3RKCZnvQP+JGVrtGCuE/NYQMbW/p9D8Bx+AImGzjP0uzbSEWy/U/eSB6g2ca1z/qsdi25UvFP9ul1bdhA+E/1JOtMmdn5T9QcVaIDR3HPx3yjv3dh9w/iXpZtHh74j8vUhijX7f3P5qllvZkvcY/osehwAXv7z+mi6byrYvTP8B5+/nuipQ//oO8gRGgwj+vGEewisfzP51rcQyffvE/VYveVfSJ1T/mHoaIjyPbP5+uXoJ3L/I/hpElsEcUxz/e7eT5+SXjP8yxMHh/fOw/gPq41n+gvT/0E8hYKq3KP+4RmT8TTNY/WF4mY6ZZ9D8tuYt/wyLcPxiHTFGtoqg/xp8zDYsx8D/AGl4rDtX3P63oaNTdR+M/zCxb99O87z+ScHbKUGHZP6bjV/+LSNQ/WOeNUpNa1j98YM9If5LEP901AnRrpe0/UtQU7+YW8T8hGbCEBXnbP6TE9oIbVts/uFoqazpA6j9aqetv9OTCP3wqhPkTsfQ/KM5YN3hRsz/sHCkGFDflPxhIKhhpBcA/LqU3xbj25D+8Z/5zD0XePzDI7gfzOPQ/3RIfbiLy4D/XWelvhnHyP/yAJ6UL3bg/BnQPnyYo8T8IlXEr/PngP+LGYyiTxfU/GOs20t4D7D9tGdohbkT1P9/FmqCOV+U/fLnz60MQ4D/w/lIlqNn1P4JyFvB7D/U/fiTA0xOe6j/99E8kjwX2P9+d7p2sLOc/XWEoCBLe5D9lyuCYxNDlPyiHIiii/7s/MCHrfw/bxj8i2D1X1lzvP55ng6QHH+U/EL+BNZOioz8YbJCUrTPVPzxihP8e1ec/3v9ew+3X4T/Y59c0V0vVP/tJMgzycfI/AGem2ohk4D9k8F7ffPLuPye5r661VfQ/CFQi+TUDrz9wl5VJpvmrPwhiPtiXxaI/NXkJrlHV4j+X0oTFqaHrPyVBEfJhx/c/IlsJjaew7j8Lb/zIpUX3P4y+4n+Y5e0/sLpDgNTw6T/jNe/3V8vePyyCaD7kebA/nBN/CSzX4T+mkn9eejX1P3BlTixCHMI/0M2ygbItlD+bLFlIQID1P06t4Qjl8vI/M2GZLk3R1T+VO0K1XFDVPyCy0qRr2PI/kthOOu5y5T9NBTpFaQDpP3Rsf/C0qdo/smHpnYjp6j/26FudZd7xP6hJSOrbZ7k/OXMnf8Ac2D+buI6SNyvfP4pGBbqhDM8/DpxkuNmX3j+eTQXrvHjyP8MJNLwMgdI/FWKqCC/s1z8oNZG8/hfRP4AP/obUXoI/KP8FPjrFpj+whvKvh3KqP76cI2iuwd4/tQUmMsVS0T+3SbYzyz3xPzriC5nc2Pc/VJMh2cKU4z9eaMMBqzH0PyzN2UQEqeg/SrhV5L/D6z+VptnRCWHwPwDVm2jHptU/YonVpGyi3j9oNMWw7PW5P7lQPQDxtt8/okqBcw737T8eotZqhBzrPzxIop/Uk+U/Cx5+9nUJ8D+9RkgIrQzQP/id09H6Ivc/8vYiEwhq1z8IgqJZgtTxP5ChGoBo1PQ/ehWNC5d05j+gMfD4AvWDP7mp+Kt2lNQ/njmGW+l07j9QiVqblfWhP8CrzpTTEHk/isq1CZK86D+cfIyXUQm3P3Af6vTjz58/7gJXhsmP0T+AvPsN8EzuP7KsHkMlVe8/lJGUfCev9z/0qiWIP0PYP4I4EOEIodk/yvD+Iaty8D+O0fvnIDzjP/9DPGBEqeE/zMqDRfFk0D9u5g8/ZubzPwZ2RGatsPQ/osHcjSEY0D8e4jEXFkjjPyQ5IBSDOds/5E7nwSHt5j86F/TdwkfsP2CqL7fwFpA/6mQlBJJx7D+0KeoqubbxPyCm5uecXI0/KT+Tp7xT5j9uux8KlbHqPyYDKs4Su/Y/U7XgfG5T1D8qnzGjU+rtP+ZtisvxAvc/D0nkbC4R5D/iCuWn7A/2P2bzFFx3dsQ/CI8m3aTTzD+imQxiJEPhP/pJ8rtdmNc/MfNaWUG37z/QbBBrG3TvP8roauzMc/E/bOMu1U0q3z/wUQSYQ3iUP6rfxRRtUuA/y4PtxsQc2D8wCPccX1voP97yqMKKPvE/Om26wnAe7D+n7XeOhoLWP4oKTNdYG/c/ReikH5DT8j/ikr2Q9UnkPw4/fiXPCcU/PBrO0V7A5T9gdZlznnHuP4DURmu6NYg/EuB0rdEk9z8K+V/BuznDP1jZRdy7oqE/RPm6ob2RzD9O/emBIV7zPygUf6EJv98/WGMhw22R9D/whmkaVsuvP+wCkjXxTfc/WBVtyP1t8D+4Ey41mYO6P8rKhYCBC/U/aglF36kN9D8bAH/j293mP9Bp+UYccOc/DTkNkzz59T/48WHdIRnjP2CTgysj8bg/Us+PPMrl0D/uWM63uTPePxbZnijHMu8/AAMaGfqC9D8uxxqg3wP1PyqDYOUMYOw/WO/GhD828D/0gKpU0gTFP+EwOBx5+PU/kAuY4MjC9T/CDOAgrjn2P9GL65OmYvI/0l1GlBnZ9z+Zv+uTiivyP1DjOBa1AeY/8UazKiHd8j9slk1yRbe5P2DXs9JllvU/DDjVZSWP9D8qbdhpfF/rP+e9KW/S3tM/MDYyp6+Fuz8alyVFETPhP9MSHZdcmdI/itku0xCu0T88Ie2nOwzpP4RZVDll4eI/gbn8MOX09z9OvptTA3bsP9Sx1UmWI9Y/0KTpRViYzz8QWRMBtWWQP4ztIyY34cQ/4j+Orncg4j9kAHliUD/pPz2ccDGhnvI/BFz8/jsizD/8hdAO9SfzP87leJzlXtY/fbKW5AP37T+8Txx74WTvP/GJo98MFtI/tKAe3+P35z9ZeeavRw72P9SSoRwCVr8/xylrHWvt6z/huTp0ppHkP3ruemV3COE/Os616INV6T9O0qrN4WDOP0QavaOs5PY/uhV9pgJm8D/jBLI3il/UP5Rz0QpnLe4/GFTjAyDhxz+4p/kGisTzP4bpm5eYMNg/iuWVS3ux5T9FbCZ+PuTqPxIHOtOYnuI/eOgOzUXAzT/cxukbIU7jP9hKgOadzPE/TAinDzOf4z8KStgNGNTLP6zSwSqrI8o/oNTCobNg8D8VA5k6rqnZP30TKk/vs98/IAnHVWIOvD/ASolWyGe1P/+wz47pieE/1mBAm3Gt7j+uYiGZn/L2P3yWyw6l/d4/kBJw3+u64D9abwwx3mzqP+Cu8HEBjPY/FicnUvHI5T8+qoKnw+/SP9b+rTExZ+M/nixV8bB08D/glvEzhlTMPzs/wMIxBOI/zE0X6GFNxj+6UQWrByLEPzBXFzKhtr8/thIUa+js8D/88UqhACrfPzLbHy4S0O0/bDI67AZn9z/WAo4QHYjcPzZnY0ZevOM/ZlQDbBbI9D8Kvt+xtoPdP8h9YRNj6rI/PDPbzcP15T8cOJOtTaa5P2zJ6g2q5fU/egEFD8OP9T8iAlXaEC7JPx4Y8hwylvE/YOU90BXu7T/gJXccLArlP5jL4GfszfU/1FJ1XN4itT+e1hBZw5HpPzKwvYMSft4/NI8EQ+0zzD+hPWG8Z7b2Pyas+MQ8u9Q/JI939hrA4T/E6jqdkALMP0gKA0cQmPc/iDaC0lDj8j8eqL7RQ9zvP7whuGF8t/U/WJP91bgI4j9c5BUjj2LjP8Su72NnUeg/WOOga+hC9z/gLJliabvEPzptGs8bifU/bBJ+uiwp9T9JykFowb3aP6iSjLt84+w/PMxIbIMc8D8CgE5cOoLpP+/3VJ0iLfE/hoh6Ni325z9mTH8Bd+XLPwTbmnDCXeA/6DFm5hVr9j9iLAfvPUf1P+TG7UzOPek/jbyrH5X08j/WdlqyFxXxP0SvX95WWd4/1M5M5EkB4j+wpcKoRqb3PziFXU8oA8Y/hp19ZudT8j/+6QNzN770P9DfdBk+NuY/4unxjK0E9T9FFlpv3vbnP2Az6oJJb8w/Riqp7xgX9z9uF0ZBHhz0P28cdcKKqtY/rts7AS7w8z9SGDh0ASL1P+0rKd5JPN0/Y1cl30ZI7j9gSFPofVz1P4QIUiywCeY/tCE/+Lia8T+Ovv+co4/rP7YnwUfUg/c/vpArF4GT8j8+dbbC1xbsP9KA8GLazM4/VrjPm5D29D8XKk8zmBX3P3JEBhTbN8Y/DmoQ9Mkj9j/yLJFwODD1PxhFSfE2CuE/kFSIIjlo9T8lT6b3h3fbP3onFhHYcfU/OAWkTFlE5z90vzqQ/xvzP9IPZ7I6MOw/MgHAJVUS4D9seFcFd+XGP+hOTRnvN/I/yBbIzDJ23D+sY68kVX28P0zLfHDM9PU/9DFwcKUX3j82XWB+oM/xP+TFWlsU3u0/5fe6cxPQ9T+ubjgsSlDBPz6MxPFL0dY/lMvkTVm4wD8CghjnFpXhPyK8CCNSL/U/cGvA6WOMxz/c9k5rNV3xP4ABsD8JRrU/GJ6Y414+wj9CmkCyhS/eP3aq3oUvXvI/+7xyvEBw0z/20LUNLlvnPx5ACUuVvvM/5rtSdnLkzz/qDnWZKYXtP9/5YB9an/U/wKk/ImjKsD/2UDxcVZjyP69x4zTNy94/pt+vNduS6z+IQ2fl+MnOPyVSTIJxwfQ/XE6sRp55uj9QtDPdWZ73PyfQjr9P/9Y/W13vs+3k0D/Y7TcKsd/jP/HQW7/oy9k/DKl9i/1vvD/DEd8zS8r1P4ZVtkwpNuk/pHcZ6R0ZzT8KT6DOvaLvP/RDLMQOJOc/MZH8oB4C6T9ppxe6uDX1P0jim7/RGO4/GgBYXdimxD9e67wcww/1P2AASoFKp6U/OaP646MN6D9kWtXlqJrLP2ccPCc74vI/xu15rJJPzD80JWYjBezsP8N2ux5JNPc/LohTsM0Y9T/tBCusH0nxPwG5+UFna/Y/AFdl3QrV4z/K8GTMsg3UP2pNN8klL/Y/MJ4s3VQy4D8y/Txx+fjUP5DvmCmeXe8/zTLbLq8m2j9KZ6CWvtv3P8vjlhbQOPY/8odLCmKszj9fEcOF2hzWP0M7JXOCB9o/e6Yw3QG69T+iAChQUMLtP+IuRZmTN/Q/5cfBEGyB1D+YNotui7TzP3quA3SnLto/vG04fOGDwD+k8Cd+EUH2P3/td/3OxfI/DWJr/efH9D9yQJO4U/vzP0DVTewTmO0/zNxkCO5G8z+kGcHFMJ3yP5CHBUP5Puo/xKX80u2z9D8KT4Z2gBHjP7twYMG+f/Y/RCAVQpMe0T8AkO3rFJXyPzo5GCfHns0/3AjuZLqI7T8B2ZEnF0neP0SM5Dknves/vtQFXLOs8D9QfbnbD4WaPy4RQePIavU/fVaWzros1j+Xrl+p/ijzP7gkzUJiALQ/WhJ7Pnr18D+4wnmWe7fKPx7HDXi3Auk/breU0WbA8j++epibag7yP8h8mRkOits/ZlkqxIuk4z+uXGmlGkrSP1kFqAxuBPQ/qV3qzklv0T/gpUgFUVTzPzhyzI6TUNM/hENgAmmt6D8HPTXzkn/UPzt9zNR0j9Q/LPKMnrkuuT+gOsk2CZrSPzEVmipYCOM/RPeaPD8Nxj8QMg2Gvr7vP7rowAKmAO8/18UyLW+19z9WUWMUir/uP+KnMLfcB/Q/oFhykWjG8j/A4nNEeUnpP9vXEUBo59c/xEUaCiiLtT8oMjDY3rrePw5XsBISX9U/upBceeeQ0j9qEedhD5L0P9pVp6bV18Y/nVpRf4bE9T8qUCA2K3XzP/fpwGF2xuw/bjNrRpoB2j8k5DUhDz7zP5a9uj7gW8M/NGoH6EnMwD+gb9sp4XPXP7uAeGjkK/U/tLi0udEivj8EaCdPdxPyP9OAqCAlduE/LpTvwoY48j+KRiUJTBDiP/wgMsNQfu4/fr6Oee5w9z/4VXwqEIXzP06hZYsXH+Y/nPUmyQEmsT+tieggym/gP4hfxnNWL+U/9V7I9Urp2T8Xau4GEgbkP0t7l82xht0/IOW3om69qT8sUz/sZTPnP3K+WDS3t+0/aLj+MPSN2z+Bi4WhMyn0P1BsbZxP+6U//aOVa/wd3z9nn4Sauev2P11DpoFpDfQ/AG5hyPiUST8Uxl+oGwy3P9PVZ3xV5u4/lv/0lcGZ1D8eg2r/+77FPyRP9bY+efE/4vbBzp6/6z8mKilWwU7RP/mTyUwsvOM/dCdbNFMP7j92xqfCM8/0PyYhYoVwavM/naJWR7WQ2D/OB71QAmzKP44ce74oTfI/WB0q6j/MxT8expAKPT3FP1/mV/02LvQ/U3cMpav18T+uU7t3RGDyPwrVfdglpOk/6uHgl0499T9kbr1q1HffP7PhplJnV/M/Ksl7IB7T8D+tSDRrnnbvPz/o085QqvQ/vCIG3bg76j9lNoNY+GL0P7wzCdcGSe0/CuN7wqnc8z+89vhCY7WwP+FqYW4G7O4/Que9jEOx7j/UMAavQEzuP+wtu+byWLY/D9J3soID8D+J5twgw9nvPyyihcI8NLU/9jsGk4zA8D8osSfx0V/gP8jVUiWdY/A/dtAJo49m6D/Q5Lao8jKXP+pnOgkP5/E/askQdlkmwT903YIS7nzzPw/16NyAjN8/llmNAtFDxz+Jpl0QVMjoP15QhsNmC+I/F8/3Xe+19j/T04fLV8voPyM17yXiYOw/JigDKzBZ9T9U4l0zw/i+P7gf3VD0vfE/ICLjaCrX4D8ULdC2+B3mP9TxuvDy3PE/1IlX79PU8z8+ESUpwubfP+KnRDvj3d8/Qoy5+aQr5T+Gb+MmC+frPw5rXX/zwuc/yv+o/yeM4j9zLX4fj+jsPxWht11sONo/gLpZSf+m8j/O+dv+eefnP8CACOFYQ/E/hwFfksHo2j/UnMu1jE7hP9QLxdQFafU/jix7f8I95j/X5ngASIv0P5QPxawf4L0/6Mas3axExD9g2rD9fRH1P+8wrU4XSfY/vCxHIqHj8z/siUFfD030P+jMOhlHWfA/BqcohFl8zj/Xe7DfgPXzPyC9YUwTT+s/HMVrHQ5d5z/0IMR1ClTZP15xCNguxNo/zTcTqy909D/q442XoXDxP8Qruwh0yeU/4hMQStz36T9uAjf40lPFP7jKw/jffN4/ZKCzDwXY3j95O8zNKSflPxCSunHuNaA/YNQ4amV5uT8GniP7nj7zPwCIHKAdxYQ/4pFdANk/8D/k35MTBz/wP3pvvFT9490/yknVY7gl9T8eElXMdU7lP+V9uBCsmNw/s+922rA+8z9tzvnGMgHbP2qgb9EVCfA/yrWMFmGz6T86pdqqi13SP764Xu/nF8Q/TEAq1EnpvT9kYI5Fbt/PP+NlN9AMWfE/vLdQvinN1j9+X+1ql1nFP2klwH1rO/U/vXXApiwE9D+YzBcXGbnjP+JqCsjD+/A/EudKQ7BB7j9wE5xIycTlPwrn2rd6W+w/KFqZTYiO0D+rsYJ/lw/1PwgPEK0ibtw/1tAUTM4J4j+vwDb8rEjyP20Nowumxts/mruWNEeK5D/Fgdzz2BzhPzTnQm3ELrE/5/kCdvyp3T8kyWS8wDzyP3WihZkVwek/ZBIqFvpz7j+Ce2SZQBrlP4ArFoJuueE/ZA5zn08z6D+JX54vLGPyPywOCkdbP/I/5t2WamUt9T8iEZv2/5DxP7h4HZPRX9Q/nk6pwxpE8T/o4n/azrHKP+Z1mHf9aO4/2NbuCM4Joj8cbGCGp5rtP4zjNxio58M/F0byap+23D94/1ina7HuP6Y8Ax4P7+I/AoBxrTAn4j/vZDAKeabzP+TPqNoxa/c/iWmtJeGC8T/IdqGLXhP1P+AAhpiWRuc/XKID7b0Oxz+8Zn74A4DlP7m18LSuJ/M/flYXagS19z/5vNDwhOD3PyKnXdrLd9g/dK88IeVV3D9A6EQme+zoP55uWVFIycs/gOFljXHTkT8Y10njiEHjP4AW2+wC9Og/ueJPAT+K4z/TrSM+r/HeP94C5KUMd/Q/iKtqgJ8r7j87Z2wD/OXqP8S9ErV3huA/Zt0Ijtpn9z+3YJt4fInxPycz8wgHYN4/qEa06aLq4D9Q8/GL7aeyP8xidniSl+k/qLZNYLev9z8A5lNqolHjP6ig6qAgnec/PK/kLMYt9T/aWtbyBnT2P63wTR+LAN4/pkucd7su1j/B+WcZvWP2P1ANEeopzsI/qiXLGQ701T/oH8i7YaSsP416kxoDavU/5pZMgTbm3D92PS6F5ZPPP04WzhRfje8/E4Pznpyz1z/2L0mQM0TJP+RzZQsWPuU/rkN9YoUz5z/2i02KcgHrP/Yc/J6V49E/4rP1j7Gm6j9LBrCxIXniPzLuW7OmeOk/9iCzx+kV3T+uDGdFuR3nP7gPlncrb+w/aP1kaakKrj+iqdk4oE/zP+P1Uv4xD+k/rUNz+Dsz8D/id/Y5JtDCPy2DvmA04+I/pJ6TlAFCyD/oZUHScuXtP4qm9I2ensg/wsQC7K2W6z/w+gHZO8OjP+YR6kgZMfE/069bO0T/3T8V8pYTmMHeP3m+KYTD8PU/pX5Y5RO/5j9QDQoSCz/OP2gw9q1AMuU/ayo7jBIF8j94FUnmJ2PCP0Rp81l51ec/RGMdhUKGwT/DAeeWWCXlPziNDuyfZ9Q/V1eWrmcQ8j9QKX72eQHpPy6dreZskfQ/Mpj+GeZO8T8YS/BewkbuP7AvDA+kFL8/wBO2Reyn6T+1tb1GdGv1P5BpR/4/nO0/OHz9kyTC5j/uTlxS54PmP/LoXF+6vPc/T+dgYC612D8wY0r4KKblP9NyUCUjUes/wOa3gBu17z9IGvsnZ4HyP1zmw5/rUuc/JfpTZ4Yq9D9SLRVSEebVP80Mll+DzfA/c7H9HHIA6D+Aj1T82N69P6Ts7LFUeeg/tRROqa1I9D/vW893rgPZP9mpTfYZ5NA/q0maTMtN9D/v8VCQolbyP5Pl7EGv3fU//wsLwV753j9Iq2sc+bbJPwAoqIW32r0/XqneLkE29j8q1h1dtRHvP+ZsQH9P5MA/oCgnHEeF6z/EF2enZSjtP2vGPYD3INY/IgafLFNU4T8IHb2Gp9vcP+zXz2Ug/cU/VjbO4TUVwj8UiLQnWYnqP7huF/f+mPM/INNplazfuj9OQ3QYdI7xP6CUY0MYbPE/Z7gAmBGu6D8DTN9ep3DiP4pPRFlwLd4/9D9SVe/Jxj/YZeWUXKv0PxzBEo/0rfI/kDI5xW3X8z/42kvN/4WiPwARZDs2Hmw/ihG0K/pM9z/wMQ9fZ2L0Px/UHzhPQ+A/uQ6S4KJS1T/wWr2AiCzqP/S/hSVnnLs/tM/AojN97j80qoRBESO4P4qDzjCe4NA/l97Ciyzp8T+o7iQYCXC/P/3VmkOrktY/LlTB34ma5j9fsY/87QX0P7ivkU/Yc/Q/GOQq9s8yrD+Kspym6BbwP97OsWNCu+M/8WERyqzk4j+UND5gTyHqPzAjWSiZaM0/W7H0ef4K8D8KhB/Ya7bqP8yqqinO5bU/piAwxrqv3T94a673+/S+P3jyoVX+vOI/0/FoAxVu0j8urUPZ+4/uP9+iwsDJ9vM/Sf+2byAv9D961a3XYVXnP1tVzJo7od0/2ELy5KjU1D9c+CUXDhvwP3ziJxXJMN8/sjXM3xtc4z+q6sdQclPzP2g9pFBIGvE/CloyRU5u9T8stIi28W3nP4j/x6SdDr0/K2ViQWPc8j8pIGHm70HwP+z7GnKqN+8/c8GsZLT28D/QOuhdYi2/P3yoRW/g+OU//8H5CDo/9z/6UAKFfPfqP1kw7S+VP94/fsIpLFLo8T9IKAvylgPyPwArB0DX6Yo/oJq/IFdjjj8yjaHsGWf1P9S8iy0PxfQ/8ICr0g+11T/LB5nZ8r/cPx0O+u0tTPM/guBBMzE75z88Wl0DWJ7zPwinL7rl6eE/ENF6Po948z8mWI68gofUP4oEfIkN/dI/jxbjUzJS1z/FYELPqPruP9z1lfh6bvc/OEL0b/2m8T8QtQ0Q/XP3P2N2oyp38u4/xTGX7UQw7j8iw3tMQPjxP9ObsJufP/Y/hQQM2Pn18z/tuGnBBPLyP5gkgdtxTuQ/xqN65obG4D9g2xZ7uG70P+j5ZmAEfOE/wOxY97qZvT+4LBG5BzLpP/TFDbOegc8/gtmWwIEE4T+ehX67LVzlPzjCV+8Klso/UEXKzv5W8T9hrWCl0zr0P6FudjLNRtI/vfQtwYJK6T8sKQVVRX/1P1MdAYP95PM/8l8bBx2K9j8oMmENIS3wPyRnCvcXkuA/y7tgAGLJ4D/cA/+8CFjLPwxMRIFDde4/viFFtpap9j+QVA5w82rjPwnhlbk3U+o/IMpAzGLpsz8EowC/MIfNP3SNKedeGuU/8hVKqgr34z/IhVwN70n3P5SoJvrsTNE/a3NJyyS15D+6nJ/WCrHyPyoTI4yDNes/opl2YMfl4j96ls13ad3RP/XeE53MCu8/xlfui3wL5j9Am+/wJDidPxfhjezFRPA/AvXzHqdDyj9CMcg612brP0iSiMp5CbM/xmJ14yPp9z9IajHVwibSPzg0R40sxuA/BmwR87UFxj9aCmNODAr0P9yXLejat/I/IgjvaTkU9T/YCqeDjSqgP0jCrfAP4uY/HfiecpXw0D8k5uRs4ybzP9gsIX0AusQ/CJUX09UMyj+2zO01K8XvPz6lPGmWkfA/AFaaZiWm5D8Y7Vs2rXqgP4w3s9svTNA/jNbGs52psT9c2GkfpM3vPwFSo25QB/M//4WSX9mN7j/ipYzQxYvlP45/hi4aEPc/oDb6T/s4zT9r8JPcJWXiP8gtf82e6c8/lU1KAthD6z/AyWZCaR+kPwcFBMUsPPc/l3c/6ZhD7z9tB9aCn6bgP435yi3DZPM/nTrsccYE6j9s57O2J8ezP97YMNV6hOo/qY2bMcDd1T9AphPhHsrBPx6pOPpJ6fE/E+mQAYQJ7T+eUf86MLjwP5R7lDne9uI/SATHzJXu8j+hbsE9wpjhP2hFSoBF9/c/iYWq/E9t9z9D9I/JfJv0P3y6rvwvMPQ/AGwsi17Jdz8fMqHGog32P3McfH3oUPA/XqroSp6t5D9+7vQuzFPxPz832l1Jid4/8y8bQDUL2j+oPq9LUF3fP5wEGHA6pvU/bvPWfh617z/ALFN45Br1P/SxhV+O4uI/UIXg5He15D9skoKanPHqP+APIEM1Uo8/E/XAHLR26T8Q59R6M47jP2X3XzNN59Q/bGhFqIEe3D+ECRehwoO8P7jvMfn5KMY/TMgp+/4j3D8OnJxdkJTxP39/RA1B290/rNTqtojk7T8c9slXCmvRP/LXeKAjM+Q/f897O8LG1j9eYQF0/JvpPxTK4CUEbvM/oLJd3Wte8z/EF84e10rhP1hLn6UVGaM/izlksQcp8D8mPqbyUkL0P35bovC8V+M/GD0h1LuDyD8mmc5+eNrOP8Xw/mIHUvM/HLVx1U+n9j/kWWii9BO+P3lsDG52juA/dLr7ejftuj93D0Guzg/wP++SbIhK4/Y/CFpIk1AlyT+3cgXDi4rlP+/VPlzF6NU/tNNeIwJO5D8MAGli3tm4P1PTAmUVsN4/PKeFDnut5j9kRjDgSJDyPzrgRx/uS/E/tI8Dmeg5zj/uDugJcl7DPwAvBkOYxq8/eCYBkAur5T9OqpRbyJb0PyCfZq1XkOo/Qj4jLb3M0T8SoyrJov7yP0D9/jFHWIA/Vp5umRRP9z9IqvWUokXvP89nN4TXrfQ/CNB7XZ9k9T96Zly3cJHzP8hhnVCiqeI/fjjQGPGE1D8GCjqmcb3tP4hOrexRpes/QLo6YSfqtT9JzXq78YbTPwA425yN2+w/pK5a9JXU6D9EHi+qqRzxP+RfnU6lAfM/hDTIfZnFsT9XQKOZRl/wP65svD3HXOQ/7b4rZQgu1D/NISiQpnnUPwwJFI9lD+w/WE0Uz030xj/gHGhnz5bwP8HdmJk7e+E/grA0/1Tu9D+6yDwH+VL0P6BGneQUWqY/UIXlEt7Tlj9phFiGD8D0P8X6/ZQDf/E/PpBTZecP9D+gqxjJ6T3RP9Sk30+AGvU/e0j3HSpp2z+McDOiy+P1P3TDX7C/fdc/xkihWjDj9j+xJO13KHfgP3dZZ7RSBPc/3pux1gMR8T/8lzqIgXPyP+lcULay594/b+OIdR4l8D/wwviok2H1P+pUmoUUi9M/LJMKgxRr4j9oRSVpB/bdP3KxL6Kkx/c/mHemRYB38j8bCdt1RwL3P3zZqFYw/MQ/ynbfYimixD9aha6J1IPpP3TEpZgWtPE/9sY1hJoq8D9QpamgmEaRPxR4m612R+s/pmEzvigL1T8Zc/IMKuvjP42IPXAgcPI/tDRcZbs12T+VqTSNzXfwPziMLePakKk/zXSFITu44T9oec7ICF/uPy7oby/6BOY/+okYHcml4j9K4D+6X23zPxZEbt8sCvQ/kGcCQujn7z/9GwtQSgbaP2OcWuC1eeo/sAF7gtNUsz+IVCaOqDfhP6KodarIB/Q//BJyeptd9j8Vlk6mb8XbP2ie+qL/laQ/UFC7ZWlb3z/mpFpDT0/1P0xTguEZLOc/YHse5KS94T9a+AF37vfyP0oGsJ4p0fA/0SDFPHaH0T8JI9iRdgTQPyy63Isw1/Y/2KIQd1my4j/Ab2j1v1m2P5tpwJrJEdY/pkoGLTyk7j+wK7Ghf/TkP+j2FbxjzNU/+Gguzj5V7D8IZ+8k/fTqP05qvTTX+tw/eDLDCqXt9j/y3SR88dLIP7C0LSfNyuU/RvmS6FgG9z+AbmBFt++LP/Qvdq38J+g/GLkUD+Sprz9oAGFoe27oPxYWdswI8vM/7McuYTux5j8VRDRfkNLvPya0g26wn98/4Kp9BAK/pj8TGK2AkprfP7MuezEJ998/mO8QiYjArz+9slYd+WL2P3TNVqOj3to/MKeasLHptD92/dBLzRXyPwQ+z2o9y/Y/9V9uFGOS1z+MqjypEty1Pw4mNMCQSMk/+JCnkN/18D+kJhTPDMbmP+QHhCA3qbM/fBXkLrQL7z96Jels83HvP81prZzX+vM/iIvE82g59z+cRG2qFmzwPzLIQuZBZdc/iNrLCYMk5T/8IVsGIZflP/5GyYRp6dY/mlvHLPSx5D9LkEwgHm7gP8kkGQaOnPc/oGV24ZL2iz9+k0/RdvPwP5r+TrNv6vE/QFsDPFha2z+AfrkI+oXcP1KZ94e0uMs/CF6t4Spouj9F1gLEIbbSP3rOaM03Guw/3ytnVKxH2D/S/btiRUncP1gDp37o/PA/IGSKbQqUkj/WeI1DY0vTP9+dQ3jHA/A/A220FWC18z/cc6GOg/DyPwZ7UiEbYOU/jqEaEjLK6T/bgu4Vl5/yPxge7x9nq/U/WA5EC1eC2T+IVofw3VrTPxkiSLRwQPI/KKIF9YK68T8olPNo0T31P+JWTA1GovU/pVpmOH6P9T+t6BKgKXvxPxBYOLT2bfM/dB3v8FLCuz9jKUViCw/iPwDovksQuTk/hJflov3z4j/U2y2/zR/gP0h5GAgR+vY/tLh6zlVC8j+sqjdiD2raP8NSGT+zKfQ/gNcKPQmqbD+QA2i4+/XKP4fbbaiUY/Q/bF0cUXrW7j8dwjsP/ETvP7b6nvRTCO0/9IH4NudG2j++5mZBFijKP9i3F3X4OPQ/1mM2cVif8j8k1l7xd2DtP3wjty61fvQ/USiWmeN69j9W14VFQZPNP1ha6NkWo9k/ksivWAWi2T9SSIuwFhj3P0hiZAEGpOc/Zis+NNjg5z8GgouEfDDtP/TswB/SFeY/Egp/Ba1a7T9ks4nRJkrAP0RG4IMTT9I/CcZGJ5UB4T8wZGsO2yjxP6XE4Kf7+fA/RbhUjYGm3z8YcAqtbKu9P/xOihgGrPA/kI668KtY5z8EcMmhYum2P8A4BcUX5H8/HPvP7Cw07z/+L7RxzoflP4AeFjYP1I8/aYZolNtY4j816Tx1FZrwPzDVnEcofOQ/Lu4dakzCwz9CC0YQmjbrPyh8U2Y3hdU/ppytZAwx8z8jingio/r2P/374Z9N0/U/Jo7E1Hoo2z8a313lYebBP9rXVHIJqOI/aN0uMhRr6z+kwNeSh3znP4zihl4WLLs/p1XW7b7F1z9MkmQapyDyPziLhGXSg+Y/dKfJNURjuT/s0vp08lz3Pz7UzWOoePI/IDyVXzNV7z9Xuz5Sr+TxP+yostiLi8Y/hldv0E0c8z8mw5O3FUnxP3F+hZ2Lx/Q/jIRorc2L5T+VaFpvFaLXP5rfgdTituc/sgm5AQoQ9D+IVgzJnbW5P+AxrprRzPA/Lyg7Mmjy8z/KqOxLa9DxP4rQQPYqCeA/ZrDyXpsD8D++FaJXoHbLP0IAc/q5idI/c2VkKIEu6z8QqHLgU+PyP5XvJIhaHuw/t3ffFMom3D81JaDP9HD2P5odpBMKtM0/tmg9KPrA6D+YXrSG6HzsP8j+Vte6I6o/IlVpASHT8D9xfie6QnDYP9ASC5T4RfM/3MtpLwpk1z9ReQc0glj0PziGYaFVbOw/SiJ8zy0l5T9OwkKic+T2P/1EtEFmROo/4Us91GKQ1j8g7HAbodrbP0CVcSXdX5Q/4MnrQodU9D9WT2xPmQvwP1P4xWVoLfU/tp+aBC/WxD8EM1a5iGDgP1ZSYxtkPe0/gVscKWq25z/LqpHgd2LmP0zVoLRVyNk/KqQ5DHhjyT8WRBbwCtjGP3SzPHTz2ec/4ODhIZa7uT8aEjS4lgbqP8nxFvcYJ/Q/CanZYA1X1T+xGRSKGRfuP5nMPT8JJ+0/CIpPCaGK7j/LYaTuBgHUP2MAZDrq1/I/qrdXEr845D8AfosomDWoP+Q2VexkAuI/BI8bXxJGuD8yaiTiA6D3P3rEzmgDGOQ/HHUJFRLg5j/q/IxZnkPdP6a1lIv2bPc/3iQQ0N6O6j8i2Ofvdu/iPyaibXHzffY/GOUyw3n6wz+qkwU5FAfhP3y2EKyVAOQ/Gi/fHswU9D9Cc3cyly3gP5ZiIUXGMuQ/lvGTOtni6D8b8oxnqhDQP64rxb8WV+Q/NKdEjPDG4z9fKqMHr6DeP7DLPCYhIe0/P50RVMGD2D+sSsVBXfTvP3JvYXqznfE/7jdsKCoO9T8yNm+sfpLQP0A5nutWZew/m6wjlDd03j+2LBhB5z3zP5T3KOqUlvA/IgG/G9DK9D/G87xulezDP3BMKAR6yOc/hnQLFbSw0z/gDK5N/4yFPzzDblyMKN0/13OX2Y4l7T9cibfnlCH3P/8aT2OiL/I/iWRThn9e3j8gPXMpkL3yPydqJaJOf/Q/klEzEaAJ4T9lxGUjalTcP3g+URdB3dk/bXs5VQHv4z/Px1ru5GHSP9JZq3J3Y/I/dxkmNZ8k2j+IzXLYYAflP5Ni0IRq1fU/Dfc+hm7Q7j+6OpmzYtnIPzJ+X5/rc+I/hcVElhvZ9D8kZDmzZvDuPzMtZ2XasNo/tcOEbFEk6j+VhtFfwTfUPwKq4vXxBOg/jBqO0JU+5j8yWnn7zj7YP5Axo9Jfvfc/mLre0mTN6j/9mcL62P/qPzbiR4/zUOI/IGB0tX41xD9wh43EEJWpPzRBHH8uX+w/Haz8pMYm5D+EQTu5+2LyP27G0S01q8s/sVa2M/xj8j/1L4KnLO7tPwCEyISNJsc/Yws1e8ul2D+wrQIH5MCkPzByZ3V+SeA/oAKv2OkF4D+cKNWbUF3ZP7nQ8bAyytI/VeGirE1T2D/b0xKkFRHQP5pL5yu4Nes/Qpxkv9UBxD9I1N8HeLa1Px5Axidfifc/KV1s1Rk19T9KO6JYxrLzP1gTDYVs0u4/jfcAAatP6D+rREW+PRXnP/a+U2QVCcQ/xuVO452g7D9mUg9+YY3yPxTWJ6aagbA/+JwYRumP9D/kwHA838XyP27UGxJfguI/JD28KraBwz+C7QYY4QveP6WTIRQdDPI/HMpLXDBq9z+wFgcFI+GQP3E0aUF9y+I/tkHODdS68D+mcYfTue/ZP1B3ZJ8PGPU/vSelvZxt9z+De4xXLqb0PzTIef7XVec/f87sIqpn9j9wuhYtDP/kP8VQX988sPU/CXgiQo2P8j9CYrpBhmfaP0IT/LtBRuI/fgsNxCCD4T+2Q3rG+m72PxqeaQPtouI/dOBl4HfZtj90MRXmlqbjP/QBdG1iBfI/vix0+e8DxD+sRyVMQti8P4Ol0p/CtPM/LA1sc4966z9si9XbLjLjP8FbdAR2AdQ/jC5G1CcL3z8lWFTiM0DnP0SvBpEQ/+k/PTbl+gPt4j8chBIyWwbmPwn2gv4fYvI/OCkfRZJK9z80MdJj9kbFP/yXTSAXJbw/SLlk2E2Mtz8Apb/moFfoP2xS+yPHgt0/SLXVjNhR7z9gzODxg3b0P/onzLOcfdA/OEDIIYpZ5D+oBc+Dxq7sP/wbqe48ULE/oyBdWu/q9z+n5j/e3+L2PyJsqdSan+k/EBBUoRhwnD/KCa9jakjqP6rYNXhqXcw/HJPnwjcXzj9RR1D0Ak/yP5JcNdiARfE/gHzOQkH7iz8AHgRZHRJgPwJveX7aH/Q/ENA4/qtu9T/Q4sVcFQ73P+iaxWxHVOU/5OxGBwPn9T98dDJU2rDOP5ypOxXoyPQ/5W7sRth37D/sMMmfCiu0P/WsHhkA7Ng/4Sv8v0SP8z/DbrBRAfnZP3RkU2CLnOE/n5RxzxYJ1D9WPfpAcNHlP+YVAMNpePE/CgkrXj6d6D+jxilvhzT3PzhUSfjW8eY/dXd/rsu42z+ktVCpLrm1P4BKvdyfQfQ/ILxfLBJ89D9Wm9xxCLvXP6CyvhDYieg/g9e9Z6cO8z+V+oVqJyviP+aflSj6ZME/ul8JU6uN1D/rBxs7nXj2P+pOMAmSEtY/VmLzAaJl7z+/vHQOW1r3P1C0Qxb2i+8/mipAPMoL7j+cYYHfcPDjP9dxq5rxt9U/GQu9+TEL1T/TEY7k3FTZPzph5/nnTuE/1hbL6dAs9T+I+kO6hZj3PznruV3z+Ow/Qg7BubZ/7T+tG2r0id7SP+DXBIbMw+8/aJz//aV3sD//jjQtMh3wP0hjbGvGhcU/3fIHtQoD1D9C86YKvGrpP+R6wBs2m80/77badkVy4T9SAfrBmRfvPz1VWyhLjtM/DAwUcEEW9z+TttLLAWv1P4D1Axz9zfY//QvTf/GU8T/eud7DB7LtP6NWOb5J5vM/9Ucv86NO8D+aJ5wlfSrrP1oqmk6/du8/aw52bYd90z9C50KZbNvhP5udtEom4Pc/jMuqJkto5D9I8D1faxboPx7WERvG7uc/+5v6DM245D8Ert75ep65P0zWreFo9ug/FuAkG4Et5z8tHKPFYa/zP/DNzIGbwuo/NgoqhKw6wj/JoU/9Nv/xP2NYXYs6n9U//JsgQuEu8j8yTdOuLu3pPyhRz/jZaew/MlJ0tTIw4T8g4j8rVAGGPxyXZthuA+k/AxotiZs50j9J1HI8J5nlP7Tp+2db/uE/z/KtAYae0j+U3jtSGefyP/eAhme8Suo/nLcyZzcd7T/slcK3CIz1P9QLz/bmsfY/5ldGCT1L8T80ZbgdPNbqP1h8PY88J6M/uJYk76WS5T8UTPRJeCfqP8C+KlzC2qE/PGA1CU3V8j+hm/1l/Z3bP+DnT743zIM/CxpKITT51D9zK8aAr/HoP9WlHao6iOU/7Q4Jo7ic4T9J3x9z9k32P61nNca7h/A/bwyS0OUO8D/z3uSktOP0P/zewUo1eO0/Oxblv97m3D90u5XOp/TzP7PPxG/F6/I/qp7e3ZoJ4T+mgWVp43PvP98QOSK8VvQ/Bua7dnoUyT/0acRU+QDoP+0O5qr3V/E/TPEarbmc9T/4Z8SibgHdP8MiXlI5ld8/MppMoGWZ6z8VUujMiAjxP1C1IR3IFtA/6NBqa+Vj0j9oehSPT0SvP1B1DyHMk/Q/lJl/UaNtuj9FkHX0FM/wP3gjM8qVj/M/PmbvynGl5j8TsfEg5DHmPzIhpYeL9PY/slSRpmBT8T+v7tCYwfzwP5T3Kuzm1fE/8NsXCPBg2j8wYLJ3QSWbP5ECvoR/IPA/a6WlVg6D8T+tUJ5UM4vwP2TZeOmw0+w/mKhEA5gopD/ybhP9ETDAP7o5VNdyMe4/2OoXC76S9j/Y/nsliNK0P5MDTISn+OA/ycJYyzXg0j/tVL9raSXTP3Qi6NOQE8U/WacixJhE8j8216RESBfPP6iXK8tHRLY/gM6PDi7W8z9qc6AAddLuPyeUtFZoC/M/mf82whSp8j8hMIGW7+LlP5bOnK/iDPU/LpaWbvq00T9yN+QDQqP3P8ZKKmgD5fQ/udDWnjUZ5T9Lx76GU1vXP/DypinqW5s/yAOrxQHo9D815CKgFBnRPySsX40cJ+c/aR2diRdm9T9EhZAtfErxP27JjV6JEPM/bk1Ra7up4T/PcfHu7xXYPzdU/dplGuY/V7dLUsjN2j8QCF10W8D0P9w9QDlRu+Y/lhbRHmIk8T/weDM7kdbrP5SMc64zVOA/Gxk9rZJn8j9j8fFFOIX3P7Yma/vCBO4/pjxUI5HAwT/h85WYhk/3P62gJUvENvE/9oTUTHt59T++Ne/fUU32PyTNAd6ybrw/e20R+8Nu6j9UAQ0lpAzxP2RkHoGmmLM/pTVqrLRA8D+zmo563n3jPyBI2upMv/A/sDNecC2OqT9TxVZKe8D0P2C6oTT8T7Q/RoDwjsKA9D+Bw9wiPWbbP5rTup5vLtM/DmBxF70d3z+ecGKzCb70P7Rxr1D08fc/mvSNnp/76D9h7Or42dXwPwDOSBlLsKA/7I4noW3TxD8/ydeso9LaPyb13xboIO0/f3bWkoTF7T84q04Yg6/nP5YheOglfOo/YJcBpLEIzj/OX9obi5zuP6Exp/b2suU/ixydGS9n9j+NefMoLmXzP6/JENKiDu0/ymFesWaH9D/uMHJcOd7YPyi2UbL1/PE/vxO4o4Ou4T+sVitPhR7uP0LkcZkOGfI/5OT1KCaWzD/fhgs1OszzPyAp1SFvRsw/2BAvwzdeqT8L7uVBWDnnPwHkH41zXuc/MIjgAi4k9j+0vEMSDNj0P4u7OQBKUPQ/BeS24YLY7z95wzKC57X1P4gPRovBvOM/Ahdl6Wb19z9ar2dxA+XgP8WzNFgoVt4/EIfZHn588D9n4ul9UsjbP3uZ1PCJyPA/wlFkVXz26D/QHLH4abH3PyAtj4Cxm7k/Pj7+5BYm9D98VlSvA6/yP6l7p0kzT9M/+l62IJF38T+DeZqYvdDUPzif9GocoeQ/e+47Zu3b9j+nMTi9wyTjP1eI1SztGe0/VWiagYa69z/Bg9HTIpbkP1lf3krsZvU/aEPFtkuH5T/6aK/QTi3vPxI4XRJQGuo/aQWqpWk+2D9RK7513dzjP5bjTjB0B9Y/3vu7885f1D+euDLkGXDzP0an7hFMdPI/IeF1GN4o1z+zPT1ENV3QPxltPLVLlNQ/aiFJenxW8T+TU7gl817ZP8gaT5wz1fc/x4zXozfE0z8Z6MSFW0r2PzCVwikqHe0/YLpj/Ypk9z8mzJAvowP2PzNFflFkSfA/8B/u0wkc4D+6XxR/+cbyPz8m+LPLmug/rLnHE9yRxD+YEa+g+nb0P9IJmpmIofI/LwUv0nF/7j96NAnOT/HaP4zD9HPR/PQ/rmBjBRWU7T/iRbKOAQPrP6eG15SSDvU/8kiQZP7F8T8mnfJtL0/gP1U10TVEENo/8KPC4de65T+Kbn+I0R/yP0sTo7NUhOE/yMvq3NGt9j+KJhYqd1b1P5sM0SK/pdQ/Bq7fRYcr4T+Yskam3DK5PzsmPzarZ+w/wU6X0WPt7T/4hSsf1YLxP74Df70QIM8/r7vR5MuY6T8alLj1sr3gPwGxlRtlNNU/Cj7s8N6H7T/8qRJIoQi2P9JicOKNw+0/eIEkPQgZ6T+ygQayjB/vP2CcSEm+DvI/A0hBUul88D+ZNcg5qm/YP1C2wVUaieA/lO2plahG7j8QH2jLAwvqP1FxNyWf2t4/BcB1N4io3T/qP0vXA8zxPw4jdWtJvuw/pu8ZGIaYyT/8OJXkqGrJP5fL846SDvI/Ut0G8QdZ9T9hOIxTVBTlP/SzwljHq80/WIMcrD5vtz+45kjdrvH3P/bFe1AfCfQ/joxlVbfQ7j/TEW/lOdHoP66PLjXljfM/BOCJ389Zxj90ugxagE/gPwqMSKMTJu0/2Ogp9ZYktj9lA6D77r7XP93qF1vfUPI/8OnrOwjs2D8ZSbdxzyHhP+rd7CdyWPE/Wm9HWZ3t7j8eXXaETRvzP2ZH/+C4kfM/U8xKHeX19j/LQJ4rLqzgPwexLyDqutw/mszUeFZr6j9qwIoPBEriP8ZsJwuAJfQ/ywS4dpPC1D9s8U++iD2wPwdL7Q1aB94/ZlTARVhP8z+QcD/aRgyhP7w60se6r+c/VF3vDSMqwz9RsM8QPFLtP3Y/id2VAvQ/oMSf3f7C5z8YvxPC1NTCP1VlA27aiuE/HBOvAedfzj8evGO3xr7ePwLDDN9jyd4/C58J8xMq8z9MUrafkLX0PyBQLhAmAeA/FmDLb9QfxT9YixZ1BazlP3Cq15YnxuI/M1VhFEw29j9s35nJpXP2P2rahe0kp/A/9p82y/WC4j/Cjxe8AqbzP5O4AeJ58/U//zk2Ucs/4z+ABFpvxDnmP/u38qhqzeI/Hhn77mLs6z//qp65bNbtP7CSpW4Vqp8/rLwH0HEg9j+2vazt8urxPzfCCEJTe/E/uPcLMAu99D8cknscruqxP77kb0rRYuU/2Dwnn9/ruT/yQPz/TL7MP1dGPM3QZ9Q/JlPxKXaS7j8gk1W4vfr1P+yq+ivMR8A/neD9chID0T8AiWNV/d/nP+pVI0GWd+g/rjZd0yBE8z82lD545wbzPzU5F/DR/d0/BcauAeYA0z9ZgX5SW+DrP9VIV9t3ZfI/RCEhjYPJzT+AhNfuM1rxP+0t6YxXe9c/3G+Mja+S0j8EE2yYtKz0P76VpS043/Q/uCTp7TY49D9sOyr+ZEX3P7dZqjp0OvY/imTz7c4d2T/bcnUtIlzVP77fiaENrvI/YHU1NDAi7D/4AMtc7wv1P0Y7hVbokfI/5aa80z3G1T9XUlbD20/RP/jMREFORK8/64XQVG+c8D+uoXE3NUv3P4Ce+WJtmpA/bBK9uutU6T9Q3RKIUAzxP3v4uspLS/Q/F6+wmHEB8j/O78YjoBLXP/Eil5QWEPA/tAoeIE+G7T8iP6Fgkkv3P3a5a9sbYO0/rjVtaPxI5D+DKkB1+QnwP2gwctfuguU/Czh2ITkr9D+X51Fp0uj0P69Um/VcaNI/fbm6y+CT3D8g4zFlJGPyP4b8X0EaIfQ/HqUhuw/F6j8Zs2WHRMbtP0pkDq4TifE/pOBCJMgZ9j9oAnzn/xj2Pzl6tG8bKPM/h8AIlJXL2j9ccldaAqrbPzq44I6Kleg/MLr/EJUa8T8gupSYFTPfP72zKJE/eNc/FL5Chqge4j/uzHT+zPPWP/UaZBH9dfA/3Iz+jYCx9T9AxRuLT3nnPz7eVT5TEPQ/1H0NR1fs6D+UgH1crfC1P54BmTl+ee0/1xDyrtWu9j94OsPUM0HuP6a9H3KzCvA/wFD98yS2nD/09S1AtV/RPx4k6Yqby9U/sFGA49/roD97EuCJi3LWP2BQKJAaQ+U/SrVAXKJk5T/SyCIvzE/2P3fgK14uQvQ/8vATqXbE8D8m1FmRwQ/wP6KH+MN9DfQ/cPVfuaJq3z/OY8UmggviP1Y+AAUrF/c/8gNQMPeZ6D/0VrzrY1XwP16ujbCfBO8/Z0O6ZDWx5j/GymczaoHvPwpDy4zYG+g/tmJgm9zU9T9QRbdJ6bC9P5eMXU0AFe8/3ImppKw25z8knvMLXLblPx65vHz3qfY/KZGB1RV74j/iQJrfoGPWPwoxK58va80/JuPbnZhz9T9wPAcO2MXFPyH+GcpzieE/78a43rxU3z/Q8N37aWz1P1eU2Yr4TfI/JpAIvEOQ0T9kF8O1ly33P0RAZz7DWeg/j1QJUmhT1z8ideT9OM3oP8QgLqBY2fA/ENhxoLeT5D/crQ14WjXnP8CswjTR2cQ//HJ8QKie8D+0Tb+b8AG9P8A1Oiy+c+s/7E2Es5SH0T+RPxl+d9v0P1vrGj6LNfY/cc3FJVbR6j+0gK+QVMzoPz73F+x1Ut8/AB36f0ilfT98dPSsWAayP0SwJBKNCMs/kKgvQ5USnD/QkvyW/NTQP0BBHycNBvE/bTEK5DxH7D/2XnbdzjfhP7v1TGYDzvc/pgY9AER47z+chOlk47PiP9ysu5uYns4/LC26+I5NvT847D4Xu83sP7jgv5+tAvE/9Q+6/LGa2D+IF68OYNntP8Twi8iq38Q/DhZ0QlmM8T+iv8HJmLXFP+9KzqXPN9E/CXM4M5UI9T+Nf9JD5NvjP0Yr7Z0cd/Y/OlB6G4uH7T8SNOhacdvnP0AVXFUoKLI/cOZ8qqC48j/uStZctavoP4ACDUQX2uM/05xgUY4M8D/HFFbOabXfP++PiumjpOs/ORoOrvOm6T9JRMzJsI7bP9guFRQEG+U/1G1/F3HS4T/0pVhjAOPkPypGsYSdnOA/SgWZ4X+O4z+UwwlccRzVPy72VRCfa/Q/bLi4b5869j9u4ub5FVTZP9+lZYgPvPY/Hkzd2Exb7j9uLaTI24/DP+zg6rptde8/oHkc5Ug55z+jQq11N7f0P/1RIvZukNE/0FXAibq+9D8aR6BcNBvfP0J08ofynNU/enpr+mTU5j88ZcSqdFbIP9HZ9n1D1es/pOLBLFQw8D+Go7+/j5LvP7cAN9oekN4/sxYtdQzM3j8aw6KjhnTtP81hhE+pZeU/U4dVGcKQ4j+GI/KFvuXvPw1xcqqbDuI/LJvfEW379D/673EveOjvPzzDi6+bC/M/sKZl2z3e6z9iRfJQqjTbP4AB2poHh9c/etSI/yoI0T9BWwprUqncP8NPjuC7Ofc/31TUWoyr7z+fGyYJit7QP7VQFEyTT+Q/Bil1eI8w8z8CBBE+vQXnP8SKD4ItUOM/TMFRLtuvtD90QWRXvyi2P9NLT3hWK+k/flrXSttY9D992dr0vzzfPyycDp32UPE/O0TSrTOG5j/IUoJY2lv1PzZLLJSa9fE/MNVSatX34T/Y/eezmtz0P1cFqipAP9A/2z+OW5dD5D9ft4lpYbvyP2wYroaCsfY/N2K+jJAK9z96amoTExbnP/tOne4l19Q/gs8u6M1e5T90ZAEKZNPHPxcIqXfcetE/A67HohDs1D/Ac4h6qinsPxaCZn0Dh+8/P/d+7qS82z81X/He0djXP4QVVfn+GNs/Y5PDJ3Eq4z9AsIqw6SvxP046lxxUoN0/2PaoClZR9j910u9IxCT3P6zeZlAiUOw/CleMmpcp3T/i+KRIvSPxPyWlkzTWDfA/edAITk7w8j+THSZ++/zrP1Rh17qLfdU/LuC6OahCyz+Cy+IJZRXjP/fOI34z/fE/Fj5nYrNP9j9ooMkrHFPEP3pFonj13ec/tqKXN/KCxD8RBw2V/KvxP5X6eOYS1Pc/J0gMgO8A2j9OihNUi8ToP/YSnM2Gm+8/SiYDHWhR8z9ogVNpZQO4P8T1q2Tc+vQ/SEKQ/BV9zz8l9iI74DLmP85sRw2hb/E/f0Pdz+qc8D/a5MDPMzTeP0CO/f3mAeA/fo2F40ilyz8gRIuSANLdP6bMak1jidU/Asc/SWRtyD80vAh6DOzlPypIn5czhPU/ao8a00u34D9qgYsAbUXmP2i6fWa/ONM/CuM//oND4T/UVfU4RLO8Pzwc79PhGcw/vsAfpzfG3D8II3dBG9TzP7amek0qTPA/bzYzzH3l2z+WwwIjTvrAP+CvPEd6u9Y/3NoNDB3tuz/MKtHqVFj3P7zpbt6h5+g/fJ6dCgTq9D+21yFgS1P2P4ohsfmANfM/FZaLJXDf2j+3qnBD8V3mP3euXSDd5/A/aMjpvNz75z+IaGtp8GDrP0QuTXCoo/M/NAkKAXLU7j+J4j5YYWnXP9UqpGVgCO4/dGixi+resz9EioufpYr3P6Y0L9BENNA/lKWZoKd5wz8xmMFrLQHzP6NUoM7pUfM/fj+n3tFnyT/MpNz8Iu3hP4isCugR+LM/0Xo4DQoM0z/agsgBlY/3PyAnafgine0/nth0JN2G7T/Qsh3gKaznP3JV9lMKo+M/NLc0jAm/7D+IPxtRO93cP0z+KqiFcd4/9WqELceO7z8cXa+lKPrnP7ZZK1hkIO4/iEELlopa8D8nIm1NRtj2P8oW8CB2f+c/qD3n6km98j9lDdggaOD2P6qj88LIwuw/mGxVLtvVxz+2eJse+pDuP41th5s+yd8/wJLwA/lLvz8sZ36gyIOzPwDT7I8e5e8/1+Ia/fDh2z9KffxIwMLOPygUw2w+N/c/qi5MXvcg3z9ziRRbFSf2P463ZVx59sI/HCqtEmxI9D+RWOM/rdHmP+ZCIKwddPE/OO6KcPRdpj+YBsLhJHb0P+BrOOt1U4I/WtYQwsUC7j/U6gvbHZ/LP4ema5Hq/O0/lVuqHUSc9j/CB/RCTcTXP/JpPLdDVPM/FMepyXVv2j8gJryieTbUP1yPjhJFKPA/UBpdGHaq5T+ZMXuMjXDdP2WUWtoNA+g/Np6dIJ8V9T8n0NT99jTpP4Ega43xp+Q/+A7rPTY09T/4F2r581DxP74pxOd4Y/U/g8k5mpIV3z/gKd1JNgiIP5K10cW1IcA/w+rP4VwT6z/a+5aUxSLAP0SKg6/ROOc/ho8Tge4k9T9g5Ec0sfv3PwaodizdL8E/Mrufzd9Y9D9s6LyHkljVP6TAVv5bjNg/rlDFoPUz8D88cZssnzz0P8O7DnqekvE/p22mS6xf9j88Kcbc6+3xPyhvJIR7gvc/SoGit1LA9j9m93yZylDjP/xXlqEX7eY/SPkSj7fo2z/ixpYxLHj1P6lpc4R+rvA/aLSdzhJH6z+sgPOLAx/TP8vQApfvl/I/OoRzeTJM9j+Lx4XHpKXrP8fBHWx+dt8/u0kRSdwN7T/1kOfHuvbVP3v/Ngb6NvA/KPodXUgo4D+ILyfd7sqtPxRlg/UtZvE/d8kgMtda1j8k2lj6h6fiP/00XDf03/A/GPFHHRl+9D93fSG+mHDsPzCQzjEM0O8/jC9sPahv9D9sMGQUzDHNP4zwVgauQbU/SYM3wzca1z9QVQZoftStP/Sn9UPkzN4/IXm+Uonk3z9cW/szdq3pPzWYADvSfNQ/7Lttuy4n7j+T2qFHXXnUP9Ce+9RSG/A/LGv0w9Ik8T+ap2+Beq7kP1wKB50iffI/yakflmFv4j8AVxtAHyvpP/uw0RlAy90/cq0YmrB94T+fxBGpJAfTP3Y2l0Ijxe0/SAl1zHeD5T+Ea51OlJ/yPzC3u4OeMPE/QjBKNQRs5j/S/xSR/PLDP7Qo88yg4+8/xi8KMKqs4T9Ctj4+xDnzP7A6yPw4z+s/3At/ncIRwj/3lKb0BA/TP7EGpAEiZ/I/xNtN+2e+9j/j2IBQmVfoP9iQcd4Uoto/nrCtQEfSyD9uPyQil5HuP+zZ4XmXSe0/edyD77wL8T9Wc4nQ95PjPxjIDTh1xeY/mNnHSZRJ7z/7eAFl5rX0PzSA009bWew/Eok1GK7q1z96fFsNuVXrP554oIG7xOw/P42NA52g0D8PTby0LmbzP0Sq4VivQPc/2dl9Yug32T9e27jzfn31P6Ol8uKXYOw/u4lPESLA9T9bYKydbhz1PyVNQC9E1OE/9I/fN/L17z9g780H99fiPwQVyhc4Q+I/bXNTKQvL7T/kQKxQeTSyP+ZXxy+jpe4/njhKN6G77j9GZO0SzoXjP2VcIwxCI+k/2K2tvaCl9z9q0DS5m7f0P1TIN5GmPLA/fLpTjijfuz8GM621OcjuP8y7JcIi4uI/3aBI7Cgn9z979zDacBfeP3pHX4pjiOY/0+jHFtn/7z8q663QZ6rwP2sLcL3ysPQ/lO2LACLazz8GVTyPiNniP3PXl2312tU/cZb1KWPc5D/KcibRYPv2P5Hn+glmL9Q/0swNdvLs8z9+0GMbOybJPzFmf9G9l9w/fF7Q7296tz/YcToNIa32PxI+JiGyQdo/TixldOma8z9KnPRoXjLoPzlyw9eO3eY/+xbysQrt0j8woyh8LlHaP9zUnrUu+PY/sEeBQUlL5T835MKIKRbnP0Ra5/O3Psc/CEWas9vMzD+yaeFhSUjhP+q0yQJLEtY/drdc5HX18D+EqeU/e0DOP/fZcEBwmPA/QFddZu1h4T8ACttnAK+IP94zoz93T/E/yKeXijm0oD+g2/DPPpzyP05JjcFYsvY/ENJ/aItc8z/6vAKCSvvrPyRDGGAl3/E/xf9qGkyy3T8uqYOp93b1P6oh5NYHoug/w513Z1yG3z8zikLq0gTzP75kRAyC0sA/+JGByco1wj9D/MDYZgX3PzA92Bhv5+E/ZvnQ5g+b9D+1S3OD66HRPwQzWlDpUOI/1kdM0bs28z9ZIaLCeejuP4DMnwvyZcw/ePlqIrWluD/8f3RuiHXxP/QuMGMc78Y/AClQP0O84D9sDc9eZzjlP1hoeCz8q9M/RRSA4PHW4D+c+hRzRs72P7ZN7lt/wOo/Ayh5sbGK1j+eFnTz+nvgPysqg0srHNk/fb+8cu9x9D8CSB/t9KTkPzFjmESgy9w/Ktb22ZeX0T9GgJLtvhTPP9/9+zFQHuQ/xMaGBXrZ8T/vVIa9YtrwPyMIaizCbtk/1Low+Qu19z/uKCjenVbvPzTu3R/Z9rs//71oQjxl6j9G0HuXrxXUP7De8DzqJd4/VNK2/AEK6j/nQFIStqL3P1BC30J2o+0/bzdD7qrm8T/qHDCTnlXKPw/1MgZXG+c/jvq8JJN1wT8G/eFc8kntPxX4EioECvM/WmJ7AVm3zz8MWKd1jzjmPysbmeBhCdc/RcDICSNh7D+gCd+sgRLIPz6ET1FMd9s/ozSN+SWI2j/MYu+2y6zyPyarA+Zd1OE/MTRTKYdX9j+qscv4d5DsP+wtLquS6tY/HsEyM0Lv9D/mWorydmLpP4jiXKrEpNU/OOiOOYyz8T8vOUIHZrjnP8CBOlRQs88/aBPYA0m43D8/Fp7aouTjP/k7td0V6eQ/BnQ2B6Ha6j8YMW0lz4zPP4Za/Y0pf/Y/UzLuYbm05j9OgKPFq5HqP7B7QDAI9u4/ogxUzyeFzT9U7PChBXTxP2zfzI4FFfI/lUbHqNtF5D8Wy1uRE8HdPzvnG617D/c/npCjkeyH7j8GxlM/5hH0P1eyQuQmLPc/CjYcU0Zb6T+kzNwWBgXSPzIteMC6EOY/IK3zs6GlgD+bnJ0CsbDXP95PyMycSd0/avHV4W7j2D/hE6Gp5ab0Pz4UXSLt0/M/vNyVLAYIwj8U8SlElp73PzxPpwZnw9E/6jWXMhdo6T84DgN36wSmP4aO+JI4t+U/sdqLDMaM0D8WWIl3f+XvP81KUGw/i/c/fPkE80fbuj+Itslmnx22P8uZPZrqgOs/iDWWLlr14T9xkNDktwT1PyM7mDMV9vI/oCea+DYQnz/8pQmhlkayP38qwfauTOI/GSFIl3Nx8T8U1vP+67DxPynu2p6/R9w/qZRgBv1t8D8etePrZrLJP29luxKKVN4/avOrI6Wm6T8i0kWdwVHrP3izboOvqOE/dNDp527R4z9W1EO2L+zpP0Zp6x/upvQ/5Jf7Zv2Q0T8g8Y3tiyvpP5Cz+nyuMug/5ThBMxaW8D9NDJcYuCX3PzvpcZi1D/Y/PD8RHbSb9z84CkIpNHa0P8gQco5II/I/tQtRrX5c8z/QatYtQMjeP7IOn0ISofU/flUvlnYw6j96sTbBZE/ZP0JMCPmnwNY/2TCX2ZaO8z9ATomcGryNP+fY2eQNItI/T+CvN6773T/w1KnvvsbSPwV+/pcKd/A/9mCQHTQF6D9d+OgbWGr3PxBHXuP+0e4/E+V46Nrc0j9f9CwZkz7mP/ze1Lj4LbM/fERqASC45D/EUYkEXOS7P/SVTxr+NPM/ilEbogyu1T/MVDAC6Y7oP1GLgVhe+PQ/Y9/JV1p75z/etivGhS7hP52dSU2Xa9A/MnAsJR7A1T9KIVu88uXhP0zyXumdIt8/VIkEhZj+yT8NlP4LeP7cPw8/3agf+fA/ANKMVY936T/B0qi9w1v2P5m/iovOWfc/nMEGxqsy8D8q3YNgXhnwP2iO8Bd2tuQ/3m6mZzBD5T8ni1KzjKHgP4NEL7QpW+s/DV0DDFcF9T+8ogBKIqrlP66Jss4IZvE/tBHPI3YV8T+ocT7B7dboP8uYZZ2wCfI/WuLsVAQZ4D+dwXFAmeHcP2RCASpfv8I/Tzlwwr667D86hjFdP9DlP4Deh19cnfQ/QzFOPneI4T+mns0dguXQPxZGihMx+8s/iCCSkxIi4T99jTg+Qoj1P1j6k6gCzrg/QDLmShQKwT8ZeFpk51DXPwcy0Raiyeg/rA0xjoJrsT8+2H8TEen0Pz8ygPWD8vU/swtcCJML8T8eKMq8F7vzP2j831ZSc+Q/gOio0GoF0T+Ku2npozL3P+wMTaYcPdE/PC8FxYXI8D+oOMreugP1P2T6aAjcIPQ/uIJjZ6HN5j+RJRHjLZPePw3fTbPizfA/wvHFuFPC9j9jWyFBb5zlP4z0jHJjM9k/8CA87ooVuD8lVG8lgvPbP06JuEoSL8c/EuJAMxl00D9H1JHW9bLxP2d617MNzvY/sVjBcO/O5D8Bc/GhEFTwP8bOv/KYwPc/ISO4KE435j8sHU16n4S8P6/hMtbi7No/6zR/rZSA7D8g8n4PScyWP5DrxfrAes4/Wolas0DF6T8Im+yP4KrsP0LkrCIzuuo/5JlZGAEF7T+pe2DN+Kf1P+yiHw6nX+U/9qwPSqVCyD/qnaBhUtLkP9AdVBxKt+s/lL3BNVtQ4D8m8SSo1ObkP5Y8ccARCeo/TyvH4cun1z/w5o3PdaDwP4eEKlB3+/Q/HNJbZa2h0D8uj4BwXJPlP9nZnKT9nuo/SOYUrj1U5T+htMUuXKfzP+Lt1e+YBM4/ccgZDz9c9T/AKzY8ysjnP1j15N3qY/U/qJ34xaAh2D+KMnnCte7vP27/QwTLC+Q/ikczRfXd8D9mV4d2+EDgP+QzOfzFX8o/1Ii4nGff7z/4Liqxbzu5P7BMz+HBy6s/ffUL8ROQ8D/kKvJAfHz0P0x4eaho7/E/couMto2J0T93zEez93DQP/maxZRqEPA/KmBKbXDI8T827jszdabKP7yfyfaZ1vc/LrcO1tkX5T+M2C6Ah0fzP7weTgPUz+A/oHisXH4U4z8Ej0bfFeX0P+Yxlp1qV+Y/jAUvcVzp0j8Q1PnrBTjiP+Ceo0N+6PY/BAhG5wiv9z/k60zYz/z1P3I/qrrtbds/8NoS5xpvxD8TPpheKb71PziVOnAba88/1h2ZlgRU7z9L9cSCMTDyPz6zjokAgOM/VB9sfNnI9D/f6qVf/3rfP/fsfGZbg+E/OpJF9Byf8j/7omfDzYDuP4LRLZv0Ge4/muukqC8D5T+AfInazdeUPwbqwupkJfc/mJ6IqgBB2D+Gxaat9tj1P8Yz4DMgefc/erkCX41o4D8rP26dS6HoP4mW9Ubb3PI/uZRxNfko4D/0pnyIsB3ZP9KzCkYnYcY/iV+/v3K45T/Qxq3cVqPjP5SNRXyXwuY//Ry/FhdZ2z+VfWzaYdXkPz7M+Gg+/uY/QK1mFQG39z+mtmvuzXHqP9F8tQRFbvc/HO6U3/Iz4z9SEQBua4/qP5Ep2c3mZuQ/nOwS405f8j+A88ZdpibpP7CAR2rQBcc/ad6VNdmu7D9Uk8je7+7rP0CbMEaHia4/AD20qROi4z+2TEJw8VLgP86XAMwKg+A/LLiFS1VJ9j+meGgVSo3nP8A0FAQ22ck/eCVZsyOo9j/g0poNFw/iPw4L4/J6iOI/tDCob5s/9T9zKPbuJWTZP/YooMkPeMw/AvYf2omtyD9qHSZX4eXLP6AGKp+B88o/0WyftlJs7z/osYeKlVfbP0hTVA6E0uA/cPecDdgo9T9QznAnk0PSP57q8+TSH8I/tl7GznBH9D9hXBvVKnndP96MQcau3t0/+09z83N78T+6Nni7eU70P9/DnnNoANU/o1CoR9Mo1z/YJ0qnX8bFP06LnskwS/E/+hXwjDkF4D/RKBXJSQndP2CbkVXziIA/9///Dk0+2j+0ceMBmpzYP8zltE74Abo/hk3TasXW5D96+BOucWvoPzNtG8vFpPM/WhvVY++W6D9xy7aO7bz3PyYYc3/fbd4/pFCP+K+T8D8HhHm7KyHzP4L0kZvLqNo/dD8a80BVyD+MTKO1NkmyP3WQv3BOVNg/Ze44nYeL1D9K+uplljjpP6YPLD6Kuek/BSG3zRlN8z/cwHMIYgv0PylULK2ZN9c/jp9PAg5a8z8violwOM3QP5BZbB/NdeE/Lv2ucL6v8T+uN9sHvgzOP6WGjtTbBdo/QA9uVowp4j9Ao/O+92njP77FJ0QW/+M/Kmh5z3SO5D9mffa/34vkP05EBuJEg8Q/hea3q09p8D/sh6WJKG+zP9Fwou3B/fM/hiEEwXiR1j//iRSWwvfwPwX2ykzmt9I/q0IRETak1T+2FoDEp6TwPwU5ynu4N98/kZM4RhKu6j+x3GLnL3T1P25bY1L7J8g/xIm91VsX4z+QUZxab+mwP3zu24akNeI/lEXpCGiFzz8AQc+c2n9pP9WfjFX84/I/BlkFIcZG6D9/ZXRzF2fuP3Trykqk7uI/vgIn1pgVxT8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[4000]},\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[4000]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[4000]}},\"selected\":{\"id\":\"1567\"},\"selection_policy\":{\"id\":\"1566\"}},\"id\":\"1509\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1478\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1480\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1498\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1494\",\"type\":\"PanTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1558\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1495\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1500\"}},\"id\":\"1496\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1497\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1562\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1509\"},\"glyph\":{\"id\":\"1511\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1513\"},\"nonselection_glyph\":{\"id\":\"1512\"},\"view\":{\"id\":\"1515\"}},\"id\":\"1514\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1564\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"radius\":{\"field\":\"r\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1512\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.6},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"hatch_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"line_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"radius\":{\"field\":\"r\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1511\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1561\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1487\",\"type\":\"BasicTicker\"},{\"attributes\":{\"high\":100,\"low\":0,\"palette\":[\"#440154\",\"#440255\",\"#440357\",\"#450558\",\"#45065A\",\"#45085B\",\"#46095C\",\"#460B5E\",\"#460C5F\",\"#460E61\",\"#470F62\",\"#471163\",\"#471265\",\"#471466\",\"#471567\",\"#471669\",\"#47186A\",\"#48196B\",\"#481A6C\",\"#481C6E\",\"#481D6F\",\"#481E70\",\"#482071\",\"#482172\",\"#482273\",\"#482374\",\"#472575\",\"#472676\",\"#472777\",\"#472878\",\"#472A79\",\"#472B7A\",\"#472C7B\",\"#462D7C\",\"#462F7C\",\"#46307D\",\"#46317E\",\"#45327F\",\"#45347F\",\"#453580\",\"#453681\",\"#443781\",\"#443982\",\"#433A83\",\"#433B83\",\"#433C84\",\"#423D84\",\"#423E85\",\"#424085\",\"#414186\",\"#414286\",\"#404387\",\"#404487\",\"#3F4587\",\"#3F4788\",\"#3E4888\",\"#3E4989\",\"#3D4A89\",\"#3D4B89\",\"#3D4C89\",\"#3C4D8A\",\"#3C4E8A\",\"#3B508A\",\"#3B518A\",\"#3A528B\",\"#3A538B\",\"#39548B\",\"#39558B\",\"#38568B\",\"#38578C\",\"#37588C\",\"#37598C\",\"#365A8C\",\"#365B8C\",\"#355C8C\",\"#355D8C\",\"#345E8D\",\"#345F8D\",\"#33608D\",\"#33618D\",\"#32628D\",\"#32638D\",\"#31648D\",\"#31658D\",\"#31668D\",\"#30678D\",\"#30688D\",\"#2F698D\",\"#2F6A8D\",\"#2E6B8E\",\"#2E6C8E\",\"#2E6D8E\",\"#2D6E8E\",\"#2D6F8E\",\"#2C708E\",\"#2C718E\",\"#2C728E\",\"#2B738E\",\"#2B748E\",\"#2A758E\",\"#2A768E\",\"#2A778E\",\"#29788E\",\"#29798E\",\"#287A8E\",\"#287A8E\",\"#287B8E\",\"#277C8E\",\"#277D8E\",\"#277E8E\",\"#267F8E\",\"#26808E\",\"#26818E\",\"#25828E\",\"#25838D\",\"#24848D\",\"#24858D\",\"#24868D\",\"#23878D\",\"#23888D\",\"#23898D\",\"#22898D\",\"#228A8D\",\"#228B8D\",\"#218C8D\",\"#218D8C\",\"#218E8C\",\"#208F8C\",\"#20908C\",\"#20918C\",\"#1F928C\",\"#1F938B\",\"#1F948B\",\"#1F958B\",\"#1F968B\",\"#1E978A\",\"#1E988A\",\"#1E998A\",\"#1E998A\",\"#1E9A89\",\"#1E9B89\",\"#1E9C89\",\"#1E9D88\",\"#1E9E88\",\"#1E9F88\",\"#1EA087\",\"#1FA187\",\"#1FA286\",\"#1FA386\",\"#20A485\",\"#20A585\",\"#21A685\",\"#21A784\",\"#22A784\",\"#23A883\",\"#23A982\",\"#24AA82\",\"#25AB81\",\"#26AC81\",\"#27AD80\",\"#28AE7F\",\"#29AF7F\",\"#2AB07E\",\"#2BB17D\",\"#2CB17D\",\"#2EB27C\",\"#2FB37B\",\"#30B47A\",\"#32B57A\",\"#33B679\",\"#35B778\",\"#36B877\",\"#38B976\",\"#39B976\",\"#3BBA75\",\"#3DBB74\",\"#3EBC73\",\"#40BD72\",\"#42BE71\",\"#44BE70\",\"#45BF6F\",\"#47C06E\",\"#49C16D\",\"#4BC26C\",\"#4DC26B\",\"#4FC369\",\"#51C468\",\"#53C567\",\"#55C666\",\"#57C665\",\"#59C764\",\"#5BC862\",\"#5EC961\",\"#60C960\",\"#62CA5F\",\"#64CB5D\",\"#67CC5C\",\"#69CC5B\",\"#6BCD59\",\"#6DCE58\",\"#70CE56\",\"#72CF55\",\"#74D054\",\"#77D052\",\"#79D151\",\"#7CD24F\",\"#7ED24E\",\"#81D34C\",\"#83D34B\",\"#86D449\",\"#88D547\",\"#8BD546\",\"#8DD644\",\"#90D643\",\"#92D741\",\"#95D73F\",\"#97D83E\",\"#9AD83C\",\"#9DD93A\",\"#9FD938\",\"#A2DA37\",\"#A5DA35\",\"#A7DB33\",\"#AADB32\",\"#ADDC30\",\"#AFDC2E\",\"#B2DD2C\",\"#B5DD2B\",\"#B7DD29\",\"#BADE27\",\"#BDDE26\",\"#BFDF24\",\"#C2DF22\",\"#C5DF21\",\"#C7E01F\",\"#CAE01E\",\"#CDE01D\",\"#CFE11C\",\"#D2E11B\",\"#D4E11A\",\"#D7E219\",\"#DAE218\",\"#DCE218\",\"#DFE318\",\"#E1E318\",\"#E4E318\",\"#E7E419\",\"#E9E419\",\"#ECE41A\",\"#EEE51B\",\"#F1E51C\",\"#F3E51E\",\"#F6E61F\",\"#F8E621\",\"#FAE622\",\"#FDE724\"]},\"id\":\"1508\",\"type\":\"LinearColorMapper\"},{\"attributes\":{},\"id\":\"1482\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1499\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1484\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1564\"},\"group\":null,\"major_label_policy\":{\"id\":\"1565\"},\"ticker\":{\"id\":\"1487\"}},\"id\":\"1486\",\"type\":\"LinearAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"1494\"},{\"id\":\"1495\"},{\"id\":\"1496\"},{\"id\":\"1497\"},{\"id\":\"1498\"},{\"id\":\"1499\"}]},\"id\":\"1501\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"1486\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1489\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1491\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1500\",\"type\":\"BoxAnnotation\"}],\"root_ids\":[\"1477\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
821
+ " const render_items = [{\"docid\":\"6e29a576-9d17-4c7c-b42d-a42ad5ad9262\",\"root_ids\":[\"1477\"],\"roots\":{\"1477\":\"9a93b7fe-d94e-4fa1-b1f5-5f08e03f9708\"}}];\n",
822
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
823
+ " }\n",
824
+ " if (root.Bokeh !== undefined) {\n",
825
+ " embed_document(root);\n",
826
+ " } else {\n",
827
+ " let attempts = 0;\n",
828
+ " const timer = setInterval(function(root) {\n",
829
+ " if (root.Bokeh !== undefined) {\n",
830
+ " clearInterval(timer);\n",
831
+ " embed_document(root);\n",
832
+ " } else {\n",
833
+ " attempts++;\n",
834
+ " if (attempts > 100) {\n",
835
+ " clearInterval(timer);\n",
836
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
837
+ " }\n",
838
+ " }\n",
839
+ " }, 10, root)\n",
840
+ " }\n",
841
+ "})(window);"
842
+ ],
843
+ "application/vnd.bokehjs_exec.v0+json": ""
844
+ },
845
+ "metadata": {
846
+ "application/vnd.bokehjs_exec.v0+json": {
847
+ "id": "1477"
848
+ }
849
+ },
850
+ "output_type": "display_data"
851
+ }
852
+ ],
853
+ "source": [
854
+ "from bokeh.transform import linear_cmap\n",
855
+ "\n",
856
+ "N = 4000\n",
857
+ "data = dict(x=np.random.random(size=N) * 100,\n",
858
+ " y=np.random.random(size=N) * 100,\n",
859
+ " r=np.random.random(size=N) * 1.5)\n",
860
+ "\n",
861
+ "p = figure()\n",
862
+ "\n",
863
+ "p.circle('x', 'y', radius='r', source=data, fill_alpha=0.6,\n",
864
+ " \n",
865
+ " # color map based on the x-coordinate\n",
866
+ " color=linear_cmap('x', 'Viridis256', 0, 100))\n",
867
+ "\n",
868
+ "show(p) "
869
+ ]
870
+ },
871
+ {
872
+ "cell_type": "markdown",
873
+ "metadata": {},
874
+ "source": [
875
+ "Change the code above to use `log_cmap` and observe the results. Try changing `low` and `high` and specificying `low_color` and `high_color`."
876
+ ]
877
+ },
878
+ {
879
+ "cell_type": "code",
880
+ "execution_count": 14,
881
+ "metadata": {},
882
+ "outputs": [],
883
+ "source": [
884
+ "# Exercise: use the corresponding factor_cmap to color map a scatter plot of the iris data set\n",
885
+ "\n",
886
+ "from bokeh.sampledata.iris import flowers\n"
887
+ ]
888
+ },
889
+ {
890
+ "cell_type": "markdown",
891
+ "metadata": {},
892
+ "source": [
893
+ "# Next Section"
894
+ ]
895
+ },
896
+ {
897
+ "cell_type": "markdown",
898
+ "metadata": {},
899
+ "source": [
900
+ "Click on this link to go to the next notebook: [04 - Adding Annotations](04%20-%20Adding%20Annotations.ipynb).\n",
901
+ "\n",
902
+ "To go back to the overview, click [here](00%20-%20Introduction%20and%20Setup.ipynb)."
903
+ ]
904
+ }
905
+ ],
906
+ "metadata": {
907
+ "kernelspec": {
908
+ "display_name": "Python 3",
909
+ "language": "python",
910
+ "name": "python3"
911
+ },
912
+ "language_info": {
913
+ "codemirror_mode": {
914
+ "name": "ipython",
915
+ "version": 3
916
+ },
917
+ "file_extension": ".py",
918
+ "mimetype": "text/x-python",
919
+ "name": "python",
920
+ "nbconvert_exporter": "python",
921
+ "pygments_lexer": "ipython3",
922
+ "version": "3.7.9"
923
+ }
924
+ },
925
+ "nbformat": 4,
926
+ "nbformat_minor": 4
927
+ }