From 67608d40c6ebf89b520fb2a2d1e24c50284d4228 Mon Sep 17 00:00:00 2001 From: Larry Reid Date: Wed, 5 Jun 2024 03:52:34 +0000 Subject: [PATCH 1/5] Found one place to remove old version of sqlite3 --- demo/Gemfile | 2 +- demo/Gemfile.lock | 198 +++++++++++++++++++++++++--------------------- 2 files changed, 111 insertions(+), 89 deletions(-) diff --git a/demo/Gemfile b/demo/Gemfile index b8e0dc78..5973b1c9 100644 --- a/demo/Gemfile +++ b/demo/Gemfile @@ -11,7 +11,7 @@ gem "jbuilder" gem "jsbundling-rails" gem "puma" gem "sprockets-rails", require: "sprockets/railtie" -gem "sqlite3", "~> 1.4" +gem "sqlite3" gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby] group :development, :test do diff --git a/demo/Gemfile.lock b/demo/Gemfile.lock index 4c44aec3..060ffb8f 100644 --- a/demo/Gemfile.lock +++ b/demo/Gemfile.lock @@ -8,35 +8,35 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.1.3.2) - actionpack (= 7.1.3.2) - activesupport (= 7.1.3.2) + actioncable (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.3.2) - actionpack (= 7.1.3.2) - activejob (= 7.1.3.2) - activerecord (= 7.1.3.2) - activestorage (= 7.1.3.2) - activesupport (= 7.1.3.2) + actionmailbox (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.3.2) - actionpack (= 7.1.3.2) - actionview (= 7.1.3.2) - activejob (= 7.1.3.2) - activesupport (= 7.1.3.2) + actionmailer (7.1.3.4) + actionpack (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.3.2) - actionview (= 7.1.3.2) - activesupport (= 7.1.3.2) + actionpack (7.1.3.4) + actionview (= 7.1.3.4) + activesupport (= 7.1.3.4) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -44,35 +44,35 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.3.2) - actionpack (= 7.1.3.2) - activerecord (= 7.1.3.2) - activestorage (= 7.1.3.2) - activesupport (= 7.1.3.2) + actiontext (7.1.3.4) + actionpack (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.3.2) - activesupport (= 7.1.3.2) + actionview (7.1.3.4) + activesupport (= 7.1.3.4) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.1.3.2) - activesupport (= 7.1.3.2) + activejob (7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.3.6) - activemodel (7.1.3.2) - activesupport (= 7.1.3.2) - activerecord (7.1.3.2) - activemodel (= 7.1.3.2) - activesupport (= 7.1.3.2) + activemodel (7.1.3.4) + activesupport (= 7.1.3.4) + activerecord (7.1.3.4) + activemodel (= 7.1.3.4) + activesupport (= 7.1.3.4) timeout (>= 0.4.0) - activestorage (7.1.3.2) - actionpack (= 7.1.3.2) - activejob (= 7.1.3.2) - activerecord (= 7.1.3.2) - activesupport (= 7.1.3.2) + activestorage (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activesupport (= 7.1.3.4) marcel (~> 1.0) - activesupport (7.1.3.2) + activesupport (7.1.3.4) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -85,7 +85,7 @@ GEM addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) base64 (0.2.0) - bigdecimal (3.1.6) + bigdecimal (3.1.8) bindex (0.8.1) bootsnap (1.18.3) msgpack (~> 1.2) @@ -104,13 +104,13 @@ GEM capybara (>= 2, < 4) chunky_png (~> 1.3) chunky_png (1.4.0) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.1) connection_pool (2.4.1) crass (1.0.6) cssbundling-rails (1.4.0) railties (>= 6.0.0) date (3.3.4) - debug (1.9.1) + debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) drb (2.2.1) @@ -118,13 +118,13 @@ GEM globalid (1.2.1) activesupport (>= 6.1) htmlbeautifier (1.4.3) - i18n (1.14.1) + i18n (1.14.5) concurrent-ruby (~> 1.0) io-console (0.7.2) - irb (1.11.2) - rdoc + irb (1.13.1) + rdoc (>= 4.0.0) reline (>= 0.4.2) - jbuilder (2.11.5) + jbuilder (2.12.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) jsbundling-rails (1.3.0) @@ -140,34 +140,38 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) - mini_portile2 (2.8.5) - minitest (5.22.2) + minitest (5.23.1) msgpack (1.7.2) mutex_m (0.2.0) - net-imap (0.4.10) + net-imap (0.4.12) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.4.0.1) + net-smtp (0.5.0) net-protocol - nio4r (2.7.0) - nokogiri (1.16.2) - mini_portile2 (~> 2.8.2) + nio4r (2.7.3) + nokogiri (1.16.5-aarch64-linux) racc (~> 1.4) - nokogiri (1.16.2-x86_64-darwin) + nokogiri (1.16.5-arm-linux) racc (~> 1.4) - nokogiri (1.16.2-x86_64-linux) + nokogiri (1.16.5-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.5-x86-linux) + racc (~> 1.4) + nokogiri (1.16.5-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.5-x86_64-linux) racc (~> 1.4) psych (5.1.2) stringio - public_suffix (5.0.4) + public_suffix (5.0.5) puma (6.4.2) nio4r (~> 2.0) - racc (1.7.3) - rack (3.0.9.1) + racc (1.8.0) + rack (3.0.11) rack-session (2.0.0) rack (>= 3.0.0) rack-test (2.1.0) @@ -175,20 +179,20 @@ GEM rackup (2.1.0) rack (>= 3) webrick (~> 1.8) - rails (7.1.3.2) - actioncable (= 7.1.3.2) - actionmailbox (= 7.1.3.2) - actionmailer (= 7.1.3.2) - actionpack (= 7.1.3.2) - actiontext (= 7.1.3.2) - actionview (= 7.1.3.2) - activejob (= 7.1.3.2) - activemodel (= 7.1.3.2) - activerecord (= 7.1.3.2) - activestorage (= 7.1.3.2) - activesupport (= 7.1.3.2) + rails (7.1.3.4) + actioncable (= 7.1.3.4) + actionmailbox (= 7.1.3.4) + actionmailer (= 7.1.3.4) + actionpack (= 7.1.3.4) + actiontext (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activemodel (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) bundler (>= 1.15.0) - railties (= 7.1.3.2) + railties (= 7.1.3.4) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -196,23 +200,24 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (7.1.3.2) - actionpack (= 7.1.3.2) - activesupport (= 7.1.3.2) + railties (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) irb rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) - rake (13.1.0) - rdoc (6.6.2) + rake (13.2.1) + rdoc (6.7.0) psych (>= 4.0.0) - regexp_parser (2.9.0) - reline (0.4.3) + regexp_parser (2.9.2) + reline (0.5.8) io-console (~> 0.5) - rexml (3.2.6) + rexml (3.2.8) + strscan (>= 3.0.9) rubyzip (2.3.2) - selenium-webdriver (4.18.1) + selenium-webdriver (4.21.1) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) @@ -224,11 +229,18 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (1.7.2) - mini_portile2 (~> 2.8.0) - sqlite3 (1.7.2-x86_64-darwin) - sqlite3 (1.7.2-x86_64-linux) + sqlite3 (2.0.2-aarch64-linux-gnu) + sqlite3 (2.0.2-aarch64-linux-musl) + sqlite3 (2.0.2-arm-linux-gnu) + sqlite3 (2.0.2-arm-linux-musl) + sqlite3 (2.0.2-arm64-darwin) + sqlite3 (2.0.2-x86-linux-gnu) + sqlite3 (2.0.2-x86-linux-musl) + sqlite3 (2.0.2-x86_64-darwin) + sqlite3 (2.0.2-x86_64-linux-gnu) + sqlite3 (2.0.2-x86_64-linux-musl) stringio (3.1.0) + strscan (3.1.0) thor (1.3.1) timeout (0.4.1) tzinfo (2.0.6) @@ -245,12 +257,22 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.13) + zeitwerk (2.6.15) PLATFORMS - ruby - x86_64-darwin-21 - x86_64-linux + aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm-linux + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86-linux + x86-linux-gnu + x86-linux-musl + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES bootsnap @@ -265,9 +287,9 @@ DEPENDENCIES rails (~> 7.1.1) selenium-webdriver sprockets-rails - sqlite3 (~> 1.4) + sqlite3 tzinfo-data web-console BUNDLED WITH - 2.5.3 + 2.5.9 From e92fcf14d3567fce01ac0265ae816a50de1c903a Mon Sep 17 00:00:00 2001 From: Larry Reid Date: Fri, 7 Jun 2024 04:22:23 +0000 Subject: [PATCH 2/5] Fix matrix --- .github/workflows/ruby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 02522bbd..60123108 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -35,7 +35,7 @@ jobs: gemfile: [ '7.1', '7.0', '6.1', 'edge' ] exclude: - ruby-version: '3.0' - - gemfile: 'edge' + gemfile: 'edge' env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile steps: From 951fce96a0d05a40db867b1f1c7d90fdbc3b502a Mon Sep 17 00:00:00 2001 From: Larry Reid Date: Fri, 7 Jun 2024 04:31:07 +0000 Subject: [PATCH 3/5] Sqlite versions differ by Rails version --- demo/Gemfile | 2 +- demo/Gemfile.lock | 29 +++++++++-------------------- gemfiles/6.1.gemfile | 1 + gemfiles/7.0.gemfile | 1 + gemfiles/7.1.gemfile | 1 + gemfiles/common.gemfile | 1 - gemfiles/edge.gemfile | 1 + 7 files changed, 14 insertions(+), 22 deletions(-) diff --git a/demo/Gemfile b/demo/Gemfile index 5973b1c9..b8e0dc78 100644 --- a/demo/Gemfile +++ b/demo/Gemfile @@ -11,7 +11,7 @@ gem "jbuilder" gem "jsbundling-rails" gem "puma" gem "sprockets-rails", require: "sprockets/railtie" -gem "sqlite3" +gem "sqlite3", "~> 1.4" gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby] group :development, :test do diff --git a/demo/Gemfile.lock b/demo/Gemfile.lock index 060ffb8f..2796411d 100644 --- a/demo/Gemfile.lock +++ b/demo/Gemfile.lock @@ -89,7 +89,7 @@ GEM bindex (0.8.1) bootsnap (1.18.3) msgpack (~> 1.2) - builder (3.2.4) + builder (3.3.0) capybara (3.40.0) addressable matrix @@ -229,16 +229,12 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (2.0.2-aarch64-linux-gnu) - sqlite3 (2.0.2-aarch64-linux-musl) - sqlite3 (2.0.2-arm-linux-gnu) - sqlite3 (2.0.2-arm-linux-musl) - sqlite3 (2.0.2-arm64-darwin) - sqlite3 (2.0.2-x86-linux-gnu) - sqlite3 (2.0.2-x86-linux-musl) - sqlite3 (2.0.2-x86_64-darwin) - sqlite3 (2.0.2-x86_64-linux-gnu) - sqlite3 (2.0.2-x86_64-linux-musl) + sqlite3 (1.7.3-aarch64-linux) + sqlite3 (1.7.3-arm-linux) + sqlite3 (1.7.3-arm64-darwin) + sqlite3 (1.7.3-x86-linux) + sqlite3 (1.7.3-x86_64-darwin) + sqlite3 (1.7.3-x86_64-linux) stringio (3.1.0) strscan (3.1.0) thor (1.3.1) @@ -261,18 +257,11 @@ GEM PLATFORMS aarch64-linux - aarch64-linux-gnu - aarch64-linux-musl arm-linux - arm-linux-gnu - arm-linux-musl arm64-darwin x86-linux - x86-linux-gnu - x86-linux-musl x86_64-darwin - x86_64-linux-gnu - x86_64-linux-musl + x86_64-linux DEPENDENCIES bootsnap @@ -287,7 +276,7 @@ DEPENDENCIES rails (~> 7.1.1) selenium-webdriver sprockets-rails - sqlite3 + sqlite3 (~> 1.4) tzinfo-data web-console diff --git a/gemfiles/6.1.gemfile b/gemfiles/6.1.gemfile index 1f7ed2dd..fd6a3abc 100644 --- a/gemfiles/6.1.gemfile +++ b/gemfiles/6.1.gemfile @@ -5,3 +5,4 @@ gem "bigdecimal" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "drb" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "mutex_m" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "rails", "~> 6.1.0" +gem "sqlite3", "~> 1.4" diff --git a/gemfiles/7.0.gemfile b/gemfiles/7.0.gemfile index da939956..15accfc2 100644 --- a/gemfiles/7.0.gemfile +++ b/gemfiles/7.0.gemfile @@ -5,4 +5,5 @@ gem "bigdecimal" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "drb" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "mutex_m" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "rails", "~> 7.0.2" +gem "sqlite3", "~> 1.4" gem "sprockets-rails", require: "sprockets/railtie" diff --git a/gemfiles/7.1.gemfile b/gemfiles/7.1.gemfile index 87f9b766..59480301 100644 --- a/gemfiles/7.1.gemfile +++ b/gemfiles/7.1.gemfile @@ -5,4 +5,5 @@ gem "bigdecimal" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "drb" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "mutex_m" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "rails", "~> 7.1.0" +gem "sqlite3", "~> 1.4" gem "sprockets-rails", require: "sprockets/railtie" diff --git a/gemfiles/common.gemfile b/gemfiles/common.gemfile index 5b838b73..cefcfad5 100644 --- a/gemfiles/common.gemfile +++ b/gemfiles/common.gemfile @@ -15,7 +15,6 @@ group :test do gem "diffy" gem "equivalent-xml" gem "mocha" - gem "sqlite3" end group :development, :test do diff --git a/gemfiles/edge.gemfile b/gemfiles/edge.gemfile index 941c1af0..50818fb8 100644 --- a/gemfiles/edge.gemfile +++ b/gemfiles/edge.gemfile @@ -5,4 +5,5 @@ gem "bigdecimal" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "drb" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "mutex_m" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "rails", git: "https://github.com/rails/rails.git", branch: "main" +gem "sqlite3" gem "sprockets-rails", require: "sprockets/railtie" From c268919f29c780e01bc6d18134524744de828cf5 Mon Sep 17 00:00:00 2001 From: Larry Reid Date: Fri, 7 Jun 2024 04:32:40 +0000 Subject: [PATCH 4/5] Downgrade sprockets temporarily --- demo/Gemfile | 2 +- demo/Gemfile.lock | 2 +- demo/package.json | 3 ++- gemfiles/7.1.gemfile | 2 +- gemfiles/edge.gemfile | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/demo/Gemfile b/demo/Gemfile index b8e0dc78..d48b77c0 100644 --- a/demo/Gemfile +++ b/demo/Gemfile @@ -10,7 +10,7 @@ gem "htmlbeautifier" gem "jbuilder" gem "jsbundling-rails" gem "puma" -gem "sprockets-rails", require: "sprockets/railtie" +gem "sprockets-rails", "< 3.5.0", require: "sprockets/railtie" gem "sqlite3", "~> 1.4" gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby] diff --git a/demo/Gemfile.lock b/demo/Gemfile.lock index 2796411d..17045bc6 100644 --- a/demo/Gemfile.lock +++ b/demo/Gemfile.lock @@ -275,7 +275,7 @@ DEPENDENCIES puma rails (~> 7.1.1) selenium-webdriver - sprockets-rails + sprockets-rails (< 3.5.0) sqlite3 (~> 1.4) tzinfo-data web-console diff --git a/demo/package.json b/demo/package.json index 1d68f51a..0099d01a 100644 --- a/demo/package.json +++ b/demo/package.json @@ -18,5 +18,6 @@ "scripts": { "build": "node_modules/.bin/esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets", "build:css": "node_modules/.bin/sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules" - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/gemfiles/7.1.gemfile b/gemfiles/7.1.gemfile index 59480301..a2940fcb 100644 --- a/gemfiles/7.1.gemfile +++ b/gemfiles/7.1.gemfile @@ -6,4 +6,4 @@ gem "drb" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "mutex_m" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "rails", "~> 7.1.0" gem "sqlite3", "~> 1.4" -gem "sprockets-rails", require: "sprockets/railtie" +gem "sprockets-rails", "< 3.5.0", require: "sprockets/railtie" diff --git a/gemfiles/edge.gemfile b/gemfiles/edge.gemfile index 50818fb8..0c476e68 100644 --- a/gemfiles/edge.gemfile +++ b/gemfiles/edge.gemfile @@ -6,4 +6,4 @@ gem "drb" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "mutex_m" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4.0") gem "rails", git: "https://github.com/rails/rails.git", branch: "main" gem "sqlite3" -gem "sprockets-rails", require: "sprockets/railtie" +gem "sprockets-rails", "< 3.5.0", require: "sprockets/railtie" From 7d8c5e2fabac3ca0df68c498f440b2310a3b6cca Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 7 Jun 2024 04:34:17 +0000 Subject: [PATCH 5/5] Changed in CI Please review the changes in the files in this commit carefully, as they were automatically generated during CI. Run `git pull` to bring the changes into your local branch. Then, if you do not want the changes, run `git revert HEAD`. --- README.md | 2 +- .../index/03_simple_action_text_example.png | Bin 31519 -> 31514 bytes .../bootstrap/readme/36_example.png | Bin 9148 -> 9139 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3780d6c9..627faa2f 100644 --- a/README.md +++ b/README.md @@ -1064,7 +1064,7 @@ will be rendered as: - + ``` diff --git a/demo/doc/screenshots/bootstrap/index/03_simple_action_text_example.png b/demo/doc/screenshots/bootstrap/index/03_simple_action_text_example.png index 4b0ee60c45b91db62a32db75f6e93056292e3332..7e594596ad56e2c0c959be6b09d791afe466ca1c 100644 GIT binary patch delta 11264 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 S(9#R=M_NKbyh`*-!2bi=mU&kI delta 11172 zcmZvCWl)t-*S08?<@`6f z;rCCmh&Yp1p_eT5^vXxtlI5DE){$yEQD zHeo_y{>RmF**-MlA*2ExU5h3{`_l~wA4HawmDO<_WZ$1TCW-lP6F6WK9||?|!!G=< z&ZrX3wz`*=mLgBq^*ygj75_-%;$F%~hvDQ%($g2{GOcxEO;s#@ABmr7dPqk{XJ=NLKAF{q3=fJ{8D@XUbPj;UKv&z z6VqabHgpa#TylT9Q%X?FI=F-LKk(6Kz>$@e{Yc^{HVem~m1%tPwCY9T7Nl*1PvB$u zK~h#WZLsL|ffODLmV%OM>d%_`(x2kL{~%18hxGLH+6DUMnvJI2=E3N)O{J2s;-Ue4 z_*6oX zUKu)ar)nth=V5;Msdp^b0(3CbX&4HJD?WaN$FV!#fKV!oT0Wf*Ja=|3&lYwug*qDi za_1US#rd@4VbKR0XqSnuJl>hAz$W2A zm>2r|v1aNwxP5uu^#ep4AC=?EC$5_901?p)ZmmXBs-&n{pWQCy=K9sZ%fpny<*zqr z*Nc0xI>mP{=gMEeir)+unTq;CJMJ6%W?LfEIN8YUXO_RV1tspZo01C!7EJ0w7)CD7;`dF7?C)R2oL3#rw+5wOzNvnqZYzaE z(%AIkyQe?%J%yc|cKoaC<0+mo(=JJ+t|RiE`?FK+t^Ux7#-+)58r*->iEi4T_VVYq z?jwTYT=78Wy{}d)>$}t68uSnauRZ}+GYLe+6McIzlqKXsZo{zh{;8*B<+pFgEkQ4O zzsz?=;chL~38P&t&QxbTfvk3KA4I=eXeK({%cwAIhoPMvm<$(j`s|PH3-2bK8h!hn zotV%j{(8cyx4BPUWqV!WHqQ%b(_HruT6+ zb%XErwgV@sDr*<2r%jxL&-ZT@ZqSXNxH>uyx+dbm#*&!)6M|UObD@rrs8c9?QnzB= z&enF-^M~;E@Njodt{5b4c}Sy>NOgB{RM=tF+0pUE?4-=3>1}CgsbMNZppPu+2G51! z6``+(a<&ixSyofy-5GTX!t>_uDM!eBqsue%Cr;xc?o$dN2aXvl4Cz=maY7n(-MF;N zBMjfGG|0-!w+5a=+}p!#^#*z3FUC8glNwJCInBOk_j1o4NcfTNSxE$4z{72aomnj2 zO%LzSU!9LvyyJf{?r$)w&t=i<=fAqi*SzrcWmVv*7Dx@_vlu|)i~imrBc zwKm!3xjC~R*G60CU5xAEeeR-go;M34+JcVenx_Q-HjP4DQEj8iz)uVeg$5Po0|u=D zH=;6skytVAZhaQ{K@F!A!gGU6eEAhUmOFaU1|`MgXHgB>00&5{^7=K#-W1i)(9qgq?$@thS^w-d`!0s^ShT_gHFCvI8~jRxo|3E~ zY2}|n-hcDRfJ=wd2WmWuWG!f5Fs=SV>+-|v%afL?$9)+aJm#!z-9^stqE5x49#QeR z_g6D0BvDDYd+hzip%V2CJmk%KOwyy4`J~5bF1O{1`@-}(a5nLjLP+nkVf*0Vqiif< zPPet~nofm8^OL6A3wPQ{Od0vi*zP>iWcKv};gd>a()V^xkV7$!7h6XsX{t*tOpK zCU$WxZh)AF)9}MQh3Cwh%G*ZQUXA{dfF!6AE8I(ic7dvEv`Px}xKD z$h0`H!mJ*0E%Mc~7dJ{B7l3~|uReTXD7!AJ)}h5|DmSI`&W(HDc5{^&{F3aEP2^@n z8W(}v?A`JuBwBqnl$x!l3q>)ioNoV8fo-M9s<|C&cy6a&tI&1pIj4VY4N`0{Nb}I4 zRw%u_&s3<8L^zP-VezLYf#UY|HcDOY`Nw+HV&xxggl{0MRQc_J=(IpNHsLk*v~3<< zWA+{_nN)(v0zt3wf?`t=oSa4)xnrJ4LW4@ZH-C@m*37l~)%+=o{yxHvp9HG{@_^$< zrMkP5LyV<157E)1AKj&L7<^&Z`^;(4`aJPKEbxqT!Ta)fEz{>~RaN#g-!JCl4PIN? z?|07jW|yaGoTgsQHwx~%x{iL3I$0m;-Z4x?@JLBXF(@Q@xx4>(%ViRJ|KZ&Hyg~vw z5j8b;ZO;+@sz1Dth}%@8^~VKR@gN{p?oKe1zAJyws z?8#R93PXSCTV7xHIap}vqIte$f-?NO!E=M#tT8hyYdMyf$2>lNbF5I|SDC@x;UAed zObk}zMJg<4591$#SOb#Od?Z)wm-tKTfYXR~Vu3z$HXl}d?p5BmYZ0u00H4KH;-DDd zlNjQA`uK=@u0Lv2)En_QTxx&jyFUncZlXjBheAlUMBICO0xb4PDU~@<0RtQRr-QvQ z!nj6TpvYZKX*-qjc=GGN-FE}Kk7@HhlyF;;>`kPCJ$XbWiUix+?0@FH9f8@HPeAIL zsanWDB@xnGS0^OQjgoWEI9u+` zhI3@*iF|)F`s{rkTNscd1PpUjZd7HBCgFFubbhd?aCKI4Zg##qt<&VQ2M)VFoI{~? z*BX3advdY!@LB^TFUl9Dv z8WijF2$Qe*_x*G!lP^M_E4OkR}Y@1HE78zL_CB;Rg#N>9&|t)InlX!IX0f!kKL zf0Y3*5;(;YaYXgAK@8(Xo0sLj_`!pY^ciN;A?Fu%AY8ya~89 zRFRTWC8Ku9fFnwhS(SAI-xGS9B-NoDuMfpN7|s?xm~Zmcsw;@1B_qB4D45EuCY{yo zRNgxY7NaBP)c%OkgKLUyY;9>ti^XIBeKCc1Xc2iQZmq0@QxkE)RtSeV76}OnBSIc` zCveC;G_P??uV$NBAf;&eTY;NZ#!xE#a3O0*c4&eys*Qe0~!F!15goy ztW0^H6U@u_Q6rBUQD##2%4xFvA2gXJmRl$!Qnr62wg>LMKhvfjrRe2h&cl1ycE|IG z=$I;5B9%p>hc~<@Qv9JBJ{glxej48|NvnMAd@ncF>Qan~m`bt2uFp96;A7(;(Xc}4a*n4MEPMg5rF!E7St%~#17pi5J)z0CZ zXO(Cuc|p|KehwWD&oC2xkK|47_v3b6=F3C_EfId)p+_4f$t0_Hy^#lf%n1(sZpqXtWukF6M`3!Kl&EyS0Pe#~=rSdR^7E}Va&FZv@Jx&h4GoQq z)+X_3o))gflM7<~%;`_(C^X9_#VhIwaD9-_J}`j&BD`nm&!5mOer@j4j+jtZ(qImJ z=rto z@v2DXO#Q%9^LkprI-WYrrZWo90z(h;(q6RQe z$t9~YQjittGFuySZq2V-qDhB}m6`T|L57A(@MPr;WCfdAr6-a&j(R zzmHfxxC@&B{6oJn=4;g_`6yza zP@xl^SSG_5fjHJUfpIJykNK79BVxr-A4a3x59JifziRP4pmw|;hWW&eP?XugAsFaX zqJv*s34G;C4rp+qWMqr+<_Gs2MPY6wXHn1f_>>fwwdYI79(h{-`eb8dhjMj&C>tZu z?Pi?(vgyq|c49{Xe)4pR$cVG>bWvfOLg~yXyUSVEw$c>Fw7Rx7i5^8=T3g&OeB`)zhpdcRTLEf%Se#G|uvdhuB^iOPDV9bd7QXfr9NNmhS!EBW?fU}knUZfcVd zNDmTHQc_4qS(89HgF9iX^x{`n7wTGErs$+l)De-6D5~l>xvbW>JL7oGz5Cdxh1$=Q z_%rbog`|}8n|3(Z zzIw%-H@mf)_gcS@N0EKzp*B21S#3ZzDyGn1#QZV6 zhGMDl8B&@bND00brXjqEBjM>1+wF{g{OqNY$yg`q!-q~6AJ3gN^cU0 zub=vR5xRA~O7XPl2L2GckzBJPUAps8NQXgMHoC^L{k|^MnsQ8uQG$OF>M z)4(b|ZZGO*at2Hz$qt_87I@DaZZoc%Ffsagw@J874cSfO&o`H3FAHRP-}j7-L9m~N zHob{C&;9X#@~3#DTpsI}#vrVE(m;j|3}_XLGooc-4s*1n(@WXMIwh&t(|<15{D6v_ zQgo}%lXt?Oaa_hIqz#b|lncAaRLV6@5K`&ZWA!brr?1A1|8Sf(@=id3hmAyY-&(Uo zy9kT9Nkn8lI`e{gJrlF);Z(J*i?1%)x^=4^w4SJ=){?uJ zTh4Gn*Lu3kCBk8{MH#{ah6=EonPz{_I#3As9+-bpB}0C8zb4PDhc54sTRQ1F=Vk+M zxwKMOlX#f!u~U9Q?oL+$eTsix@#Kyp5vcgww07|TXJf^NVJg^BnTVi=iE=z`@MfHF zLFDFKNV2$^hE&1O<;T$Hve#b7O)dY+f&*em_7ZUTS9_F&?{7G;NrKi|Eg-( zNr+==p4ji(xBL*&;f`0z)K*Z-_9NBF(*5JH`i|%BIDhk#96A&2vTWGeeBJxc2($+j ze~Ba9`Sy~z%|wy6#}kg#M(o-}b2$a<^p865xHX>IF>KGnV2f!f;^TU(46@hzI|r70MD1ZVW0Sm0I-`Cb*=9usxIlsEtnA#5E&c_q_wC zFi^Dysy2rupi|&&G3w~va;UtSeS2^m8fQtDJF3^ zRcq{*WGH&&94F(%$V!GYGa_Pa(%DUFITx6qOGF4^qd|@ zaQnOET^ZZI2agsZPv=wK&r*77UV9;hK7b} zpNHZa&pnuOh(>u5Zr0?Z6fK=pnBh9e(o*s?@5yI_3TkTV{ey!FomTo2!2fF}+2QDq ztrPqb1{Fx@Tw^jn_5N))tsedE;^N}FKgWiEQZimH`v(LR#NtvvH@roqSzp5@=IqNB zu4rm%G7QgRe&vsK9DV0rw7CeX)gr-7)MVGqt|wzP_t*4O6-9u8YT-6-COw@+Q6$2` zP?8ISVJaceZXV!=i++khJnIgGJqKnN1%xFUqY>0!2=vX?mp9UEtZ>0jqDEN-NTJt# zrH4))mTGv@p_!nx4ywr2q;9w_(-OZ;SS**TIH_Kh-4Hupy+cxTJGMQ>rR;br&YLca7f$dfg-xSSV>CfFaQOv-o}?t@)XM z1fK0;Vq(HHWDCl)*`OiPqEX!Qy;46A}QI~v!IsXbLz!N&|a)}w=qq$v9S>d zKyKb#o!g8j4fG0vs#}L=v0lt$Rk6~#8x5DT9w=?y6r(D;UkDSDntacV;W2aRW?Z27 z=Z_$467Kk1svPWLB0|En*8@@} z(s7Qzzy68Bq0sCC%2DPkPq6D}scSo4>mvY7SNI$Z;VJdPLu%j{47ijH~#=c+@{*7 z|I6w{TMnadjN8QYnn(zvB*pzX;W`|HpSSPNu~v+hI$tmfo%v_IvZxPOM;CAygBupo zba;4JMC7xjY6cz;@MG^Fb&Jo{*&d&N$G!M{G=ossL-&z1HXTjuA`?TMVs$wI8SLJM zw#Vvb1QBl z$~`e-kSA-xp%Xs)a}8&A>6vY(WvM3ts>SywXjUmi9o`fEVfLU%DY@t)(8Ca;`b@C> z&lp;h$L}gH%Jwh}`P5#1X8QI0LV9Yl4T4aYNd+|HMp=Tc&eT#h9odON^P`~sRp!Ey zwU+jHXSkM0s0WCL)MUq}sCs4kzfy-BpF)11S>`xd9@7PvxJYeZs{nom8H0 z5ieVFW2}kZP}W5%mw|?NLODrEKJo)QKR-X{5OyiM-fc`**#n}NY?19zdbY%mHx5$% z1Q;!Y+f4d5hn^83#R9-ywj++oLPUWq=tCsNMsk8MsZmE^BxT1NW}1g=0T)sPgns`n zSxyM0%q%QWGaW6pKZpn|NhD&|{m#sWCr=Zx&p%@eaNmnTv14te#g7hZ6l@<|A9FA4 zJD6(-52_Eo5@K&`&Q1)#ED_UcyW$>^$)PeeHN^|AFsU1!o1<)NY-$2e5@fu_J~}ilpKvw zBhBpARl1!Q@ER>K<}q*nt{-0`;unL@)Wy77+iWX1vx(z`JdKWC6ExKZh0_ppB4kch zka`jmI!e6N&a_jmfZ6X_T}E;t8cu_rZvF2)MRJ! z2cV^wig2ccLPA0mAM^yirwTmV9Fv(rS>fO&)}vy}CZKI*D7a0^1J zkkVFIw6%gZj6Z3D6s$99)1UVT@yIxKrBAT~KhWnqtVXEIB?%%~=5G>W-cD${jXO*TqJ6@rYCvK%2JCh`d!XUNMlK`{sJ>q$xb^HhPW=b0_ zvN@nkW$Sz2N4fKmJ5vC>*bTnSHF`V6>#^sAv94K{OP1m=w`P*jI-egNl7f4n+v`gh zV&~lTvnKx6+FEgdr=V1%c;dhd-CoNlkpH+duV2WYv3wiz?tQ=?46Xid!%%Gs6_o){ z{m(ag?|`5Mtv`z@y98?26YV!_`sFavu;*zX{K7zsvsCGF6chFXTtNb z-wHP3*RTKG3*_SS;DztLI}x9{eucW3-FC-SS#r_bu_JsS5gl2q=9Dc^X4YytUGMg% zBNA|5fCX>grEAt{0GlU^ZXjn{4idheG@-6YWgbM?>qrT~&b#i%;^3*1P zfq@~t<005yQhPqRnr)QVHG`84xENDnwE0`TNY5bgFnaT*58SD@x6^^?0Y}Pr;10ps z+UCV2+iKOq<1*!PJmRD7jzQf71~BEIr8+n?)X~X+3^4>t0)#vw16Se&jCPLJ$EUNx zEi`YTx)iWL8gHtZKg)k#p8w~6T&M(}gOq{-y7{a3pA}n!ZXB)4?^4Xt4cj~Bo^W2r zkt;BRMKdF!6*9B4w{E_I-PKM`w$tVRXLtCN$4?Uy(!uW3%PnnQI6EWP=g|dm)xoi} zTKuotfB*j7BO2L-mCPp7*w@!*;JOeQ5pvsMPXcykF%c?7EVEbkp)O?+eX-i{y>$11 z6s_skZ`BuvY^z%*Q@~>@|7&T}`pw{W+PM75{&DRhNvXm!UuG8s;+x%Y<}-!2K@H#B z|IZ<&$X3hbZcV4M4jU}|+u&3uf3p8NHxabmgGIt)k^K~!{*bZ~h(q1Yl!E=ueLd_& ztHF&f7e88IRCm#loGn3nJ;#C+I5~Lq^nbO0Y2P>bT~6i%0z*Y)-z~JbUCMvX*O8Ky zl|Tjl`f1M-5gA$LZj0a1(W!CcxiDHvOJ6_}#$MTRl2I`s!udlCYFA~ZFZlRDx%_)J zmeOmDczl@F_|l?5s<}Tc6qQ6YI5apnZ;F1tCGN5de@7snK>E8$swHb{{L|P~OniL& z_O&*b>;8L8@s3TpV6mp!DI=o_yVC}pX6JGQLAnTV>uUe^N@;SFY?PM9NraKu;noS) zv$OK)>b>!Fr{P4ordn6TxhI`|$&HwPU(xx$pewRQOC*|k;sm8lbN}3p@s}x)4p(iv8#(QM#lk9qVEORbF5{bA)P{Pd7>Ovu1N5HdtvYK>0)c} z$9HO)QC5u_UnV8d(YR{JuSF1WGFRJX|Eg`4?%svlQ{2M63m%8J>9>V$h>moO%DFnoYT)R&ZJP;td^ zpkM7K75}YlGBD}glaqyT1voF7pN~>@k6rlr@C(QVx*(+7ovsP~LOI<%eCG4+)qHEy ztAR5)j!E-+ucB8&+ulysAtSq7-wSNUz{LzcIiq@ec<3e|P!;9vWZvpy za~g&4!!{qZs1;+`EPXx>i04NZEHOp(nEp2kK-z?gEz;VHN7OFCN)N2iBJ1gMfO*~0AlP<3)q zkzBJnW1H%~IPOfYyw5y(@s7;~ZEYS@%6F;GP8=!`*ss12;h`%I@VxpWG^tO%H_;r} zE2J)meIVgseO5q}YRCP%@;rI{s(Rtc3-1gc95dJ;n<*aza}rr>mu>9;X)nPKo>VZUb;)a6?soO+_4*Y7 zB)4+=c67vwG+iU7<+X^UF|%r(aLA0Q^N@AkQ{Q3A?7D+iuWp{httyfVa|NoIwXkrR zL(iM_z2m|^nohzuRC~91;tz{8imz5}qL5nvnm(G`7jHGN=Qb3wMRq}JPD0bO({v7s z-(!Hm-#nJ-!P3YTJ8$#uMJUVVwE4e&*Qm0EKh_F(n8)`%HKA7@338oF8s#z!LA<_5 zL-Yve=Faz6C7qSI<@OU(Td&)l7HyAT^tHbiF4HSNS?{Zbn?WBk&y7KD1en3`;xxrm z8lOJ#H2hsdAq=7tlDh~Sh&lMbcR!G*`08`ASYeKSx;0j*_Y-ZcKaJC@qqMeZ79QFH zah(+_=VWr*a=USo38FZ3uOFJIu z0Dzz}u`g$)1W!*Oh0_iQOG<=x13#6qFxQ%Cxf>LEttgXihcocjEAecCMLjR@{5ITv z>a1pN-pyQiDmFauoL4}2)^iE|JAbUACTpT1P7PqllI9m8(^rc)lCSX>0h+;>XaJmv zhhXK3`~Cn)?)hS5vU#lHUxew5Uv7Kf$#G0|Bj2)&WX(95c@7phrijW;b2L=1GLTK0{<#ZrJmf4`#L@wU%@$I{|i7 zz4$R#EoIh4aO$Xke$rNBy=MnivYCS!MS5lNM|WcILpWTfS6wZ)#qIlHvUM+dmsTvobOA#f8r#ym=9U6O=D+t^#c;iY4TeG)Oqz-^W?ARarx=OGxJug zShku2i6GOq7gun1ovUj;Fjg0%qK|kSbgViPa59#snRC#D7Ef}*)0(@4DxF#4 zD0OTY>_&3pX4n=`NEC9950Eb4(t1V@DIt0Rjx??!$CQ6lkN-!|%>Si3{&#Ru>^}pG z$9aZ-PBz@QP5&bzImddj0IJK1l5&8NmXtSl=n7{!)KBo>WcR>FNlsn%i?n6f{{ZE> BHDUk& diff --git a/demo/doc/screenshots/bootstrap/readme/36_example.png b/demo/doc/screenshots/bootstrap/readme/36_example.png index aa7be34dc2a28fd2d33bfacfb16e10a415967138..8592448868c90daad834837edb5f5ece1d916554 100644 GIT binary patch literal 9139 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 Iil#yT1;a+qHvj+t