attractor-rails 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +32 -0
- data/app/assets/config/attractor_rails_manifest.js +1 -0
- data/app/assets/images/attractor_favicon.png +0 -0
- data/app/assets/images/attractor_logo.png +0 -0
- data/app/assets/images/attractor_logo.svg +15 -0
- data/app/assets/images/attractor_logo@2x.png +0 -0
- data/app/assets/stylesheets/attractor/rails/application.css +15 -0
- data/app/controllers/attractor/rails/application_controller.rb +7 -0
- data/app/controllers/attractor/rails/application_controller.rb~ +7 -0
- data/app/controllers/attractor/rails/reporter_controller.rb +42 -0
- data/app/controllers/attractor/rails/reporter_controller.rb~ +8 -0
- data/app/helpers/attractor/rails/application_helper.rb +6 -0
- data/app/jobs/attractor/rails/application_job.rb +6 -0
- data/app/mailers/attractor/rails/application_mailer.rb +8 -0
- data/app/models/attractor/rails/application_record.rb +7 -0
- data/app/views/attractor/rails/reporter/index.html.erb +22 -0
- data/app/views/attractor/rails/reporter/index.html.erb~ +2 -0
- data/app/views/layouts/attractor/rails/application.html.erb +15 -0
- data/config/routes.rb +10 -0
- data/config/routes.rb~ +4 -0
- data/lib/attractor/rails.rb +19 -0
- data/lib/attractor/rails.rb~ +7 -0
- data/lib/attractor/rails/engine.rb +7 -0
- data/lib/attractor/rails/version.rb +5 -0
- data/lib/attractor/reporters/rails_reporter.rb +12 -0
- data/lib/attractor/reporters/rails_reporter.rb~ +4 -0
- data/lib/tasks/attractor/rails_tasks.rake +4 -0
- metadata +160 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b08f5079f640ca044dfdbbbc86c84e3db91fea4845e43a473e49ae35ad3bf9c1
|
4
|
+
data.tar.gz: e614b92f84cba0cb1b9c46f94958b8c6058966aa3bea673f3feaa2c534c51f42
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 46aa6d89c4347fc3cbbbe8892a2db5d8099e8b423d896cf18b5fe1b20c71b0cdd664a97ed590ddd689cb2ebe1628826b68f7590c5f422057151af6e56c4da40b
|
7
|
+
data.tar.gz: 89a2efff10f776db3c47c4f8e1ea60f18484925f9fe7f4a2b0ecf7eb2c496b3f8bdba97f4a741211abfcc6a6698a89f6e8c5f5d0b6935e5090d635eea70aa092
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2020 Julian Rubisch
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# Attractor::Rails
|
2
|
+
Short description and motivation.
|
3
|
+
|
4
|
+
## Usage
|
5
|
+
How to use my plugin.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'attractor-rails'
|
12
|
+
```
|
13
|
+
|
14
|
+
And then execute:
|
15
|
+
```bash
|
16
|
+
$ bundle
|
17
|
+
```
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
```bash
|
21
|
+
$ gem install attractor-rails
|
22
|
+
```
|
23
|
+
|
24
|
+
## Contributing
|
25
|
+
Contribution directions go here.
|
26
|
+
|
27
|
+
## License
|
28
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
begin
|
2
|
+
require "bundler/setup"
|
3
|
+
rescue LoadError
|
4
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
5
|
+
end
|
6
|
+
|
7
|
+
require "rdoc/task"
|
8
|
+
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
+
rdoc.rdoc_dir = "rdoc"
|
11
|
+
rdoc.title = "Attractor::Rails"
|
12
|
+
rdoc.options << "--line-numbers"
|
13
|
+
rdoc.rdoc_files.include("README.md")
|
14
|
+
rdoc.rdoc_files.include("lib/**/*.rb")
|
15
|
+
end
|
16
|
+
|
17
|
+
APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
|
18
|
+
load "rails/tasks/engine.rake"
|
19
|
+
|
20
|
+
load "rails/tasks/statistics.rake"
|
21
|
+
|
22
|
+
require "bundler/gem_tasks"
|
23
|
+
|
24
|
+
require "rake/testtask"
|
25
|
+
|
26
|
+
Rake::TestTask.new(:test) do |t|
|
27
|
+
t.libs << "test"
|
28
|
+
t.pattern = "test/**/*_test.rb"
|
29
|
+
t.verbose = false
|
30
|
+
end
|
31
|
+
|
32
|
+
task default: :test
|
@@ -0,0 +1 @@
|
|
1
|
+
//= link_directory ../stylesheets/attractor/rails .css
|
Binary file
|
Binary file
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="495px" height="508px" viewBox="0 0 495 508" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3
|
+
<!-- Generator: Sketch 58 (84663) - https://sketch.com -->
|
4
|
+
<title>attractor_library</title>
|
5
|
+
<desc>Created with Sketch.</desc>
|
6
|
+
<g id="Logo" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
7
|
+
<g id="Group">
|
8
|
+
<g>
|
9
|
+
<path d="M481.190168,344.250059 C477.758377,353.082581 473.578327,361.595034 469.194205,369.984907 C464.554994,378.231773 459.718516,386.386702 454.194997,394.07515 C443.284011,409.533767 430.733655,423.875547 416.520121,436.385448 C408.353886,443.784471 399.425788,450.570601 388.824309,457.448662 C396.592604,451.806609 406.360795,444.642529 416.271836,435.486534 C426.237295,426.419068 436.532668,415.618466 445.858705,403.639742 C455.208549,391.681448 463.565251,378.568864 470.24857,365.476711 C476.914884,352.381154 482.111889,339.41158 485.411034,327.841455 C476.965901,353.978091 463.837345,378.361163 447.48787,399.958957 C431.087378,421.556754 411.068028,440.045804 389.028378,454.928976 C366.859484,469.645306 342.581858,480.684255 317.487948,487.347803 C304.940992,490.654041 292.237584,493.006882 279.510364,494.334826 C266.772944,495.529972 254.066135,495.778538 241.502174,495.175854 C261.739197,496.067959 282.210904,494.484644 302.352694,490.415691 C322.446869,486.142441 342.231536,479.444843 360.938029,470.074333 C398.412236,451.476326 431.61116,422.425024 455.776547,385.923625 C463.160511,375.11281 469.255426,362.551833 470.279182,359.74613 C471.275726,356.872326 465.714797,368.105359 459.538253,378.051308 C448.912965,394.705073 436.114323,411.331597 420.747788,425.884485 C413.224377,433.324371 404.918695,440.038993 396.43615,446.460787 C387.854971,452.766813 378.865651,458.476966 369.651854,463.587843 C367.308441,464.929406 364.815376,466.11434 362.373328,467.411637 C359.921076,468.708935 357.441616,469.9824 354.89073,471.082209 C350.935157,472.897063 346.734699,474.848118 342.401595,476.475699 C340.245245,477.320134 338.119508,478.225859 335.980166,478.995385 C333.827219,479.727456 331.715086,480.445907 329.667575,481.137117 C325.606564,482.604664 321.705411,483.571679 318.406266,484.470595 C315.113923,485.403559 312.345361,485.979 310.413491,486.241185 C306.355883,486.803007 309.814883,486.023266 316.324743,484.164147 C322.831201,482.294812 332.415728,479.346098 340.663593,475.95814 C344.517129,474.425899 347.945519,473.026453 351.20045,471.39887 C354.472383,469.82577 357.720513,468.378652 361.08768,466.499104 C376.943985,458.017295 382.222616,453.699779 375.944037,457.138809 C369.196094,460.451856 356.547104,467.83726 334.214952,476.131796 C314.528919,483.146055 293.958581,487.821096 273.102542,489.387387 C262.688127,490.388452 252.20909,490.286301 241.777668,489.96964 C231.363253,489.251188 220.942037,488.376107 210.714686,486.336523 C197.779997,483.936012 185.437113,480.650205 173.856093,476.407598 C162.29548,472.127537 151.455918,467.088165 141.35101,461.490376 C124.831476,452.051768 106.587544,439.300113 90.7108334,423.970887 C75.4735444,409.680181 62.3789993,393.070681 51.4101921,375.177504 C45.8152501,365.813805 40.8223171,356.072154 36.5164226,346.027458 C37.4993638,347.866149 38.5095143,349.694623 39.5434733,351.502668 C52.6108087,374.220705 69.6745317,394.633568 89.6904791,411.542705 C108.985376,427.501851 122.848588,434.635288 129.164581,437.747442 C135.53159,440.859593 134.589464,439.926629 127.559223,435.551228 C118.988248,430.219028 140.276237,440.818734 134.188124,436.783832 C132.953496,436.170935 146.677259,442.711904 154.282299,445.561873 C164.006274,449.194988 171.866402,451.472919 177.352507,452.770219 C182.862419,453.992608 185.916679,454.588478 186.23639,454.35013 C186.903021,453.904076 170.846048,450.400352 154.710848,443.815117 C143.79986,439.528245 133.079339,433.814688 132.865065,433.218815 C132.565761,432.643374 145.367805,439.157103 156.962429,443.426949 C181.525755,452.729358 208.503918,457.635938 235.165774,457.465688 C236.818747,457.503143 238.420702,457.465688 239.998852,457.411207 C241.083826,457.404399 242.165403,457.435042 243.246979,457.411207 C268.262661,456.611038 283.377507,452.790648 290.169664,450.945148 C297.002637,449.062193 295.676176,448.987284 287.513344,450.362897 C277.561489,452.031337 300.533062,445.892156 293.305553,446.896625 C291.96889,447.250743 306.587164,443.079642 314.1786,440.182003 C323.868562,436.470572 331.272933,432.977061 336.245459,430.317772 C341.187375,427.590382 343.867504,426.01728 343.959337,425.629112 C344.156605,424.845966 329.800221,432.847673 313.345308,438.58847 C302.325485,442.589325 290.509783,445.405244 289.958792,445.098795 C289.353383,444.863852 303.257407,441.275001 314.780608,436.807667 C339.347335,427.525686 362.829085,413.35075 382.72599,395.580152 C386.508104,392.38628 389.681406,388.971082 392.807091,386.018965 C395.732107,382.862548 398.456452,379.985337 400.803266,377.278378 C402.840574,374.77912 404.650001,372.55567 406.285969,370.550136 C404.017381,373.611213 401.779405,376.502041 399.81012,379.028538 C394.875007,384.929371 391.599671,388.879149 392.858108,388.058549 C393.61317,387.60228 397.167404,383.836371 400.510765,380.342862 C403.673863,376.699532 406.602279,373.297954 406.381203,373.835941 C406.139719,374.305829 403.126272,378.480335 399.765906,382.515238 C396.408941,386.550141 392.895521,390.608878 392.327525,391.371596 C391.416008,392.679109 393.521337,391.402239 398.269386,386.400322 C403.704472,380.897873 404.857474,379.65846 403.432378,381.915961 C401.854231,384.037266 397.626564,389.62484 390.980656,396.519927 C381.974331,405.709972 379.137745,408.416931 382.467501,405.883626 C385.644203,403.227741 395.283151,395.495027 407.622632,380.557374 C415.064417,371.629514 422.193291,361.417973 428.138553,351.053213 C435.270831,338.849758 440.92019,326.271757 444.950589,315.607356 C449.07282,304.963384 451.463851,296.205773 453.007986,291.690766 C454.46369,287.489021 457.378503,274.95869 458.711765,260.793967 C458.762782,261.188944 458.905633,260.719058 459.174326,259.384306 C459.800143,255.288113 461.925883,243.101685 461.320472,223.727341 C461.004161,212.106139 459.613078,199.732438 457.222048,188.019302 C454.518111,174.140598 450.450299,160.959915 446.433505,150.295514 C442.491536,139.583442 438.501951,131.428512 436.678919,127.015656 C434.920508,122.708355 428.346025,110.508307 419.387317,98.4682931 C406.990012,81.7328098 392.385343,66.6112879 375.899821,54.0469069 C368.182543,48.1052144 360.05032,42.7355591 351.649404,37.8426008 C358.475573,40.9445389 365.1793,44.36314 371.668754,48.0984046 C391.59287,59.314413 405.707767,71.7868595 404.024185,69.4033725 C403.241914,68.4704077 404.99012,69.5429767 408.581766,72.5836252 C412.244838,75.535744 417.792162,80.4252972 424.455076,87.1978049 C431.815231,94.3278359 440.787543,105.49958 443.052731,108.162275 C445.936932,111.335717 448.83814,115.44553 452.303943,120.03885 C455.535063,124.795609 459.160722,130.165264 462.680943,136.406595 C469.772405,148.834777 477.115553,164.375111 482.788723,183.082079 C484.115184,187.981847 485.723941,192.9395 486.7545,197.859698 C487.329299,200.304475 487.897295,202.704986 488.441485,205.023779 C488.883638,207.366404 489.308786,209.623908 489.710126,211.765641 C490.608036,216.028678 491.131818,219.855877 491.597782,222.88631 C492.063743,225.916744 492.505896,228.143601 492.723572,229.277461 C493.703111,233.622216 492.359645,215.167216 488.893842,199.252336 C487.961919,194.301492 486.189904,188.090806 484.319253,181.437473 C483.234279,178.155071 482.115289,174.767114 480.999703,171.385968 C479.836497,168.018441 478.493031,164.725824 477.329828,161.501307 C481.509878,171.048875 485.135537,181.750731 487.734039,190.573038 C490.635247,201.050166 491.560366,204.478981 491.169231,201.455358 C490.941353,199.950357 490.35975,196.841608 489.376811,192.238073 C488.121774,187.709448 486.730691,181.600912 484.169602,174.344896 C478.513439,157.27232 470.068307,139.498318 460.738869,124.458515 C455.67111,116.123121 452.497808,111.82944 452.184901,111.121203 C452.011441,110.773895 452.508012,111.359552 453.678019,112.895199 C454.854826,114.424035 456.742482,116.885837 459.058687,120.488307 C464.823688,128.711337 470.340403,138.943306 474.418419,146.621539 C478.227741,154.435971 480.778624,159.645592 480.455513,157.990771 C480.309262,157.006732 478.03047,151.620051 475.931944,146.577274 C473.602135,141.646861 471.415176,137.073971 471.850526,137.554074 C472.207651,138.030771 475.122461,143.063333 477.731168,148.388724 C480.343275,153.71071 482.900961,159.19954 483.404338,160.146124 C484.288644,161.705606 483.897508,158.957786 480.877261,151.786895 C477.652939,143.67623 476.870668,141.936285 478.510039,144.459376 C479.945335,147.067591 483.737653,153.996728 487.774852,164.014183 C493.087499,177.518339 494.539801,181.686036 493.41401,177.109741 C492.090952,172.628786 488.50951,159.175705 478.75152,139.648137 C472.949107,127.911166 465.704593,115.908607 457.74243,105.053527 C448.4368,92.1350279 438.070002,80.5819263 428.924227,71.5791556 C419.843074,62.4912606 411.901319,56.0592508 407.932141,52.4465657 C406.054689,50.6010658 401.850831,47.5672274 396.487167,43.6480939 C391.001063,39.9094245 384.181698,35.5340236 376.797734,31.4582608 C356.254602,20.1945827 334.214952,11.6174349 311.457655,6.53720274 C277.993438,-1.10698022 243.10753,-1.87650612 209.42904,4.15712081 C208.367872,4.34779977 207.320307,4.60317339 206.259139,4.80747224 C200.235649,5.4373937 194.242769,6.30225908 188.314511,7.49059753 C167.223791,11.603815 146.850719,19.0028392 128.025185,29.238213 L125.287235,30.5559408 C122.481261,31.9485783 119.637874,33.2492812 116.88972,34.7236381 L108.917353,39.6438361 C97.771684,46.9100662 87.7620098,55.8277122 79.1978371,65.9575314 C69.0725227,76.2235503 59.9981729,87.5110632 52.2162718,99.6293918 C50.5735017,102.176318 49.015761,104.774318 47.4886308,107.392749 C45.9615009,109.551507 44.4105626,111.689836 42.9582584,113.892858 C24.1259217,142.334667 11.1402146,174.61389 5.09971789,208.146146 C1.61350785,227.42515 0.317657875,247.088918 1.29719782,266.64713 C2.33115676,286.208747 5.613296,305.658001 11.0653884,324.480738 C16.4596608,343.32731 24.1633348,361.499694 33.8805076,378.51779 C43.587477,395.529078 55.0902695,411.563135 68.5011244,425.864055 C81.854159,440.199027 96.7887428,453.083476 113.042985,464.054327 C129.344843,474.946862 146.88133,483.997302 165.230699,490.943463 C201.977054,504.777903 241.961331,509.701506 281.013688,505.656388 C310.311457,502.54083 339.061634,494.259917 365.553431,481.348225 C390.742574,468.746389 404.398313,457.727871 410.493228,452.66126 C416.605151,447.536761 415.251481,448.122418 407.592023,453.43419 C398.24898,459.903654 418.911152,442.848103 412.044167,447.359703 C410.860556,448.367576 423.859869,437.192428 430.271094,430.648055 C438.454334,422.27861 444.399598,415.216678 448.253136,410.156878 C452.045451,405.042595 454.072555,402.179006 454.004533,401.760194 C453.899095,400.905544 442.971102,415.897675 428.825593,429.568677 C419.42813,438.884705 408.649788,447.363107 407.969554,447.349488 C407.275713,447.441423 419.849878,437.195832 429.563648,427.174974 C450.392478,406.050471 467.796318,380.414364 479.822893,352.779538 C482.200319,347.719735 483.846491,342.717818 485.666122,338.213026 C487.179648,333.595871 488.621748,329.353265 489.761143,325.471587 C490.781498,321.55586 491.693013,318.052133 492.488889,315.004675 C493.135113,311.916356 493.618082,309.277495 493.995613,307.139167 C495.022769,301.258764 494.277911,303.063405 492.400458,310.159385 C490.546815,317.258772 487.060606,329.577995 481.190168,344.250059 Z" id="Path" fill="#4E0754"></path>
|
10
|
+
<path d="M429.196321,316.996589 C426.091044,325.481803 420.312439,336.714836 418.996181,339.500109 C415.771862,346.310074 410.846951,355.309439 403.337145,365.476711 C395.871554,375.643986 385.977521,387.128989 372.92719,398.385858 C370.291275,400.524186 367.65876,402.754448 364.982032,404.865537 C356.689954,410.878734 348.016944,416.330109 339.041229,421.131131 C317.899489,432.384595 295.002742,439.810858 271.816894,443.59039 C248.590233,447.192858 225.030256,447.06347 202.429411,443.117097 C191.140892,441.121778 180.076852,438.305857 169.380139,434.655718 C158.717438,430.900022 148.428867,426.391829 138.572246,421.25371 C154.48637,429.446095 171.502476,435.741908 189.168208,439.919818 C206.867951,443.913862 225.210517,445.844486 243.675528,445.241805 C280.602145,444.165831 317.940305,433.133691 350.795707,412.799143 C360.706748,406.860855 370.230054,399.036209 372.056489,397.132823 C373.889725,395.164744 365.281337,402.100693 356.652541,407.776796 C341.976447,417.171138 325.582758,425.755098 307.896618,431.737649 C290.29891,437.938119 271.578813,441.721055 253.045779,443.062615 C250.671756,443.270319 248.23991,443.294154 245.797863,443.437164 C243.359218,443.569959 240.900163,443.678919 238.451314,443.617629 C234.614783,443.607414 230.523163,443.624437 226.451948,443.328205 C222.370532,443.192006 218.312925,442.803837 214.530811,442.36119 C210.735094,442.034311 207.248882,441.366937 204.276252,440.862997 C201.293417,440.382896 198.864974,439.807454 197.225604,439.289898 C193.773406,438.203708 196.834469,438.84044 202.735517,439.74276 C208.639965,440.63827 217.404808,441.816392 225.254733,442.139867 C228.911004,442.330544 232.172735,442.466746 235.380047,442.36119 C238.577157,442.299901 241.713046,442.333951 245.100621,442.064958 C260.922913,441.097943 266.73213,439.548676 260.436544,439.930033 C253.804242,440.035589 240.964787,441.240951 220.054328,439.644016 C201.721965,438.002813 183.549457,434.155186 166.278263,427.723177 C157.578043,424.685932 149.231546,420.736154 140.997288,416.636558 C132.929687,412.227106 124.906302,407.681456 117.474723,402.27775 C108.009237,395.590367 99.3396282,388.40926 91.6393555,380.737839 C83.962891,373.045987 77.1571289,365.003421 71.154045,356.787201 C64.6918021,347.6959 58.1717389,337.143864 52.4407498,325.778035 C57.1479837,333.064695 62.2735628,340.089173 67.8514989,346.74591 C78.1706807,359.136638 90.0067889,370.250496 102.972089,379.832114 C115.930587,389.403516 129.916241,397.643571 144.758993,403.94619 C159.574536,410.293077 175.094123,415.022596 190.974234,417.865754 C206.86455,420.63741 223.074578,421.611235 239.196173,420.729343 C271.45637,418.904274 303.196186,409.295417 331.242321,393.244335 C352.261616,381.139627 371.158576,365.333704 386.807409,346.790175 C401.582137,328.914022 408.183827,316.056814 411.051023,310.19684 C413.911415,304.285794 413.023709,305.15066 408.93889,311.643959 C403.959561,319.55373 413.724351,299.821864 409.949041,305.429866 C409.370839,306.570536 415.42154,293.866549 418.054055,286.825048 C421.41102,277.825683 423.509546,270.545834 424.699961,265.462197 C425.822351,260.361535 426.356337,257.535399 426.121653,257.232358 C425.665896,256.605839 422.410965,271.458368 416.31605,286.375592 C412.346872,296.467955 407.06484,306.383261 406.486638,306.56713 C405.925443,306.82591 411.931928,294.986789 415.877297,284.264503 C424.461877,261.546469 429.002453,236.601575 428.852802,211.949509 C428.954836,207.373215 428.529688,203.086343 428.397045,199.116134 C427.995705,195.159547 427.66579,191.512812 427.220235,188.23041 C426.676047,184.968438 426.186277,182.050369 425.76453,179.506848 C425.213539,176.987162 424.682953,174.855644 424.2408,173.139533 C423.009573,168.413419 422.989167,170.023975 423.887078,175.952048 C424.798595,181.87331 426.230491,192.227858 426.686251,205.125927 C427.29506,220.584544 426.029823,236.101043 422.961958,251.256615 C419.9145,266.401972 415.275289,281.264716 408.785838,295.303453 C405.129567,303.529887 400.704632,311.552023 395.014457,320.166626 C398.908809,313.356664 403.803106,304.765895 408.166822,294.653102 C412.59516,284.587975 416.710588,273.12681 419.713831,261.107226 C425.917584,237.088488 426.924332,210.921205 424.131962,191.509407 C426.414155,213.784794 424.628536,236.291723 419.540369,257.780557 C414.411389,279.283014 405.564919,299.665234 394.024714,318.021487 C382.341658,336.296022 367.876436,352.524164 351.356902,365.752516 C343.092033,372.35137 334.391815,378.289658 325.348075,383.465228 C316.246517,388.548866 306.852457,392.917456 297.291738,396.601647 C312.658271,390.581639 327.378581,382.634413 341.03432,372.950647 C354.584624,363.130681 367.100969,351.611628 377.940529,338.461592 C399.708085,312.243235 414.853542,279.677994 420.856626,244.54199 C422.802101,234.064863 423.20004,222.702441 422.97216,220.271284 C422.703467,217.806077 422.230704,227.990376 420.877034,237.415364 C418.39077,253.296199 414.319558,269.858026 407.663448,285.73205 C401.21481,301.684388 392.419355,316.931893 382.042353,330.56544 C379.297602,333.994255 376.573255,337.66142 373.532599,340.994897 C371.189188,343.647378 368.709725,346.483727 366.022793,349.122588 C363.441298,351.863597 360.703348,354.430953 358.091241,356.776986 C355.55396,359.204736 352.965661,361.206865 350.79911,362.950217 C348.656365,364.713996 346.772112,366.038533 345.404837,366.845514 C342.541042,368.554815 344.833439,366.81487 349.050901,363.2805 C353.258163,359.735914 359.410899,354.393499 364.410633,349.163447 C366.771054,346.749316 368.849175,344.573533 370.723224,342.292195 C372.627885,340.041503 374.552954,337.889554 376.430407,335.383488 C385.382314,323.844007 387.827762,318.869329 384.225911,323.432003 C380.232926,328.059374 373.229896,337.640989 359.407498,351.114502 C347.119031,362.776563 333.408872,372.991505 318.464087,381.006832 C311.076723,385.171125 303.274415,388.535246 295.438094,391.732522 C287.486135,394.616542 279.476354,397.395008 271.22509,399.243912 C260.854891,401.712524 250.62414,403.333294 240.655278,403.976836 C230.679615,404.593137 220.993054,404.392244 211.67722,403.527378 C196.344699,401.886178 178.665362,398.402882 161.880536,392.267105 C130.008073,380.976186 100.992602,360.845939 79.3576926,334.423282 C57.5561253,308.143636 43.1419223,275.735024 37.7748592,242.069974 C36.3225552,233.039965 35.6015048,223.918019 35.4926671,214.789266 C37.938116,248.427074 50.3456225,281.046796 70.0452602,308.456895 C72.3104464,312.331764 74.6504588,316.165774 77.4258221,319.71036 L83.7418143,328.4203 L90.8298746,336.507132 C128.668008,379.924047 188.124045,402.611438 245.359113,397.446083 C266.847769,395.471192 287.958897,389.641864 307.454465,380.462034 C309.787675,379.379252 312.008646,378.344136 314.120779,377.360098 C316.178492,376.270502 318.04574,375.088975 319.855168,374.047051 C323.440013,371.912127 326.620118,370.018957 329.398881,368.364137 C334.69452,364.639087 338.340584,361.768687 340.643185,359.984477 C345.21437,356.361578 344.129393,356.678241 338.292967,360.222827 C331.218513,364.513103 346.448999,352.684198 341.408451,355.476281 C342.292757,354.740806 350.265124,347.508627 354.771688,343.514583 C357.747722,340.467126 360.261195,337.596726 362.505972,335.151949 C364.672525,332.642479 366.737042,330.677804 368.002282,328.723344 C370.70962,324.954031 372.097302,322.808891 372.025877,322.478608 C371.951052,322.144921 369.832115,324.613532 366.631604,328.556499 C363.189609,332.288361 358.387143,337.283467 353.39761,342.356889 C349.768551,345.492878 346.07487,348.679938 343.248488,351.121311 C340.476526,353.623973 338.167125,354.856576 337.932444,354.866792 C337.571917,354.754425 339.956147,353.205161 342.918573,350.287091 C345.945624,347.447337 350.074657,343.87551 353.734328,340.399025 C369.066851,325.321769 381.892702,306.880389 390.868417,286.988489 C391.31057,286.079357 391.773131,285.197467 392.17107,284.301958 C392.517989,283.382613 392.858108,282.480293 393.188022,281.591592 C393.854655,279.817597 394.490675,278.101487 395.106288,276.446665 C396.293299,273.137025 397.507522,270.12702 398.351015,267.324721 C399.77611,261.631591 400.820271,257.126802 401.418879,254.04189 C402.241966,249.806092 401.56513,251.079555 399.939366,256.135953 C399.126483,258.665854 398.075518,262.138935 396.854494,266.357706 C395.446406,270.515188 393.405698,275.265138 391.422811,280.610958 C390.337834,283.866119 388.613436,286.835263 387.13392,289.913367 L382.54913,299.089792 L377.107241,307.779305 C375.274005,310.656513 373.59042,313.646088 371.386456,316.274734 C367.182595,321.654604 363.257634,327.279633 358.380342,332.09087 L351.360305,339.564805 L343.68724,346.357741 C342.194123,347.672065 340.701005,348.996602 339.18748,350.334761 C337.602529,351.574173 335.912141,352.728463 334.23536,353.950852 C330.820576,356.307097 327.443203,359.000439 323.494433,361.285181 C326.402442,359.402227 329.361469,356.787201 332.789859,354.267515 C334.487048,352.98043 336.255662,351.642274 338.082095,350.259852 C339.830301,348.778685 341.547898,347.137482 343.360726,345.523521 C346.914962,342.20707 350.941958,339.030222 354.360145,335.005535 C356.152567,333.074911 357.965398,331.117047 359.798634,329.138752 L362.546788,326.152584 L365.036452,322.900827 C378.852046,305.90997 389.426317,285.330262 394.259395,268.676499 C381.351915,306.155129 355.400908,338.073423 323.382192,359.024274 C307.257197,369.392441 289.564256,376.784656 271.490383,381.371166 L264.691422,382.985127 L261.300444,383.792107 L257.851649,384.268805 C253.260055,384.881701 248.682066,385.491193 244.121081,386.100685 C234.931093,386.356059 225.79552,387.071104 216.782392,386.025776 C275.010604,390.676979 336.286272,361.962772 371.893231,309.910822 C374.36589,305.926994 376.920176,301.810371 378.994897,298.45987 C380.923366,295.027648 382.015144,292.177679 382.382472,291.162995 C382.960674,289.024666 379.188764,297.203431 374.297866,304.054255 C373.32853,305.538826 372.359192,307.037018 371.379653,308.54202 L369.917144,310.806332 L368.236963,312.941256 C365.992183,315.791225 363.723595,318.675244 361.434602,321.579695 L359.723808,323.772502 L357.815744,325.80187 L353.955405,329.877632 L350.081461,333.980635 C349.431836,334.661632 348.806017,335.369869 348.129183,336.027028 L345.993241,337.89977 C343.146453,340.402429 340.292862,342.911902 337.43247,345.424777 C334.592483,347.968298 331.317147,349.973832 328.283295,352.282409 C322.293815,357.042575 315.433633,360.454366 308.984995,364.373498 C305.553204,366.1509 301.866324,367.764861 298.281482,369.48097 C292.747759,372.402444 285.928393,374.322853 280.136183,376.474801 C277.24858,377.618876 274.401792,378.116002 272.014162,378.6608 C269.616331,379.174952 267.62324,379.559716 266.245761,379.740178 C263.341152,380.128347 265.769596,379.37244 270.453022,378.146648 C272.772628,377.445223 275.765666,376.99236 278.751901,375.83807 C281.758547,374.755288 284.94205,373.614617 287.941892,372.538643 C293.618463,370.761244 297.604645,368.200697 302.597578,365.905741 C308.474818,363.290715 312.005245,360.536084 313.838481,359.378392 C315.6207,358.121953 315.450641,357.989158 313.141239,359.082156 C310.675383,360.178561 307.332022,362.272624 302.301676,364.247514 C299.839221,365.343919 297.050254,366.583331 293.907561,367.986184 C292.37023,368.765925 290.649233,369.358391 288.829601,369.961072 C287.01677,370.594399 285.11551,371.258369 283.112215,371.956393 C267.752483,377.526941 251.552662,380.431391 235.254204,381.051098 C236.811946,380.877442 238.332272,380.700384 239.716552,380.55397 C243.005495,380.107916 245.848882,379.998956 248.090259,379.369036 C252.607027,378.330517 255.069482,377.639304 255.232738,377.346476 C255.395996,377.046839 252.175078,377.49289 247.171941,378.337328 C242.121187,378.858288 235.223592,379.426922 228.12873,379.930858 C223.336467,379.879784 218.455773,379.82871 214.72808,379.787848 C210.993583,379.835518 208.449501,379.229433 208.262434,379.079612 C208.068569,378.759544 210.881344,379.174952 215.030785,378.943413 C219.173422,378.81743 224.635717,378.868504 229.672867,378.684635 C251.137718,377.523536 272.939284,372.177716 292.808983,363.191971 C293.737505,362.803802 294.666027,362.44628 295.557136,362.037681 C296.424437,361.57801 297.278134,361.128552 298.111422,360.682498 C299.781403,359.783584 301.396963,358.918718 302.9445,358.087903 C306.025969,356.388817 308.923774,354.93489 311.406638,353.38903 C316.236313,350.062363 319.998018,347.372425 322.480882,345.458827 C325.895665,342.826778 324.548798,343.330714 319.991217,346.047889 C317.709025,347.406476 314.624153,349.320077 310.923669,351.676324 C307.12455,353.865727 302.454728,356.072154 297.431185,358.772304 C294.472159,360.498629 291.217228,361.584818 288.071135,362.916166 L278.575041,366.763796 L268.75243,369.678459 C265.473694,370.631854 262.23577,371.755498 258.854996,372.26965 C252.144466,373.522684 245.484956,375.14686 238.648582,375.524811 L228.448443,376.485017 L218.200684,376.502041 C216.214396,376.502041 214.217902,376.508852 212.201002,376.508852 C210.190904,376.389677 208.1638,376.141114 206.095883,375.94703 C201.977054,375.456713 197.667758,375.238794 193.191804,374.33988 C196.616793,374.850625 200.562163,374.847221 204.803434,375.225174 C206.925771,375.385208 209.133138,375.552053 211.418731,375.725706 C213.711127,375.769972 216.08175,375.671225 218.50679,375.661012 C223.363676,375.524811 228.482453,375.810831 233.706666,375.05152 C236.322174,374.789335 238.978497,374.520342 241.658626,374.251348 C242.998692,374.111745 244.348961,373.97214 245.695828,373.829132 L249.709222,373.039175 C271.296515,369.4333 292.819184,360.988946 307.444261,351.696752 C273.010709,371.271992 232.461834,378.044499 194.599893,372.569289 C175.651916,369.67165 157.503217,363.512039 140.915659,354.989371 L134.745918,351.700159 L131.667849,350.062363 L130.17133,349.071511 C129.429873,348.485857 128.695218,347.910413 127.943557,347.321351 C127.749689,347.164722 127.552421,347.014903 127.358554,346.86168 C166.247652,371.067692 215.99672,379.855949 263.432986,367.829555 C267.919142,366.474372 272.554952,365.07833 276.323458,363.94447 C280.034146,362.643769 282.744887,361.227296 283.687014,360.706333 C285.530454,359.483945 277.296197,363.12387 269.106153,365.027256 C267.398763,365.503953 265.681166,365.98065 263.953365,366.464156 L261.358265,367.196227 L258.688338,367.68314 C255.1239,368.336895 251.515249,368.997464 247.882787,369.664839 L245.151641,370.175587 L242.372875,370.434365 C240.522632,370.60121 238.658786,370.771459 236.791538,370.934897 L231.172788,371.45586 C230.237462,371.534174 229.298736,371.646538 228.35661,371.697612 L225.516625,371.687399 C221.731111,371.680588 217.931991,371.673777 214.122668,371.666969 C210.316749,371.697612 206.531235,371.033642 202.732117,370.75784 C195.093064,370.36286 187.688694,368.381161 180.270719,367.053218 C176.515816,366.113445 172.689488,364.884246 168.866561,363.80146 C162.78525,362.330509 156.401234,359.259217 150.629431,357.039168 C147.711218,355.987029 145.248763,354.475219 143.095816,353.300498 C140.956473,352.101945 139.208267,351.070236 138.055266,350.293899 C135.620021,348.65951 137.939626,349.701434 142.265928,351.884028 C144.466492,352.895306 147.013976,354.533102 150.013817,355.639722 C152.979647,356.824656 156.125739,358.074283 159.088167,359.252406 C164.523253,361.673347 169.203278,362.391799 174.464904,363.97171 C180.600634,365.902334 185.073186,366.174735 187.212529,366.518637 C189.372278,366.756985 189.338267,366.539065 186.879213,365.834236 C184.307921,365.027256 180.41697,364.387117 175.335606,362.534809 C172.767715,361.724424 169.852903,360.815292 166.570764,359.783584 C164.897383,359.347746 163.2172,358.65994 161.455389,357.904034 C159.679972,357.182178 157.809323,356.419463 155.850243,355.619291 C128.168035,344.709732 104.193113,325.379652 85.9185699,302.130439 C85.8539474,302.011266 85.7757203,301.895496 85.7076966,301.776323 L82.8575074,296.941249 C78.7556837,290.648843 75.9837216,283.658416 72.7355942,276.899527 C72.5553315,276.477311 72.4226854,276.034664 72.2492252,275.612445 C75.9735179,281.765248 80.0481322,287.70694 84.5342893,293.328562 C92.4488365,303.308564 101.584408,312.307929 111.641698,320.118956 C121.692187,327.923172 132.579366,334.692276 144.180793,339.949567 C155.761812,345.240908 167.927835,349.269002 180.410168,351.812523 C192.906105,354.30497 205.68434,355.380944 218.431964,354.989371 C243.937418,354.165364 269.177578,347.178344 291.632172,335.032774 C308.454412,325.87678 323.671293,313.755045 336.381505,299.413264 C348.380871,285.57542 353.846567,275.557967 356.234197,270.988481 C358.618424,266.381541 357.921182,267.059131 354.601629,272.125745 C350.547422,278.298976 358.672841,262.911865 355.618581,267.294077 C355.14922,268.189586 360.172762,258.260662 362.393733,252.741186 C365.220116,245.689469 367.026143,239.975911 368.070304,235.988679 C369.063448,231.977611 369.55322,229.754158 369.386561,229.512404 C369.066851,229.018682 366.223464,240.704578 361.125093,252.397283 C357.795339,260.307054 353.431623,268.053388 352.99287,268.199802 C352.567725,268.407506 357.550454,259.14936 360.880208,250.745867 C368.11452,232.931006 372.185732,213.270642 372.542856,193.749885 C372.716318,190.133795 372.461229,186.732219 372.430617,183.586016 C372.192536,180.443218 372.005469,177.548984 371.719771,174.944173 C371.352444,172.349577 371.02933,170.02738 370.747033,168.008226 C370.3593,166.002692 369.99197,164.303607 369.679063,162.931399 C368.808362,159.162085 368.784553,160.432143 369.396765,165.148042 C370.022582,169.853726 370.968109,178.083566 371.08035,188.31213 C371.270815,200.566657 369.971565,212.83821 367.25402,224.782884 C364.546682,236.724154 360.587706,248.41005 355.179829,259.404734 C352.128972,265.85377 348.469301,272.122341 343.813086,278.847178 C347.040805,273.535406 351.091612,266.827595 354.74788,258.900797 C358.458568,251.011456 361.941377,242.008684 364.550083,232.542837 C369.927348,213.621356 371.226601,192.908855 369.417171,177.463859 C370.808254,195.166357 368.975018,212.977813 364.533075,229.914192 C360.060524,246.870998 352.662956,262.860791 343.166861,277.195763 C333.558526,291.466038 321.780237,304.057659 308.437405,314.235149 C301.754086,319.308571 294.747653,323.854222 287.475931,327.79038 C280.166793,331.648223 272.633178,334.937434 264.983924,337.678444 C277.282592,333.200894 289.115299,327.187697 300.131722,319.775053 C311.06992,312.246639 321.219042,303.356234 330.068914,293.134481 C347.843485,272.759072 360.482271,247.218305 365.913957,219.4609 C367.65196,211.186795 368.192746,202.184023 368.077108,200.253398 C367.930857,198.288726 367.373062,206.36534 366.12483,213.822249 C363.869846,226.373011 360.325817,239.444733 354.74448,251.920585 C349.326398,264.457728 342.051273,276.395591 333.558526,287.015728 C332.490554,288.394746 331.296742,289.715878 330.157344,291.094896 C329.01795,292.473914 327.851344,293.849525 326.603111,295.133203 C324.695049,297.189811 322.667946,299.396241 320.484387,301.435825 C318.382458,303.560531 316.161487,305.545637 314.045953,307.360491 C311.981437,309.236637 309.893112,310.775688 308.141503,312.12406 C306.406901,313.486052 304.889975,314.507547 303.794794,315.130659 C301.502398,316.44498 303.362845,315.120443 306.781032,312.396458 C310.192415,309.669068 315.178544,305.542232 319.25316,301.486899 C321.171425,299.617564 322.865214,297.935502 324.402548,296.158103 C325.96369,294.411347 327.538437,292.742908 329.07577,290.788448 C336.418918,281.809511 338.473231,277.917619 335.551617,281.489444 C332.313694,285.105534 326.579302,292.603302 315.334999,303.042975 C305.342332,312.072986 294.24768,319.928276 282.217705,326.009574 C276.26564,329.176207 270.004066,331.695893 263.715283,334.086191 C257.341471,336.227923 250.920042,338.27772 244.331954,339.585233 C236.036475,341.349015 227.883845,342.435205 219.94549,342.762081 C212.007135,343.061721 204.313664,342.721222 196.922899,341.866572 C184.770481,340.290065 170.781426,337.191534 157.557636,331.988721 C132.44672,322.390079 109.77445,305.835061 93.0848573,284.421133 C78.7250731,266.238531 68.7698176,244.606686 63.899327,221.960155 C64.2020321,222.80459 64.4639231,223.666051 64.7836339,224.507082 C65.5863127,227.173182 66.9467848,229.611148 68.0589709,232.151265 L71.585995,239.689894 L75.8068601,246.864187 C77.235356,249.240866 78.5448104,251.699262 80.2658079,253.878449 C83.5683541,258.335571 86.6362191,262.979966 90.4931576,266.991033 L96.0336809,273.198315 L102.121794,278.867607 C134.654086,309.321761 182.195788,322.117682 225.84654,313.649492 C242.233428,310.445405 258.025108,304.299413 272.316868,295.708645 C274.027661,294.687152 275.656828,293.720135 277.204366,292.793982 C278.697484,291.792917 280.047751,290.740778 281.357207,289.794192 C283.952307,287.866974 286.251504,286.161077 288.265003,284.666291 C292.043716,281.387295 294.628614,278.891442 296.257778,277.33877 C299.492301,274.189164 298.686222,274.519447 294.468756,277.706508 C289.332975,281.581377 300.271172,271.155326 296.451646,273.835046 C295.904056,274.522851 302.359497,267.33834 305.849106,263.548596 C307.900018,260.971025 309.607411,258.563705 311.141345,256.507095 C312.617457,254.406221 314.052754,252.734377 314.872438,251.127225 C316.65806,248.015073 317.559371,246.251291 317.477744,246.006133 C317.396115,245.754165 315.957415,247.817582 313.801068,251.106796 C311.44405,254.249594 308.138102,258.47177 304.699508,262.768857 C302.148622,265.465601 299.553523,268.210017 297.570633,270.310888 C295.635362,272.459432 293.951778,273.586481 293.771514,273.610316 C293.485816,273.555837 295.20001,272.173415 297.250922,269.694588 C299.356255,267.270242 302.260863,264.19895 304.804945,261.236614 C315.426832,248.42367 323.854957,233.223834 329.205014,217.210207 C329.473707,216.471325 329.762808,215.75628 329.997489,215.037828 C330.194757,214.302353 330.381824,213.580497 330.568888,212.872261 C330.939616,211.452384 331.296742,210.080175 331.643661,208.759042 C332.296686,206.120181 332.997331,203.706051 333.422479,201.482598 C334.075505,196.988022 334.527862,193.436627 334.748938,191.022495 C335.051644,187.692423 334.626496,188.727538 333.776202,192.745416 C333.344251,194.754354 332.806864,197.515794 332.198052,200.856082 C331.44299,204.169128 330.238973,207.982708 329.130188,212.255958 C328.551988,214.847148 327.456807,217.26809 326.558895,219.753728 L323.74952,227.176587 L320.242903,234.289593 C319.052491,236.652649 317.991322,239.083806 316.501605,241.276613 C313.685427,245.750759 311.107332,250.388345 307.726559,254.474322 L302.910488,260.776943 L297.53322,266.609676 C296.489059,267.740128 295.441495,268.873988 294.380326,270.024871 C293.257936,271.100845 292.050517,272.122341 290.853302,273.194908 C288.411254,275.278758 286.020226,277.614575 283.163234,279.688209 C285.251559,278.006148 287.322876,275.762264 289.764924,273.552433 C290.975744,272.432193 292.23078,271.260879 293.52663,270.05211 C294.757857,268.775244 295.948272,267.375795 297.21691,265.993373 C299.69297,263.16043 302.546561,260.39899 304.862766,257.031462 C306.090591,255.407286 307.332022,253.75587 308.587059,252.090835 C309.216276,251.256615 309.842092,250.418988 310.471312,249.577957 L312.131088,246.881214 C321.440118,232.716491 327.963585,216.042297 330.381824,202.844589 C323.382192,232.706276 305.903527,259.312801 282.897942,277.955073 C271.293112,287.203001 258.256389,294.278553 244.702684,299.225991 L239.594109,300.999986 L237.046627,301.892091 L234.431119,302.528823 C230.941508,303.359638 227.468901,304.18705 224.0065,305.011054 C216.952451,305.930398 209.976631,307.200457 202.956594,307.101712 C248.141276,306.114267 293.060668,279.201297 316.392767,236.33939 C317.984519,233.07742 319.62729,229.709892 320.967356,226.968883 C322.178176,224.176799 322.800592,221.895461 323.004661,221.08848 C323.280158,219.396203 321.01497,225.984842 317.78385,231.643921 C317.161434,232.866309 316.525414,234.092105 315.892794,235.324706 L314.940463,237.183828 L313.814673,238.961227 C312.311351,241.331094 310.791022,243.728201 309.257092,246.145738 L308.114294,247.963996 L306.801437,249.680109 C305.920532,250.820776 305.036226,251.968255 304.151917,253.115735 L301.488793,256.5786 C301.039839,257.154041 300.614691,257.749914 300.14873,258.311736 L298.648809,259.918886 C296.652315,262.06743 294.655823,264.226189 292.649125,266.381541 C290.662837,268.564135 288.295615,270.36537 286.146069,272.377715 C281.904795,276.514766 276.891456,279.681398 272.235241,283.198745 C269.728569,284.836541 267.021231,286.368781 264.39552,287.969123 C260.365119,290.655654 255.26335,292.667996 250.974459,294.782489 C248.845321,295.885705 246.688972,296.49179 244.893149,297.097878 C243.087122,297.683535 241.587203,298.136398 240.536239,298.38496 C238.332272,298.905924 240.1417,298.136398 243.65172,296.82548 C245.382918,296.103622 247.651506,295.517968 249.858873,294.397728 C252.086648,293.328562 254.450467,292.19811 256.678241,291.135755 C260.905908,289.324306 263.769701,287.039563 267.439576,284.880804 C271.755673,282.405384 274.258942,280.004873 275.5786,278.976566 C276.850643,277.866544 276.711193,277.778013 275.017405,278.802913 C273.21138,279.838028 270.796541,281.714171 267.07905,283.627772 C265.269622,284.662887 263.21871,285.837605 260.909309,287.165547 C259.786919,287.887402 258.511477,288.479871 257.154407,289.082551 C255.814341,289.712474 254.39945,290.37304 252.913133,291.067655 C232.10131,301.102135 208.442697,304.558192 185.576561,302.678641 C171.121544,301.238336 157.921562,297.48264 146.282722,292.313878 C143.952914,291.105112 141.527872,289.845266 139.031405,288.551376 C137.779771,287.914644 136.51113,287.267698 135.228885,286.61394 C134.014664,285.844414 132.783436,285.064673 131.542006,284.278123 C129.072749,282.681186 126.48445,281.176184 123.998187,279.480505 C121.596954,277.65884 119.175313,275.820149 116.753673,273.984864 C114.369445,272.357284 112.36615,270.266625 110.213202,268.34962 L110.080557,268.227041 C112.991967,270.086161 115.950994,271.880586 119.001853,273.514978 C121.219423,274.917829 123.702284,275.813341 126.069506,276.933578 L133.2528,280.127452 L140.704786,282.630111 C143.19445,283.440499 145.653504,284.380271 148.235,284.870591 C153.346974,286.004448 158.414733,287.417516 163.64915,287.887402 L171.448057,288.878252 L179.304784,289.147245 C221.370585,290.703324 263.225514,270.33813 289.139108,237.211067 C298.852878,224.759049 306.318471,210.577303 311.202566,195.57155 C311.79437,193.783935 312.352165,192.081444 312.886151,190.464078 C313.335107,188.822877 313.644614,187.232751 313.991533,185.744774 C314.651362,182.76201 315.236365,180.11634 315.749943,177.804357 C316.416576,173.115698 316.715878,169.731147 316.916549,167.609844 C317.280476,163.357022 316.909746,164.089093 315.868985,168.982051 C314.610549,174.906718 315.93701,160.85436 314.90305,164.943743 C314.954068,164.099308 315.093517,156.223586 315.226161,151.820945 C315.093517,148.708792 314.824824,145.926923 314.647961,143.505981 C314.396273,141.091849 314.386072,139.008 313.977929,137.35318 C313.328304,134.023108 312.879347,132.204848 312.668475,132.082269 C312.454199,131.952879 312.705887,134.319341 313.202461,138.000126 C313.467751,141.708151 313.719439,146.767953 313.923511,151.977574 C313.773857,155.4813 313.620805,159.04972 313.508567,161.780515 C313.454146,164.511311 312.947372,166.360215 312.835133,166.489605 C312.597049,166.629209 312.967777,164.582815 312.896355,161.535357 C312.899755,158.501519 313.069814,154.507475 313.049406,150.816476 C312.702487,135.082057 309.308109,119.00033 303.213194,104.249951 C302.947901,103.55874 302.71322,102.870934 302.434323,102.206962 C302.118013,101.563421 301.808506,100.930095 301.502398,100.310388 C300.886785,99.0675698 300.294981,97.8656114 299.723582,96.7113226 C298.553575,94.4163653 297.560431,92.2644172 296.489059,90.4087024 C294.169454,86.7960171 292.295402,83.9835027 290.958739,82.1209778 C289.115299,79.5570268 289.452017,80.5546865 291.329467,83.9562627 C292.268193,85.6553484 293.591254,87.9605208 295.227222,90.7219606 C296.737344,93.5549049 298.240666,97.0245811 300.090909,100.76325 C301.284724,102.969678 302.002371,105.377 302.896884,107.709412 L305.488583,114.747509 L307.389843,122.003524 C308.002055,124.427871 308.750314,126.821572 309.046216,129.310614 C309.808082,134.251242 310.835239,139.161225 310.954281,144.176762 L311.413438,151.660911 L311.188962,159.15868 C311.141345,160.616012 311.097128,162.076749 311.052915,163.551106 C310.916865,165.022058 310.688988,166.496415 310.498521,168.004821 C310.042763,171.008015 309.784274,174.157623 309.022408,177.40938 C309.474765,174.916933 309.566598,172.026104 309.940729,168.934381 C310.107385,167.385115 310.280845,165.771154 310.461108,164.102713 C310.542737,162.430867 310.532533,160.690922 310.58015,158.916926 C310.593754,155.358721 310.923669,151.620051 310.49172,147.775827 C310.359073,145.858823 310.226427,143.907769 310.093781,141.936285 L309.879508,138.973951 L309.396539,136.018427 C307.267401,120.137594 301.604435,104.192067 295.159197,93.2688865 C308.65168,118.928826 312.648067,148.759867 307.763971,176.340216 C305.202884,190.1372 300.281374,203.277023 293.66948,215.218293 L291.121995,219.654984 L289.853354,221.868222 L288.384045,223.94526 C286.411362,226.703294 284.442076,229.454518 282.476194,232.188719 C278.013846,237.221282 273.823592,242.454738 268.745629,246.741608 C300.390212,218.000161 315.790759,170.92289 305.910328,125.857963 C305.026022,122.538106 304.117907,119.1161 303.376449,116.330825 C302.512549,113.583005 301.539813,111.570661 301.182687,110.86583 C300.332394,109.490218 302.79825,115.598754 303.998865,121.642596 C304.304972,122.899034 304.614478,124.169092 304.923987,125.442555 L305.400152,127.359559 L305.696055,129.320829 C306.08719,131.949474 306.485129,134.601955 306.886467,137.27827 L307.195976,139.290614 L307.321819,141.326793 L307.556499,145.42639 L307.804787,149.546418 C307.838797,150.237629 307.903421,150.925435 307.917026,151.616646 L307.838797,153.693685 C307.746967,156.461935 307.655133,159.243804 307.559902,162.032484 C307.495278,164.817759 306.920479,167.572389 306.627977,170.344043 C306.162016,175.928213 304.546456,181.297868 303.400258,186.698169 C302.624787,189.422154 301.638447,192.193809 300.757539,194.968868 C299.543319,199.385128 297.148888,203.981853 295.393878,208.156361 C294.557189,210.26745 293.393983,212.034634 292.489269,213.580497 C291.560747,215.119549 290.768272,216.372581 290.176468,217.199992 C288.928235,218.943341 289.741116,217.26809 291.431504,214.152532 C292.223979,212.569217 293.479013,210.744148 294.363321,208.575173 C295.291843,206.430036 296.278186,204.158913 297.210109,202.01718 C299.104566,198.098046 299.737186,194.68966 301.016031,190.876081 C302.57037,186.429175 302.873075,183.163798 303.168977,181.607722 C303.396857,180.02781 303.237002,180.051645 302.665603,181.83245 C302.015978,183.694975 301.454783,186.52792 299.985472,190.201894 C299.335847,192.064419 298.601192,194.175508 297.771304,196.55559 C297.414181,197.764358 296.873391,198.979936 296.281587,200.253398 C295.710188,201.533672 295.11158,202.88545 294.482363,204.301923 C285.839963,224.374288 271.092443,241.525179 253.606974,254.365362 C242.393283,262.302373 230.652406,267.811633 219.142813,271.346004 C216.731375,271.928256 214.221302,272.534342 211.636407,273.16086 C210.350761,273.477524 209.048108,273.8044 207.725048,274.134683 C206.381581,274.338983 205.02111,274.550091 203.647032,274.757795 C200.898878,275.149367 198.120115,275.680546 195.293734,276.010829 C192.450347,276.201506 189.583152,276.392186 186.719358,276.582866 C184.008617,276.902934 181.287672,276.650965 178.566728,276.620321 L174.48191,276.514766 L172.434399,276.463691 C171.757565,276.40921 171.084131,276.300251 170.403895,276.221937 L162.278474,275.214064 C160.9112,275.098293 159.577937,274.805465 158.248075,274.481993 L154.244886,273.583076 C148.84041,272.622873 143.731837,270.600313 138.504222,268.945493 C135.929529,268.019337 133.480679,266.766305 130.960404,265.693736 L127.198698,264.025293 C125.93686,263.483902 124.797465,262.700757 123.593447,262.050406 L116.437363,257.974642 C114.138165,256.48326 111.954607,254.808009 109.703026,253.238314 L106.339258,250.851423 C105.227072,250.051251 104.257735,249.063805 103.20337,248.181916 L97.0064186,242.740756 C89.3231516,234.916109 81.9868052,226.601145 76.5823293,217.022932 C75.9225004,215.936742 75.3170902,214.823313 74.6980753,213.716696 L73.5042609,210.318524 C72.6981811,207.526438 72.1131781,204.669661 71.3989301,201.85374 L70.3717737,197.617944 C70.038458,196.201472 69.9432249,194.740735 69.718747,193.303833 L68.5351362,184.65518 C68.0113544,176.207421 67.8310917,167.677943 68.6609799,159.257424 C82.3507315,117.668983 112.82871,81.7157849 151.989903,62.0588279 C173.203066,51.1799127 196.746038,45.2007654 220.486279,44.1179815 C223.839842,44.7070433 227.179802,45.3880395 230.472143,46.2494996 C234.301873,47.3969784 238.29826,48.1392643 242.015752,49.7668455 L247.688919,51.9221986 L250.525506,52.9981726 L253.236246,54.3499503 C256.059226,55.7323727 258.752959,57.0569103 261.188206,58.2486538 C263.552025,59.5595717 265.579129,60.8909194 267.296726,61.871554 C270.708111,63.8804928 272.660387,64.9087974 272.136607,64.3163306 C271.296515,63.1926868 276.129593,66.4478489 284.302629,73.0262727 C286.394354,74.9296573 288.901024,77.2075899 291.067577,79.1722641 C292.196768,80.1086339 293.101482,81.1062934 293.84294,81.920084 C294.608206,82.7134447 295.20001,83.3297462 295.536728,83.6804593 C297.220313,85.3352801 299.2032,87.2999545 301.366351,89.6357715 C303.305024,92.1656727 305.481779,95.0088321 307.893217,98.1516299 C309.168659,99.6804663 310.107385,101.546396 311.260387,103.381681 C312.375973,105.244206 313.539176,107.185045 314.753399,109.204199 C315.39282,110.195049 315.923403,111.267618 316.416576,112.387857 C316.933554,113.494476 317.460737,114.621524 317.994723,115.769003 C319.035484,118.074175 320.222498,120.413398 321.249654,122.912654 C322.178176,125.565134 323.133907,128.282309 324.055626,130.904145 C324.52499,132.215063 324.987551,133.498741 325.429704,134.741559 C325.759618,136.018427 326.072528,137.25103 326.37183,138.418939 C327.562245,143.087168 328.637018,146.682828 329.07577,147.895002 C329.252631,148.480658 329.320655,148.28998 329.300247,147.523859 C329.208414,146.771358 328.963529,145.46725 328.633615,143.805619 C328.286696,142.150798 327.868351,140.141859 327.422795,137.996721 C327.194918,136.924152 326.960234,135.817533 326.718752,134.700699 C326.436452,133.597485 326.028312,132.521511 325.694997,131.442132 C324.800484,128.796462 323.650886,125.401695 322.41966,121.76858 C320.817702,118.278474 319.123916,114.55683 317.613791,111.056509 C320.130664,116.25932 323.178123,121.77539 324.776678,126.644513 C326.963637,132.286568 327.830938,134.084397 327.456807,132.429577 C327.26634,131.605571 326.766367,129.9167 325.970491,127.420849 C325.106593,124.948833 324.273302,121.533636 322.338031,117.699628 C321.293868,115.421695 320.222498,113.099498 319.144322,110.746656 C318.640947,109.551507 318.015131,108.417649 317.328093,107.31103 L315.348604,103.936693 C314.005137,101.70643 312.763708,99.4148778 311.372625,97.2595247 C309.876105,95.1756761 308.406795,93.1190675 306.968096,91.1135334 C303.934244,86.5917182 301.835715,84.4636049 301.655452,84.0584122 C301.550014,83.8711383 301.873128,84.1571567 302.624787,84.9266824 C303.386653,85.6928032 304.614478,86.9185966 306.012365,88.8594357 C307.716355,91.0828886 309.552994,93.4799954 311.331809,95.8055978 C312.263735,96.9360514 313.028998,98.1584397 313.743248,99.3365633 C314.477902,100.504472 315.175144,101.617901 315.821368,102.6428 C318.436876,106.742398 320.222498,109.452763 320.011622,108.526608 C319.817755,107.423394 313.818073,96.9803164 314.396273,97.4399888 C314.664966,97.6613126 316.406372,100.405728 318.191991,103.211432 C319.093304,104.610879 320.004822,106.027351 320.732673,107.1544 C321.460526,108.281449 321.87207,109.193984 322.093146,109.415308 C322.423061,109.803476 322.484282,109.629822 322.259803,108.850081 C322.140763,108.458508 321.970704,107.910306 321.688406,107.2225 C321.351688,106.561934 320.936744,105.748143 320.443574,104.774318 C318.174986,100.439777 317.81446,99.3978529 318.855223,100.732606 C319.372201,101.399982 320.236102,102.659825 321.3823,104.399771 C322.610125,106.092046 323.810741,108.431268 325.164411,111.148444 C328.892107,118.431699 330.116531,120.614291 329.242427,118.10482 C328.79007,116.862002 327.783321,114.458085 326.242587,110.964574 C325.4229,109.245059 324.678042,107.144185 323.426409,104.975212 C322.171372,102.806239 320.773488,100.388703 319.236155,97.7260073 C317.49815,94.4504151 315.16154,91.4233868 312.903156,88.3078288 L309.498573,83.6395994 C308.325166,82.1175728 306.985101,80.7385554 305.747072,79.2948433 C294.07082,65.5863886 280.221213,55.4429492 275.313309,51.9460333 C274.646677,51.4284763 273.534491,50.6623554 272.146809,49.7396054 C274.673886,50.4240067 277.183958,51.1594828 279.673623,51.9698683 C284.142774,54.1150066 288.329627,56.3827241 289.700302,57.0705302 C294.615007,59.5493566 301.097657,63.3220761 308.389791,69.0015849 C315.681921,74.6470439 323.888969,82.093738 331.874941,91.8490094 C333.871433,94.4436051 336.051591,97.0007461 337.878023,99.6770615 C338.823553,100.991384 339.752075,102.285277 340.649986,103.5315 C341.493481,104.815178 342.302961,106.057996 343.071628,107.232715 C344.663379,109.551507 345.921816,111.70005 346.952375,113.388921 C347.979531,115.074387 348.802616,116.28656 349.220961,116.906267 C350.91815,119.231869 345.591902,108.547038 339.619429,99.8915752 C337.854218,97.1607802 335.262516,93.8954032 332.507561,90.3848674 C331.055257,88.6959968 329.551936,86.9458364 328.055415,85.202486 C326.535089,83.4795653 324.922929,81.8417692 323.433212,80.2039734 C328.296899,84.8551779 333.10957,90.3371977 336.85427,94.9509473 C341.183972,100.477232 342.602263,102.281872 341.639731,100.558952 C341.143158,99.7111111 340.037773,97.9915957 338.316776,95.4821245 C336.459732,93.0816126 334.126522,89.7719709 330.806969,86.0673511 C323.378792,77.4459383 314.1786,69.1139493 305.090643,62.4878555 L307.675541,63.7817486 L308.604064,64.2516359 C312.093675,66.8394217 315.467646,69.5634067 318.222603,71.8243144 C322.440066,75.539149 325.269849,78.0111654 324.695049,77.0782006 C324.371936,76.5163785 321.688406,73.8434684 319.195339,71.3374019 C318.253212,70.4725368 317.338294,69.6383162 316.566227,68.9266751 C317.440331,69.4714722 318.328038,70.0230791 319.17153,70.5542563 C319.698715,70.9934989 320.232699,71.4497663 320.766685,71.9196539 C323.657689,74.4495548 326.552094,77.0952255 327.106485,77.5208481 C327.98739,78.1780094 327.211923,76.7955869 324.12365,73.6425743 C324.147459,73.6595992 324.174668,73.6766241 324.198476,73.690244 C326.732357,75.4506194 328.8785,77.1428952 330.786564,78.5525574 C330.803569,78.5695824 330.820576,78.5866073 330.837581,78.6036322 C337.388254,85.3591151 339.313323,87.4838234 337.527704,85.0049969 C336.915491,84.2320662 335.884932,82.9143385 334.46664,81.2288727 C336.748833,82.839429 337.92564,83.5340451 337.486888,82.9211483 C336.558366,81.3684769 342.343774,86.1865256 351.986122,95.7204732 C353.145924,97.0075561 354.414565,98.4172183 355.693407,99.8439055 C360.254391,106.051186 364.417437,112.547891 368.053299,119.340828 C370.328688,123.985223 373.134663,128.428724 374.85566,133.389781 L377.797681,140.666227 L379.266991,144.302746 L380.368972,148.061846 C381.532178,151.960549 382.647764,155.678789 383.651112,159.032696 C384.487804,162.434272 385.004782,165.52259 385.586385,168.015036 C386.678163,173.013549 387.416218,175.778394 387.525056,174.756899 C387.84817,172.976094 389.011373,180.419383 389.950099,193.957589 C389.987512,197.611134 390.035128,201.993345 390.072541,205.776278 C390.174576,207.669448 390.024924,209.405989 389.905883,210.825865 C389.827656,212.245742 389.759632,213.348958 389.729022,213.975474 C389.637189,217.029743 389.514747,220.639022 389.20184,224.742026 C388.511399,228.804167 387.729128,233.366842 386.865227,238.413025 C386.538716,240.966761 385.596587,243.503473 384.872136,246.210432 C384.086464,248.903772 383.27018,251.712882 382.419884,254.630951 C382.049157,256.112118 381.498166,257.559234 380.868946,259.009757 C380.273741,260.470495 379.66833,261.95847 379.049315,263.473687 C377.784077,266.487097 376.607267,269.670753 375.141358,272.837385 C373.44757,276.048284 371.709567,279.3409 370.032786,282.521152 C369.206298,284.114685 368.393418,285.68438 367.611146,287.199597 C366.682621,288.629689 365.794915,290.008707 364.951423,291.319624 C361.574049,296.549676 359.111594,300.720777 358.34633,302.205351 C357.948391,302.889752 358.193275,302.784197 358.897321,302.092984 C359.529941,301.343889 360.553697,299.964871 361.832539,298.19428 C363.10458,296.413477 364.638513,294.251314 366.274481,291.94614 C367.087364,290.785041 367.930857,289.589895 368.77775,288.377719 C369.577029,287.145118 370.236858,285.81377 370.964709,284.550521 C372.689107,281.37708 374.893073,277.301316 377.253491,272.942941 C379.151352,268.359836 381.188657,263.483902 383.178347,258.972302 C380.460805,265.932083 377.90992,273.668201 374.702606,279.466883 C371.281019,286.494765 370.342292,288.898683 371.57352,287.087233 C372.189133,286.184912 373.352339,284.230453 375.015515,281.274929 C376.600466,278.288761 379.100332,274.499016 381.032204,269.296204 C382.273634,266.303228 383.535473,263.242148 384.814315,260.153832 C385.508156,258.631804 386.035339,257.038273 386.480895,255.414097 L387.929799,250.575618 C388.868522,247.340885 389.946698,244.147013 390.762982,240.936117 C391.429612,237.687764 392.08604,234.476866 392.725461,231.354499 C394.344424,224.503676 394.517884,220.645833 394.742361,220.118059 C394.830794,219.852472 394.837595,220.407483 394.769572,221.803525 C394.711752,223.199569 394.630123,225.440046 394.021311,228.473884 C393.412502,232.038901 392.74927,235.886528 392.113249,239.618389 C391.861563,241.501344 391.368391,243.295769 390.885425,245.008475 C390.419461,246.727988 389.980708,248.372596 389.575968,249.891217 C387.99102,255.969108 386.991073,260.048276 387.681511,259.030187 C388.559016,257.872493 393.174418,243.013154 393.252644,243.966548 C393.283256,244.412602 392.208483,248.478148 391.123506,252.639037 C390.586119,254.722884 390.045332,256.830569 389.613381,258.509224 C389.188235,260.191286 388.681458,261.379624 388.667854,261.784816 C388.589628,262.441979 388.810704,262.350043 389.348091,261.444318 C389.60998,260.991456 389.984111,260.347913 390.385451,259.476239 C390.718766,258.573918 391.126906,257.467301 391.613276,256.146168 C393.725409,250.184045 394.402245,248.927607 394.045119,251.086366 C393.868259,252.169148 393.436308,254.096369 392.793486,256.711394 C392.269704,259.363875 391.109901,262.547531 389.722219,266.224912 C386.09656,276.157243 385.106817,279.238751 386.715576,276.208318 C387.491046,274.68629 388.88553,271.614997 390.844609,267.082966 C391.752725,264.798226 393.089388,262.24449 394.045119,259.152767 C394.994049,256.061044 396.058618,252.608391 397.228625,248.808432 C398.810175,244.283212 399.626456,239.403874 400.588991,234.52794 L402.02429,227.197017 C402.435834,224.748834 402.561677,222.259794 402.847375,219.821826 C405.578524,196.698599 403.024238,174.644535 402.027691,166.908417 C401.857631,165.001628 401.252223,161.249339 400.388322,156.46534 C399.374771,152.403197 397.929267,147.608983 396.432749,142.576421 C397.463306,144.673889 398.456452,147.217411 399.541427,150.09462 C403.381361,159.945231 404.67381,162.910969 403.881335,159.574088 C403.459587,157.915862 402.476647,154.691344 400.949517,149.99928 C400.12303,147.677083 399.439392,144.878188 398.112931,141.929474 C396.789873,138.977356 395.306959,135.684739 393.674392,132.058434 C392.296913,128.663667 390.446672,125.408505 388.535207,122.143128 C387.606685,120.256769 386.596534,118.411269 385.630599,116.545339 C383.603495,112.776024 381.702237,108.935206 379.566296,105.240801 L372.502042,94.5525644 C363.288243,81.3276172 352.339845,69.3795378 340.095594,58.9773198 C348.285638,63.7749385 356.172975,69.0867093 363.611357,74.980732 C365.587443,76.5368085 367.495505,78.1746046 369.41377,79.7987805 C370.9375,81.4501964 372.46463,83.1356622 373.984956,84.9062524 C376.573255,88.1137448 379.399637,91.2667577 381.777063,94.5798045 C383.008288,96.2073854 384.21911,97.8009168 385.385714,99.3433734 C386.487696,100.933499 387.545464,102.472551 388.552212,103.926478 C390.623532,106.793472 392.279908,109.456168 393.633578,111.550231 C394.987248,113.637485 396.068822,115.135676 396.623214,115.894988 C398.861192,118.758577 391.861563,105.448505 384.086464,94.7125986 C383.079713,93.2280268 381.838284,91.5970408 380.494818,89.88774 C395.511028,104.655144 408.282461,121.683456 418.15949,140.267844 C431.604356,165.478325 439.876029,193.392362 442.120808,221.776286 C443.137761,234.534752 443.008515,247.60307 441.661648,260.439849 C439.746783,280.498594 434.764053,296.324948 436.151736,294.13895 C436.65511,293.185555 436.430633,294.983385 435.274231,298.967213 C434.216463,302.981685 432.267588,309.202586 429.196321,316.996589 Z" id="Path" fill="#CE80D9"></path>
|
11
|
+
<path d="M339.088846,21.5531704 C315.069709,12.870468 289.727511,7.9945347 264.089411,7.00368503 C263.381968,6.86748588 262.650714,6.7278817 261.905856,6.59508733 C288.156165,7.47016757 314.369064,12.50273 339.088846,21.5531704 M366.828872,36.0924404 C370.515752,37.8868655 373.944143,39.9502842 377.515384,42.0068931 C384.644256,46.1371352 391.875168,51.0334985 400.541374,57.6187323 C391.562258,50.9756139 384.103469,46.0417957 376.926977,41.9421984 C373.348936,39.8685646 369.923948,37.8562207 366.339103,36.0686056 C362.801877,34.185651 359.230636,32.2788615 355.339687,30.4878413 C359.47212,32.2754564 363.189609,34.2128908 366.828872,36.0924404 M392.106448,76.9692412 C377.297708,62.3754911 360.400642,49.9813592 342.047872,40.0660536 C341.098942,39.4327271 340.153415,38.7857808 339.194281,38.1660741 C358.591215,48.3708031 376.539245,61.4901961 392.106448,76.9692412 M447.018508,278.5884 C447.018508,278.768862 447.049117,278.816532 447.110339,278.717788 C446.552544,281.448585 445.947135,284.264503 445.215881,287.322176 C445.909723,284.216833 446.491323,281.356649 447.018508,278.5884 M415.377324,357.202609 C414.146098,359.255813 412.789025,361.346471 411.374136,363.420103 C413.66313,359.974262 412.414897,361.121741 408.666796,365.606101 C410.054476,363.712931 411.411549,361.823168 412.703996,359.933403 C417.628907,352.861255 419.965517,348.758255 420.445083,348.257722 C420.815813,347.692496 419.448538,350.811458 415.377324,357.202609 M366.152038,406.336488 C368.876384,404.228806 371.828609,401.784029 374.950894,399.203051 C377.209278,397.156658 379.545888,395.038761 381.875697,392.931076 C384.178295,390.792747 386.358453,388.531842 388.548812,386.444588 C385.787054,389.48183 382.794015,392.488429 379.783969,395.386068 C375.389646,399.220077 370.85247,402.883838 366.152038,406.336488 M300.798355,439.129864 C291.50633,442.051338 281.823169,444.203286 270.755725,445.772981 C279.078415,444.080707 289.564256,441.918543 300.90379,438.224139 C312.256931,434.621668 324.514786,429.75595 336.429122,423.582719 C340.741819,421.393316 344.955881,418.962159 349.101921,416.442473 C347.234673,417.695505 345.493268,418.795314 344.030759,419.738494 C341.762174,421.20604 340.133007,422.370546 339.303119,422.966416 C338.963,423.228601 338.864366,423.35118 338.915384,423.38523 C326.745961,429.824048 314.001737,435.193705 300.798355,439.129864 M317.226056,49.651076 C316.137679,49.089254 315.069709,48.5001925 313.971128,47.9622052 C313.668422,47.7579064 313.369117,47.5570125 313.069814,47.3527137 C311.188962,45.9566714 309.042816,45.0066816 307.008909,43.8557978 L304.053283,42.2588617 C304.33218,42.3576062 304.617881,42.4529457 304.896776,42.5516899 C309.121042,44.7070433 313.22967,47.0769101 317.226056,49.651076 M392.725461,163.952894 C392.858108,164.793924 392.997558,165.645169 393.160813,166.516845 C392.98055,165.532805 392.817295,164.6407 392.640432,163.707735 C392.667643,163.789454 392.698253,163.871174 392.725461,163.952894 M155.557742,49.3480327 C155.887656,49.2356683 156.210768,49.113089 156.544084,49.0041296 C141.316999,55.8855968 126.688521,65.3923046 114.379649,75.1339561 C127.021837,64.598944 140.949671,55.8277122 155.557742,49.3480327 M238.254046,34.0154018 C238.342476,34.0222119 238.427506,34.0222119 238.519336,34.0256169 L239.553296,34.1005264 C240.502226,34.2673704 241.444353,34.4444294 242.430696,34.6487283 L241.386532,34.5772238 C240.328766,34.3797348 239.267598,34.182246 238.254046,34.0154018 M256.933328,49.1028742 C258.980839,50.1413933 261.092972,51.2105575 263.371764,52.3648461 C265.667561,53.4782751 267.85792,55.1637409 270.429214,56.7777019 C269.112957,55.9434814 267.85792,55.1501207 266.660705,54.39762 C265.473694,53.6178793 264.317291,52.9198581 263.13028,52.3852761 C260.79707,51.2275825 258.650925,50.1618233 256.579605,49.1403288 C253.654591,47.5229627 250.702366,46.4367738 247.641302,45.2280054 C247.634502,45.2211953 247.624298,45.2177903 247.614094,45.2143855 C247.508659,45.1530956 247.382813,45.0781861 247.277378,45.0168965 C247.324995,45.0203015 247.369209,45.0271113 247.416826,45.0305164 C250.763587,46.2835495 253.885871,47.4174084 256.933328,49.1028742" id="Shape" fill="#CE80D9"></path>
|
12
|
+
</g>
|
13
|
+
</g>
|
14
|
+
</g>
|
15
|
+
</svg>
|
Binary file
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
+
* listed below.
|
4
|
+
*
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
+
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
7
|
+
*
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
|
10
|
+
* files in this directory. Styles in this file should be added after the last require_* statement.
|
11
|
+
* It is generally better to create a new file per style scope.
|
12
|
+
*
|
13
|
+
*= require_tree .
|
14
|
+
*= require_self
|
15
|
+
*/
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require_dependency "attractor/rails/application_controller"
|
2
|
+
require "attractor"
|
3
|
+
require "attractor/reporters/rails_reporter"
|
4
|
+
|
5
|
+
module Attractor::Rails
|
6
|
+
class ReporterController < ApplicationController
|
7
|
+
layout false
|
8
|
+
|
9
|
+
before_action :load_reporter
|
10
|
+
|
11
|
+
def index
|
12
|
+
@types = @reporter.types
|
13
|
+
end
|
14
|
+
|
15
|
+
def file_prefix
|
16
|
+
render json: {file_prefix: @reporter.file_prefix}
|
17
|
+
end
|
18
|
+
|
19
|
+
def values
|
20
|
+
type = params[:type] || "rb"
|
21
|
+
render json: @reporter.values(type: type).map(&:to_h)
|
22
|
+
end
|
23
|
+
|
24
|
+
def suggestions
|
25
|
+
threshold = params[:t] || 95
|
26
|
+
render json: @reporter.suggestions(threshold).map(&:to_h)
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def load_reporter
|
32
|
+
calculators = Attractor.calculators_for_type(nil,
|
33
|
+
start_ago: Attractor::Rails.start_ago,
|
34
|
+
minimum_churn_count: Attractor::Rails.minimum_churn_count,
|
35
|
+
file_prefix: Attractor::Rails.file_prefix)
|
36
|
+
|
37
|
+
@reporter = Attractor::RailsReporter.new(calculators: calculators,
|
38
|
+
file_prefix: Attractor::Rails.file_prefix)
|
39
|
+
@reporter.report
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<link href="https://fonts.googleapis.com/css?family=Red+Hat+Display|Red+Hat+Text&display=swap" rel="stylesheet">
|
4
|
+
<link href="stylesheets/main.css" rel="stylesheet" />
|
5
|
+
<title>Attractor Output</title>
|
6
|
+
<link rel="icon" type="image/png" href="images/attractor_favicon.png">
|
7
|
+
<script type="text/javascript">
|
8
|
+
window.types = <%= raw(@types.to_json) %>
|
9
|
+
</script>
|
10
|
+
<script src="javascripts/index.pack.js"></script>
|
11
|
+
</head>
|
12
|
+
<body class="d-flex flex-column h-100">
|
13
|
+
<div id="react-root"></div>
|
14
|
+
<footer class="footer mt-auto py-3 fixed-bottom">
|
15
|
+
<div class="container d-flex justify-content-end">
|
16
|
+
<span class="mx-3"><a target="_blank" href="https://www.patreon.com/user?u=24747270">Patreon</a></span>
|
17
|
+
<span class="mx-3"><a target="_blank" href="https://github.com/julianrubisch/attractor">Github</a></span>
|
18
|
+
<span class="mx-3"><a target="_blank" href="https://twitter.com/AttractorGem">Twitter</a></span>
|
19
|
+
</div>
|
20
|
+
</footer>
|
21
|
+
</body>
|
22
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Attractor rails</title>
|
5
|
+
<%= csrf_meta_tags %>
|
6
|
+
<%= csp_meta_tag %>
|
7
|
+
|
8
|
+
<%= stylesheet_link_tag "attractor/rails/application", media: "all" %>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
|
12
|
+
<%= yield %>
|
13
|
+
|
14
|
+
</body>
|
15
|
+
</html>
|
data/config/routes.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
Attractor::Rails::Engine.routes.draw do
|
2
|
+
get "/", to: "reporter#index"
|
3
|
+
get "/suggestions", to: "reporter#suggestions"
|
4
|
+
get "/values", to: "reporter#values"
|
5
|
+
get "/file_prefix", to: "reporter#file_prefix"
|
6
|
+
|
7
|
+
get "/stylesheets/main.css", to: ->(env) { [200, {}, [File.open("#{Bundler.rubygems.find_name("attractor").first.full_gem_path}/app/assets/stylesheets/main.css").read]] }
|
8
|
+
get "/javascripts/index.pack.js", to: ->(env) { [200, {}, [File.open("#{Bundler.rubygems.find_name("attractor").first.full_gem_path}/app/assets/javascripts/index.pack.js").read]] }
|
9
|
+
get "/images/attractor_logo.svg", to: ->(env) { [200, {}, [File.open("#{Bundler.rubygems.find_name("attractor").first.full_gem_path}/app/assets/images/attractor_logo.svg").read]] }
|
10
|
+
end
|
data/config/routes.rb~
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "attractor/rails/engine"
|
2
|
+
|
3
|
+
module Attractor
|
4
|
+
module Rails
|
5
|
+
mattr_writer :minimum_churn_count, :file_prefix, :start_ago
|
6
|
+
|
7
|
+
def self.minimum_churn_count
|
8
|
+
@@minimum_churn_count || 3
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.file_prefix
|
12
|
+
@@file_prefix || ""
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.start_ago
|
16
|
+
@@start_ago || "5y"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "attractor/reporters/base_reporter"
|
2
|
+
|
3
|
+
module Attractor
|
4
|
+
class RailsReporter < BaseReporter
|
5
|
+
def values(type: "rb")
|
6
|
+
@values = @calculators[type].calculate
|
7
|
+
@values
|
8
|
+
rescue NoMethodError => e
|
9
|
+
puts "No calculator for type #{type}"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
metadata
ADDED
@@ -0,0 +1,160 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: attractor-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Julian Rubisch
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-05-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 6.0.3
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 6.0.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: attractor
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.0.3
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.0.3
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: attractor-ruby
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.1'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: attractor-javascript
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.1'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sqlite3
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: standard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: |2
|
98
|
+
Many authors (Michael Feathers, Sandi Metz) have shown that an evaluation of
|
99
|
+
churn vs complexity of files in software projects provide a valuable metric
|
100
|
+
towards code quality. This is another take on the matter, for ruby code, using the
|
101
|
+
`churn` and `flog` projects.
|
102
|
+
email:
|
103
|
+
- julian@julianrubisch.at
|
104
|
+
executables: []
|
105
|
+
extensions: []
|
106
|
+
extra_rdoc_files: []
|
107
|
+
files:
|
108
|
+
- MIT-LICENSE
|
109
|
+
- README.md
|
110
|
+
- Rakefile
|
111
|
+
- app/assets/config/attractor_rails_manifest.js
|
112
|
+
- app/assets/images/attractor_favicon.png
|
113
|
+
- app/assets/images/attractor_logo.png
|
114
|
+
- app/assets/images/attractor_logo.svg
|
115
|
+
- app/assets/images/attractor_logo@2x.png
|
116
|
+
- app/assets/stylesheets/attractor/rails/application.css
|
117
|
+
- app/controllers/attractor/rails/application_controller.rb
|
118
|
+
- app/controllers/attractor/rails/application_controller.rb~
|
119
|
+
- app/controllers/attractor/rails/reporter_controller.rb
|
120
|
+
- app/controllers/attractor/rails/reporter_controller.rb~
|
121
|
+
- app/helpers/attractor/rails/application_helper.rb
|
122
|
+
- app/jobs/attractor/rails/application_job.rb
|
123
|
+
- app/mailers/attractor/rails/application_mailer.rb
|
124
|
+
- app/models/attractor/rails/application_record.rb
|
125
|
+
- app/views/attractor/rails/reporter/index.html.erb
|
126
|
+
- app/views/attractor/rails/reporter/index.html.erb~
|
127
|
+
- app/views/layouts/attractor/rails/application.html.erb
|
128
|
+
- config/routes.rb
|
129
|
+
- config/routes.rb~
|
130
|
+
- lib/attractor/rails.rb
|
131
|
+
- lib/attractor/rails.rb~
|
132
|
+
- lib/attractor/rails/engine.rb
|
133
|
+
- lib/attractor/rails/version.rb
|
134
|
+
- lib/attractor/reporters/rails_reporter.rb
|
135
|
+
- lib/attractor/reporters/rails_reporter.rb~
|
136
|
+
- lib/tasks/attractor/rails_tasks.rake
|
137
|
+
homepage: https://github.com/julianrubisch/attractor-rails
|
138
|
+
licenses:
|
139
|
+
- MIT
|
140
|
+
metadata: {}
|
141
|
+
post_install_message:
|
142
|
+
rdoc_options: []
|
143
|
+
require_paths:
|
144
|
+
- lib
|
145
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - ">="
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
requirements: []
|
156
|
+
rubygems_version: 3.1.2
|
157
|
+
signing_key:
|
158
|
+
specification_version: 4
|
159
|
+
summary: Churn vs Complexity Chart Generator
|
160
|
+
test_files: []
|