 INFO jilu v0.13.2 is already installed, use --force to override
 INFO Done in 1.064381ms
# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog], and this project adheres to
[Semantic Versioning]. The file is auto-generated using [Conventional Commits].

[keep a changelog]: https://keepachangelog.com/en/1.0.0/
[semantic versioning]: https://semver.org/spec/v2.0.0.html
[conventional commits]: https://www.conventionalcommits.org/en/v1.0.0/

## Overview

- [unreleased](#unreleased)
- [`0.1.0`](#0.1.0) – _2025.05.02_

## _[Unreleased]_

- chore: Update persona model settings ([#625][pr#625]) ([`27435fe`])
- docs: Color-code RFD links by status ([#623][pr#623]) ([`40ee71f`])
- chore: Add `start_line`/`end_line` paging to diff tools ([#622][pr#622]) ([`a14205d`])
- chore: Add `git_diff_file` and fix deleted-file diff bugs ([#621][pr#621]) ([`4d6432d`])
- ci: Add path filtering, sccache, and `--locked` to CI ([#619][pr#619]) ([`70a63b4`])
- chore: Add `rfd-require` and `Requires` relationship ([#618][pr#618]) ([`e780d48`])
- fix: reject path-absolute hostless URI shortforms ([#617][pr#617]) ([`647e92d`])
- docs: Add draft RFDs for workspace/storage split and event IDs ([#614][pr#614]) ([`bb3e0bb`])
- chore: Remove unused `--no-inherit` flag and add ubiquitous language doc ([#616][pr#616]) ([`d04ffed`])
- chore: Move diff note after the fenced code block ([#615][pr#615]) ([`f2f400e`])
- docs: Add RFDs 074–080 and clarify draft superseding in RFD 001 ([#611][pr#611]) ([`e133113`])
- docs: Overhaul RFD 070 revert design ([#610][pr#610]) ([`7245b04`])
- docs: Replace RFD 038 with "Config Reset Keywords" ([#609][pr#609]) ([`cc4c6cd`])
- chore: Add `<dt>` support to HTML section fetcher ([#607][pr#607]) ([`71212dd`])
- fix: Preserve document-order index for orphaned tool calls ([#604][pr#604]) ([`3dfe708`])
- test: Add tests for model override config delta persistence ([#602][pr#602]) ([`c5e01b7`])
- chore: Add `pr-triage` workflow for reviewing PR feedback ([#601][pr#601]) ([`9b83cab`])
- chore: Migrate configs to `system_prompt_sections` ([#596][pr#596]) ([`76d7335`])
- chore: Add GitHub PR review workflow ([#594][pr#594]) ([`02bb4f6`])
- chore: Fix hunk `+Y` offset when staging a subset of hunks ([#592][pr#592]) ([`3b3e154`])
- fix: Prevent inline spans from bleeding across wrap breaks ([#591][pr#591]) ([`b5bb5ef`])
- chore: Add anti-capitulation rules to default persona ([#589][pr#589]) ([`ea4440b`])
- chore: Treat JSON `null` as absent in `opt` argument parsing ([#588][pr#588]) ([`ee95513`])
- fix: Drop incomplete tool-call buffers on stream drain ([#584][pr#584]) ([`29f8118`])
- fix: Remove `<!-- end list -->` from terminal output ([#583][pr#583]) ([`b7ca244`])
- fix: Detect `extends` cycles and enforce a depth cap ([#582][pr#582]) ([`7a5bf99`])
- fix: Tolerate trailing punctuation in rate-limit retry delays ([#581][pr#581]) ([`b445390`])
- chore: Use content-addressed IDs for diff hunks ([#580][pr#580]) ([`352142e`])
- docs: Move draft RFDs under `docs/rfd/drafts/` ([#579][pr#579]) ([`f7e4a38`])
- feat: Add `chat` style preset to `conversation print` ([#578][pr#578]) ([`4eedf8b`])
- fix: Replace `AutoEscape::Json` with custom formatter ([#575][pr#575]) ([`afda81c`])
- chore: Fix MCP tool style keys and update model aliases ([#574][pr#574]) ([`6374f53`])
- refactor: Always capture reasoning tokens ([#572][pr#572]) ([`716954d`])
- feat: Add `--log` flag for fine-grained log filtering ([#571][pr#571]) ([`63d6e7f`])
- chore: Add markdown-first strategy to `web_fetch` ([#570][pr#570]) ([`78b7109`])
- feat: Add `--style` preset flag to `conversation print` ([#568][pr#568]) ([`9ac9d6d`])
- fix: Skip locked conversations during sanitization ([#567][pr#567]) ([`d8f9ebc`])
- docs: Add RFD 070: Negative Config Deltas ([#564][pr#564]) ([`7d0d5f2`])
- docs: Expose raw markdown source for every page ([#563][pr#563]) ([`b5d9e89`])
- fix: Fix panic in `write_prefix` with short prefix ([#561][pr#561]) ([`b70db56`])
- fix: Fix null rendering and strict-mode nullable schema ([#560][pr#560]) ([`d8d1541`])
- chore: Extract knowledge into reusable files, add RFD reviewer ([#562][pr#562]) ([`abf5a6b`])
- fix: Prevent tool child processes from being killed by SIGINT ([#555][pr#555]) ([`50ed9a2`])
- fix: Isolate MCP server processes from terminal signals ([#554][pr#554]) ([`c9920ab`])
- feat: Add command plugin system (RFD 072) ([#521][pr#521]) ([`24b96d1`])
- chore: Add section discovery and targeted fetch to `web_fetch` ([#552][pr#552]) ([`0977c95`])
- fix: Remove trailing empty turn during sanitize ([#551][pr#551]) ([`fbc9f1b`])
- fix: Prune stale session entries ([#547][pr#547]) ([`b63a168`])
- feat: Add `conversation path`, extend `edit` ([#542][pr#542]) ([`3238767`])
- feat: Add `dedup` option to `MergedVec` ([#537][pr#537]) ([`d15e902`])
- chore: Handle anchor IDs nested inside heading elements ([#534][pr#534]) ([`dd6ac09`])
- chore: Add workspace crate names to project-structure knowledge ([#540][pr#540]) ([`9750891`])
- refactor: Defer tool rendering until approved ([#538][pr#538]) ([`2bb0602`])
- enhance: Read API error body in stream errors ([#536][pr#536]) ([`ac1f2c6`])
- chore: Fix `fs_create_file` response appending modified string ([#535][pr#535]) ([`0ac9cc5`])
- enhance: Improve `--version` output format and binary name ([#533][pr#533]) ([`ed776b2`])
- chore: Extract anchor-targeted section when fetching URLs ([#526][pr#526]) ([`7a6c597`])
- fix: Retry when mid-persist dirs detected ([#525][pr#525]) ([`03b38bb`])
- fix: Prevent premature session-mapping deletion ([#524][pr#524]) ([`628f64f`])
- enhance: Add context lines, sort, and raw mode to `grep` ([#523][pr#523]) ([`88ae4c5`])
- enhance: Add build date to long version string ([#522][pr#522]) ([`2c1f006`])
- refactor: Better typed mergeable fields in `jp_config` ([#520][pr#520]) ([`9ea8e05`])
- feat: Implement four-channel output model ([#519][pr#519]) ([`689b92c`])
- enhance: Use atomic writes for conversation persistence ([#517][pr#517]) ([`d300cdb`])
- fix: Improve schema discovery and wildcard search ([#516][pr#516]) ([`e70cf32`])
- refactor: Introduce typed `EventPart` ([#514][pr#514]) ([`0af019a`])
- feat: Process `--tool`/`--no-tool` flags left-to-right ([#513][pr#513]) ([`9b026f4`])
- chore: update historical conversation configs ([#512][pr#512]) ([`6febb27`])
- chore: Refine tool configs, personas, and skills ([#511][pr#511]) ([`c6bae63`])
- chore: Add sandboxed `unix_utils` tool ([#505][pr#505]) ([`8297bff`])
- enhance: Make `--tmp` toggle expiration ([#509][pr#509]) ([`9e6719b`])
- feat: Add `attachment print` to preview content for the LLM ([#507][pr#507]) ([`a28a042`])
- feat: Add `--last` to `conversation print` ([#503][pr#503]) ([`375b9d1`])
- feat: Tolerate schema evolution in stored `ConfigDelta`s ([#501][pr#501]) ([`5986645`])
- chore: Various tool improvements ([#500][pr#500]) ([`687d0a8`])
- chore: Fix corrupt patch when staging a non-last hunk ([#498][pr#498]) ([`129167c`])
- chore: Replace flat params with `RunnerOpts` in `ProcessRunner` ([#499][pr#499]) ([`a31f905`])
- chore: Fix patches and improve `git_diff` output ([#496][pr#496]) ([`2740172`])
- chore: CI tweaks ([#491][pr#491]) ([`ee48d1a`])
- chore: CI tweaks ([#490][pr#490]) ([`50913db`])
- chore: CI tweaks ([#489][pr#489]) ([`a745090`])
- chore: CI tweaks ([#488][pr#488]) ([`8d18cff`])
- ci: Fix Windows cache key collision in rust CI ([#487][pr#487]) ([`7b51ad3`])
- build: Drop `cargo-quickinstall` bootstrap dep ([#486][pr#486]) ([`b23cdb5`])
- docs: Add RFD 068 forced tool retry without reasoning ([#485][pr#485]) ([`f4fad50`])
- chore: minor tweaks ([#483][pr#483]) ([`c7e7f98`])
- chore: Exclude intent-to-add files from `git_diff` staged output ([#482][pr#482]) ([`4257474`])
- refactor: Move permission phase into streaming loop ([#478][pr#478]) ([`5259d13`])
- chore: Add git history reading tools ([#476][pr#476]) ([`9216d46`])
- chore: Convert HTML to markdown in `web_fetch` ([#475][pr#475]) ([`d94a9aa`])
- docs: Update RFD 020 with revised `--id` flag design ([#473][pr#473]) ([`61ded1c`])
- docs: Add RFD 064 Non-Destructive Conversation Compaction ([#472][pr#472]) ([`b9e1b71`])
- docs: Add RFDs 065, 066, and 067 ([#471][pr#471]) ([`b9bcdcd`])
- docs: Add RFD 063 for Usage-Based Wizard Field Ordering ([#470][pr#470]) ([`19b561f`])
- docs: Add RFD 062 for CLI usage tracking ([#469][pr#469]) ([`0658fda`])
- docs: Add RFD 061 for interactive config browser ([#468][pr#468]) ([`54cf780`])
- fix: Fix env var priority over file config ([#467][pr#467]) ([`6147df9`])
- docs: Add RFD 060 for `--explain` config resolution flag ([#466][pr#466]) ([`2719a85`])
- docs: Add RFD 059, completions and man pages ([#465][pr#465]) ([`ea74542`])
- docs: Add RFD 058 - Typed Content Blocks for Tool Responses ([#464][pr#464]) ([`3a2bc26`])
- docs: Add RFDs 055, 056, 057 for tool groups and group config ([#463][pr#463]) ([`a5e011c`])
- docs: Add RFD 054 for splitting conversation config and events ([#462][pr#462]) ([`1042209`])
- docs: Add RFD 053 for auto-refresh conversation titles ([#461][pr#461]) ([`e4bc697`])
- chore: Use model aliases and nested reasoning in personas ([#458][pr#458]) ([`006b0fa`])
- build: Fix arg handling in just recipes ([#457][pr#457]) ([`ca6285f`])
- docs: Add progressive complexity principles section ([#456][pr#456]) ([`88809b3`])
- chore: Add Rob Pike's 5 Rules of Programming to dev persona ([#455][pr#455]) ([`66e413b`])
- enhance: Add conversation subcommand aliases ([#454][pr#454]) ([`f656681`])
- chore: Improve git tools and composable skills ([#453][pr#453]) ([`27c4174`])
- docs: publish many RFDs I had been hoarding locally ([#451][pr#451]) ([`65036ee`])
- chore: Tweak justfile ([#449][pr#449]) ([`c2dfcc0`])
- enhance: include code and metadata in command errors ([#447][pr#447]) ([`b636cae`])
- refactor: Move inline unit tests to separate files ([#446][pr#446]) ([`14213bd`])
- chore: add per-pattern paths and heuristics to `fs_modify_file` ([#445][pr#445]) ([`5d4b05a`])
- chore: Support env vars for Git tools ([#444][pr#444]) ([`3af5360`])
- refactor: resolve model aliases during initialization ([#439][pr#439]) ([`8d5221d`])
- enhance: improve JSON merging and `null` handling ([#438][pr#438]) ([`b4b7e86`])
- chore: improve git staging for LLM interaction ([#433][pr#433]) ([`15ec2f1`])
- ci: Add Windows testing to CI ([#428][pr#428]) ([`3669250`])
- build: update `rmcp` dependency ([#427][pr#427]) ([`58d4a96`])
- chore: Add `backtrace` parameter to `cargo_test` ([#426][pr#426]) ([`cdda2c9`])
- fix: fallback to other conversations when active is missing ([#425][pr#425]) ([`f1768ba`])
- fix: allow event ID reuse within turns ([#424][pr#424]) ([`eb7da27`])
- fix: improve reasoning support and provider stability ([#420][pr#420]) ([`f98f3b8`])
- docs: add ABNF and WIT syntax highlighting to documentation ([#419][pr#419]) ([`dbbc7e6`])
- docs: improve mobile responsiveness of index page ([#418][pr#418]) ([`7f0a3bf`])
- chore: add `cargo_format` instruction to dev persona ([#417][pr#417]) ([`dbca0f0`])
- build: Refine summary generation with change detection ([#416][pr#416]) ([`c7a34a5`])
- docs: add RFD 031 for durable conversation storage ([#415][pr#415]) ([`2fd5ae6`])
- refactor: Implement turn-scoped mutations ([#414][pr#414]) ([`f0d2cf1`])
- docs: fix broken links ([#413][pr#413]) ([`56a7151`])
- docs: add architecture and RFD documentation ([#412][pr#412]) ([`493fe45`])
- feat: overhaul CLI output and workspace initialization ([#410][pr#410]) ([`d11f209`])
- feat: Implement stream pipeline for query command ([#409][pr#409]) ([`86525fc`])
- chore: upgrade and expand project maintenance tools ([#408][pr#408]) ([`08f200b`])
- enhance: Expand assistant, tool, and style configuration schemas ([#406][pr#406]) ([`23c6033`])
- test: Update test fixtures for provider responses ([#403][pr#403]) ([`f2206fe`])
- feat: implement resilient streaming and native structured output ([#402][pr#402]) ([`2aa928f`])
- feat: enhance events and stream integrity ([#401][pr#401]) ([`7d2e20d`])
- docs: rewrite README and add philosophy documentation ([#405][pr#405]) ([`ed1b364`])
- chore: Update stored conversations structure ([#398][pr#398]) ([`f090bfa`])
- feat: add cargo vet and remove time crate ([#395][pr#395]) ([`01cb573`])
- feat: add system prompt sections and DeepSeek `base_url` ([#391][pr#391]) ([`76444fa`])
- fix: Use correct `Deserialize` impl for enums ([#389][pr#389]) ([`4e6bbb7`])
- enhance: allow boolean and numeric values for styles ([#387][pr#387]) ([`f4f3ea9`])
- enhance: Implement `flush` for `PrinterWriter` ([#386][pr#386]) ([`a056536`])
- refactor: switch to `camino` for UTF-8 path handling ([#385][pr#385]) ([`aeebe98`])
- chore: improve infrastructure and testability ([#384][pr#384]) ([`38392fe`])
- enhance: improve error output for missing required fields ([#379][pr#379]) ([`1db0777`])
- refactor: replace `format_parameters` with `Action` enum ([#377][pr#377]) ([`4e496dc`])
- chore: improve tool implementation and fix bugs ([#375][pr#375]) ([`c960da9`])
- chore: minor refactoring ([#371][pr#371]) ([`5544148`])
- chore: Fix untracked files in context ([#370][pr#370]) ([`beeb2bd`])
- build: Add developer aliases and update personas ([#369][pr#369]) ([`564bd13`])
- chore: Update persona configuration structure and diff exclusions ([#367][pr#367]) ([`ccdbca9`])
- chore: improve internal toolkit functionality ([#364][pr#364]) ([`703f152`])
- chore: Update development conversation logs ([#362][pr#362]) ([`4d3ab75`])
- fix: prevent event loss during conversation moves ([#361][pr#361]) ([`f341310`])
- enhance: improve expired conversation cleanup ([#360][pr#360]) ([`996f44f`])
- enhance: Handle missing environment variables gracefully ([#359][pr#359]) ([`cd36398`])
- feat: add `--new-local` (`-N`) flag to `query` command ([#356][pr#356]) ([`134f180`])
- fix: avoid creating config delta for unchanged model aliases ([#354][pr#354]) ([`9d3cbe3`])
- build: Handle failure in `commit` recipe ([#353][pr#353]) ([`2f2b3ab`])
- fix: prevent dangling pointer in `Mut` wrapper ([#351][pr#351]) ([`587595f`])
- chore: various tweaks and fixes ([#350][pr#350]) ([`2787ca3`])
- build: improve JP integration and developer workflow ([#349][pr#349]) ([`cab8e3e`])
- feat: add `p` option to print raw tool arguments ([#347][pr#347]) ([`f7be603`])
- perf: avoid tree walking for direct paths ([#346][pr#346]) ([`a036002`])
- feat: introduce `EventChain` for stream merging ([#345][pr#345]) ([`afc2f14`])
- perf: use `ahash` for default hashing strategy ([#344][pr#344]) ([`e6dc586`])
- build: Reorganize internal personas and skills ([#343][pr#343]) ([`897abd2`])
- perf: use `RwLock` for `Client` servers and services ([#342][pr#342]) ([`e3ae8f9`])
- enhance: wrap document content in `CDATA` blocks ([#341][pr#341]) ([`8efd092`])
- chore: various tweaks and fixes ([#336][pr#336]) ([`6a6e058`])
- feat: overwrite default values during merge ([#337][pr#337]) ([`9e8e7bb`])
- fix: fix deletion of ephemeral conversations with titles ([#335][pr#335]) ([`036db54`])
- feat: support configuration extension strategies ([#334][pr#334]) ([`522d44d`])
- chore: add `git_unstage` tool to internal toolkit ([#333][pr#333]) ([`4262d3d`])
- feat: support piping query data via stdin ([#332][pr#332]) ([`522e0d1`])
- feat: add `--tmp` flag for ephemeral conversations ([#331][pr#331]) ([`30f3700`])
- perf: optimize `InternalEvent` deserialization ([#330][pr#330]) ([`501797e`])
- chore: add heap profiling infrastructure ([#329][pr#329]) ([`9929fe6`])
- fix: move task execution inside spawn to prevent blocking ([#328][pr#328]) ([`163f0aa`])
- perf: parallelize server initialization ([#327][pr#327]) ([`b616b8f`])
- perf: optimize conversation listing speed ([#326][pr#326]) ([`25a281c`])
- chore: add git diff, stage, and github listing tools ([#324][pr#324]) ([`58af1f1`])
- chore: various tweaks and fixes ([#321][pr#321]) ([`8c58234`])
- chore: Add regex and glob support to `fs_modify_file` tool ([#320][pr#320]) ([`3274c2b`])
- chore: Add Responses API support with enhanced reasoning ([#317][pr#317]) ([`f31f449`])
- chore: add .gitattributes ([#314][pr#314]) ([`f552e1f`])
- refactor: Replace `MessagePair` with `ConversationEvent` ([#237][pr#237]) ([`2f4e5d4`])
- build: Update to Rust Edition 2024 style ([#306][pr#306]) ([`0b86d4d`])
- build: Use stable `assert_matches` crate ([#305][pr#305]) ([`585b5d2`])
- chore: update async-anthropic to reduce git repo size ([#304][pr#304]) ([`b906a21`])
- chore: Replace array parameters with `OneOrMany` ([#285][pr#285]) ([`ca59a5f`])
- enhance: Support `enable` field in tool defaults ([#302][pr#302]) ([`dd22cb0`])
- chore: Update JP project configuration with latest changes ([#301][pr#301]) ([`c47dce7`])
- feat: Add `position` field to control instruction order ([#300][pr#300]) ([`624c6f1`])
- feat: Define model IDs as strings ([#298][pr#298]) ([`4d18267`])
- enhance: Add merge strategy support for `instructions` field ([#297][pr#297]) ([`3f86e8d`])
- chore: Fix `fs_create_file` to actually create new files ([#299][pr#299]) ([`d88dbad`])
- feat: Add merge strategy support for `system_prompt` field ([#295][pr#295]) ([`980486e`])
- feat: Add argument validation for tool calls ([#290][pr#290]) ([`7304e47`])
- build: Update development tool versions ([#294][pr#294]) ([`1b7d9f8`])
- chore: `fs_modify_file` now uses substring-based replacement ([#292][pr#292]) ([`786c9a0`])
- refactor: add `ignore` crate to verbose logging suppressions ([#293][pr#293]) ([`2e44700`])
- chore: Fix `fs_create_file` parameter `contents` to `content` ([#291][pr#291]) ([`50a6d2b`])
- feat: Add interactive tool inquiry system ([#289][pr#289]) ([`7a9f3be`])
- chore: Make `new_string` parameter required in `fs_modify_file` ([#288][pr#288]) ([`8810457`])
- chore: Fix parameter naming in local tool configs ([#286][pr#286]) ([`8ae4900`])
- chore: Standardize `create_file` parameter name and improve output ([#284][pr#284]) ([`aa29d89`])
- enhance: Add structured logging for query execution context ([#283][pr#283]) ([`9f511b5`])
- fix: Prevent retries and tool processing when query is cancelled ([#282][pr#282]) ([`f7299e3`])
- fix: Improve tool inclusion/exclusion precedence in query command ([#281][pr#281]) ([`74250fb`])
- chore: Add technical documentation writer persona ([#280][pr#280]) ([`6476c82`])
- feat: Base64-encode tool call data in stored conversations ([#278][pr#278]) ([`d60f7a8`])
- chore: minor tweaks ([#277][pr#277]) ([`f76c704`])
- feat: Add graceful signal handling and configurable threading ([#276][pr#276]) ([`f4be455`])
- test: Improve testability of `ResponseHandler` and `find_merge_point` ([#275][pr#275]) ([`6de3b53`])
- enhance: Improve empty response retry by appending context to query ([#274][pr#274]) ([`2ed8036`])
- chore: Standardize `git_commit` tool output to XML format ([#272][pr#272]) ([`8a7f312`])
- refactor: Overhaul provider system and streaming ([#271][pr#271]) ([`c223cab`])
- chore: tweak commit persona ([#269][pr#269]) ([`b33c6c9`])
- enhance: Improve instruction XML serialization ([#267][pr#267]) ([`a62ba25`])
- fix: Hard-disable reasoning for unsupported models ([#266][pr#266]) ([`0756804`])
- feat: Add automatic directory recursion ([#265][pr#265]) ([`cd15508`])
- feat: Add model alias support to simplify model configuration ([#264][pr#264]) ([`f813b7e`])
- refactor: Extract query execution logic into smaller focused functions ([#263][pr#263]) ([`d16ee2a`])
- fix: Use dedicated title generation model configuration ([#262][pr#262]) ([`7e1f6d7`])
- fix: Allow including hidden files via explicit patterns ([#261][pr#261]) ([`fd9a424`])
- chore: do not fail CI if coveralls.io is down ([#258][pr#258]) ([`71561fb`])
- fix: Fix configuration precedence in `load_partial` call ([#257][pr#257]) ([`6880c42`])
- refactor: Simplify `Config` -> `PartialConfig` conversion ([#256][pr#256]) ([`bccc9dc`])
- refactor: Improve configuration merging ([#255][pr#255]) ([`3d1ab2b`])
- fix: Auto-rename workspace directories to match expected names ([#254][pr#254]) ([`ebb611a`])
- chore: minor tweaks and fixes ([#252][pr#252]) ([`730302b`])
- feat: Add more verbosity levels ([#251][pr#251]) ([`25a00a0`])
- feat: Allow tool commands as simple strings ([#248][pr#248]) ([`e83d01a`])
- chore: Add `git` and `web` tools and simplified file modification ([#247][pr#247]) ([`af81d3f`])
- refactor: Major configuration and usage system rewrite ([#243][pr#243]) ([`109572a`])
- build: Update development tools ([#241][pr#241]) ([`e01d875`])
- feat: Display git hash in `--version` output ([#236][pr#236]) ([`27dfce6`])
- chore: Handle multi-word arguments in `commit` recipe ([#232][pr#232]) ([`bf173b3`])
- fix: Apply conversation configuration from query args ([#231][pr#231]) ([`f834558`])
- chore: Add system prompt and instructions ([#230][pr#230]) ([`d9fb970`])
- chore: Fix `cargo_expand` tool and add tests ([#227][pr#227]) ([`fe528db`])
- chore: Add `cargo_check` tool ([#226][pr#226]) ([`acb6d93`])
- chore: Install jp-tools via cargo install ([#225][pr#225]) ([`82f8b3f`])
- fix: Inherit wildcard configs for MCP servers and tools ([#224][pr#224]) ([`db11359`])
- chore: Make tool execution ask for confirmation by default ([#223][pr#223]) ([`4ce0213`])
- build: Isolate bacon target directories and add test watch ([#222][pr#222]) ([`8e8648e`])
- chore: Fix work-tree status check for dirty files ([#221][pr#221]) ([`18c3793`])
- chore: Add a `cargo_expand` tool ([#220][pr#220]) ([`563cdbe`])
- chore: Refine commit generation instructions ([#219][pr#219]) ([`aea33a9`])
- chore: Improve commit persona configuration ([#215][pr#215]) ([`9f79a1d`])
- fix: Expose tool parameter type information ([#214][pr#214]) ([`9713184`])
- fix: Print error messages to stderr ([#210][pr#210]) ([`7aadc37`])
- refactor: Move user workspace directories to subdirectory ([#209][pr#209]) ([`8db37b4`])
- build: Update dependencies ([#207][pr#207]) ([`0e8534f`])
- chore: Improve file listing performance and auth handling ([#205][pr#205]) ([`7ddc69b`])
- chore: Add fs tools for create, delete, and modify operations ([#203][pr#203]) ([`59cc8ef`])
- ci: Update actions and enable workspace crate caching ([#190][pr#190]) ([`ecb0ebc`])
- build: Remove unused dependencies and add cargo-shear to CI ([#189][pr#189]) ([`5af37d0`])
- feat: Add configuration management commands ([#188][pr#188]) ([`7133b26`])
- ci: fix website build workflow ([#187][pr#187]) ([`230959d`])
- ci: Run docs builds on PRs ([#186][pr#186]) ([`3ebb0b9`])
- build: Update justfile recipes to accept multiple arguments ([#185][pr#185]) ([`dc67163`])
- refactor: Simplify error message formatting ([#184][pr#184]) ([`84bdeb7`])
- fix: Handle empty files in editor ([#183][pr#183]) ([`8b9985a`])
- chore: Update .gitignore ([#182][pr#182]) ([`b5c69d1`])
- refactor: Simplify configuration file loading architecture ([#181][pr#181]) ([`a165d25`])
- feat: Improve tool call result rendering ([#180][pr#180]) ([`815e649`])
- chore: Add product owner persona and enhanced issue creation tools ([#179][pr#179]) ([`4f65d73`])
- chore: update Justfile crate dependencies ([#175][pr#175]) ([`d4b4acc`])
- refactor: Encapsulate config field and remove from MessagePair ([#174][pr#174]) ([`eaaf62b`])
- feat: Add MCP security and display configuration options ([#173][pr#173]) ([`97fb939`])
- build: Add `install` target and update coverage generation ([#171][pr#171]) ([`39088ef`])
- docs: Publish documentation site to https://jp.computer ([#168][pr#168]) ([`e06d444`])
- chore: Add filesystem tools and enhance GitHub integration ([#167][pr#167]) ([`2828573`])
- chore: Improve `cargo_test` output message ([#164][pr#164]) ([`11ffdeb`])
- feat: Replace personas and contexts with layered configuration system ([#161][pr#161]) ([`b5428d0`])
- refactor: simplify `Query` command implementation ([#160][pr#160]) ([`7a568c1`])
- refactor: change `Query::[no_]stream` from `bool` to `StreamMode` ([#159][pr#159]) ([`a74d2b6`])
- chore: remove "local" mcp server ([#158][pr#158]) ([`6d418b0`])
- chore: switch to native Google API for default persona ([#157][pr#157]) ([`8cf0bc8`])
- chore: fix missing cache paths ([#155][pr#155]) ([`d7060f1`])
- chore: fix missing ci cache path ([#154][pr#154]) ([`296d639`])
- ci: improve step runtime ([#153][pr#153]) ([`4224abf`])
- feat: Show persona and model info in query editor ([#152][pr#152]) ([`74cadcc`])
- refactor: simplify get_model parameters ([#151][pr#151]) ([`ee020ed`])
- refactor: Skip serializing missing `top_p` and `top_k` fields ([#150][pr#150]) ([`0dbde15`])
- feat: Add streaming control flags to `query` command ([#148][pr#148]) ([`889cea6`])
- docs: tweak README ([#147][pr#147]) ([`f3d32cd`])
- feat: Add capitzalized short flags for any `--no-<O>option` flag ([#146][pr#146]) ([`a2b536f`])
- feat: Improved model detection during workspace initialization ([#145][pr#145]) ([`cd56c5c`])
- build: fix change-log building ([#142][pr#142]) ([`2616d05`])
- build: Automate changelog generation in CI pipeline ([#141][pr#141]) ([`3e5c311`])
- ci: Add insta snapshot testing to CI pipeline ([#140][pr#140]) ([`491b1ee`])
- ci: Add Rust CI testing workflow ([#139][pr#139]) ([`12dcd06`])
- refactor: Replace `Vec<Event>` with `Reply` wrapper ([#137][pr#137]) ([`cf61494`])
- refactor: Improve reasoning support validation and API ([#135][pr#135]) ([`21df4b8`])
- chore: Minor tweaks & fixes ([#134][pr#134]) ([`c7fa9d6`])
- build: fix documentation urls ([#131][pr#131]) ([`9c2cbf8`])
- build: improve build reproducibility ([#130][pr#130]) ([`bd642d2`])
- build: Enhance development workflow with improved justfile recipes ([#129][pr#129]) ([`510a744`])
- build: tweak deployment process ([#128][pr#128]) ([`f637719`])
- build: ensure `just` is installed ([#127][pr#127]) ([`9eb6b0e`])
- build: do not require yarn.lock ([#126][pr#126]) ([`91d3fc0`])
- build: do not require yarn.lock ([#125][pr#125]) ([`81cfc84`])
- build: fix working-directory ([#124][pr#124]) ([`3092918`])
- build: disable build caching ([#123][pr#123]) ([`bad7dc8`])
- build: fix github workflows directory ([#122][pr#122]) ([`d63a130`])
- build: fix docs deploy branch name ([#121][pr#121]) ([`714ac4a`])
- build: Add documentation infrastructure with VitePress ([#120][pr#120]) ([`e8800a0`])
- chore: Refactor commit scope guidelines for clarity ([#114][pr#114]) ([`6eb984b`])
- feat: Add embedded tools system with TOML-based configuration ([#113][pr#113]) ([`db9f418`])
- feat: Add convenience `--hide-reasoning` flag to `query` command ([#111][pr#111]) ([`05a8350`])
- fix: Restore tool call recursion in query ([#106][pr#106]) ([`d9a7f91`])
- feat: Improved reasoning support ([#105][pr#105]) ([`c3e845f`])
- chore: Add GitHub issues/PRs tools and restructure code ([#103][pr#103]) ([`7a94e66`])
- build: Add MCP server for development tooling ([#100][pr#100]) ([`b80e7c8`])
- fix: Prevent early return in tool call completion handling ([#98][pr#98]) ([`8be4e34`])
- feat: Improve assistant message formatting in editor ([#97][pr#97]) ([`5a2fd94`])
- fix: Allow forward slashes in `ModelId` validation ([#96][pr#96]) ([`51fe290`])
- refactor: Reorganize MCP server configs into subdirectory ([#95][pr#95]) ([`85a74dc`])
- test: Refresh LLM provider test fixtures ([#94][pr#94]) ([`be427d9`])
- feat: Add `--tool` flag to control tool choice behavior ([#93][pr#93]) ([`a8112bf`])
- feat: Add `--from` flag to `conversation rm` command ([#90][pr#90]) ([`34417a2`])
- fix: ensure `--model` flag is applied correctly ([#89][pr#89]) ([`35fd2c4`])
- chore: add missing crates to log output ([#88][pr#88]) ([`da4dc7d`])
- chore: Improve `commit` persona model and instructions ([#87][pr#87]) ([`61f293f`])
- fix: Correctly set context window size for Ollama ([#86][pr#86]) ([`9893602`])
- feat: Improve extended thinking/reasoning support ([#85][pr#85]) ([`34afef5`])
- fix: Remove hardcoded default model from `Persona` ([#84][pr#84]) ([`b2deea1`])
- fix: Preserve empty lines in markdown formatting ([#82][pr#82]) ([`538f417`])
- refactor: Error message improvements ([#81][pr#81]) ([`c411abc`])
- refactor: migrate model parameters to typed struct ([#80][pr#80]) ([`1e52932`])
- refactor: Simplify model handling ([#79][pr#79]) ([`ce1ab70`])
- ci: Add `bacon.toml` for CI task management ([#78][pr#78]) ([`c5856db`])
- build: Add `cargo-deny` to the build process ([#77][pr#77]) ([`e20c97c`])
- fix: fix string indentation in conversation_titles query ([#75][pr#75]) ([`c292644`])
- feat: Add Ollama provider for local LLMs ([#74][pr#74]) ([`6146e57`])
- build: Add commit recipe to justfile ([#70][pr#70]) ([`6cea9b5`])
- build: clippy fixes ([#69][pr#69]) ([`75a6d95`])
- refactor: Extract storage into `jp_storage` crate ([#68][pr#68]) ([`e0aa3f9`])
- build: Update Rust toolchain to `nightly-2025-05-19` ([#67][pr#67]) ([`da456fc`])
- fix: Skip title generation for non-persistent sessions ([#66][pr#66]) ([`47c06a4`])
- refactor: Replace `backoff` with `backon` for retry logic ([#65][pr#65]) ([`4a97f39`])
- refactor: Rename `LocalState` to `UserState` ([#64][pr#64]) ([`3214bcf`])
- refactor: Extract `TombMap` to `jp_tombmap` crate ([#63][pr#63]) ([`3633e6c`])
- feat: set target workspace with `--workspace` flag ([#62][pr#62]) ([`6dbe6b5`])
- test: Improve VCR-based snapshot testing with insta ([#60][pr#60]) ([`f2369a0`])
- feat: Add provider model listing capabilities ([#59][pr#59]) ([`a6145fc`])
- feat: Add MCP resources handler ([#58][pr#58]) ([`b226b0f`])
- ci: Add commit message tooling ([#54][pr#54]) ([`1e03075`])
- refactor: Refactor query flow and extract helper methods ([#50][pr#50]) ([`786b0bf`])
- fix: handle duplicate workspace IDs and unsupported platforms ([#48][pr#48]) ([`cb492ef`])
- feat: add command output handler ([#47][pr#47]) ([`f336253`])
- feat: add Anthropic provider integration ([#45][pr#45]) ([`f07c5fc`])
- feat: enhance verbosity control with all-crate tracing ([#44][pr#44]) ([`60b31b2`])
- refactor: empty strings in config setters unset optionals ([#41][pr#41]) ([`a414405`])
- test: add missing tests ([#39][pr#39]) ([`6fe61da`])
- feat: support structured output ([#36][pr#36]) ([`011761f`])
- feat: add Jinja2 template support for queries ([#35][pr#35]) ([`8cdcb17`])
- feat: support external config files via `--cfg @<path>` flag ([#34][pr#34]) ([`7180a75`])
- refactor: rename `--config` flag to `--cfg` ([#33][pr#33]) ([`7f86aeb`])
- refactor: allow disabling inheritance from CLI ([#32][pr#32]) ([`72e036e`])
- chore: update project configuration and documentation ([#31][pr#31]) ([`b75fd14`])
- refactor: improve configuration handling and parsing ([#30][pr#30]) ([`5c1fde9`])
- feat: add persona and context configuration options ([#29][pr#29]) ([`e69db47`])
- refactor: adjust log levels and enhance configuration ([#21][pr#21]) ([`515c5e7`])
- feat: add conversation title generation settings ([#20][pr#20]) ([`2f12759`])
- perf: improveo overall performance of CLI commands ([#19][pr#19]) ([`f12e6f3`])
- feat: automated title generation ([#18][pr#18]) ([`7ffc2cc`])
- feat: improve MCP loading and configuration editing ([#16][pr#16]) ([`ca1c1df`])
- fix: clean up `QUERY_MESSAGES.md` file when empty ([#11][pr#11]) ([`c63c590`])
- refactor: rename `private` flag to `local` ([#10][pr#10]) ([`548f948`])
- feat: add `--no-persist` flag to disable state persistence ([#7][pr#7]) ([`328f0aa`])
- feat: automated llm-based conversation title generation ([#6][pr#6]) ([`5129eb9`])
- refactor: Improve help formatting ([#4][pr#4]) ([`683d43f`])
- fix: ensure consistent EOF newlines in workspace files ([#3][pr#3]) ([`932cdd0`])
- feat: edit conversation details ([#2][pr#2]) ([`ee0f359`])
- feat: add support for private conversations ([#1][pr#1]) ([`f56e837`])

<a id="0.1.0" />

## [0.1.0]

_2025.05.02_

v0.1.0

### Contributions

This release is made possible by the following people (in alphabetical order).
Thank you all for your contributions. Your work – no matter how significant – is
greatly appreciated by the community. 💖

- Jean Mertz (<git@jeanmertz.com>)

### Changes

#### Features

- **officially hook Jean-Pierre into the project!!!!** ([`3e59e1b`])

- **return error when trying to delete active conversation** ([`f2f5d27`])

- **create missing directory on `init`** ([`e50590e`])

- **add workspace management crate** ([`6dda179`])

  Introduces `jp_workspace` crate for managing (persisted) state of JP.

  - Workspace state management and persistence
  - Support for personas, models, conversations and messages
  - Local and shared storage handling
  - Atomic file operations
  - Unique workspace ID generation

- **add new crate for LLM provider integrations** ([`e0fb3b9`])

  Adds a new `jp_llm` crate that handles interactions with LLM providers:

  - Support for OpenAI and Openrouter providers
  - Future support for Anthropic, Google, Deepseek, and Xai
  - Streaming chat completion functionality
  - Tool/function calling capabilities
  - Error handling and type conversions
  - Message formatting and thread management

- **implement OpenRouter API client** ([`cd47a14`])

  - Add OpenRouter API client with streaming chat completion support
  - Implement error handling and retry mechanisms
  - Add request/response type definitions
  - Include test fixtures and recording infrastructure
  - Support conventional OpenRouter API features like tool calls

  At the time of writing, there are no good alternative OpenRouter clients
  in Rust. When one is found, we can switch to using it, if it makes
  sense.

- **implement MCP client crate** ([`8a16d23`])

  The new `jp_mcp` crate provides a client implementation for the Model
  Context Protocol (MCP).

  The client supports the following operations:

  - Start/stop multiple MCP servers in parallel
  - List available tools
  - Call a tool with given parameters

  Currently, the client only supports the `Stdio` transport type.

- **improve tag filtering** ([`940f8ce`])

  Previously, you either searched for a specific query using the `search`
  endpoint, or you could filter notes by tag using the `tagged` endpoint.

  Now, those two endpoints are combined into a single `search` endpoint
  that accepts a query and an optional list of tags to filter by.

  Before:

  ```sh
  jp attachment add "bear://search/my query"
  jp attachment add "bear://tagged/my/tag"
  ```

  After:

  ```sh
  jp attachment add "bear://search/my query"
  jp attachment add "bear://search/?tag=my/tag"
  jp attachment add "bear://search/my query?tag=my/tag"
  ```

- **add Bear Notes integration** ([`9998d31`])

  Implements a new attachment handler for Bear Notes that allows:

  - Fetching single notes by ID
  - Searching notes by content
  - Filtering notes by tags

  The handler interfaces with Bear's SQLite database to retrieve note
  content and metadata in XML format.

- **implement URI-based attachment system** ([`2600658`])

  **jp_attachment**

  This crate provides a trait for handling attachments and a registry for
  handling attachments in a generic way. The trait supports adding,
  removing and listing attachments. Each attachment handler "owns" a
  single URI scheme, and can handle attachments of that scheme.

  **jp_attachment_file_content**

  This crate provides an attachment handler for the full content of a
  file. It supports glob patterns for file inclusion and exclusion.

  More handlers will be added in the future, such as "file headers", "file
  summaries", "web pages", etc.

- **add configuration management crate** ([`d86b311`])

  adds a new `jp_config` crate that handles configuration loading and
  management.

  Configuration is loaded from three sources:

  - file system (lowest precedence)
  - environment variables
  - command-line arguments (highest precedence)

  Configuration files can be in multiple formats, including toml, json and
  yaml. Additionally, multiple configuration files can be merged together,
  until a configuration file sets the `inherit` field to `false`.

  The following tree of configuration files is loaded:

  ```
  /path/to/workspace/{jp, .jp}.{toml, json, json5, yaml, yml}
  /path/to/{jp, .jp}.{toml, json, json5, yaml, yml}
  /path/{jp, .jp}.{toml, json, json5, yaml, yml}
  /{jp, .jp}.{toml, json, json5, yaml, yml}
  $XDG_CONFIG_HOME/jp/config.{toml, json, json5, yaml, yml}
  ```

  For each configuration property, an environment variable can be set to
  override the default value, or the value set through the configuration
  file(s). The environment variable name follows the following pattern:

  ```
  JP_{group}_{property}
  ```

  For example, the `llm.provider.openrouter.api_key_env` property can be
  set with the `JP_LLM_PROVIDER_OPENROUTER_API_KEY_ENV` environment
  variable.

  Additionally, the CLI allows overriding configuration properties using
  the `--config` or `-c` command-line argument. The flag can be passed
  multiple times, and follows the following pattern:

  ```
  --config KEY=VALUE
  ```

  Where `KEY` is the configuration property name, similar to the
  environment variable name, but `.` as a separator instead of `_`, and
  all lowercase. `VALUE` is the string representation of the value, so a
  bool can be set with `true` or `false`. For example:

  ```
  jp --config llm.provider.openrouter.api_key_env=MY_API_KEY ...
  ```

  If a configuration property is not set, a default value is used.

#### Miscellaneous Tasks

- **add initial README** ([`0fd5b96`])

- **add missing files** ([`33ca0dd`])

- **minor terminal output tweak** ([`147a24d`])

- **cargo tweaks** ([`6383eb9`])

- **clippy fixes** ([`c54ecf4`])

- **update MSRV** ([`407bc4d`])

- **remove unneeded files** ([`b84ab79`])

- **update dependencies** ([`d17488c`])

- **remove unused dependencies** ([`6f4f866`])

- **fix typos.toml config** ([`be90120`])

- **update project configuration and tooling** ([`5ab9d80`])

  - add workspace schema for dependency validation
  - update gitignore and add ripgrep ignore patterns
  - refine rustfmt and taplo formatting rules
  - remove docker configuration
  - add llvm-tools to rust toolchain

- **project tooling** ([`37ba3f4`])

#### Bug Fixes

- **don't store new conversations without messages** ([`ee6ab21`])

#### Refactoring

- **more fine-grained deletion/modification tracking** ([`1e8d05f`])

  Before, the storage system used a temporary directory to copy the
  workspace state to upon initialization of the CLI. This was done to
  ensure atomic replacement of the state directory, but this came with
  downsides:

  - Any storage files *not* loaded into memory (e.g. due to
    deserialization errors) were removed once the new state was persisted
    and the entire storage directory was replaced.
  - When tracking the storage directory in a VCS, every run of the CLI
    would change the storage directory metadata, potentially causing
    non-relevant changes to be committed.
  - The wholesale copying/replacing of the storage directory was
    inefficient.

  With this commit, the storage system is no longer *atomic* (with some
  additional work, it could be made to be), but we do gain other benefits:

  - The workspace state is loaded from the storage directory directly,
    without the need for a temporary copy.
  - Internally, modifications and deletions are tracked, to allow
    fine-grained control over what is persisted or removed.
  - VCS metadata is no longer updated for every run of the CLI, only when
    a file has actually changed.

  A new `TombMap` type is introduced to track deletions and modifications
  to the workspace state. This is a direct copy of Rust's `HashMap`, with
  minor modifications to track deletions/modifications.

  Additionally, the different `*Id` types have been updated to correctly
  convert between paths/filenames and IDs.

- **restructure project into workspace architecture** ([`a4f9b58`])

  - Convert project into a Cargo workspace with multiple crates
  - Add workspace-level dependency management
  - Configure workspace-level lints and settings
  - Update and standardize dependency versions
  - Add workspace metadata (license, docs, etc.)
  - Remove direct dependencies in favor of workspace dependencies

- **several tweaks and fixes to existing crates** ([`7a24104`])

- **remove legacy codebase** ([`93aa603`])

  Removes the entire legacy codebase in `src/`. The project is now a
  "virtual workspace" that moves all logic into individual `jp-*` crates
  in `crates/`.

  A few old half working features are removed, such as the "server", but
  these will be re-added in a future commit.

<!-- [releases] -->

[unreleased]: https://github.com/dcdpr/jp/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/dcdpr/jp/releases/tag/v0.1.0

<!-- [commits] -->

[`27435fe`]: https://github.com/dcdpr/jp/commit/27435fec2fb53003424785f7791193a5850f49d3
[`40ee71f`]: https://github.com/dcdpr/jp/commit/40ee71f5199e95183270944e8d0794bd34979aaa
[`a14205d`]: https://github.com/dcdpr/jp/commit/a14205dec57212ac55f4c39d4e8cf5fb9abc41dd
[`4d6432d`]: https://github.com/dcdpr/jp/commit/4d6432dd3e5fea7e7814ea80a6a28b53df080ec2
[`70a63b4`]: https://github.com/dcdpr/jp/commit/70a63b46d11f1766902a60ff72bb4d199756040b
[`e780d48`]: https://github.com/dcdpr/jp/commit/e780d48f46e65139be6faf970482b76f94f7f9e4
[`647e92d`]: https://github.com/dcdpr/jp/commit/647e92d41fb18cf2369f11b53993332e2d5cdef5
[`bb3e0bb`]: https://github.com/dcdpr/jp/commit/bb3e0bbbb76de4e38178f9db1db74af0a84512d7
[`d04ffed`]: https://github.com/dcdpr/jp/commit/d04ffedf32708b2990b5cedf39f4c415ccb3e009
[`f2f400e`]: https://github.com/dcdpr/jp/commit/f2f400edbd248d5ca2945b369a21de35bf3bca43
[`e133113`]: https://github.com/dcdpr/jp/commit/e133113000449103862d5a07104bc9ddd31b845e
[`7245b04`]: https://github.com/dcdpr/jp/commit/7245b0426fc1036f025e56a789d4c2a67ff4b476
[`cc4c6cd`]: https://github.com/dcdpr/jp/commit/cc4c6cdffad6029f8654bc7b7529a14612b6fd13
[`71212dd`]: https://github.com/dcdpr/jp/commit/71212dd84fc48b4d39cd3e59877feef9a5d9f8f9
[`3dfe708`]: https://github.com/dcdpr/jp/commit/3dfe7080b85b6efac992eeaf95e0608f2f44a312
[`c5e01b7`]: https://github.com/dcdpr/jp/commit/c5e01b7b17b2afcfaebfe6982ed786516406bff7
[`9b83cab`]: https://github.com/dcdpr/jp/commit/9b83cabe768032400b3a48b31025e44c1ee6b6d9
[`76d7335`]: https://github.com/dcdpr/jp/commit/76d7335230f285d05dffd7d398ae4f84dee1d5a3
[`02bb4f6`]: https://github.com/dcdpr/jp/commit/02bb4f63ff544d64bb2b522feb04dc8844cbd09e
[`3b3e154`]: https://github.com/dcdpr/jp/commit/3b3e154d06961579b242c922fe4e30bbfad78184
[`b5bb5ef`]: https://github.com/dcdpr/jp/commit/b5bb5eff1272059a9818e4b14914c31b5c5c271e
[`ea4440b`]: https://github.com/dcdpr/jp/commit/ea4440bb37c1d809fdd3c87aa38662310f7065fb
[`ee95513`]: https://github.com/dcdpr/jp/commit/ee95513c51fa6745f2bfd41904c7767ff1aac6ba
[`29f8118`]: https://github.com/dcdpr/jp/commit/29f81185f05beedb46c75d890035bc02cd90b8c7
[`b7ca244`]: https://github.com/dcdpr/jp/commit/b7ca244243526d140767ccdcbfa8006b45fe8b80
[`7a5bf99`]: https://github.com/dcdpr/jp/commit/7a5bf99517ea5c0ab5794db24b973867fa2a27d8
[`b445390`]: https://github.com/dcdpr/jp/commit/b445390f277b392472df487df63a070a54068a7e
[`352142e`]: https://github.com/dcdpr/jp/commit/352142eb626ec36960d9c30c52cd30314fdee8df
[`f7e4a38`]: https://github.com/dcdpr/jp/commit/f7e4a38e5840966cd7b99b03417e2f170b478b32
[`4eedf8b`]: https://github.com/dcdpr/jp/commit/4eedf8b48dabefef26500a63a4fb38314043b7a3
[`afda81c`]: https://github.com/dcdpr/jp/commit/afda81c83c5f6356bac90711cbff213b7ad6bd5b
[`6374f53`]: https://github.com/dcdpr/jp/commit/6374f53df5598c37d942b713e6d943e2b8dc4e19
[`716954d`]: https://github.com/dcdpr/jp/commit/716954d84de5269dbfa1551f0ff8359b57cf2515
[`63d6e7f`]: https://github.com/dcdpr/jp/commit/63d6e7f5dd87d29dd87df1e79d2a94ab19e7af8a
[`78b7109`]: https://github.com/dcdpr/jp/commit/78b7109529b390db2c8b0e9c63b8e93e41bf393f
[`9ac9d6d`]: https://github.com/dcdpr/jp/commit/9ac9d6d22ef1c9e04f59476fa05f4f367c239ec6
[`d8f9ebc`]: https://github.com/dcdpr/jp/commit/d8f9ebce7d4360cd974452a432903f7771e53b71
[`7d0d5f2`]: https://github.com/dcdpr/jp/commit/7d0d5f2ba73b64249721beac90d1f81a6c1d5589
[`b5d9e89`]: https://github.com/dcdpr/jp/commit/b5d9e89b36300d0dac09965157ef85599941344c
[`b70db56`]: https://github.com/dcdpr/jp/commit/b70db56fabf36b5094a49f857c10c256decf7d7b
[`d8d1541`]: https://github.com/dcdpr/jp/commit/d8d154100ccc98cf3ca1e249bfdb80f79426ec08
[`abf5a6b`]: https://github.com/dcdpr/jp/commit/abf5a6b952ac5d503d382f174aa1a5e4be78ffb6
[`50ed9a2`]: https://github.com/dcdpr/jp/commit/50ed9a254d038eef0fb2f6258769e87261c5b23c
[`c9920ab`]: https://github.com/dcdpr/jp/commit/c9920abe6dfafb21f9189c6091ef39cf107a853f
[`24b96d1`]: https://github.com/dcdpr/jp/commit/24b96d172ba68692abba9954c34bc1b5e523316c
[`0977c95`]: https://github.com/dcdpr/jp/commit/0977c95181738b7c072036e5a39b1218983d944a
[`fbc9f1b`]: https://github.com/dcdpr/jp/commit/fbc9f1bd793b448f9da90e4b8efc0e690c050fb0
[`b63a168`]: https://github.com/dcdpr/jp/commit/b63a168945bdcdfc14ace6e7ed426fbdeb649f91
[`3238767`]: https://github.com/dcdpr/jp/commit/3238767ea059d374442611032623cc9fb5d1f873
[`d15e902`]: https://github.com/dcdpr/jp/commit/d15e902c5c247b03916c295dfb194b75e7cd54e3
[`dd6ac09`]: https://github.com/dcdpr/jp/commit/dd6ac09c8758acef6e1e9adb030f3ebd300558cd
[`9750891`]: https://github.com/dcdpr/jp/commit/9750891bd1b31e6bc003627f18584511fe932bb4
[`2bb0602`]: https://github.com/dcdpr/jp/commit/2bb0602dea2ae58332a7c228454ec428ac8d34de
[`ac1f2c6`]: https://github.com/dcdpr/jp/commit/ac1f2c60874bb95e2e5e8d68f5760d0a7a8fcc04
[`0ac9cc5`]: https://github.com/dcdpr/jp/commit/0ac9cc57cadd07ff9a26e607534c7a3557ff2654
[`ed776b2`]: https://github.com/dcdpr/jp/commit/ed776b2dbe78221d320919de16ff852aaea60939
[`7a6c597`]: https://github.com/dcdpr/jp/commit/7a6c59790d46c5ccf94f6deff59a1c693d8d3054
[`03b38bb`]: https://github.com/dcdpr/jp/commit/03b38bbf1deb87355e1f2bffbcdcd78acffa0580
[`628f64f`]: https://github.com/dcdpr/jp/commit/628f64f849c872ea6d83fd378d752409b2fd649f
[`88ae4c5`]: https://github.com/dcdpr/jp/commit/88ae4c556733f6e384712149e41ca61106002bb4
[`2c1f006`]: https://github.com/dcdpr/jp/commit/2c1f00605127b6a1a16c740c5e455ca1744080bf
[`9ea8e05`]: https://github.com/dcdpr/jp/commit/9ea8e05a0662b7823436613579dd463adf3e3256
[`689b92c`]: https://github.com/dcdpr/jp/commit/689b92c49de66042cf7a7520a1b1d02bb5d54e79
[`d300cdb`]: https://github.com/dcdpr/jp/commit/d300cdb35199f06a6650804422d1ea7b28199513
[`e70cf32`]: https://github.com/dcdpr/jp/commit/e70cf324d7fce2d50d5d1ebb338d910dfdf6a28a
[`0af019a`]: https://github.com/dcdpr/jp/commit/0af019aa4f4dd8f4162ae08809038fb82189766e
[`9b026f4`]: https://github.com/dcdpr/jp/commit/9b026f4cfd254872109d87dcc4b8c3227daaae89
[`6febb27`]: https://github.com/dcdpr/jp/commit/6febb27e128b9a8cfa228122602290e53f0c6cdd
[`c6bae63`]: https://github.com/dcdpr/jp/commit/c6bae63dbcf39b22cef233643e554aa36de5be16
[`8297bff`]: https://github.com/dcdpr/jp/commit/8297bff1f534712d80b70df03b6447c52f3bbc7a
[`9e6719b`]: https://github.com/dcdpr/jp/commit/9e6719bdd30cba959a0664ecaac67032a63b79be
[`a28a042`]: https://github.com/dcdpr/jp/commit/a28a042c08e5d5019204062d9c0bb4b53a19b53d
[`375b9d1`]: https://github.com/dcdpr/jp/commit/375b9d12087aeca390829ea0ea182276a9489339
[`5986645`]: https://github.com/dcdpr/jp/commit/598664563514b2863e4a47f7f0d061b2e72f9ace
[`687d0a8`]: https://github.com/dcdpr/jp/commit/687d0a8b7025cb9d0b5cad098805186df3079c94
[`129167c`]: https://github.com/dcdpr/jp/commit/129167c93b7a73b8422a1bb65c8d2be48188ad29
[`a31f905`]: https://github.com/dcdpr/jp/commit/a31f9058b023f332e8dc2cb0902a9df5af836d73
[`2740172`]: https://github.com/dcdpr/jp/commit/2740172a8579a13bef876775887116f6dc0e03d0
[`ee48d1a`]: https://github.com/dcdpr/jp/commit/ee48d1a227a8070edf8a0382c7a3fead49e365bb
[`50913db`]: https://github.com/dcdpr/jp/commit/50913db7316779d07f1e09a76a0f4eddddc57515
[`a745090`]: https://github.com/dcdpr/jp/commit/a74509033165156d2e4607eff5047dcf252b397b
[`8d18cff`]: https://github.com/dcdpr/jp/commit/8d18cff0d7e2d3fedbac32a1ac36a0b5238069e2
[`7b51ad3`]: https://github.com/dcdpr/jp/commit/7b51ad3f88235c35910eeb22e3c2cd6dc1f91627
[`b23cdb5`]: https://github.com/dcdpr/jp/commit/b23cdb5d1fa4e13769478ee1aeb64f04620ccd3f
[`f4fad50`]: https://github.com/dcdpr/jp/commit/f4fad504d51051faa3aefbbfebbad937aa4c47c3
[`c7e7f98`]: https://github.com/dcdpr/jp/commit/c7e7f98e9c70e2796c57e6e5ff8b0236d8e0ba35
[`4257474`]: https://github.com/dcdpr/jp/commit/4257474b9d13303d328b02fc88b1400dabaa5c09
[`5259d13`]: https://github.com/dcdpr/jp/commit/5259d138135b8a240dab93973cced8e32066e518
[`9216d46`]: https://github.com/dcdpr/jp/commit/9216d4610f230d0566e5a3112b158b23e9e7d866
[`d94a9aa`]: https://github.com/dcdpr/jp/commit/d94a9aa9ad20510328f0e539f68c3ce32f4d2aae
[`61ded1c`]: https://github.com/dcdpr/jp/commit/61ded1c5339d017e39e1a1543845a990f0489f58
[`b9e1b71`]: https://github.com/dcdpr/jp/commit/b9e1b7120ed9a0b36af4f0599f20f4dcd1841e80
[`b9bcdcd`]: https://github.com/dcdpr/jp/commit/b9bcdcd68c2ac1df5f5892cc30563daba096cd75
[`19b561f`]: https://github.com/dcdpr/jp/commit/19b561f7fc45afaa11316b1c4afeee8343ef60d5
[`0658fda`]: https://github.com/dcdpr/jp/commit/0658fda49be6929d4f680871e089dd766ed13cd5
[`54cf780`]: https://github.com/dcdpr/jp/commit/54cf780c16eb571a4741c7926e21bdb250b736f6
[`6147df9`]: https://github.com/dcdpr/jp/commit/6147df9a37b8fe027c1ccd5c62db790345099df4
[`2719a85`]: https://github.com/dcdpr/jp/commit/2719a853d88caff79ef4b3a6604bc31068f472e3
[`ea74542`]: https://github.com/dcdpr/jp/commit/ea7454297f7ba9a556794193e016aa6fa9682750
[`3a2bc26`]: https://github.com/dcdpr/jp/commit/3a2bc265b1a834e5b56fce2225a0d8ed78055131
[`a5e011c`]: https://github.com/dcdpr/jp/commit/a5e011c052287eede2442595f71d194a1d774376
[`1042209`]: https://github.com/dcdpr/jp/commit/10422094ba65ad89225e7342b6f5f54e89c79ea1
[`e4bc697`]: https://github.com/dcdpr/jp/commit/e4bc697093631e716ae3e0a954f5b7f1bf3750b4
[`006b0fa`]: https://github.com/dcdpr/jp/commit/006b0fa883a1388b4daade96dfadc26c672c1d8b
[`ca6285f`]: https://github.com/dcdpr/jp/commit/ca6285f6d7f4f8c030a36b3fbd88f294371fb628
[`88809b3`]: https://github.com/dcdpr/jp/commit/88809b3b1c3e2be10237dc1174166d821648805e
[`66e413b`]: https://github.com/dcdpr/jp/commit/66e413b57723b2659ae8b7c11cea59d58bdc3956
[`f656681`]: https://github.com/dcdpr/jp/commit/f6566814cc3ed346d7a33ca8dbadaf0d875cd0a9
[`27c4174`]: https://github.com/dcdpr/jp/commit/27c4174223312d949d0186d6a94df7a41ed44240
[`65036ee`]: https://github.com/dcdpr/jp/commit/65036ee090af7d71d14bd67ebad6b89db7602791
[`c2dfcc0`]: https://github.com/dcdpr/jp/commit/c2dfcc0404f953992ea3129e1760d9cc4450a474
[`b636cae`]: https://github.com/dcdpr/jp/commit/b636caef0b28781130ec02bc7189236335335f19
[`14213bd`]: https://github.com/dcdpr/jp/commit/14213bd40cac581ced0ca1f5e8ca3cf0801d6cc2
[`5d4b05a`]: https://github.com/dcdpr/jp/commit/5d4b05ab7ca7a9d67b44e0d559d49238c925a8a0
[`3af5360`]: https://github.com/dcdpr/jp/commit/3af5360c8296f60a88abb603abee1a6bfe16571b
[`8d5221d`]: https://github.com/dcdpr/jp/commit/8d5221d13c5fe7b771807a1950650560e1d99a5c
[`b4b7e86`]: https://github.com/dcdpr/jp/commit/b4b7e86ea678038270d0309fb63c2d061c18226a
[`15ec2f1`]: https://github.com/dcdpr/jp/commit/15ec2f1e0b4feccf1cc36213d599261677ee0a6e
[`3669250`]: https://github.com/dcdpr/jp/commit/3669250c0bfb4428a726ac0ef428f1a6cf9b2c39
[`58d4a96`]: https://github.com/dcdpr/jp/commit/58d4a96c887286cc72d02a16c32e053219f1295b
[`cdda2c9`]: https://github.com/dcdpr/jp/commit/cdda2c95e8d4857ca35973a7fb4312cdb7829f9f
[`f1768ba`]: https://github.com/dcdpr/jp/commit/f1768ba57a19c4eba672406c8e4ff2bdff36c3ea
[`eb7da27`]: https://github.com/dcdpr/jp/commit/eb7da27216529cb66c8cd31083a0e35c815b4dab
[`f98f3b8`]: https://github.com/dcdpr/jp/commit/f98f3b89b819b19276f2fd3b12d8aa42f9530a92
[`dbbc7e6`]: https://github.com/dcdpr/jp/commit/dbbc7e691dff5d6390d6341ebfe933a22fb65a9d
[`7f0a3bf`]: https://github.com/dcdpr/jp/commit/7f0a3bfe97a66457dd1a8620c3fb2c1d1e240323
[`dbca0f0`]: https://github.com/dcdpr/jp/commit/dbca0f0aa18074146a21f3c0a78189dae7c0978c
[`c7a34a5`]: https://github.com/dcdpr/jp/commit/c7a34a56e8c07a2305e51709532890b1bed386a1
[`2fd5ae6`]: https://github.com/dcdpr/jp/commit/2fd5ae6a845d19f5932e8d2d1684fc945c800b66
[`f0d2cf1`]: https://github.com/dcdpr/jp/commit/f0d2cf1f680154ba488291478640f7185c4b5372
[`56a7151`]: https://github.com/dcdpr/jp/commit/56a715161c0de011eebe01f03dac83b0e0b945c1
[`493fe45`]: https://github.com/dcdpr/jp/commit/493fe45e8edfe5c82caf355cf27fa9fb57d7a247
[`d11f209`]: https://github.com/dcdpr/jp/commit/d11f20945bf5e620717eaba473eb9cdd83b7601b
[`86525fc`]: https://github.com/dcdpr/jp/commit/86525fc6421bc54b4509847da10998a92e060a2c
[`08f200b`]: https://github.com/dcdpr/jp/commit/08f200b0111ebd6e3be84b8c46da11a8aba388bf
[`23c6033`]: https://github.com/dcdpr/jp/commit/23c6033320bb3ebf7b0e4d78e13b549fd64fccf4
[`f2206fe`]: https://github.com/dcdpr/jp/commit/f2206fe1daad9c89ab89d354f66843135787d1f6
[`2aa928f`]: https://github.com/dcdpr/jp/commit/2aa928f859f66510c0bba81dc14f7b877116e089
[`7d2e20d`]: https://github.com/dcdpr/jp/commit/7d2e20dc80e211809f3ac8597562cabb8e0982e0
[`ed1b364`]: https://github.com/dcdpr/jp/commit/ed1b364e143a23afdbb9fdaec46c293e9e74f5b1
[`f090bfa`]: https://github.com/dcdpr/jp/commit/f090bfa9c5ea35887ab2c930b1c71e0919e65919
[`01cb573`]: https://github.com/dcdpr/jp/commit/01cb5732f3687f8b1dc5c9cf30520b527c068f09
[`76444fa`]: https://github.com/dcdpr/jp/commit/76444fafa79199c0fcce1e8d743d14264872e87a
[`4e6bbb7`]: https://github.com/dcdpr/jp/commit/4e6bbb7a158a4966047b23ae6c576ccad0379785
[`f4f3ea9`]: https://github.com/dcdpr/jp/commit/f4f3ea9096e3535779cbd5499c646354c4a45645
[`a056536`]: https://github.com/dcdpr/jp/commit/a056536f7de31a3ab30ba5a9b8cd2bfe001244dc
[`aeebe98`]: https://github.com/dcdpr/jp/commit/aeebe98b4af8be8cc19ca292c48dea65004b57f5
[`38392fe`]: https://github.com/dcdpr/jp/commit/38392fea932b67d2ee577f51b29cd18f659afaea
[`1db0777`]: https://github.com/dcdpr/jp/commit/1db0777a206afe04a20b0cc0735ef5a34a4cce01
[`4e496dc`]: https://github.com/dcdpr/jp/commit/4e496dc7ace10afdaac02e80837350ecfcad1082
[`c960da9`]: https://github.com/dcdpr/jp/commit/c960da9f8894c802ff225879ba277b38e5b0b226
[`5544148`]: https://github.com/dcdpr/jp/commit/55441487323d47fc392501b8dca5392befa0f5e1
[`beeb2bd`]: https://github.com/dcdpr/jp/commit/beeb2bd782320e88efa09aa0c3a1d2a37b0c7f11
[`564bd13`]: https://github.com/dcdpr/jp/commit/564bd13be393fd328585f69c386694714190819b
[`ccdbca9`]: https://github.com/dcdpr/jp/commit/ccdbca922147614c7b0ccfd5c367ccb27149c908
[`703f152`]: https://github.com/dcdpr/jp/commit/703f15219aa3e4fbb5b3d8f2b228615292e8513f
[`4d3ab75`]: https://github.com/dcdpr/jp/commit/4d3ab753fc9cd609999958ed57fe9a2d088bfa59
[`f341310`]: https://github.com/dcdpr/jp/commit/f34131042e63cd72801c318a66702d338ded4304
[`996f44f`]: https://github.com/dcdpr/jp/commit/996f44fcf97880aeae08d92cda8e610100d4bbbc
[`cd36398`]: https://github.com/dcdpr/jp/commit/cd3639824196295a90e855bd6781e277302e31a0
[`134f180`]: https://github.com/dcdpr/jp/commit/134f180d74ac1ce599bf75aaf200e54ac1ce80f5
[`9d3cbe3`]: https://github.com/dcdpr/jp/commit/9d3cbe318547ce699a90ba6a32a1cbe3aa65bc0a
[`2f2b3ab`]: https://github.com/dcdpr/jp/commit/2f2b3ab67fd0a2cca2a6dc52a86a9c93e3d9d387
[`587595f`]: https://github.com/dcdpr/jp/commit/587595fe4dd297c2c8d0102b5258ad8ecb9b9513
[`2787ca3`]: https://github.com/dcdpr/jp/commit/2787ca30e3b5611d0132a40bba638a94c842e3ea
[`cab8e3e`]: https://github.com/dcdpr/jp/commit/cab8e3e6d1357ce480cb00b41bc74ba24a3591ff
[`f7be603`]: https://github.com/dcdpr/jp/commit/f7be603f4774861f41984893780e1fd289495bca
[`a036002`]: https://github.com/dcdpr/jp/commit/a036002ad89ede1b49106b830d8d03ce56586053
[`afc2f14`]: https://github.com/dcdpr/jp/commit/afc2f14cd8ac6e5673a621aaee0a63c2a2fe0112
[`e6dc586`]: https://github.com/dcdpr/jp/commit/e6dc586c5f014513d1c0144202ed3d1329ecfaa2
[`897abd2`]: https://github.com/dcdpr/jp/commit/897abd29f484113c0d8273a685b4ed396b3e6440
[`e3ae8f9`]: https://github.com/dcdpr/jp/commit/e3ae8f9c1c07b4a31d712e3b57bf8fb99fad6c12
[`8efd092`]: https://github.com/dcdpr/jp/commit/8efd092c5fd13ebf9787486be05d27597973a6f8
[`6a6e058`]: https://github.com/dcdpr/jp/commit/6a6e0580c7b03f72ba305180f1fc4d8303188601
[`9e8e7bb`]: https://github.com/dcdpr/jp/commit/9e8e7bb7d18f15afa62eee1aa86e21e6f869caa7
[`036db54`]: https://github.com/dcdpr/jp/commit/036db54520e774136b19204751193bcbdacd72fc
[`522d44d`]: https://github.com/dcdpr/jp/commit/522d44d3cf2aabbed426f0783f289c6e2f9bdcee
[`4262d3d`]: https://github.com/dcdpr/jp/commit/4262d3df062328e306e54d398e246709971342ec
[`522e0d1`]: https://github.com/dcdpr/jp/commit/522e0d11acd220dd1f79a43bee9f6eb2a3f79013
[`30f3700`]: https://github.com/dcdpr/jp/commit/30f3700d5b9526286cf01d753980c450f4fb27e7
[`501797e`]: https://github.com/dcdpr/jp/commit/501797e944f6ec67e7d1fbd7d56520bdb855ea29
[`9929fe6`]: https://github.com/dcdpr/jp/commit/9929fe600901798f40e6db114cd7a78069fe30f7
[`163f0aa`]: https://github.com/dcdpr/jp/commit/163f0aac9a723acd8624da12685a537822a5e533
[`b616b8f`]: https://github.com/dcdpr/jp/commit/b616b8f9ae18db0384edc31cb89371f626d38f16
[`25a281c`]: https://github.com/dcdpr/jp/commit/25a281c5f4f6f565298e155e1c0e3a81cb16dc03
[`58af1f1`]: https://github.com/dcdpr/jp/commit/58af1f14245be838496543d1020cffb88e7a6f59
[`8c58234`]: https://github.com/dcdpr/jp/commit/8c582346861f2562152657b6f0836128eeb588f7
[`3274c2b`]: https://github.com/dcdpr/jp/commit/3274c2b712e1f6f1527dd0d18314b2692e0af612
[`f31f449`]: https://github.com/dcdpr/jp/commit/f31f44938015c5e2768f1620c24f82c2e7d596f0
[`f552e1f`]: https://github.com/dcdpr/jp/commit/f552e1fd0740042e3a5992917ad6a1387da85399
[`2f4e5d4`]: https://github.com/dcdpr/jp/commit/2f4e5d4780d041db1c877be3c364e091e8755bec
[`0b86d4d`]: https://github.com/dcdpr/jp/commit/0b86d4df7ef4800508e5a576b2be5f9abab91ba5
[`585b5d2`]: https://github.com/dcdpr/jp/commit/585b5d29b21cb60bb6f80d924d56e3003ddf766e
[`b906a21`]: https://github.com/dcdpr/jp/commit/b906a21dba983a098229c655b910281038e8d4f4
[`ca59a5f`]: https://github.com/dcdpr/jp/commit/ca59a5fc5ed7504540f5a0ec40e87548616f07c4
[`dd22cb0`]: https://github.com/dcdpr/jp/commit/dd22cb054fea4a422f963212802345785ad8d09a
[`c47dce7`]: https://github.com/dcdpr/jp/commit/c47dce712416044f80132cb2991c896b21d20190
[`624c6f1`]: https://github.com/dcdpr/jp/commit/624c6f1e462d9b36b1c53629cfcdcfd320df2609
[`4d18267`]: https://github.com/dcdpr/jp/commit/4d1826753c9a1c6d245052dc1c3ac7dc7f3ac450
[`3f86e8d`]: https://github.com/dcdpr/jp/commit/3f86e8d93d63693e3d008e12f5b491f948b08567
[`d88dbad`]: https://github.com/dcdpr/jp/commit/d88dbad50f522c9aa55ec71c3e660383872f658c
[`980486e`]: https://github.com/dcdpr/jp/commit/980486e185e863fe1235e8d385fc0199a94ec7bb
[`7304e47`]: https://github.com/dcdpr/jp/commit/7304e4785f5f367f87e39049c0f7222221830716
[`1b7d9f8`]: https://github.com/dcdpr/jp/commit/1b7d9f878f98fe371ca3f3ef8761465f5589cc68
[`786c9a0`]: https://github.com/dcdpr/jp/commit/786c9a011438b686991eb7372f31c6e1f73b0e16
[`2e44700`]: https://github.com/dcdpr/jp/commit/2e44700840f38eabaa2fead83d6fb04f168be68d
[`50a6d2b`]: https://github.com/dcdpr/jp/commit/50a6d2b958275065bdfea502315473e199527416
[`7a9f3be`]: https://github.com/dcdpr/jp/commit/7a9f3be05506eeb32d21a815f4e81064c534f32a
[`8810457`]: https://github.com/dcdpr/jp/commit/8810457bd9679b2f685ceab367452c43a28c01b6
[`8ae4900`]: https://github.com/dcdpr/jp/commit/8ae49005f440328f967d23ccbbc8ee37539d0fe7
[`aa29d89`]: https://github.com/dcdpr/jp/commit/aa29d89220f57019696f3a0f16a8d91d9941d5e7
[`9f511b5`]: https://github.com/dcdpr/jp/commit/9f511b5b5a32c6cbd6fa64d9cf753a1b3f166cf6
[`f7299e3`]: https://github.com/dcdpr/jp/commit/f7299e3492ec1a009848a066d205c69bce9c9d97
[`74250fb`]: https://github.com/dcdpr/jp/commit/74250fbb9bc24ab6552e166a27e1eab487797de9
[`6476c82`]: https://github.com/dcdpr/jp/commit/6476c823604ae9189214140252ce6d755c602486
[`d60f7a8`]: https://github.com/dcdpr/jp/commit/d60f7a8ac353ad0eeef2ef60e9d93cdcab1adf33
[`f76c704`]: https://github.com/dcdpr/jp/commit/f76c704575d8b2b8324c397c45c3b46ad24f638d
[`f4be455`]: https://github.com/dcdpr/jp/commit/f4be4555dc10ee7d26b23852b3498ded5ab3fd4e
[`6de3b53`]: https://github.com/dcdpr/jp/commit/6de3b5333c82347b021a93617d9ab059faec4d42
[`2ed8036`]: https://github.com/dcdpr/jp/commit/2ed8036a86c87c705f0ed8bf0f79600b7b2b1fc4
[`8a7f312`]: https://github.com/dcdpr/jp/commit/8a7f312a41a1c74448289f78b69dfad77c83cf92
[`c223cab`]: https://github.com/dcdpr/jp/commit/c223cab164edc880bb40a2dcdfa530e3f462d585
[`b33c6c9`]: https://github.com/dcdpr/jp/commit/b33c6c9aa62df6f4291249e95d612d534284fc4f
[`a62ba25`]: https://github.com/dcdpr/jp/commit/a62ba2523a4de603925a0bcdf9d2c93bda56d9ee
[`0756804`]: https://github.com/dcdpr/jp/commit/07568043dbc1519a072c1d2ee51219b2bddf672f
[`cd15508`]: https://github.com/dcdpr/jp/commit/cd15508af911e505b6d80556b53a2f077873ac24
[`f813b7e`]: https://github.com/dcdpr/jp/commit/f813b7e00f7d60e0ce42c84d5349d239a9032c8c
[`d16ee2a`]: https://github.com/dcdpr/jp/commit/d16ee2a75c7996929fc536cf41f3cf4d43971ad8
[`7e1f6d7`]: https://github.com/dcdpr/jp/commit/7e1f6d72387504dd13ae40eb5ee8ad223567448a
[`fd9a424`]: https://github.com/dcdpr/jp/commit/fd9a42460edd30f3b286f98196c754c615278b50
[`71561fb`]: https://github.com/dcdpr/jp/commit/71561fb72b954577dab45cb034722200dd994625
[`6880c42`]: https://github.com/dcdpr/jp/commit/6880c42d3810a4aa26abce15858d74b667332145
[`bccc9dc`]: https://github.com/dcdpr/jp/commit/bccc9dcb52f0bed15b2ccb8c033c5fdb4b22038b
[`3d1ab2b`]: https://github.com/dcdpr/jp/commit/3d1ab2ba6d252fd06301ca67acaad19abdf36851
[`ebb611a`]: https://github.com/dcdpr/jp/commit/ebb611a7d95b6972d8307bebdebb783f4ec108e8
[`730302b`]: https://github.com/dcdpr/jp/commit/730302bcf733a9a9934b251b54fd0b4e5d22154d
[`25a00a0`]: https://github.com/dcdpr/jp/commit/25a00a0324f0d4eb2b7b8d3a789ec82b8aff786a
[`e83d01a`]: https://github.com/dcdpr/jp/commit/e83d01a128f437beafe1320fd0f4cb628862870a
[`af81d3f`]: https://github.com/dcdpr/jp/commit/af81d3f956a16168e2e23ef7d1da5741d2f6b290
[`109572a`]: https://github.com/dcdpr/jp/commit/109572a4bf90e6fd62d0b2961a557d416a20611e
[`e01d875`]: https://github.com/dcdpr/jp/commit/e01d8751ac2fb479027cc4d1ed28cf92dbabce44
[`27dfce6`]: https://github.com/dcdpr/jp/commit/27dfce6c802a7bbf317ff40c5f53482db2b3af39
[`bf173b3`]: https://github.com/dcdpr/jp/commit/bf173b3185648953366e7a6053577c8ead5a383a
[`f834558`]: https://github.com/dcdpr/jp/commit/f83455809ac3b13c3c596793876bb4bbe44b34f8
[`d9fb970`]: https://github.com/dcdpr/jp/commit/d9fb970915d5f5b41e15210c75c4be91120f9bca
[`fe528db`]: https://github.com/dcdpr/jp/commit/fe528dbb32b55bad07f73b52450a8a8d28dcb65f
[`acb6d93`]: https://github.com/dcdpr/jp/commit/acb6d931e99e60dc4c912a71b4f8a25e8eb7ef6e
[`82f8b3f`]: https://github.com/dcdpr/jp/commit/82f8b3fe79ff21e96f3f54871804bf1f9007a0ad
[`db11359`]: https://github.com/dcdpr/jp/commit/db113592ce8eb5b06c9af62df2fcb8f1c197a0e1
[`4ce0213`]: https://github.com/dcdpr/jp/commit/4ce0213b69b08ec763c4a1b8989b25619cde949e
[`8e8648e`]: https://github.com/dcdpr/jp/commit/8e8648e5eb8c1973edb0f46a4e1905a3c5a6ec68
[`18c3793`]: https://github.com/dcdpr/jp/commit/18c37939a14f325d8cd8db95dfa736cc3c64f542
[`563cdbe`]: https://github.com/dcdpr/jp/commit/563cdbef00a72b2ba65c3d84e8b9dbf6df370f1d
[`aea33a9`]: https://github.com/dcdpr/jp/commit/aea33a97663b14246919f98f34ed01646046f53c
[`9f79a1d`]: https://github.com/dcdpr/jp/commit/9f79a1d399ce08a755acdca47036c07fff8afa62
[`9713184`]: https://github.com/dcdpr/jp/commit/97131846a95f842df69251b819b1af5d00a9c071
[`7aadc37`]: https://github.com/dcdpr/jp/commit/7aadc37bfaad6b446ff462dc365652e8b2835c2d
[`8db37b4`]: https://github.com/dcdpr/jp/commit/8db37b4ba08848b3195771214a209e5e08ad17a2
[`0e8534f`]: https://github.com/dcdpr/jp/commit/0e8534ff4e525e07d368aec357f4604256fcde30
[`7ddc69b`]: https://github.com/dcdpr/jp/commit/7ddc69be157d9563f4e2e507295c84a094ced25b
[`59cc8ef`]: https://github.com/dcdpr/jp/commit/59cc8efdc913363a36456a773af9a612edbde17d
[`ecb0ebc`]: https://github.com/dcdpr/jp/commit/ecb0ebcf52f1a8eac98592bd5e1663b1e9dadf10
[`5af37d0`]: https://github.com/dcdpr/jp/commit/5af37d0000c8d5c7773e1c8115f92e94fee859ca
[`7133b26`]: https://github.com/dcdpr/jp/commit/7133b262377989ba18675d0a8ee856d7550a2407
[`230959d`]: https://github.com/dcdpr/jp/commit/230959d700e1aab065ece2244053b61553bc2dfa
[`3ebb0b9`]: https://github.com/dcdpr/jp/commit/3ebb0b919c040b44fa73be86d74cf4b348e82b5c
[`dc67163`]: https://github.com/dcdpr/jp/commit/dc67163dc5a7269aa3697fffd7c1b6ad64ab3fe7
[`84bdeb7`]: https://github.com/dcdpr/jp/commit/84bdeb71ce01e020d24eb6693a854191f9ff6d97
[`8b9985a`]: https://github.com/dcdpr/jp/commit/8b9985a79da4b6537618c600daf76b824e0f1316
[`b5c69d1`]: https://github.com/dcdpr/jp/commit/b5c69d1821bfeed444494c2aa485bf4c4723d963
[`a165d25`]: https://github.com/dcdpr/jp/commit/a165d25e19bd081437a248d9d5e00bfaab106535
[`815e649`]: https://github.com/dcdpr/jp/commit/815e649265e11e1a12d5b054294a30038342beb0
[`4f65d73`]: https://github.com/dcdpr/jp/commit/4f65d73a60174763aca384b9b3c45abbb2aa5ef9
[`d4b4acc`]: https://github.com/dcdpr/jp/commit/d4b4accd170e6c815de1f48e899190c81248af23
[`eaaf62b`]: https://github.com/dcdpr/jp/commit/eaaf62b8a75c75d5da6675d14ce577b8935341f1
[`97fb939`]: https://github.com/dcdpr/jp/commit/97fb9390a6d43b224f0058f1e78bb5d9a158ecab
[`39088ef`]: https://github.com/dcdpr/jp/commit/39088ef3aadbc895b6ba2f68ee22efeb8c34875d
[`e06d444`]: https://github.com/dcdpr/jp/commit/e06d444c59ae1914bcf6a04c779da1fcda65fbb5
[`2828573`]: https://github.com/dcdpr/jp/commit/28285739e253b75eac199aba6e170c83a541dbde
[`11ffdeb`]: https://github.com/dcdpr/jp/commit/11ffdeb134086f337323ad1564033c179a8af4d8
[`b5428d0`]: https://github.com/dcdpr/jp/commit/b5428d0d25d114bf4831cbed8def55741104ee55
[`7a568c1`]: https://github.com/dcdpr/jp/commit/7a568c1dc3f9a0618be4580eaff5f8a3774865c7
[`a74d2b6`]: https://github.com/dcdpr/jp/commit/a74d2b6f30df5a99c17cea8477b74660a728829f
[`6d418b0`]: https://github.com/dcdpr/jp/commit/6d418b0dfc9fc7e814dcb92e9dd5f3275f151116
[`8cf0bc8`]: https://github.com/dcdpr/jp/commit/8cf0bc885b0e46e1f2ec07c442992f5970555017
[`d7060f1`]: https://github.com/dcdpr/jp/commit/d7060f1dccad474211f7c995ddd4964170899ec8
[`296d639`]: https://github.com/dcdpr/jp/commit/296d63950c97b355d3e55877dd41565695e47772
[`4224abf`]: https://github.com/dcdpr/jp/commit/4224abf047dcb2994cec33e40a6dcf1aca61c2c2
[`74cadcc`]: https://github.com/dcdpr/jp/commit/74cadcc65a7667c2cbf5f8f8bef332eb272c7774
[`ee020ed`]: https://github.com/dcdpr/jp/commit/ee020edf2ccb3a7e23960eb219f0b6f00c8d0eca
[`0dbde15`]: https://github.com/dcdpr/jp/commit/0dbde153399efa85690ab061bfd0e495053e38ac
[`889cea6`]: https://github.com/dcdpr/jp/commit/889cea6a4c058599e7a617cf6108f2befc39a788
[`f3d32cd`]: https://github.com/dcdpr/jp/commit/f3d32cdf82d5911dbca16860649a56f7a942a69a
[`a2b536f`]: https://github.com/dcdpr/jp/commit/a2b536f998ebc30fe2975735cf862da953193865
[`cd56c5c`]: https://github.com/dcdpr/jp/commit/cd56c5c927bfaeaca0a4bb8a1f09218cb3f1e297
[`2616d05`]: https://github.com/dcdpr/jp/commit/2616d05648a45320c2ea959691746ed2a212a877
[`3e5c311`]: https://github.com/dcdpr/jp/commit/3e5c311152d5c8ef890bb55e29c9625b772f710e
[`491b1ee`]: https://github.com/dcdpr/jp/commit/491b1ee20dd7b1384d6423dc8109a745643d7753
[`12dcd06`]: https://github.com/dcdpr/jp/commit/12dcd06ed03f2727b4bfe3f265edb53ef8ed5adf
[`cf61494`]: https://github.com/dcdpr/jp/commit/cf6149469bdc345020185d812aa1717ab9aa4004
[`21df4b8`]: https://github.com/dcdpr/jp/commit/21df4b86e2d0ec32e75da328e640cb48e4dfd960
[`c7fa9d6`]: https://github.com/dcdpr/jp/commit/c7fa9d6d93aad1f1ca3992e7a4d6965ed7016028
[`9c2cbf8`]: https://github.com/dcdpr/jp/commit/9c2cbf8ea4f99ca9912656fc12e360df2e7d5dec
[`bd642d2`]: https://github.com/dcdpr/jp/commit/bd642d2a2b9ca7f63866e87ac0a11ca9d3a2a989
[`510a744`]: https://github.com/dcdpr/jp/commit/510a7441df3fa6b5e25932c8dc17c9dbced2a531
[`f637719`]: https://github.com/dcdpr/jp/commit/f6377191515932862346623b2f8f046a99801624
[`9eb6b0e`]: https://github.com/dcdpr/jp/commit/9eb6b0ed2bba1a44af9dad21704706a722a32a45
[`91d3fc0`]: https://github.com/dcdpr/jp/commit/91d3fc008a901a78902e0f0991436ce031d04ff6
[`81cfc84`]: https://github.com/dcdpr/jp/commit/81cfc847931d81252cc0e2c69b23d0ef177d894b
[`3092918`]: https://github.com/dcdpr/jp/commit/30929188e2ac1d6e81698f6323122252c2638f4d
[`bad7dc8`]: https://github.com/dcdpr/jp/commit/bad7dc8aaec6fe6bd0489ebad414d239942ec697
[`d63a130`]: https://github.com/dcdpr/jp/commit/d63a13025a4893f8df77ce54ee1eaac9c3917bb9
[`714ac4a`]: https://github.com/dcdpr/jp/commit/714ac4a7595b7a79e96c75d266632619e8faade4
[`e8800a0`]: https://github.com/dcdpr/jp/commit/e8800a0ea21769ed3e41f2bd01e2640c0af711f3
[`6eb984b`]: https://github.com/dcdpr/jp/commit/6eb984b2d438084e8c0a781f7cecdf451ddfdd88
[`db9f418`]: https://github.com/dcdpr/jp/commit/db9f4182ebbbee09b7a5d1bb910d2cc1942600c7
[`05a8350`]: https://github.com/dcdpr/jp/commit/05a83507c6392ce24d99a75d5bc7071f07e5c36e
[`d9a7f91`]: https://github.com/dcdpr/jp/commit/d9a7f9153f2a1fdc15396754bf3073c131f7dd97
[`c3e845f`]: https://github.com/dcdpr/jp/commit/c3e845f37543fdb8956910ece05b13072ab548ff
[`7a94e66`]: https://github.com/dcdpr/jp/commit/7a94e6620f49899d4242e355862f7e227012504f
[`b80e7c8`]: https://github.com/dcdpr/jp/commit/b80e7c86c92ff90ce34a7176ef1b3933a97d6dba
[`8be4e34`]: https://github.com/dcdpr/jp/commit/8be4e34520f76622e582eb0617d04305e4350578
[`5a2fd94`]: https://github.com/dcdpr/jp/commit/5a2fd941fb8a797727482b5ad3525d8b3aabf6f0
[`51fe290`]: https://github.com/dcdpr/jp/commit/51fe290c6f76df50f35a1797c5a0d25e5850d17d
[`85a74dc`]: https://github.com/dcdpr/jp/commit/85a74dcc9d9f38670c15f026e128c438b1416b30
[`be427d9`]: https://github.com/dcdpr/jp/commit/be427d914204ca50200183ce849741ed29d8ad97
[`a8112bf`]: https://github.com/dcdpr/jp/commit/a8112bf8d4dbc225da8f1e589343ee66cb4b4584
[`34417a2`]: https://github.com/dcdpr/jp/commit/34417a2de670301a57ea22e8e2ff711aba77754b
[`35fd2c4`]: https://github.com/dcdpr/jp/commit/35fd2c4cf4d50c96b84d1513ed7fc18da881b685
[`da4dc7d`]: https://github.com/dcdpr/jp/commit/da4dc7d0bdf1c8e014be158eabee0da7ae321a74
[`61f293f`]: https://github.com/dcdpr/jp/commit/61f293f1877548e6254ec1d42b4ba9103bff7e49
[`9893602`]: https://github.com/dcdpr/jp/commit/9893602a5af257ec76775e0f8a10921640a2271d
[`34afef5`]: https://github.com/dcdpr/jp/commit/34afef5af8364150e1efc86ecc4cd0887a05c4b5
[`b2deea1`]: https://github.com/dcdpr/jp/commit/b2deea1d4feb52e3f67a2b44633bdf2522f941b2
[`538f417`]: https://github.com/dcdpr/jp/commit/538f417d4234e32137a3832c659edd000835eb77
[`c411abc`]: https://github.com/dcdpr/jp/commit/c411abc7ffff8950307bd94c1064dc41d04587e7
[`1e52932`]: https://github.com/dcdpr/jp/commit/1e52932112110c6fde09ace212ef93a2a746f5bb
[`ce1ab70`]: https://github.com/dcdpr/jp/commit/ce1ab70ba387f86907cd557e6db21eb9ddb473bd
[`c5856db`]: https://github.com/dcdpr/jp/commit/c5856db8840f999279b04c3446122799ccbe83b2
[`e20c97c`]: https://github.com/dcdpr/jp/commit/e20c97c340286a6d9144bf651801b06931ddc36e
[`c292644`]: https://github.com/dcdpr/jp/commit/c292644b2077948f18645eec6cd31bebc095b603
[`6146e57`]: https://github.com/dcdpr/jp/commit/6146e57ed7ca7a61c8902929858a2069df1c8228
[`6cea9b5`]: https://github.com/dcdpr/jp/commit/6cea9b5052fb109a97a520e7737a6a8753554b28
[`75a6d95`]: https://github.com/dcdpr/jp/commit/75a6d95520a3ae3d322c05c161e551b9f474e891
[`e0aa3f9`]: https://github.com/dcdpr/jp/commit/e0aa3f9bec445f763a237af6d82355f6f7400cd5
[`da456fc`]: https://github.com/dcdpr/jp/commit/da456fcb8f9c9d25f20c0bfb8c7e90977a5ee0ce
[`47c06a4`]: https://github.com/dcdpr/jp/commit/47c06a44c9a181d704e33f19e6f6cf0197ea9347
[`4a97f39`]: https://github.com/dcdpr/jp/commit/4a97f3941b7939dc7ea6ae6178ed86118ac41176
[`3214bcf`]: https://github.com/dcdpr/jp/commit/3214bcf1c60aafec43f147a52d3d845136f75f67
[`3633e6c`]: https://github.com/dcdpr/jp/commit/3633e6c96cceed988ad59f4e03c01d399459bf2c
[`6dbe6b5`]: https://github.com/dcdpr/jp/commit/6dbe6b55c7d5208059bd26121207f38047395212
[`f2369a0`]: https://github.com/dcdpr/jp/commit/f2369a0a29776eefa766d3ea4e5b7963869affbd
[`a6145fc`]: https://github.com/dcdpr/jp/commit/a6145fcbc100a9c75848b3c2da3f9cd4f2d92229
[`b226b0f`]: https://github.com/dcdpr/jp/commit/b226b0f25e24499da03735187b73f71ae83e854c
[`1e03075`]: https://github.com/dcdpr/jp/commit/1e03075f1ca8e18ac1fcc8b56289f405f7c0bb16
[`786b0bf`]: https://github.com/dcdpr/jp/commit/786b0bfe86aa5579bb77ccd2833ed096f7fe016f
[`cb492ef`]: https://github.com/dcdpr/jp/commit/cb492efcd44663a7446503ba4f8a0433c45e0cfa
[`f336253`]: https://github.com/dcdpr/jp/commit/f33625389d0770982bd54bc8930d23900e53e580
[`f07c5fc`]: https://github.com/dcdpr/jp/commit/f07c5fcc08160c89412f2f0d61eebd33886091ab
[`60b31b2`]: https://github.com/dcdpr/jp/commit/60b31b28cbb5dd6ea44b68db86cbc0051becc900
[`a414405`]: https://github.com/dcdpr/jp/commit/a414405efb5f4217a2b58269da687a1a0c3bc15e
[`6fe61da`]: https://github.com/dcdpr/jp/commit/6fe61da57453bc8b769c7204cf1fd43e6f8e1aa3
[`011761f`]: https://github.com/dcdpr/jp/commit/011761ff435b7af43b2f0ee0bd7be71e62983ebb
[`8cdcb17`]: https://github.com/dcdpr/jp/commit/8cdcb172f0a28182ffb6815342153647dd7ee584
[`7180a75`]: https://github.com/dcdpr/jp/commit/7180a753dc7beb4a825342e5311bb6c3b916c153
[`7f86aeb`]: https://github.com/dcdpr/jp/commit/7f86aeb1ff8ef3b5cecba2ac410dd08a125f4676
[`72e036e`]: https://github.com/dcdpr/jp/commit/72e036eac4445620bfb7a3e28942544791927230
[`b75fd14`]: https://github.com/dcdpr/jp/commit/b75fd140820c66d51d2cbe3ac001f3375a4960f3
[`5c1fde9`]: https://github.com/dcdpr/jp/commit/5c1fde957841cf120748247d0886fb923ef5e28b
[`e69db47`]: https://github.com/dcdpr/jp/commit/e69db4751834fd2a54078c6270428d7ee904e47a
[`515c5e7`]: https://github.com/dcdpr/jp/commit/515c5e7f202471109bf31471bad6cc87b740d209
[`2f12759`]: https://github.com/dcdpr/jp/commit/2f12759ceb040dfdf3b45d0a015e503f64e65758
[`f12e6f3`]: https://github.com/dcdpr/jp/commit/f12e6f3b0b682e60c3f2a47f48b48ed037b8a784
[`7ffc2cc`]: https://github.com/dcdpr/jp/commit/7ffc2cc8b519c243e3ff017d9caeb4dcd14383e6
[`ca1c1df`]: https://github.com/dcdpr/jp/commit/ca1c1df0f92941d9ec418f7f941da011072e1ce8
[`c63c590`]: https://github.com/dcdpr/jp/commit/c63c5900706d4d3b760870a8f8ef79e942406a5e
[`548f948`]: https://github.com/dcdpr/jp/commit/548f94840b0a2ea7e9ec62febbd7ed59b9e755c3
[`328f0aa`]: https://github.com/dcdpr/jp/commit/328f0aa5dd1281f12911643d2008eecac2352909
[`5129eb9`]: https://github.com/dcdpr/jp/commit/5129eb9e4da30fa7cb4830785ce648b12b3b20fd
[`683d43f`]: https://github.com/dcdpr/jp/commit/683d43fca695120ef9121e75d02db56453fb8843
[`932cdd0`]: https://github.com/dcdpr/jp/commit/932cdd0eec190fc1bc46f7695de28aaa77ca4a5b
[`ee0f359`]: https://github.com/dcdpr/jp/commit/ee0f359e3d3c4f11a3e71e5829f0205ac4d7f990
[`f56e837`]: https://github.com/dcdpr/jp/commit/f56e83708fb5c1fd52999ed8f599e03bcfed2dd3
[`3e59e1b`]: https://github.com/dcdpr/jp/commit/3e59e1b76e5297ab86ab29d9f292be6672096a64
[`0fd5b96`]: https://github.com/dcdpr/jp/commit/0fd5b96fcf6ac4983b4d6d42d55961db85696586
[`33ca0dd`]: https://github.com/dcdpr/jp/commit/33ca0dd77efb7ec93dec4a9d718387dbd9531fa5
[`147a24d`]: https://github.com/dcdpr/jp/commit/147a24db399420b13dfd50fd4f2baf84bcecaa3c
[`ee6ab21`]: https://github.com/dcdpr/jp/commit/ee6ab21e2e75144ac5a5d212161cce5fc0744d0e
[`f2f5d27`]: https://github.com/dcdpr/jp/commit/f2f5d279e1cc47e9f9fd4ecc72e6e33ffc1db906
[`1e8d05f`]: https://github.com/dcdpr/jp/commit/1e8d05f3391bf33a6f9c758c1d8d00a98ecddbd5
[`6383eb9`]: https://github.com/dcdpr/jp/commit/6383eb9e161e709d637b971e9dda5ed44f8406b4
[`e50590e`]: https://github.com/dcdpr/jp/commit/e50590e33cbba7f4f178555ba967684f3f32d650
[`c54ecf4`]: https://github.com/dcdpr/jp/commit/c54ecf4035ebd31fed2dea12d685e09ff858b736
[`407bc4d`]: https://github.com/dcdpr/jp/commit/407bc4d746e4a18f879a2ab4b6c9798bcaadd881
[`b84ab79`]: https://github.com/dcdpr/jp/commit/b84ab792fed0c27d38c05fd96f49f64ebec44d8d
[`d17488c`]: https://github.com/dcdpr/jp/commit/d17488c0710e6992c53ea9daf0e4c1253d156e6e
[`6f4f866`]: https://github.com/dcdpr/jp/commit/6f4f866f5e15c22d2fed8a52219e1a8d99ce6398
[`be90120`]: https://github.com/dcdpr/jp/commit/be9012085c839b3e4ba311d2e182aa180b997956
[`a4f9b58`]: https://github.com/dcdpr/jp/commit/a4f9b5856620ef41d1b837c5fcc8b711d1ecfdfc
[`5ab9d80`]: https://github.com/dcdpr/jp/commit/5ab9d80f1a85d147a659b261b1d94dd8cbbae75e
[`7a24104`]: https://github.com/dcdpr/jp/commit/7a2410475c388b8a4fb213b3cb8eaa49bd4145ee
[`93aa603`]: https://github.com/dcdpr/jp/commit/93aa6033270268347bed220d94d35866f7d8bc7f
[`6dda179`]: https://github.com/dcdpr/jp/commit/6dda179e4722b6bc9ae31b57068ce95b86d41d70
[`e0fb3b9`]: https://github.com/dcdpr/jp/commit/e0fb3b906a65add1576b67891f6247572fe9651d
[`cd47a14`]: https://github.com/dcdpr/jp/commit/cd47a14061ad41ec1ab4c397af22af8e79317573
[`8a16d23`]: https://github.com/dcdpr/jp/commit/8a16d2378ead10aff02a18719c838dd3143f21c8
[`940f8ce`]: https://github.com/dcdpr/jp/commit/940f8ceabc692f5f177387a61984adf3e41e90b6
[`9998d31`]: https://github.com/dcdpr/jp/commit/9998d31f9e80cf6e61c77d2f32e18d520cdc6acd
[`2600658`]: https://github.com/dcdpr/jp/commit/2600658e2a382a8ca453780e25625aa4d8223574
[`d86b311`]: https://github.com/dcdpr/jp/commit/d86b3111c8b87da2b9c15050a3d9c3b2a97a0013
[`37ba3f4`]: https://github.com/dcdpr/jp/commit/37ba3f44703188c7b29f7472d75a8e3378a03f94

<!-- [pull requests] -->

[pr#625]: https://github.com/dcdpr/jp/pull/625
[pr#623]: https://github.com/dcdpr/jp/pull/623
[pr#622]: https://github.com/dcdpr/jp/pull/622
[pr#621]: https://github.com/dcdpr/jp/pull/621
[pr#619]: https://github.com/dcdpr/jp/pull/619
[pr#618]: https://github.com/dcdpr/jp/pull/618
[pr#617]: https://github.com/dcdpr/jp/pull/617
[pr#614]: https://github.com/dcdpr/jp/pull/614
[pr#616]: https://github.com/dcdpr/jp/pull/616
[pr#615]: https://github.com/dcdpr/jp/pull/615
[pr#611]: https://github.com/dcdpr/jp/pull/611
[pr#610]: https://github.com/dcdpr/jp/pull/610
[pr#609]: https://github.com/dcdpr/jp/pull/609
[pr#607]: https://github.com/dcdpr/jp/pull/607
[pr#604]: https://github.com/dcdpr/jp/pull/604
[pr#602]: https://github.com/dcdpr/jp/pull/602
[pr#601]: https://github.com/dcdpr/jp/pull/601
[pr#596]: https://github.com/dcdpr/jp/pull/596
[pr#594]: https://github.com/dcdpr/jp/pull/594
[pr#592]: https://github.com/dcdpr/jp/pull/592
[pr#591]: https://github.com/dcdpr/jp/pull/591
[pr#589]: https://github.com/dcdpr/jp/pull/589
[pr#588]: https://github.com/dcdpr/jp/pull/588
[pr#584]: https://github.com/dcdpr/jp/pull/584
[pr#583]: https://github.com/dcdpr/jp/pull/583
[pr#582]: https://github.com/dcdpr/jp/pull/582
[pr#581]: https://github.com/dcdpr/jp/pull/581
[pr#580]: https://github.com/dcdpr/jp/pull/580
[pr#579]: https://github.com/dcdpr/jp/pull/579
[pr#578]: https://github.com/dcdpr/jp/pull/578
[pr#575]: https://github.com/dcdpr/jp/pull/575
[pr#574]: https://github.com/dcdpr/jp/pull/574
[pr#572]: https://github.com/dcdpr/jp/pull/572
[pr#571]: https://github.com/dcdpr/jp/pull/571
[pr#570]: https://github.com/dcdpr/jp/pull/570
[pr#568]: https://github.com/dcdpr/jp/pull/568
[pr#567]: https://github.com/dcdpr/jp/pull/567
[pr#564]: https://github.com/dcdpr/jp/pull/564
[pr#563]: https://github.com/dcdpr/jp/pull/563
[pr#561]: https://github.com/dcdpr/jp/pull/561
[pr#560]: https://github.com/dcdpr/jp/pull/560
[pr#562]: https://github.com/dcdpr/jp/pull/562
[pr#555]: https://github.com/dcdpr/jp/pull/555
[pr#554]: https://github.com/dcdpr/jp/pull/554
[pr#521]: https://github.com/dcdpr/jp/pull/521
[pr#552]: https://github.com/dcdpr/jp/pull/552
[pr#551]: https://github.com/dcdpr/jp/pull/551
[pr#547]: https://github.com/dcdpr/jp/pull/547
[pr#542]: https://github.com/dcdpr/jp/pull/542
[pr#537]: https://github.com/dcdpr/jp/pull/537
[pr#534]: https://github.com/dcdpr/jp/pull/534
[pr#540]: https://github.com/dcdpr/jp/pull/540
[pr#538]: https://github.com/dcdpr/jp/pull/538
[pr#536]: https://github.com/dcdpr/jp/pull/536
[pr#535]: https://github.com/dcdpr/jp/pull/535
[pr#533]: https://github.com/dcdpr/jp/pull/533
[pr#526]: https://github.com/dcdpr/jp/pull/526
[pr#525]: https://github.com/dcdpr/jp/pull/525
[pr#524]: https://github.com/dcdpr/jp/pull/524
[pr#523]: https://github.com/dcdpr/jp/pull/523
[pr#522]: https://github.com/dcdpr/jp/pull/522
[pr#520]: https://github.com/dcdpr/jp/pull/520
[pr#519]: https://github.com/dcdpr/jp/pull/519
[pr#517]: https://github.com/dcdpr/jp/pull/517
[pr#516]: https://github.com/dcdpr/jp/pull/516
[pr#514]: https://github.com/dcdpr/jp/pull/514
[pr#513]: https://github.com/dcdpr/jp/pull/513
[pr#512]: https://github.com/dcdpr/jp/pull/512
[pr#511]: https://github.com/dcdpr/jp/pull/511
[pr#505]: https://github.com/dcdpr/jp/pull/505
[pr#509]: https://github.com/dcdpr/jp/pull/509
[pr#507]: https://github.com/dcdpr/jp/pull/507
[pr#503]: https://github.com/dcdpr/jp/pull/503
[pr#501]: https://github.com/dcdpr/jp/pull/501
[pr#500]: https://github.com/dcdpr/jp/pull/500
[pr#498]: https://github.com/dcdpr/jp/pull/498
[pr#499]: https://github.com/dcdpr/jp/pull/499
[pr#496]: https://github.com/dcdpr/jp/pull/496
[pr#491]: https://github.com/dcdpr/jp/pull/491
[pr#490]: https://github.com/dcdpr/jp/pull/490
[pr#489]: https://github.com/dcdpr/jp/pull/489
[pr#488]: https://github.com/dcdpr/jp/pull/488
[pr#487]: https://github.com/dcdpr/jp/pull/487
[pr#486]: https://github.com/dcdpr/jp/pull/486
[pr#485]: https://github.com/dcdpr/jp/pull/485
[pr#483]: https://github.com/dcdpr/jp/pull/483
[pr#482]: https://github.com/dcdpr/jp/pull/482
[pr#478]: https://github.com/dcdpr/jp/pull/478
[pr#476]: https://github.com/dcdpr/jp/pull/476
[pr#475]: https://github.com/dcdpr/jp/pull/475
[pr#473]: https://github.com/dcdpr/jp/pull/473
[pr#472]: https://github.com/dcdpr/jp/pull/472
[pr#471]: https://github.com/dcdpr/jp/pull/471
[pr#470]: https://github.com/dcdpr/jp/pull/470
[pr#469]: https://github.com/dcdpr/jp/pull/469
[pr#468]: https://github.com/dcdpr/jp/pull/468
[pr#467]: https://github.com/dcdpr/jp/pull/467
[pr#466]: https://github.com/dcdpr/jp/pull/466
[pr#465]: https://github.com/dcdpr/jp/pull/465
[pr#464]: https://github.com/dcdpr/jp/pull/464
[pr#463]: https://github.com/dcdpr/jp/pull/463
[pr#462]: https://github.com/dcdpr/jp/pull/462
[pr#461]: https://github.com/dcdpr/jp/pull/461
[pr#458]: https://github.com/dcdpr/jp/pull/458
[pr#457]: https://github.com/dcdpr/jp/pull/457
[pr#456]: https://github.com/dcdpr/jp/pull/456
[pr#455]: https://github.com/dcdpr/jp/pull/455
[pr#454]: https://github.com/dcdpr/jp/pull/454
[pr#453]: https://github.com/dcdpr/jp/pull/453
[pr#451]: https://github.com/dcdpr/jp/pull/451
[pr#449]: https://github.com/dcdpr/jp/pull/449
[pr#447]: https://github.com/dcdpr/jp/pull/447
[pr#446]: https://github.com/dcdpr/jp/pull/446
[pr#445]: https://github.com/dcdpr/jp/pull/445
[pr#444]: https://github.com/dcdpr/jp/pull/444
[pr#439]: https://github.com/dcdpr/jp/pull/439
[pr#438]: https://github.com/dcdpr/jp/pull/438
[pr#433]: https://github.com/dcdpr/jp/pull/433
[pr#428]: https://github.com/dcdpr/jp/pull/428
[pr#427]: https://github.com/dcdpr/jp/pull/427
[pr#426]: https://github.com/dcdpr/jp/pull/426
[pr#425]: https://github.com/dcdpr/jp/pull/425
[pr#424]: https://github.com/dcdpr/jp/pull/424
[pr#420]: https://github.com/dcdpr/jp/pull/420
[pr#419]: https://github.com/dcdpr/jp/pull/419
[pr#418]: https://github.com/dcdpr/jp/pull/418
[pr#417]: https://github.com/dcdpr/jp/pull/417
[pr#416]: https://github.com/dcdpr/jp/pull/416
[pr#415]: https://github.com/dcdpr/jp/pull/415
[pr#414]: https://github.com/dcdpr/jp/pull/414
[pr#413]: https://github.com/dcdpr/jp/pull/413
[pr#412]: https://github.com/dcdpr/jp/pull/412
[pr#410]: https://github.com/dcdpr/jp/pull/410
[pr#409]: https://github.com/dcdpr/jp/pull/409
[pr#408]: https://github.com/dcdpr/jp/pull/408
[pr#406]: https://github.com/dcdpr/jp/pull/406
[pr#403]: https://github.com/dcdpr/jp/pull/403
[pr#402]: https://github.com/dcdpr/jp/pull/402
[pr#401]: https://github.com/dcdpr/jp/pull/401
[pr#405]: https://github.com/dcdpr/jp/pull/405
[pr#398]: https://github.com/dcdpr/jp/pull/398
[pr#395]: https://github.com/dcdpr/jp/pull/395
[pr#391]: https://github.com/dcdpr/jp/pull/391
[pr#389]: https://github.com/dcdpr/jp/pull/389
[pr#387]: https://github.com/dcdpr/jp/pull/387
[pr#386]: https://github.com/dcdpr/jp/pull/386
[pr#385]: https://github.com/dcdpr/jp/pull/385
[pr#384]: https://github.com/dcdpr/jp/pull/384
[pr#379]: https://github.com/dcdpr/jp/pull/379
[pr#377]: https://github.com/dcdpr/jp/pull/377
[pr#375]: https://github.com/dcdpr/jp/pull/375
[pr#371]: https://github.com/dcdpr/jp/pull/371
[pr#370]: https://github.com/dcdpr/jp/pull/370
[pr#369]: https://github.com/dcdpr/jp/pull/369
[pr#367]: https://github.com/dcdpr/jp/pull/367
[pr#364]: https://github.com/dcdpr/jp/pull/364
[pr#362]: https://github.com/dcdpr/jp/pull/362
[pr#361]: https://github.com/dcdpr/jp/pull/361
[pr#360]: https://github.com/dcdpr/jp/pull/360
[pr#359]: https://github.com/dcdpr/jp/pull/359
[pr#356]: https://github.com/dcdpr/jp/pull/356
[pr#354]: https://github.com/dcdpr/jp/pull/354
[pr#353]: https://github.com/dcdpr/jp/pull/353
[pr#351]: https://github.com/dcdpr/jp/pull/351
[pr#350]: https://github.com/dcdpr/jp/pull/350
[pr#349]: https://github.com/dcdpr/jp/pull/349
[pr#347]: https://github.com/dcdpr/jp/pull/347
[pr#346]: https://github.com/dcdpr/jp/pull/346
[pr#345]: https://github.com/dcdpr/jp/pull/345
[pr#344]: https://github.com/dcdpr/jp/pull/344
[pr#343]: https://github.com/dcdpr/jp/pull/343
[pr#342]: https://github.com/dcdpr/jp/pull/342
[pr#341]: https://github.com/dcdpr/jp/pull/341
[pr#336]: https://github.com/dcdpr/jp/pull/336
[pr#337]: https://github.com/dcdpr/jp/pull/337
[pr#335]: https://github.com/dcdpr/jp/pull/335
[pr#334]: https://github.com/dcdpr/jp/pull/334
[pr#333]: https://github.com/dcdpr/jp/pull/333
[pr#332]: https://github.com/dcdpr/jp/pull/332
[pr#331]: https://github.com/dcdpr/jp/pull/331
[pr#330]: https://github.com/dcdpr/jp/pull/330
[pr#329]: https://github.com/dcdpr/jp/pull/329
[pr#328]: https://github.com/dcdpr/jp/pull/328
[pr#327]: https://github.com/dcdpr/jp/pull/327
[pr#326]: https://github.com/dcdpr/jp/pull/326
[pr#324]: https://github.com/dcdpr/jp/pull/324
[pr#321]: https://github.com/dcdpr/jp/pull/321
[pr#320]: https://github.com/dcdpr/jp/pull/320
[pr#317]: https://github.com/dcdpr/jp/pull/317
[pr#314]: https://github.com/dcdpr/jp/pull/314
[pr#237]: https://github.com/dcdpr/jp/pull/237
[pr#306]: https://github.com/dcdpr/jp/pull/306
[pr#305]: https://github.com/dcdpr/jp/pull/305
[pr#304]: https://github.com/dcdpr/jp/pull/304
[pr#285]: https://github.com/dcdpr/jp/pull/285
[pr#302]: https://github.com/dcdpr/jp/pull/302
[pr#301]: https://github.com/dcdpr/jp/pull/301
[pr#300]: https://github.com/dcdpr/jp/pull/300
[pr#298]: https://github.com/dcdpr/jp/pull/298
[pr#297]: https://github.com/dcdpr/jp/pull/297
[pr#299]: https://github.com/dcdpr/jp/pull/299
[pr#295]: https://github.com/dcdpr/jp/pull/295
[pr#290]: https://github.com/dcdpr/jp/pull/290
[pr#294]: https://github.com/dcdpr/jp/pull/294
[pr#292]: https://github.com/dcdpr/jp/pull/292
[pr#293]: https://github.com/dcdpr/jp/pull/293
[pr#291]: https://github.com/dcdpr/jp/pull/291
[pr#289]: https://github.com/dcdpr/jp/pull/289
[pr#288]: https://github.com/dcdpr/jp/pull/288
[pr#286]: https://github.com/dcdpr/jp/pull/286
[pr#284]: https://github.com/dcdpr/jp/pull/284
[pr#283]: https://github.com/dcdpr/jp/pull/283
[pr#282]: https://github.com/dcdpr/jp/pull/282
[pr#281]: https://github.com/dcdpr/jp/pull/281
[pr#280]: https://github.com/dcdpr/jp/pull/280
[pr#278]: https://github.com/dcdpr/jp/pull/278
[pr#277]: https://github.com/dcdpr/jp/pull/277
[pr#276]: https://github.com/dcdpr/jp/pull/276
[pr#275]: https://github.com/dcdpr/jp/pull/275
[pr#274]: https://github.com/dcdpr/jp/pull/274
[pr#272]: https://github.com/dcdpr/jp/pull/272
[pr#271]: https://github.com/dcdpr/jp/pull/271
[pr#269]: https://github.com/dcdpr/jp/pull/269
[pr#267]: https://github.com/dcdpr/jp/pull/267
[pr#266]: https://github.com/dcdpr/jp/pull/266
[pr#265]: https://github.com/dcdpr/jp/pull/265
[pr#264]: https://github.com/dcdpr/jp/pull/264
[pr#263]: https://github.com/dcdpr/jp/pull/263
[pr#262]: https://github.com/dcdpr/jp/pull/262
[pr#261]: https://github.com/dcdpr/jp/pull/261
[pr#258]: https://github.com/dcdpr/jp/pull/258
[pr#257]: https://github.com/dcdpr/jp/pull/257
[pr#256]: https://github.com/dcdpr/jp/pull/256
[pr#255]: https://github.com/dcdpr/jp/pull/255
[pr#254]: https://github.com/dcdpr/jp/pull/254
[pr#252]: https://github.com/dcdpr/jp/pull/252
[pr#251]: https://github.com/dcdpr/jp/pull/251
[pr#248]: https://github.com/dcdpr/jp/pull/248
[pr#247]: https://github.com/dcdpr/jp/pull/247
[pr#243]: https://github.com/dcdpr/jp/pull/243
[pr#241]: https://github.com/dcdpr/jp/pull/241
[pr#236]: https://github.com/dcdpr/jp/pull/236
[pr#232]: https://github.com/dcdpr/jp/pull/232
[pr#231]: https://github.com/dcdpr/jp/pull/231
[pr#230]: https://github.com/dcdpr/jp/pull/230
[pr#227]: https://github.com/dcdpr/jp/pull/227
[pr#226]: https://github.com/dcdpr/jp/pull/226
[pr#225]: https://github.com/dcdpr/jp/pull/225
[pr#224]: https://github.com/dcdpr/jp/pull/224
[pr#223]: https://github.com/dcdpr/jp/pull/223
[pr#222]: https://github.com/dcdpr/jp/pull/222
[pr#221]: https://github.com/dcdpr/jp/pull/221
[pr#220]: https://github.com/dcdpr/jp/pull/220
[pr#219]: https://github.com/dcdpr/jp/pull/219
[pr#215]: https://github.com/dcdpr/jp/pull/215
[pr#214]: https://github.com/dcdpr/jp/pull/214
[pr#210]: https://github.com/dcdpr/jp/pull/210
[pr#209]: https://github.com/dcdpr/jp/pull/209
[pr#207]: https://github.com/dcdpr/jp/pull/207
[pr#205]: https://github.com/dcdpr/jp/pull/205
[pr#203]: https://github.com/dcdpr/jp/pull/203
[pr#190]: https://github.com/dcdpr/jp/pull/190
[pr#189]: https://github.com/dcdpr/jp/pull/189
[pr#188]: https://github.com/dcdpr/jp/pull/188
[pr#187]: https://github.com/dcdpr/jp/pull/187
[pr#186]: https://github.com/dcdpr/jp/pull/186
[pr#185]: https://github.com/dcdpr/jp/pull/185
[pr#184]: https://github.com/dcdpr/jp/pull/184
[pr#183]: https://github.com/dcdpr/jp/pull/183
[pr#182]: https://github.com/dcdpr/jp/pull/182
[pr#181]: https://github.com/dcdpr/jp/pull/181
[pr#180]: https://github.com/dcdpr/jp/pull/180
[pr#179]: https://github.com/dcdpr/jp/pull/179
[pr#175]: https://github.com/dcdpr/jp/pull/175
[pr#174]: https://github.com/dcdpr/jp/pull/174
[pr#173]: https://github.com/dcdpr/jp/pull/173
[pr#171]: https://github.com/dcdpr/jp/pull/171
[pr#168]: https://github.com/dcdpr/jp/pull/168
[pr#167]: https://github.com/dcdpr/jp/pull/167
[pr#164]: https://github.com/dcdpr/jp/pull/164
[pr#161]: https://github.com/dcdpr/jp/pull/161
[pr#160]: https://github.com/dcdpr/jp/pull/160
[pr#159]: https://github.com/dcdpr/jp/pull/159
[pr#158]: https://github.com/dcdpr/jp/pull/158
[pr#157]: https://github.com/dcdpr/jp/pull/157
[pr#155]: https://github.com/dcdpr/jp/pull/155
[pr#154]: https://github.com/dcdpr/jp/pull/154
[pr#153]: https://github.com/dcdpr/jp/pull/153
[pr#152]: https://github.com/dcdpr/jp/pull/152
[pr#151]: https://github.com/dcdpr/jp/pull/151
[pr#150]: https://github.com/dcdpr/jp/pull/150
[pr#148]: https://github.com/dcdpr/jp/pull/148
[pr#147]: https://github.com/dcdpr/jp/pull/147
[pr#146]: https://github.com/dcdpr/jp/pull/146
[pr#145]: https://github.com/dcdpr/jp/pull/145
[pr#142]: https://github.com/dcdpr/jp/pull/142
[pr#141]: https://github.com/dcdpr/jp/pull/141
[pr#140]: https://github.com/dcdpr/jp/pull/140
[pr#139]: https://github.com/dcdpr/jp/pull/139
[pr#137]: https://github.com/dcdpr/jp/pull/137
[pr#135]: https://github.com/dcdpr/jp/pull/135
[pr#134]: https://github.com/dcdpr/jp/pull/134
[pr#131]: https://github.com/dcdpr/jp/pull/131
[pr#130]: https://github.com/dcdpr/jp/pull/130
[pr#129]: https://github.com/dcdpr/jp/pull/129
[pr#128]: https://github.com/dcdpr/jp/pull/128
[pr#127]: https://github.com/dcdpr/jp/pull/127
[pr#126]: https://github.com/dcdpr/jp/pull/126
[pr#125]: https://github.com/dcdpr/jp/pull/125
[pr#124]: https://github.com/dcdpr/jp/pull/124
[pr#123]: https://github.com/dcdpr/jp/pull/123
[pr#122]: https://github.com/dcdpr/jp/pull/122
[pr#121]: https://github.com/dcdpr/jp/pull/121
[pr#120]: https://github.com/dcdpr/jp/pull/120
[pr#114]: https://github.com/dcdpr/jp/pull/114
[pr#113]: https://github.com/dcdpr/jp/pull/113
[pr#111]: https://github.com/dcdpr/jp/pull/111
[pr#106]: https://github.com/dcdpr/jp/pull/106
[pr#105]: https://github.com/dcdpr/jp/pull/105
[pr#103]: https://github.com/dcdpr/jp/pull/103
[pr#100]: https://github.com/dcdpr/jp/pull/100
[pr#98]: https://github.com/dcdpr/jp/pull/98
[pr#97]: https://github.com/dcdpr/jp/pull/97
[pr#96]: https://github.com/dcdpr/jp/pull/96
[pr#95]: https://github.com/dcdpr/jp/pull/95
[pr#94]: https://github.com/dcdpr/jp/pull/94
[pr#93]: https://github.com/dcdpr/jp/pull/93
[pr#90]: https://github.com/dcdpr/jp/pull/90
[pr#89]: https://github.com/dcdpr/jp/pull/89
[pr#88]: https://github.com/dcdpr/jp/pull/88
[pr#87]: https://github.com/dcdpr/jp/pull/87
[pr#86]: https://github.com/dcdpr/jp/pull/86
[pr#85]: https://github.com/dcdpr/jp/pull/85
[pr#84]: https://github.com/dcdpr/jp/pull/84
[pr#82]: https://github.com/dcdpr/jp/pull/82
[pr#81]: https://github.com/dcdpr/jp/pull/81
[pr#80]: https://github.com/dcdpr/jp/pull/80
[pr#79]: https://github.com/dcdpr/jp/pull/79
[pr#78]: https://github.com/dcdpr/jp/pull/78
[pr#77]: https://github.com/dcdpr/jp/pull/77
[pr#75]: https://github.com/dcdpr/jp/pull/75
[pr#74]: https://github.com/dcdpr/jp/pull/74
[pr#70]: https://github.com/dcdpr/jp/pull/70
[pr#69]: https://github.com/dcdpr/jp/pull/69
[pr#68]: https://github.com/dcdpr/jp/pull/68
[pr#67]: https://github.com/dcdpr/jp/pull/67
[pr#66]: https://github.com/dcdpr/jp/pull/66
[pr#65]: https://github.com/dcdpr/jp/pull/65
[pr#64]: https://github.com/dcdpr/jp/pull/64
[pr#63]: https://github.com/dcdpr/jp/pull/63
[pr#62]: https://github.com/dcdpr/jp/pull/62
[pr#60]: https://github.com/dcdpr/jp/pull/60
[pr#59]: https://github.com/dcdpr/jp/pull/59
[pr#58]: https://github.com/dcdpr/jp/pull/58
[pr#54]: https://github.com/dcdpr/jp/pull/54
[pr#50]: https://github.com/dcdpr/jp/pull/50
[pr#48]: https://github.com/dcdpr/jp/pull/48
[pr#47]: https://github.com/dcdpr/jp/pull/47
[pr#45]: https://github.com/dcdpr/jp/pull/45
[pr#44]: https://github.com/dcdpr/jp/pull/44
[pr#41]: https://github.com/dcdpr/jp/pull/41
[pr#39]: https://github.com/dcdpr/jp/pull/39
[pr#36]: https://github.com/dcdpr/jp/pull/36
[pr#35]: https://github.com/dcdpr/jp/pull/35
[pr#34]: https://github.com/dcdpr/jp/pull/34
[pr#33]: https://github.com/dcdpr/jp/pull/33
[pr#32]: https://github.com/dcdpr/jp/pull/32
[pr#31]: https://github.com/dcdpr/jp/pull/31
[pr#30]: https://github.com/dcdpr/jp/pull/30
[pr#29]: https://github.com/dcdpr/jp/pull/29
[pr#21]: https://github.com/dcdpr/jp/pull/21
[pr#20]: https://github.com/dcdpr/jp/pull/20
[pr#19]: https://github.com/dcdpr/jp/pull/19
[pr#18]: https://github.com/dcdpr/jp/pull/18
[pr#16]: https://github.com/dcdpr/jp/pull/16
[pr#11]: https://github.com/dcdpr/jp/pull/11
[pr#10]: https://github.com/dcdpr/jp/pull/10
[pr#7]: https://github.com/dcdpr/jp/pull/7
[pr#6]: https://github.com/dcdpr/jp/pull/6
[pr#4]: https://github.com/dcdpr/jp/pull/4
[pr#3]: https://github.com/dcdpr/jp/pull/3
[pr#2]: https://github.com/dcdpr/jp/pull/2
[pr#1]: https://github.com/dcdpr/jp/pull/1
