commit 24b11dace60a2a893c40965d092f1a8cb8edbbeb Author: Miguel Nogueira Date: Wed May 8 11:21:49 2024 +0100 First commit diff --git a/.cache/nix/binary-cache-v6.sqlite b/.cache/nix/binary-cache-v6.sqlite new file mode 100644 index 0000000..1da5052 Binary files /dev/null and b/.cache/nix/binary-cache-v6.sqlite differ diff --git a/.cache/nix/binary-cache-v6.sqlite-journal b/.cache/nix/binary-cache-v6.sqlite-journal new file mode 100644 index 0000000..e69de29 diff --git a/.cache/replit/__replit_disk_meta.json b/.cache/replit/__replit_disk_meta.json new file mode 100644 index 0000000..9dfdd54 --- /dev/null +++ b/.cache/replit/__replit_disk_meta.json @@ -0,0 +1 @@ +{"nonce":2912274208777723537,"last_updated":{"seconds":1693331088,"nanos":625452000}} diff --git a/.cache/replit/modules.stamp b/.cache/replit/modules.stamp new file mode 100644 index 0000000..e69de29 diff --git a/.cache/replit/modules/replit_v9-20240429-0325cbb.res b/.cache/replit/modules/replit_v9-20240429-0325cbb.res new file mode 100644 index 0000000..ded9241 --- /dev/null +++ b/.cache/replit/modules/replit_v9-20240429-0325cbb.res @@ -0,0 +1 @@ +{"type":"resolve","resolvedModuleId":"replit:v9-20240429-0325cbb","inputHash":"","resolutionPath":["replit","replit:v1-20231211-d5ddcff","replit:v2-20240117-0bd73cd","replit:v3-20240123-c72e35a","replit:v4-20240206-fdbd396","replit:v5-20240209-9e3a339","replit:v6-20240315-3def760","replit:v7-20240319-38caddd","replit:v8-20240329-787bc7d","replit:v9-20240429-0325cbb"],"error":"","Changed":true} diff --git a/.cache/replit/modules/ruby-3.2_v11-20240429-0325cbb.res b/.cache/replit/modules/ruby-3.2_v11-20240429-0325cbb.res new file mode 100644 index 0000000..a398655 --- /dev/null +++ b/.cache/replit/modules/ruby-3.2_v11-20240429-0325cbb.res @@ -0,0 +1 @@ +{"type":"resolve","resolvedModuleId":"ruby-3.2:v11-20240429-0325cbb","inputHash":"","resolutionPath":["ruby-3.2:v6-20240209-9e3a339","ruby-3.2:v7-20240216-98f4cde","ruby-3.2:v8-20240315-3def760","ruby-3.2:v9-20240319-38caddd","ruby-3.2:v10-20240329-787bc7d","ruby-3.2:v11-20240429-0325cbb"],"error":"","Changed":true} diff --git a/.cache/replit/nix/env.json b/.cache/replit/nix/env.json new file mode 100644 index 0000000..bfc7397 --- /dev/null +++ b/.cache/replit/nix/env.json @@ -0,0 +1 @@ +{"entries":{"replit.nix":{"env":{"AR":"ar","AS":"as","CC":"gcc","CONFIG_SHELL":"/nix/store/dsd5gz46hdbdk2rfdimqddhq6m8m8fqs-bash-5.1-p16/bin/bash","CXX":"g++","GEM_PATH":"/nix/store/4k9x20hf37rjdirha3kzdcif81v4y19q-ruby3.1.2-solargraph-0.47.2/lib/ruby/gems/3.1.0:/nix/store/skvm0yfldlnrmap31qpg39lplhrzd57b-ruby3.1.2-backport-1.2.0/lib/ruby/gems/3.1.0:/nix/store/s4yj4xwv890vcdq5yn743a7jgkb99v5z-ruby3.1.2-benchmark-0.2.0/lib/ruby/gems/3.1.0:/nix/store/1i1nk04k246jkr9l5fsvqbfqqqrbyq3j-ruby3.1.2-diff-lcs-1.5.0/lib/ruby/gems/3.1.0:/nix/store/p4wn8y5rz2c1jgr6hvbd3q62cb5gx6qr-ruby3.1.2-e2mmap-0.1.0/lib/ruby/gems/3.1.0:/nix/store/x4nkkqrpchz8i5dyjcnnvmfx68q88bps-ruby3.1.2-jaro_winkler-1.5.4/lib/ruby/gems/3.1.0:/nix/store/csassbwwaas706pgnlgmcy6g0syjn4id-ruby3.1.2-kramdown-2.3.2/lib/ruby/gems/3.1.0:/nix/store/amjnfbyl33cmz344f9qn12qxdrb8p9z8-ruby3.1.2-rexml-3.2.5/lib/ruby/gems/3.1.0:/nix/store/irg3bzp6yw46qrmy19vw0shiw64kfx4z-ruby3.1.2-kramdown-parser-gfm-1.1.0/lib/ruby/gems/3.1.0:/nix/store/2gj2563ywp55l3s2kvn1n9vq74c8v505-ruby3.1.2-parser-3.1.2.1/lib/ruby/gems/3.1.0:/nix/store/p6iz9fz79bzs1n3gsl0mibq3p2jr9ky2-ruby3.1.2-ast-2.4.2/lib/ruby/gems/3.1.0:/nix/store/mph9c26f14jwmkf6qclbx2wdjs9rrplr-ruby3.1.2-reverse_markdown-2.1.1/lib/ruby/gems/3.1.0:/nix/store/sgqmr1njgznz91q51cygrx0q6k12ysnh-ruby3.1.2-nokogiri-1.13.9/lib/ruby/gems/3.1.0:/nix/store/gzhdxh9yirmv7qcgwwpgnnba8yvqw6ma-ruby3.1.2-mini_portile2-2.8.0/lib/ruby/gems/3.1.0:/nix/store/zny214qbv39p4rh3h3n0fwla83jrkjnx-ruby3.1.2-racc-1.6.0/lib/ruby/gems/3.1.0:/nix/store/amh26rd8csfkjxc2rsizxxkcq6k84w7i-ruby3.1.2-rubocop-1.37.1/lib/ruby/gems/3.1.0:/nix/store/n80w2700d1206saiy2vf2j03xmlg7if3-ruby3.1.2-json-2.6.2/lib/ruby/gems/3.1.0:/nix/store/xq96kc2hm7bx83i58i85mfbl8b8gyl8a-ruby3.1.2-parallel-1.22.1/lib/ruby/gems/3.1.0:/nix/store/bki8qhhvhh2ypzb2xxwi2f5p9w747i9l-ruby3.1.2-rainbow-3.1.1/lib/ruby/gems/3.1.0:/nix/store/dqy4lpswkhsd17bjcxaxb63cs0ap7hwk-ruby3.1.2-regexp_parser-2.6.0/lib/ruby/gems/3.1.0:/nix/store/36asy7c7d4invvb38g6sy33nymyzz9ma-ruby3.1.2-rubocop-ast-1.23.0/lib/ruby/gems/3.1.0:/nix/store/jnwsdbz1bmrl4hdpwalibbyvffmyzfgl-ruby3.1.2-ruby-progressbar-1.11.0/lib/ruby/gems/3.1.0:/nix/store/28fc9y8gql9nciyq7a94c4xvh4w9mkvy-ruby3.1.2-unicode-display_width-1.8.0/lib/ruby/gems/3.1.0:/nix/store/yszh5g6mlzwglsswzcgmfqc9w7w9lr5x-ruby3.1.2-thor-1.2.1/lib/ruby/gems/3.1.0:/nix/store/42l63g28cy6mksswwgdgnqq754gni1mc-ruby3.1.2-tilt-2.0.11/lib/ruby/gems/3.1.0:/nix/store/1ksxbvc581igxacc2d2dvcch3fjsyw43-ruby3.1.2-yard-0.9.28/lib/ruby/gems/3.1.0:/nix/store/kcghpn3as045ipznfkzsjwa9ckvq33i4-ruby3.1.2-webrick-1.7.0/lib/ruby/gems/3.1.0:/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/lib/ruby/gems/3.1.0","HOST_PATH":"/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/bin:/nix/store/4k9x20hf37rjdirha3kzdcif81v4y19q-ruby3.1.2-solargraph-0.47.2/bin:/nix/store/skvm0yfldlnrmap31qpg39lplhrzd57b-ruby3.1.2-backport-1.2.0/bin:/nix/store/s4yj4xwv890vcdq5yn743a7jgkb99v5z-ruby3.1.2-benchmark-0.2.0/bin:/nix/store/1i1nk04k246jkr9l5fsvqbfqqqrbyq3j-ruby3.1.2-diff-lcs-1.5.0/bin:/nix/store/p4wn8y5rz2c1jgr6hvbd3q62cb5gx6qr-ruby3.1.2-e2mmap-0.1.0/bin:/nix/store/x4nkkqrpchz8i5dyjcnnvmfx68q88bps-ruby3.1.2-jaro_winkler-1.5.4/bin:/nix/store/csassbwwaas706pgnlgmcy6g0syjn4id-ruby3.1.2-kramdown-2.3.2/bin:/nix/store/amjnfbyl33cmz344f9qn12qxdrb8p9z8-ruby3.1.2-rexml-3.2.5/bin:/nix/store/irg3bzp6yw46qrmy19vw0shiw64kfx4z-ruby3.1.2-kramdown-parser-gfm-1.1.0/bin:/nix/store/2gj2563ywp55l3s2kvn1n9vq74c8v505-ruby3.1.2-parser-3.1.2.1/bin:/nix/store/p6iz9fz79bzs1n3gsl0mibq3p2jr9ky2-ruby3.1.2-ast-2.4.2/bin:/nix/store/mph9c26f14jwmkf6qclbx2wdjs9rrplr-ruby3.1.2-reverse_markdown-2.1.1/bin:/nix/store/sgqmr1njgznz91q51cygrx0q6k12ysnh-ruby3.1.2-nokogiri-1.13.9/bin:/nix/store/gzhdxh9yirmv7qcgwwpgnnba8yvqw6ma-ruby3.1.2-mini_portile2-2.8.0/bin:/nix/store/zny214qbv39p4rh3h3n0fwla83jrkjnx-ruby3.1.2-racc-1.6.0/bin:/nix/store/amh26rd8csfkjxc2rsizxxkcq6k84w7i-ruby3.1.2-rubocop-1.37.1/bin:/nix/store/n80w2700d1206saiy2vf2j03xmlg7if3-ruby3.1.2-json-2.6.2/bin:/nix/store/xq96kc2hm7bx83i58i85mfbl8b8gyl8a-ruby3.1.2-parallel-1.22.1/bin:/nix/store/bki8qhhvhh2ypzb2xxwi2f5p9w747i9l-ruby3.1.2-rainbow-3.1.1/bin:/nix/store/dqy4lpswkhsd17bjcxaxb63cs0ap7hwk-ruby3.1.2-regexp_parser-2.6.0/bin:/nix/store/36asy7c7d4invvb38g6sy33nymyzz9ma-ruby3.1.2-rubocop-ast-1.23.0/bin:/nix/store/jnwsdbz1bmrl4hdpwalibbyvffmyzfgl-ruby3.1.2-ruby-progressbar-1.11.0/bin:/nix/store/28fc9y8gql9nciyq7a94c4xvh4w9mkvy-ruby3.1.2-unicode-display_width-1.8.0/bin:/nix/store/yszh5g6mlzwglsswzcgmfqc9w7w9lr5x-ruby3.1.2-thor-1.2.1/bin:/nix/store/42l63g28cy6mksswwgdgnqq754gni1mc-ruby3.1.2-tilt-2.0.11/bin:/nix/store/1ksxbvc581igxacc2d2dvcch3fjsyw43-ruby3.1.2-yard-0.9.28/bin:/nix/store/kcghpn3as045ipznfkzsjwa9ckvq33i4-ruby3.1.2-webrick-1.7.0/bin:/nix/store/a7gvj343m05j2s32xcnwr35v31ynlypr-coreutils-9.1/bin:/nix/store/mydc6f4k2z73xlcz7ilif3v2lcaiqvza-findutils-4.9.0/bin:/nix/store/j9p3g8472iijd50vhdprx0nmk2fqn5gv-diffutils-3.8/bin:/nix/store/89zs7rms6x00xfq4dq6m7mjnhkr8a6r4-gnused-4.8/bin:/nix/store/86bp03jkmsl6f92w0yzg4s59g5mhxwmy-gnugrep-3.7/bin:/nix/store/hwcdqw4jrjnd37wxqgsd47hd0j8bnj09-gawk-5.1.1/bin:/nix/store/cfbhw8r8ags41vwqaz47r583d0p4h4a1-gnutar-1.34/bin:/nix/store/p3m1ndl1lapwrlh698bnb5lvvxh67378-gzip-1.12/bin:/nix/store/a8mhcagrsly7c7mpjrpsnaahk4aax056-bzip2-1.0.8-bin/bin:/nix/store/mblgz65m3zv9x548a3d5m96fj2pbwr09-gnumake-4.3/bin:/nix/store/dsd5gz46hdbdk2rfdimqddhq6m8m8fqs-bash-5.1-p16/bin:/nix/store/v7ljksji50mg3w61dykaa3n3y79n6nil-patch-2.7.6/bin:/nix/store/zlcnmqq14jz5x9439jf937mvayyl63da-xz-5.2.7-bin/bin:/nix/store/y6aj732zm9m87c82fpvf103a1xb22blp-file-5.43/bin","LD":"ld","LD_LIBRARY_PATH":"/nix/store/q4hrphx851xvkcnyyvqqyf1yjgmkmiar-mesa-22.2.3-drivers/lib:/nix/store/cxhib72pd7n3fzl1yh6lrm4q16l42kws-libglvnd-1.5.0/lib:/nix/store/bvihhgw8bh6cqqlj0d4s8cvmm4mqmzfc-pulseaudio-16.1/lib","LOCALE_ARCHIVE":"/usr/lib/locale/locale-archive","NIX_BINTOOLS":"/nix/store/1d6ian3r8kdzspw8hacjhl3xkp40g1lj-binutils-wrapper-2.39","NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu":"1","NIX_BUILD_CORES":"4","NIX_BUILD_TOP":"/tmp","NIX_CC":"/nix/store/dq0xwmsk1g0i2ayg6pb7y87na2knzylh-gcc-wrapper-11.3.0","NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu":"1","NIX_CFLAGS_COMPILE":" -frandom-seed=zh14szrvfh -isystem /nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/include -isystem /nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/include","NIX_ENFORCE_NO_NATIVE":"1","NIX_HARDENING_ENABLE":"fortify stackprotector pic strictoverflow format relro bindnow","NIX_INDENT_MAKE":"1","NIX_LDFLAGS":"-rpath /nix/store/zh14szrvfh0sci4sh2zbn5scwjkp5ncg-nix-shell/lib64 -rpath /nix/store/zh14szrvfh0sci4sh2zbn5scwjkp5ncg-nix-shell/lib -L/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/lib -L/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/lib","NIX_STORE":"/nix/store","NM":"nm","OBJCOPY":"objcopy","OBJDUMP":"objdump","PATH":"/nix/store/bap4d0lpcrhpwmpb8ayjcgkmvfj62lnq-bash-interactive-5.1-p16/bin:/nix/store/pr5n59mb4jzmfx6kanwxly0l07p861fg-patchelf-0.15.0/bin:/nix/store/dq0xwmsk1g0i2ayg6pb7y87na2knzylh-gcc-wrapper-11.3.0/bin:/nix/store/1gf2flfqnpqbr1b4p4qz2f72y42bs56r-gcc-11.3.0/bin:/nix/store/57xv61c5zi8pphjbcwxxjlgc34p61ic9-glibc-2.35-163-bin/bin:/nix/store/a7gvj343m05j2s32xcnwr35v31ynlypr-coreutils-9.1/bin:/nix/store/1d6ian3r8kdzspw8hacjhl3xkp40g1lj-binutils-wrapper-2.39/bin:/nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin:/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/bin:/nix/store/4k9x20hf37rjdirha3kzdcif81v4y19q-ruby3.1.2-solargraph-0.47.2/bin:/nix/store/skvm0yfldlnrmap31qpg39lplhrzd57b-ruby3.1.2-backport-1.2.0/bin:/nix/store/s4yj4xwv890vcdq5yn743a7jgkb99v5z-ruby3.1.2-benchmark-0.2.0/bin:/nix/store/1i1nk04k246jkr9l5fsvqbfqqqrbyq3j-ruby3.1.2-diff-lcs-1.5.0/bin:/nix/store/p4wn8y5rz2c1jgr6hvbd3q62cb5gx6qr-ruby3.1.2-e2mmap-0.1.0/bin:/nix/store/x4nkkqrpchz8i5dyjcnnvmfx68q88bps-ruby3.1.2-jaro_winkler-1.5.4/bin:/nix/store/csassbwwaas706pgnlgmcy6g0syjn4id-ruby3.1.2-kramdown-2.3.2/bin:/nix/store/amjnfbyl33cmz344f9qn12qxdrb8p9z8-ruby3.1.2-rexml-3.2.5/bin:/nix/store/irg3bzp6yw46qrmy19vw0shiw64kfx4z-ruby3.1.2-kramdown-parser-gfm-1.1.0/bin:/nix/store/2gj2563ywp55l3s2kvn1n9vq74c8v505-ruby3.1.2-parser-3.1.2.1/bin:/nix/store/p6iz9fz79bzs1n3gsl0mibq3p2jr9ky2-ruby3.1.2-ast-2.4.2/bin:/nix/store/mph9c26f14jwmkf6qclbx2wdjs9rrplr-ruby3.1.2-reverse_markdown-2.1.1/bin:/nix/store/sgqmr1njgznz91q51cygrx0q6k12ysnh-ruby3.1.2-nokogiri-1.13.9/bin:/nix/store/gzhdxh9yirmv7qcgwwpgnnba8yvqw6ma-ruby3.1.2-mini_portile2-2.8.0/bin:/nix/store/zny214qbv39p4rh3h3n0fwla83jrkjnx-ruby3.1.2-racc-1.6.0/bin:/nix/store/amh26rd8csfkjxc2rsizxxkcq6k84w7i-ruby3.1.2-rubocop-1.37.1/bin:/nix/store/n80w2700d1206saiy2vf2j03xmlg7if3-ruby3.1.2-json-2.6.2/bin:/nix/store/xq96kc2hm7bx83i58i85mfbl8b8gyl8a-ruby3.1.2-parallel-1.22.1/bin:/nix/store/bki8qhhvhh2ypzb2xxwi2f5p9w747i9l-ruby3.1.2-rainbow-3.1.1/bin:/nix/store/dqy4lpswkhsd17bjcxaxb63cs0ap7hwk-ruby3.1.2-regexp_parser-2.6.0/bin:/nix/store/36asy7c7d4invvb38g6sy33nymyzz9ma-ruby3.1.2-rubocop-ast-1.23.0/bin:/nix/store/jnwsdbz1bmrl4hdpwalibbyvffmyzfgl-ruby3.1.2-ruby-progressbar-1.11.0/bin:/nix/store/28fc9y8gql9nciyq7a94c4xvh4w9mkvy-ruby3.1.2-unicode-display_width-1.8.0/bin:/nix/store/yszh5g6mlzwglsswzcgmfqc9w7w9lr5x-ruby3.1.2-thor-1.2.1/bin:/nix/store/42l63g28cy6mksswwgdgnqq754gni1mc-ruby3.1.2-tilt-2.0.11/bin:/nix/store/1ksxbvc581igxacc2d2dvcch3fjsyw43-ruby3.1.2-yard-0.9.28/bin:/nix/store/kcghpn3as045ipznfkzsjwa9ckvq33i4-ruby3.1.2-webrick-1.7.0/bin:/nix/store/a7gvj343m05j2s32xcnwr35v31ynlypr-coreutils-9.1/bin:/nix/store/mydc6f4k2z73xlcz7ilif3v2lcaiqvza-findutils-4.9.0/bin:/nix/store/j9p3g8472iijd50vhdprx0nmk2fqn5gv-diffutils-3.8/bin:/nix/store/89zs7rms6x00xfq4dq6m7mjnhkr8a6r4-gnused-4.8/bin:/nix/store/86bp03jkmsl6f92w0yzg4s59g5mhxwmy-gnugrep-3.7/bin:/nix/store/hwcdqw4jrjnd37wxqgsd47hd0j8bnj09-gawk-5.1.1/bin:/nix/store/cfbhw8r8ags41vwqaz47r583d0p4h4a1-gnutar-1.34/bin:/nix/store/p3m1ndl1lapwrlh698bnb5lvvxh67378-gzip-1.12/bin:/nix/store/a8mhcagrsly7c7mpjrpsnaahk4aax056-bzip2-1.0.8-bin/bin:/nix/store/mblgz65m3zv9x548a3d5m96fj2pbwr09-gnumake-4.3/bin:/nix/store/dsd5gz46hdbdk2rfdimqddhq6m8m8fqs-bash-5.1-p16/bin:/nix/store/v7ljksji50mg3w61dykaa3n3y79n6nil-patch-2.7.6/bin:/nix/store/zlcnmqq14jz5x9439jf937mvayyl63da-xz-5.2.7-bin/bin:/nix/store/y6aj732zm9m87c82fpvf103a1xb22blp-file-5.43/bin","RANLIB":"ranlib","READELF":"readelf","REPLIT_LD_LIBRARY_PATH":"/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/lib:/nix/store/4k9x20hf37rjdirha3kzdcif81v4y19q-ruby3.1.2-solargraph-0.47.2/lib","RUBYLIB":"/nix/store/4k9x20hf37rjdirha3kzdcif81v4y19q-ruby3.1.2-solargraph-0.47.2/lib/ruby/gems/3.1.0/gems/solargraph-0.47.2/lib:/nix/store/skvm0yfldlnrmap31qpg39lplhrzd57b-ruby3.1.2-backport-1.2.0/lib/ruby/gems/3.1.0/gems/backport-1.2.0/lib:/nix/store/s4yj4xwv890vcdq5yn743a7jgkb99v5z-ruby3.1.2-benchmark-0.2.0/lib/ruby/gems/3.1.0/gems/benchmark-0.2.0/lib:/nix/store/1i1nk04k246jkr9l5fsvqbfqqqrbyq3j-ruby3.1.2-diff-lcs-1.5.0/lib/ruby/gems/3.1.0/gems/diff-lcs-1.5.0/lib:/nix/store/p4wn8y5rz2c1jgr6hvbd3q62cb5gx6qr-ruby3.1.2-e2mmap-0.1.0/lib/ruby/gems/3.1.0/gems/e2mmap-0.1.0/lib:/nix/store/x4nkkqrpchz8i5dyjcnnvmfx68q88bps-ruby3.1.2-jaro_winkler-1.5.4/lib/ruby/gems/3.1.0/gems/jaro_winkler-1.5.4/lib:/nix/store/csassbwwaas706pgnlgmcy6g0syjn4id-ruby3.1.2-kramdown-2.3.2/lib/ruby/gems/3.1.0/gems/kramdown-2.3.2/lib:/nix/store/amjnfbyl33cmz344f9qn12qxdrb8p9z8-ruby3.1.2-rexml-3.2.5/lib/ruby/gems/3.1.0/gems/rexml-3.2.5/lib:/nix/store/irg3bzp6yw46qrmy19vw0shiw64kfx4z-ruby3.1.2-kramdown-parser-gfm-1.1.0/lib/ruby/gems/3.1.0/gems/kramdown-parser-gfm-1.1.0/lib:/nix/store/2gj2563ywp55l3s2kvn1n9vq74c8v505-ruby3.1.2-parser-3.1.2.1/lib/ruby/gems/3.1.0/gems/parser-3.1.2.1/lib:/nix/store/p6iz9fz79bzs1n3gsl0mibq3p2jr9ky2-ruby3.1.2-ast-2.4.2/lib/ruby/gems/3.1.0/gems/ast-2.4.2/lib:/nix/store/mph9c26f14jwmkf6qclbx2wdjs9rrplr-ruby3.1.2-reverse_markdown-2.1.1/lib/ruby/gems/3.1.0/gems/reverse_markdown-2.1.1/lib:/nix/store/sgqmr1njgznz91q51cygrx0q6k12ysnh-ruby3.1.2-nokogiri-1.13.9/lib/ruby/gems/3.1.0/gems/nokogiri-1.13.9/lib:/nix/store/gzhdxh9yirmv7qcgwwpgnnba8yvqw6ma-ruby3.1.2-mini_portile2-2.8.0/lib/ruby/gems/3.1.0/gems/mini_portile2-2.8.0/lib:/nix/store/zny214qbv39p4rh3h3n0fwla83jrkjnx-ruby3.1.2-racc-1.6.0/lib/ruby/gems/3.1.0/gems/racc-1.6.0/lib:/nix/store/amh26rd8csfkjxc2rsizxxkcq6k84w7i-ruby3.1.2-rubocop-1.37.1/lib/ruby/gems/3.1.0/gems/rubocop-1.37.1/lib:/nix/store/n80w2700d1206saiy2vf2j03xmlg7if3-ruby3.1.2-json-2.6.2/lib/ruby/gems/3.1.0/gems/json-2.6.2/lib:/nix/store/xq96kc2hm7bx83i58i85mfbl8b8gyl8a-ruby3.1.2-parallel-1.22.1/lib/ruby/gems/3.1.0/gems/parallel-1.22.1/lib:/nix/store/bki8qhhvhh2ypzb2xxwi2f5p9w747i9l-ruby3.1.2-rainbow-3.1.1/lib/ruby/gems/3.1.0/gems/rainbow-3.1.1/lib:/nix/store/dqy4lpswkhsd17bjcxaxb63cs0ap7hwk-ruby3.1.2-regexp_parser-2.6.0/lib/ruby/gems/3.1.0/gems/regexp_parser-2.6.0/lib:/nix/store/36asy7c7d4invvb38g6sy33nymyzz9ma-ruby3.1.2-rubocop-ast-1.23.0/lib/ruby/gems/3.1.0/gems/rubocop-ast-1.23.0/lib:/nix/store/jnwsdbz1bmrl4hdpwalibbyvffmyzfgl-ruby3.1.2-ruby-progressbar-1.11.0/lib/ruby/gems/3.1.0/gems/ruby-progressbar-1.11.0/lib:/nix/store/28fc9y8gql9nciyq7a94c4xvh4w9mkvy-ruby3.1.2-unicode-display_width-1.8.0/lib/ruby/gems/3.1.0/gems/unicode-display_width-1.8.0/lib:/nix/store/yszh5g6mlzwglsswzcgmfqc9w7w9lr5x-ruby3.1.2-thor-1.2.1/lib/ruby/gems/3.1.0/gems/thor-1.2.1/lib:/nix/store/42l63g28cy6mksswwgdgnqq754gni1mc-ruby3.1.2-tilt-2.0.11/lib/ruby/gems/3.1.0/gems/tilt-2.0.11/lib:/nix/store/1ksxbvc581igxacc2d2dvcch3fjsyw43-ruby3.1.2-yard-0.9.28/lib/ruby/gems/3.1.0/gems/yard-0.9.28/lib:/nix/store/kcghpn3as045ipznfkzsjwa9ckvq33i4-ruby3.1.2-webrick-1.7.0/lib/ruby/gems/3.1.0/gems/webrick-1.7.0/lib:/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/lib/ruby/site_ruby:/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/lib/ruby/site_ruby/3.1.0:/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2/lib/ruby/site_ruby/3.1.0/x86_64-linux","SIZE":"size","SOURCE_DATE_EPOCH":"315532800","STRINGS":"strings","STRIP":"strip","XDG_DATA_DIRS":"/nix/store/pr5n59mb4jzmfx6kanwxly0l07p861fg-patchelf-0.15.0/share","_":"/nix/store/a7gvj343m05j2s32xcnwr35v31ynlypr-coreutils-9.1/bin/env","__ETC_PROFILE_SOURCED":"1","buildInputs":"/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2 /nix/store/4k9x20hf37rjdirha3kzdcif81v4y19q-ruby3.1.2-solargraph-0.47.2","buildPhase":"echo \"------------------------------------------------------------\" \u003e\u003e$out\necho \" WARNING: the existence of this path is not guaranteed.\" \u003e\u003e$out\necho \" It is an internal implementation detail for pkgs.mkShell.\" \u003e\u003e$out\necho \"------------------------------------------------------------\" \u003e\u003e$out\necho \u003e\u003e $out\n# Record all build inputs as runtime dependencies\nexport \u003e\u003e $out\n","builder":"/nix/store/dsd5gz46hdbdk2rfdimqddhq6m8m8fqs-bash-5.1-p16/bin/bash","cmakeFlags":"","configureFlags":"","depsBuildBuild":"","depsBuildBuildPropagated":"","depsBuildTarget":"","depsBuildTargetPropagated":"","depsHostHost":"","depsHostHostPropagated":"","depsTargetTarget":"","depsTargetTargetPropagated":"","doCheck":"","doInstallCheck":"","mesonFlags":"","name":"nix-shell","nativeBuildInputs":"","out":"/nix/store/zh14szrvfh0sci4sh2zbn5scwjkp5ncg-nix-shell","outputs":"out","patches":"","phases":"buildPhase","propagatedBuildInputs":"","propagatedNativeBuildInputs":"","shell":"/nix/store/dsd5gz46hdbdk2rfdimqddhq6m8m8fqs-bash-5.1-p16/bin/bash","shellHook":"","stdenv":"/nix/store/kmfaajdpyyyg319vfqni5jm9wkxjmf73-stdenv-linux","strictDeps":"","system":"x86_64-linux"},"dependencies":[{"path":"replit.nix","mod_time":"2023-12-12T16:28:43.826154418Z"}],"closure":["/nix/store/34xlpp3j3vy7ksn09zh44f1c04w77khf-libunistring-1.0","/nix/store/5mh5019jigj0k14rdnjam1xwk5avn1id-libidn2-2.3.2","/nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163","/nix/store/026hln0aq1hyshaxsdvhg0kmcm6yf45r-zlib-1.2.13","/nix/store/mdck89nsfisflwjv6xv8ydj7dj0sj2pn-gcc-11.3.0-lib","/nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39","/nix/store/9ad850yxw6jfvf3l3dbvp8dh2a3g4j71-libgpg-error-1.45","/nix/store/073j1x6mc31pz9hff2a1nb423kmkl3ii-libassuan-2.5.5","/nix/store/09gxmx43bc0snqc2hf094hnxpx2bb4hh-libXdmcp-1.1.3","/nix/store/57xv61c5zi8pphjbcwxxjlgc34p61ic9-glibc-2.35-163-bin","/nix/store/09gyxf17hs4hkpgnbj1kdz8xk5c3w4mm-getent-glibc-2.35-163","/nix/store/4mxnw95jcm5a27qk60z7yc0gvxp42b9a-openssl-3.0.7","/nix/store/75dl24qd9yvigjkndfqjkhlbwq8i2q87-libcbor-0.9.0","/nix/store/cr5fmwri3601s7724ayjvckhsg6cz4rv-attr-2.5.1","/nix/store/7q41sbf04qcwv75j5bxis6pfjnmshy44-acl-2.3.1","/nix/store/w10in9diaqrcqqxi5lg20n3q2jfpk6pq-zstd-1.5.2","/nix/store/w3sdhqiazzp4iy40wc2g85mv0grg1cx0-xz-5.2.7","/nix/store/86yrrihrf5ghfvrh3j087zhpc9iajsmh-kmod-30-lib","/nix/store/9izprbjfnlk2dn9sqp9af9nci6zncx2l-kexec-tools-2.0.25","/nix/store/lgdq362bvrzc4bg0cb8mj38rsjcmzxsf-gmp-with-cxx-stage4-6.2.1","/nix/store/a7gvj343m05j2s32xcnwr35v31ynlypr-coreutils-9.1","/nix/store/acvafmp652dj67f4g3sdx68n2mg1afz4-util-linux-minimal-2.38.1-lib","/nix/store/dsd5gz46hdbdk2rfdimqddhq6m8m8fqs-bash-5.1-p16","/nix/store/b09kqza5nw7y2jpvb6q4dz9hixrm0ipk-db-4.8.30","/nix/store/mhcgwcc7r208pnwv5j26j58iqvl1yvqj-audit-2.8.5","/nix/store/xf0ssp8s6xjz710q33hspj5dphqhmmc1-libxcrypt-4.4.30","/nix/store/hk0qw5ynzy1h7w4vn4bg6hwirf2a2y56-linux-pam-1.5.2","/nix/store/c7klanhckqpsvv4x2izcyzvfb8vazy4s-shadow-4.11.1","/nix/store/jv63bkng8b3y1zw0qsjrpwz2gsibll82-libcap-ng-0.8.3","/nix/store/asixagjq1jfkbmgi1600j23v394sr58a-util-linux-minimal-2.38.1-bin","/nix/store/1i5ah27gxx3a3fyjyydfwwzqq8ni33i8-ncurses-6.3-p20220507","/nix/store/5gkbi9cfq8hddrfzzjdpvhrw8fsp5xsl-readline-8.1p2","/nix/store/bap4d0lpcrhpwmpb8ayjcgkmvfj62lnq-bash-interactive-5.1-p16","/nix/store/c8byvs0rj8vg5cpm5mswcg5dvp7d5ir7-libseccomp-2.5.4-lib","/nix/store/inhqw7zx59hxa0r9am0kw3ip88hpbbrw-kmod-30","/nix/store/jijvvmbza698qa6yjgr1ndgdgyryvq1i-libcap-2.66-lib","/nix/store/ysl6qj5r7nn63b16954dhk7x47r5yq7i-bzip2-1.0.8","/nix/store/a8mhcagrsly7c7mpjrpsnaahk4aax056-bzip2-1.0.8-bin","/nix/store/1dgws25664p544znpc6f1nh9xmjf4ykc-pcre-8.45","/nix/store/86bp03jkmsl6f92w0yzg4s59g5mhxwmy-gnugrep-3.7","/nix/store/mb0pcxkmrg0f6k0zaywlnvpk9q3j5ans-zstd-1.5.2-bin","/nix/store/p3m1ndl1lapwrlh698bnb5lvvxh67378-gzip-1.12","/nix/store/zlcnmqq14jz5x9439jf937mvayyl63da-xz-5.2.7-bin","/nix/store/qmp028x2h8k1i032w88h2lhbylfpi1wj-kbd-2.5.1","/nix/store/adnxnv29s3nnrxrv19z5jnqzww0jd1aa-systemd-minimal-251.7","/nix/store/dfxf2gqizhb1gk1p3qv7jgl9gnlqdaf5-pcsclite-1.9.5","/nix/store/0g989zr25nvqrxdbxbwpzdfc1r6f7m9z-libfido2-1.12.0","/nix/store/974czghvkyg72giyf1lcy76f5zl6dgkh-libogg-1.3.5","/nix/store/0ijjp3ff50ahanz7190syxavgjslbb1r-flac-1.4.2","/nix/store/46fw6pyn1zs9y0fwfdbgn4363ill17g9-elfutils-0.188","/nix/store/0snlk51mis3zacmva8lpkd462ck831wh-libbpf-1.0.1","/nix/store/0y971q54v6jm9ss243xhl4y0gnlsm9c8-zlib-1.2.13-dev","/nix/store/i38jcxrwa4fxk2b7acxircpi399kyixw-linux-headers-6.0","/nix/store/4pqv2mwdn88h7xvsm7a5zplrd8sxzvw0-glibc-2.35-163-dev","/nix/store/a1ad8qiqqb9fpg5a9rhlkm44s02sr61p-expand-response-params","/nix/store/1d6ian3r8kdzspw8hacjhl3xkp40g1lj-binutils-wrapper-2.39","/nix/store/1gf2flfqnpqbr1b4p4qz2f72y42bs56r-gcc-11.3.0","/nix/store/5aspvhbacf0knl5yyf0x3cs25inxh016-readline-6.3p08","/nix/store/fzb7khbic8vpcr3m69v6y8qp6jqspdgw-openssl-1.1.1s","/nix/store/hihawjz4vmqsc3izz78jv3kxqsl25kna-libyaml-0.2.5","/nix/store/xghl0l2f6byzqvy06ana2y4isqwa7blw-libffi-3.4.4","/nix/store/zy37gk8w7qvzxcpvl74d2zh1zvfsixj0-ruby-3.1.2","/nix/store/1i1nk04k246jkr9l5fsvqbfqqqrbyq3j-ruby3.1.2-diff-lcs-1.5.0","/nix/store/1i5y55x4b4m9qkx5dqbmr1r6bvrqbanw-multiple-outputs.sh","/nix/store/kcghpn3as045ipznfkzsjwa9ckvq33i4-ruby3.1.2-webrick-1.7.0","/nix/store/1ksxbvc581igxacc2d2dvcch3fjsyw43-ruby3.1.2-yard-0.9.28","/nix/store/6z3agp6jqqdrnrdlsgzbdgw56z8azgr9-npth-1.6","/nix/store/fbd2zvpx1iyisqmq5hn3hdnqs03ycz57-libgcrypt-1.10.1","/nix/store/1nwdvd4bkac2g3a3sd84qbfi4mf07l3y-gnupg-2.3.7","/nix/store/2217a7zw3rdwx96xn9kcjwlcxkhn9qf8-gdbm-1.23","/nix/store/28fc9y8gql9nciyq7a94c4xvh4w9mkvy-ruby3.1.2-unicode-display_width-1.8.0","/nix/store/p6iz9fz79bzs1n3gsl0mibq3p2jr9ky2-ruby3.1.2-ast-2.4.2","/nix/store/2gj2563ywp55l3s2kvn1n9vq74c8v505-ruby3.1.2-parser-3.1.2.1","/nix/store/cjdm2inq3madwqpnnddi59vv5yd89m52-pcre2-10.40","/nix/store/ii8xgfqglbvvaiv4isqpy0s7lhqgxrmy-libselinux-3.3","/nix/store/2k366jrbsra97gjfxwvrhvixjfxdach5-glib-2.74.1","/nix/store/2rgwrp4zwia0ayhhxzw000cnjvr51pxa-lz4-1.9.4","/nix/store/2w5ssck8y4kfcpj2argg0kmaw32ii275-dconf-0.40.0-lib","/nix/store/36asy7c7d4invvb38g6sy33nymyzz9ma-ruby3.1.2-rubocop-ast-1.23.0","/nix/store/3s1pgzk4acxn7rl6l8z2390w70426yb2-lvm2-2.03.16-lib","/nix/store/h5slhj7gqpqh5q4jb00xdbcwbl8vqqa7-libxml2-2.10.3","/nix/store/3vj471wyshkbig35kmrp29cgbdjvg76m-libxslt-1.1.37","/nix/store/42l63g28cy6mksswwgdgnqq754gni1mc-ruby3.1.2-tilt-2.0.11","/nix/store/amjnfbyl33cmz344f9qn12qxdrb8p9z8-ruby3.1.2-rexml-3.2.5","/nix/store/bki8qhhvhh2ypzb2xxwi2f5p9w747i9l-ruby3.1.2-rainbow-3.1.1","/nix/store/dqy4lpswkhsd17bjcxaxb63cs0ap7hwk-ruby3.1.2-regexp_parser-2.6.0","/nix/store/jnwsdbz1bmrl4hdpwalibbyvffmyzfgl-ruby3.1.2-ruby-progressbar-1.11.0","/nix/store/n80w2700d1206saiy2vf2j03xmlg7if3-ruby3.1.2-json-2.6.2","/nix/store/xq96kc2hm7bx83i58i85mfbl8b8gyl8a-ruby3.1.2-parallel-1.22.1","/nix/store/amh26rd8csfkjxc2rsizxxkcq6k84w7i-ruby3.1.2-rubocop-1.37.1","/nix/store/csassbwwaas706pgnlgmcy6g0syjn4id-ruby3.1.2-kramdown-2.3.2","/nix/store/gzhdxh9yirmv7qcgwwpgnnba8yvqw6ma-ruby3.1.2-mini_portile2-2.8.0","/nix/store/irg3bzp6yw46qrmy19vw0shiw64kfx4z-ruby3.1.2-kramdown-parser-gfm-1.1.0","/nix/store/j7v9iqrll6jshp6mmacqfbyc1f8npml8-hook","/nix/store/zlc7yqkwgl16zlbrr1pgkspqqhnkwvcs-libxml2-2.10.3-bin","/nix/store/g682fsmwl8dk9i5g0fnbh5v5m1n8ayx7-libxml2-2.10.3-dev","/nix/store/h2gp34yz6czhchynsgz6jjsbfzdc1hna-libxslt-1.1.37-bin","/nix/store/68sg4r5p3cnmd7bcw2vf87p4qb1n7167-libxslt-1.1.37-dev","/nix/store/zny214qbv39p4rh3h3n0fwla83jrkjnx-ruby3.1.2-racc-1.6.0","/nix/store/sgqmr1njgznz91q51cygrx0q6k12ysnh-ruby3.1.2-nokogiri-1.13.9","/nix/store/mph9c26f14jwmkf6qclbx2wdjs9rrplr-ruby3.1.2-reverse_markdown-2.1.1","/nix/store/p4wn8y5rz2c1jgr6hvbd3q62cb5gx6qr-ruby3.1.2-e2mmap-0.1.0","/nix/store/s4yj4xwv890vcdq5yn743a7jgkb99v5z-ruby3.1.2-benchmark-0.2.0","/nix/store/skvm0yfldlnrmap31qpg39lplhrzd57b-ruby3.1.2-backport-1.2.0","/nix/store/x4nkkqrpchz8i5dyjcnnvmfx68q88bps-ruby3.1.2-jaro_winkler-1.5.4","/nix/store/yszh5g6mlzwglsswzcgmfqc9w7w9lr5x-ruby3.1.2-thor-1.2.1","/nix/store/4k9x20hf37rjdirha3kzdcif81v4y19q-ruby3.1.2-solargraph-0.47.2","/nix/store/4lkjvagv0bqq58qpysfabw66rqrbddgb-expat-2.5.0","/nix/store/59jmzisg8fkm9c125fw384dqq1np602l-move-docs.sh","/nix/store/5bi6hkakf48r8j1nhmhmgbqpij5ka597-sbc-1.4","/nix/store/7sqa8vdyvc3vwh2bq3q7c2kcx1k83iij-libxshmfence-1.3","/nix/store/816qwr4xy058451rbxr0ccyh1v1akhb6-keyutils-1.6.3-lib","/nix/store/89zs7rms6x00xfq4dq6m7mjnhkr8a6r4-gnused-4.8","/nix/store/8gx2zdbvdlhayh3g7006dxipx91rggnh-libelf-0.8.13","/nix/store/8q73rj23w9dms6mq2nwijxsj2lqcmz0r-llvm-14.0.6-lib","/nix/store/8ypkjcki98cwblzc4k0kblxz2zpjqj45-libXau-1.0.9","/nix/store/8zxndz5ag0p6s526c2xyllhk1nrn4c3i-audit-tmpdir.sh","/nix/store/904r2fg24xhnxq7511lqnjy06si0h5j9-libapparmor-3.1.2","/nix/store/94gdvbv86cifg62hblk0397n5x7pb03l-libtool-2.4.7-lib","/nix/store/9iy1ng7h1l6jdmjk157jra8n4hkrfdj1-brotli-1.0.9-lib","/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh","/nix/store/ayr7k5an06pnhpgw2a7zdhvnqzb3chsh-json-c-0.16","/nix/store/cggynsnj7dyk2sxnrr20jvpwcqdiv42f-libpciaccess-0.16","/nix/store/hr321ph174h3whvlvbc0lk5w1n1ljkx7-libdrm-2.4.113","/nix/store/l3y9k2x7cqzcjj9s18z7la9xqsjq6r52-wayland-1.21.0","/nix/store/i16lgq16av602nfyws3ps8dd9yj36dwh-tzdata-2022f","/nix/store/jpj9lx0p2h1vs3gkzj8jh350113bsm84-sqlite-3.39.4","/nix/store/pplp2i09gc4k67a4aayr78a4c04jbqxa-mailcap-2.1.53","/nix/store/zdba9frlxj2ba8ca095win3nphsiiqhb-python3-3.10.8","/nix/store/bk62iwpqiaipgbim564f7zy6prdwpvri-mesa-22.2.3","/nix/store/bnj8d7mvbkg3vdb07yz74yhl3g107qq5-patch-shebangs.sh","/nix/store/dj1c4rx8ly8kw6i614plql6vm8595pjq-libasyncns-0.8","/nix/store/h3h96j064p5kdjyw48j80005y99j5rcg-soxr-0.1.3","/nix/store/cfbhw8r8ags41vwqaz47r583d0p4h4a1-gnutar-1.34","/nix/store/g1l4jwmlmab794rb5b3ch3xf0d1168mq-cryptsetup-2.5.0","/nix/store/cph87856yzakak001w00ck5n5cdajl19-libevent-2.1.12","/nix/store/ijz81p08bp812q2bvv77lz9qpfzncibd-gmp-with-cxx-6.2.1","/nix/store/raz5jjjszg123qlmx07dv0w5zjqf2x3y-nettle-3.8.1","/nix/store/gigp6hvw7vn3576dipp0wlkmpp8szs85-unbound-1.17.0-lib","/nix/store/vzrbz3lvmiziy3i79rzmk01wfprhwjh0-libtasn1-4.19.0","/nix/store/h6hww2m19vbc93n6511zvhd810cql278-p11-kit-0.24.1","/nix/store/nsk5b96rl1imwvwpqnkxmqkh0bk9m2dm-dns-root-data-2019-01-11","/nix/store/mq9jfv5yzjr626nszc429pkbg6qc22wa-gnutls-3.7.8","/nix/store/jbvsz76svifygzvvvpi3s6q1zd85b009-libmicrohttpd-0.9.71","/nix/store/cdrs17s1dbdzv0giqvm2lzvxkwrwl6k2-libpcap-1.10.1","/nix/store/idfq8lh60m316bs1958bs1lxffcjxbjm-libnfnetlink-1.0.2","/nix/store/np5midk4wz7xpmwcp4h6ina1jgxwn92h-libmnl-1.0.5","/nix/store/d24wnh2mgf5v70pb7y1yqhx9vjxzdii7-libnetfilter_conntrack-1.0.9","/nix/store/iicq4q8n5adnylc3lixlsmfkznx8h3cr-libnftnl-1.2.4","/nix/store/lq1i7dylhdza29yfpjgvkzfrbpjm4w00-iptables-1.8.8","/nix/store/qz400bwshaqikj5s2qyvh0c9qffgmqik-nghttp2-1.49.0-lib","/nix/store/r7gl900my2fw6k33nxh2r7rzv8nv0s25-libkrb5-1.20","/nix/store/vqq9s0d6fw6kqf3sr5nrzqbys9rhygqd-libssh2-1.10.0","/nix/store/rirzp6ijbcwnxlf0b2n286n587r3z9jw-curl-7.86.0","/nix/store/mbyb9f7k47bisn5y2ga3srda4sasi8yi-tpm2-tss-3.2.0","/nix/store/hlf86vmyh14scxwann44fy3azvc6njaj-systemd-251.7","/nix/store/vhw80flmxy6d7xpqs1h56k629xsmmasz-gfortran-11.3.0-lib","/nix/store/lgx9ccic6miz2wrbjhyw6gzbz12rf0pj-fftw-single-3.3.10","/nix/store/kdd3flb0zgiy336sja4ic8lmrpdl5xr7-speexdsp-1.2.1","/nix/store/g6k7s2waqvz6b4bsj4v3ypb9kf12bhd8-alsa-ucm-conf-1.2.7.1","/nix/store/rrwf2b4dhpigs3mvc6z3nsnlzm0qccmq-alsa-topology-conf-1.2.5.1","/nix/store/l3m7axrj699nx4j024sb0dw0215alsd1-alsa-lib-1.2.7.2","/nix/store/k3k6jmzxfjq1s3la01ffpjv2blqd66lk-libvorbis-1.3.7","/nix/store/kzkg5g476xkdh2xwd27ylmlww4phznmv-libopus-1.3.1","/nix/store/njswbyisabvgk02vi4v22yd1lwl80m7r-libsndfile-1.1.0","/nix/store/srqyvqyr1cp5r192xq8vvg2y694w1vyv-webrtc-audio-processing-0.3.1","/nix/store/xs3v53gpwwpz34aj5h51rz4wxmjfrf08-libxcb-1.14","/nix/store/w3zzhfl4a7xp0xfflz2gawv02y8ba9z8-libX11-1.8.1","/nix/store/y1ffp4g3yl0ijwdl8lgh4hhq3wl8frcc-dbus-1.14.4-lib","/nix/store/bvihhgw8bh6cqqlj0d4s8cvmm4mqmzfc-pulseaudio-16.1","/nix/store/c8n9kcdddp9np665xz6ri61b383nxvz8-move-systemd-user-units.sh","/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh","/nix/store/cr7ldrd6xlq4rgqr99yygy43f77zdk1x-libXfixes-6.0.0","/nix/store/qvvaq9p7lw05r7szvsx3c17ca5x8h982-libXext-1.3.4","/nix/store/cxhib72pd7n3fzl1yh6lrm4q16l42kws-libglvnd-1.5.0","/nix/store/dq0xwmsk1g0i2ayg6pb7y87na2knzylh-gcc-wrapper-11.3.0","/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh","/nix/store/g8xg0i02aqwhgxwd2vnp5ax3d6lrkg1v-strip.sh","/nix/store/hwcdqw4jrjnd37wxqgsd47hd0j8bnj09-gawk-5.1.1","/nix/store/j9p3g8472iijd50vhdprx0nmk2fqn5gv-diffutils-3.8","/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh","/nix/store/kxw6q8v6isaqjm702d71n2421cxamq68-make-symlinks-relative.sh","/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh","/nix/store/mblgz65m3zv9x548a3d5m96fj2pbwr09-gnumake-4.3","/nix/store/mydc6f4k2z73xlcz7ilif3v2lcaiqvza-findutils-4.9.0","/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh","/nix/store/pr5n59mb4jzmfx6kanwxly0l07p861fg-patchelf-0.15.0","/nix/store/xwl6y60ffijfbhxb754dlxk3pkjgw0d2-ed-1.18","/nix/store/v7ljksji50mg3w61dykaa3n3y79n6nil-patch-2.7.6","/nix/store/wlwcf1nw2b21m4gghj70hbg1v7x53ld8-reproducible-builds.sh","/nix/store/y6aj732zm9m87c82fpvf103a1xb22blp-file-5.43","/nix/store/kmfaajdpyyyg319vfqni5jm9wkxjmf73-stdenv-linux","/nix/store/l2p6ikb5wqjcsfnmgcfxmbzi22smr5qa-libXxf86vm-1.1.4","/nix/store/q4hrphx851xvkcnyyvqqyf1yjgmkmiar-mesa-22.2.3-drivers","/nix/store/ij4m9al0qw3kj7ag674b7yr6lv6qryc7-nix-shell"],"channel":"stable-22_11","channel_nix_path":"/nix/store/2jabpzcs368xsjj6swbhb317z5b6zzyw-nixpkgs-stable-22_11-22.11.tar.gz/nixpkgs-stable-22_11","production":null}}} \ No newline at end of file diff --git a/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/core.ser b/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/core.ser new file mode 100644 index 0000000..8cea3e9 Binary files /dev/null and b/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/core.ser differ diff --git a/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/stdlib/json.ser b/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/stdlib/json.ser new file mode 100644 index 0000000..7736b4b Binary files /dev/null and b/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/stdlib/json.ser differ diff --git a/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/stdlib/uri.ser b/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/stdlib/uri.ser new file mode 100644 index 0000000..1ef0a79 Binary files /dev/null and b/.cache/solargraph/ruby-3.2.2/rbs-2.8.4/solargraph-0.50.0/stdlib/uri.ser differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..33c0f8a --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +*.gem +*.rbc +/.config +/coverage/ +/InstalledFiles +/pkg/ +/spec/reports/ +/spec/examples.txt +/test/tmp/ +/test/version_tmp/ +/tmp/ + +# Used by dotenv library to load environment variables. +# .env + +# Ignore Byebug command history file. +.byebug_history + +## Specific to RubyMotion: +.dat* +.repl_history +build/ +*.bridgesupport +build-iPhoneOS/ +build-iPhoneSimulator/ + +## Specific to RubyMotion (use of CocoaPods): +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# +# vendor/Pods/ + +## Documentation cache and generated files: +/.yardoc/ +/_yardoc/ +/doc/ +/rdoc/ + +## Environment normalization: +/.bundle/ +/vendor/bundle +/lib/bundler/man/ + +# for a library or gem, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# Gemfile.lock +# .ruby-version +# .ruby-gemset + +# unless supporting rvm < 1.11.0 or doing something fancy, ignore this: +.rvmrc + +# Used by RuboCop. Remote config files pulled in from inherit_from directive. +# .rubocop-https?--* \ No newline at end of file diff --git a/.replit b/.replit new file mode 100644 index 0000000..d973f57 --- /dev/null +++ b/.replit @@ -0,0 +1,10 @@ +run = "bundle exec ruby main.rb" +hidden = [".bundle"] +entrypoint = "main.rb" +modules = ["ruby-3.2:v6-20240209-9e3a339"] + +[nix] +channel = "stable-23_11" + +[gitHubImport] +requiredFiles = [".replit", "replit.nix"] diff --git a/.upm/store.json b/.upm/store.json new file mode 100644 index 0000000..6db7630 --- /dev/null +++ b/.upm/store.json @@ -0,0 +1 @@ +{"version":2,"languages":{"ruby-bundler":{"specfileHash":"0bee94fb9969f7de9b9f4407817dd18c","lockfileHash":"57de5e0f5e5c8e06679014ee543bbb6f"}}} diff --git a/001_ola_mundo.rb b/001_ola_mundo.rb new file mode 100644 index 0000000..8ca633b --- /dev/null +++ b/001_ola_mundo.rb @@ -0,0 +1,4 @@ +puts("Digite um nome") +nome = gets.chomp.to_s +puts("Olá meu nome é #{nome}") + diff --git a/002_count_chars.rb b/002_count_chars.rb new file mode 100644 index 0000000..e3fb9b3 --- /dev/null +++ b/002_count_chars.rb @@ -0,0 +1,8 @@ +puts("Qual é a string?") +string = gets.chomp.to_s + +unless string.empty? + puts("A string é '#{string}' e tem um comprimento de #{string.size} caracteres") +else + puts("Voce não introduziu uma string") +end \ No newline at end of file diff --git a/003_quote_escape.rb b/003_quote_escape.rb new file mode 100644 index 0000000..4198643 --- /dev/null +++ b/003_quote_escape.rb @@ -0,0 +1,8 @@ +puts("digite uma frase") +frase = gets.chomp.to_s +puts("introduza um autor") +autor = gets.chomp.to_s + +# O [Autor] uma vez disse: "[frase]" +puts("O " + autor + " uma vez disse: " + "\"" + frase + "\"") + diff --git a/004_char_length.rb b/004_char_length.rb new file mode 100644 index 0000000..e3fb9b3 --- /dev/null +++ b/004_char_length.rb @@ -0,0 +1,8 @@ +puts("Qual é a string?") +string = gets.chomp.to_s + +unless string.empty? + puts("A string é '#{string}' e tem um comprimento de #{string.size} caracteres") +else + puts("Voce não introduziu uma string") +end \ No newline at end of file diff --git a/005_mad_libs.rb b/005_mad_libs.rb new file mode 100644 index 0000000..259e710 --- /dev/null +++ b/005_mad_libs.rb @@ -0,0 +1,16 @@ +# Mad lib +# Nome +# Verbo +# Adjetivo +# Advérbio + +puts("Introduz um nome") +nome = gets.chomp.to_s +puts("Introduz um verbo") +verbo = gets.chomp.to_s +puts("Introduz um adjetivo") +adjetivo = gets.chomp.to_s +puts("Introduz um advérbio") +adverbio = gets.chomp.to_s + +puts("Olá, a minha #{nome} #{verbo}, muito #{adjetivo} fugiu #{adverbio}!") \ No newline at end of file diff --git a/006_calculator.rb b/006_calculator.rb new file mode 100644 index 0000000..ba5f4f1 --- /dev/null +++ b/006_calculator.rb @@ -0,0 +1,32 @@ +puts('Qual é o primeiro número') +numero1 = gets.chomp.to_i +puts('Qual é o segundo número') +numero2 = gets.chomp.to_i + +def somar(n1, n2) + n1 + n2 +end + +def sub(n1, n2) + n1 - n2 +end + +def multi(n1, n2) + n1 * n2 +end + +def div(n1, n2) + n1 / n2 +end + +def resto(n1, n2) + n1 % n2 +end + +soma = somar(numero1, numero2) +subtracao = sub(numero1, numero2) +multi = multi(numero1, numero2) +divisao = div(numero1, numero2) +resto = resto(numero1, numero2) + +puts("#{numero1} + #{numero2} = " + soma.to_s + "\n" + "#{numero1} - #{numero2} = " + subtracao.to_s + "\n" + "#{numero1} x #{numero2} = " + multi.to_s + "\n" + "#{numero1} / #{numero2} = " + divisao.to_s + "\n" + "#{numero1} % #{numero2} = " + resto.to_s + "\n") diff --git a/006_retirement_calculator.rb b/006_retirement_calculator.rb new file mode 100644 index 0000000..d571de8 --- /dev/null +++ b/006_retirement_calculator.rb @@ -0,0 +1,17 @@ +puts("Digite a sua idade") +idade = gets.chomp.to_i +puts("Introduza a idade em que se gostaria de reformar") +ano = gets.chomp.to_i + +ano_atual = Time.new.year # 2024 +anos_reforma = ano - idade + + +if anos_reforma > 0 + puts ("O número de anos que faltam para você se reformar: #{anos_reforma}") + puts ("Estamos em #{ano_atual}, pode reformar-se em #{anos_reforma + ano_atual} anos.") +else + puts("Você já devia estar reformado há #{anos_reforma.abs} anos!!") +end + + diff --git a/007_room_area.rb b/007_room_area.rb new file mode 100644 index 0000000..d5d1d79 --- /dev/null +++ b/007_room_area.rb @@ -0,0 +1,24 @@ +FATOR_CONVERSAO = 0.09290304 + +puts('Digite o comprimento:') +comprimento = gets.chomp.to_f +puts('Digite a altura:') +altura = gets.chomp.to_f + +opcoes = %w[Métrico Imperial] + +puts('Qual sistema quer usar? ') +puts("[0] - #{opcoes[0]}\n[1] - #{opcoes[1]}") +opcao = gets.chomp.to_i + +resultado = altura * comprimento + +# m^2 = f^2 * 0.09290304 (Conversão p/ imperial) +conv_imperial_resultado = resultado * FATOR_CONVERSAO + +case opcao +when 0 + puts("A área do retângulo é de #{resultado.round(2)}m2") +when 1 + puts("A área do retângulo é de #{conv_imperial_resultado.round(2)}ft2") +end diff --git a/008_pizza_party.rb b/008_pizza_party.rb new file mode 100644 index 0000000..8f0b4b0 --- /dev/null +++ b/008_pizza_party.rb @@ -0,0 +1,18 @@ +puts("Quantas pessoas há?") +pessoas = gets.chomp.to_i +puts("Quantas pizzas tens?") +pizzas = gets.chomp.to_f +puts("Quantas fatias tem cada pizza?") +fatias = gets.chomp.to_i + +fatias_totais = pizzas * fatias +fatias_pessoa = fatias_totais / pessoas +fatias_restantes = fatias_totais % pessoas + +puts("Cada pessoa pode comer #{fatias_pessoa} fatias (=") + +if fatias_restantes > 0 + puts("Restam #{fatias_restantes} fatias de pizza.") +else + puts("Comeram tudo!") +end \ No newline at end of file diff --git a/009_paint_cans.rb b/009_paint_cans.rb new file mode 100644 index 0000000..479f5bf --- /dev/null +++ b/009_paint_cans.rb @@ -0,0 +1,12 @@ +GALLON = 350 + +puts("Digite a altura") +altura = gets.chomp.to_i +puts("Digite a comprimento") +comprimento = gets.chomp.to_i + +area = altura * comprimento +gallons = (area / 350).ceil + +puts("Você precisa de comprar #{gallons} latas de tinta para cobrir #{area}f2" ) + diff --git a/010_self_checkout.rb b/010_self_checkout.rb new file mode 100644 index 0000000..3124a31 --- /dev/null +++ b/010_self_checkout.rb @@ -0,0 +1,37 @@ +TAX_RATE = 5.5 + +def calculate_tax_for(item_price) + item_price * (TAX_RATE / 100) +end + +puts("How many items are you purchasing?") +total_items = gets.chomp.to_i + +item_quantities = [] +item_prices = [] + +total_items.times do |i| + + puts("Enter price for item #{i + 1}:") + item_prices << gets.chomp.to_f + + puts("Enter quantity for item #{i + 1}: ") + item_quantities << gets.chomp.to_i + +end + +subtotal = 0 +tax = 0 + +item_prices.each do |price| + item_quantities.each do |qty| + subtotal += price * qty + # subtotal = subtotal + price * qty + tax += calculate_tax_for(subtotal) + # tax = tax + (price * qty) * (TAX_RATE / 100) + end +end + +puts("Subtotal: #{subtotal.round(2)}€") +puts("Tax: #{tax.round(2)}€") +puts("Total: #{(subtotal + tax).round(2)}€") \ No newline at end of file diff --git a/011_currency_converter.rb b/011_currency_converter.rb new file mode 100644 index 0000000..161d4c0 --- /dev/null +++ b/011_currency_converter.rb @@ -0,0 +1,35 @@ +#INICIO PARTE OPCIONAL / DESAFIO (!) +require 'uri' +require 'net/http' +require 'json' + +EURUSD = 1.0767 +RATES = "https://open.er-api.com/v6/latest/EUR" + +def get_rate + uri = URI(RATES) + res = Net::HTTP.gete_response(uri) + + if (res.is_a?(Net::HTTPSuccess)) + parsed_body = JSON.parse(res.body) + return parsed_body["rates"]["USD"] + end +end + + +# FIM PARTE OPCIONAL / DESAFIO (!) + +def to_usd(amount) + amount * EURUSD +end + + +puts("Enter the amount the convert from €uros: ") +value = gets.chomp.to_f +puts("Enter the exchange rate for the $U.S. Dollar: ") +rate_usd = gets.chomp.to_f + +# eur to usd: + +puts("#{value} euros at an exchange of #{rate_usd} is #{to_usd(value).round(2)} dollars.") + diff --git a/012_computing_simple_interest.rb b/012_computing_simple_interest.rb new file mode 100644 index 0000000..ed1afe8 --- /dev/null +++ b/012_computing_simple_interest.rb @@ -0,0 +1,14 @@ +# 012_computing_simple_interest + +def calculate_interest_with(principal, rate, num_years) + principal * (rate * num_years) +end + +puts("Enter the principal amount: ") +principal = gets.chomp.to_f +puts("Enter the rate of interest, in %:") +interest = gets.chomp.to_f / 100 +puts("Enter the number of years:") +years = gets.chomp.to_i + +puts("After #{years} years, at #{interest}%, your investment will be worth #{principal + calculate_interest_with(principal, interest, years)}€") \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..25ba946 --- /dev/null +++ b/Gemfile @@ -0,0 +1,5 @@ +source "https://rubygems.org" + +git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } + +# gem "rails" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..543a998 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,11 @@ +GEM + remote: https://rubygems.org/ + specs: + +PLATFORMS + x86_64-linux + +DEPENDENCIES + +BUNDLED WITH + 2.4.10