diff --git a/packages/PEGTL/.clang-format b/packages/PEGTL/.clang-format
index c423ca2749e808e112ba69db6d6f33ee76ca955f..a3f254129f2326865c1ca172033c1b99f63f3a11 100644
--- a/packages/PEGTL/.clang-format
+++ b/packages/PEGTL/.clang-format
@@ -1,6 +1,9 @@
-# the official .clang-format style for https://github.com/taocpp
-#
-# clang-format -i -style=file $(find . -name '[^.]*.[hc]pp')
+# The Art of C++
+# https://github.com/PEGTL
+
+# Copyright (c) 2016-2021 Daniel Frey
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 Language: Cpp
 Standard: Latest
diff --git a/packages/PEGTL/.clang-tidy b/packages/PEGTL/.clang-tidy
index cad3a9f3fc344995216d51ad6ae3df9821f03a0f..b98e0d8b54747e3497f2e0376815d17fa55c98ac 100644
--- a/packages/PEGTL/.clang-tidy
+++ b/packages/PEGTL/.clang-tidy
@@ -1,3 +1,10 @@
+# The Art of C++
+# https://github.com/PEGTL
+
+# Copyright (c) 2016-2021 Daniel Frey
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
+
 Checks: >-
   bugprone-*,
   cppcoreguidelines-slicing,
diff --git a/packages/PEGTL/.gitrepo b/packages/PEGTL/.gitrepo
index 873dce466a5e68dd515bc2ca381ad4262367b9c2..279480bff62486421386892258910b04da453b3a 100644
--- a/packages/PEGTL/.gitrepo
+++ b/packages/PEGTL/.gitrepo
@@ -6,7 +6,7 @@
 [subrepo]
 	remote = git@github.com:taocpp/PEGTL.git
 	branch = main
-	commit = fbfebc50d0b84a1fcd40e083a6e630fe815e21a7
-	parent = 8bade9551beef13a194e250386ff539c38cef805
+	commit = bf4487c9793121e483291c4e516cec3e5c1c17b5
+	parent = e00b72ebcd9d2add12cfe0e6fe4d114a7858dfa5
 	method = merge
 	cmdver = 0.4.3
diff --git a/packages/PEGTL/CMakeLists.txt b/packages/PEGTL/CMakeLists.txt
index c2ee336f31b4c18f309adfa94c77db6f99978936..2233099fa6181105a7e6053740984913bc856534 100644
--- a/packages/PEGTL/CMakeLists.txt
+++ b/packages/PEGTL/CMakeLists.txt
@@ -147,7 +147,7 @@ install(EXPORT pegtl-targets
 
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pegtl-config-version.cmake DESTINATION ${PEGTL_INSTALL_CMAKE_DIR})
 install(DIRECTORY include/ DESTINATION ${PEGTL_INSTALL_INCLUDE_DIR})
-install(FILES LICENSE DESTINATION ${PEGTL_INSTALL_DOC_DIR})
+install(FILES LICENSE_1_0.txt DESTINATION ${PEGTL_INSTALL_DOC_DIR})
 
 export(EXPORT pegtl-targets
   FILE ${pegtl_BINARY_DIR}/pegtl-targets.cmake
diff --git a/packages/PEGTL/LICENSE b/packages/PEGTL/LICENSE
deleted file mode 100644
index c981590829a1ee30e859ac04a31844398be0ae8e..0000000000000000000000000000000000000000
--- a/packages/PEGTL/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2007-2021 Dr. Colin Hirsch and Daniel Frey
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/packages/PEGTL/LICENSE_1_0.txt b/packages/PEGTL/LICENSE_1_0.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36b7cd93cdfbac762f5be4c6ce276df2ea6305c2
--- /dev/null
+++ b/packages/PEGTL/LICENSE_1_0.txt
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/packages/PEGTL/Makefile b/packages/PEGTL/Makefile
index 3ecca070e2264b4af4542b275f0872bf2c2a32a8..773c525bbc936e079e33e33084a45ed33d5e7469 100644
--- a/packages/PEGTL/Makefile
+++ b/packages/PEGTL/Makefile
@@ -1,6 +1,9 @@
 # The Art of C++
+# https://github.com/PEGTL
+
 # Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-# Please see LICENSE for license or visit https://github.com/taocpp/PEGTL
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 .SUFFIXES:
 .SECONDARY:
@@ -61,31 +64,6 @@ build/%.d: %.cpp Makefile
 build/%: %.cpp build/%.d
 	$(CXX) $(CXXSTD) -Iinclude $(CPPFLAGS) $(CXXFLAGS) $< $(LDFLAGS) -o $@
 
-.PHONY: amalgamate
-amalgamate: build/amalgamated/pegtl.hpp
-
-build/amalgamated/pegtl.hpp: $(HEADERS)
-	@mkdir -p $(@D)
-	@rm -rf build/include
-	@cp -a include build/
-	@rm -rf build/include/tao/pegtl/contrib/icu
-	@sed -i -e 's%^#%//#%g' $$(find build/include -name '*.hpp')
-	@sed -i -e 's%^//#include "%#include "%g' $$(find build/include -name '*.hpp')
-	@for i in $$(find build/include -name '*.hpp'); do echo "#pragma once" >tmp.out; echo "#line 1" >>tmp.out; cat $$i >>tmp.out; mv tmp.out $$i; done
-	@echo '#include "tao/pegtl.hpp"' >build/include/amalgamated.hpp
-	@( cd build/include ; for i in tao/pegtl/contrib/*.hpp; do echo "#include \"$$i\""; done ) >>build/include/amalgamated.hpp
-	@echo -e "/*\n\nWelcome to the Parsing Expression Grammar Template Library (PEGTL)." >$@
-	@echo -e "See https://github.com/taocpp/PEGTL/ for more information, documentation, etc.\n" >>$@
-	@echo -e "The library is licensed as follows:\n" >>$@
-	@cat LICENSE >>$@
-	@echo -e "\n*/\n" >>$@
-	@( cd build/include ; g++ -E -C -nostdinc amalgamated.hpp ) >>$@
-	@sed -i -e 's%^//#%#%g' $@
-	@sed -i -e 's%^# \([0-9]* "[^"]*"\).*%#line \1%g' $@
-	@sed -i -e 's%^// Copyright.*%%g' $@
-	@sed -i -e 's%^// Please.*%%g' $@
-	@echo "Generated/updated $@ successfully."
-
 ifeq ($(findstring $(MAKECMDGOALS),clean),)
 -include $(DEPENDS)
 endif
diff --git a/packages/PEGTL/README.md b/packages/PEGTL/README.md
index 0ee9ddfe6387735875a9383d5d91235ef1105d4a..399b2bb3a7c3e74c628a5df6a11fb7731f30e250 100644
--- a/packages/PEGTL/README.md
+++ b/packages/PEGTL/README.md
@@ -136,16 +136,17 @@ The PEGTL is part of [The Art of C++](https://taocpp.github.io/).
 
 ## License
 
-<a href="https://opensource.org/licenses/MIT"><img align="right" src="https://opensource.org/files/OSIApproved.png" width="150" hspace="20" alt="Open Source Initiative"></a>
+<a href="https://opensource.org/licenses/BSL-1.0"><img align="right" src="https://opensource.org/files/OSIApproved.png" width="150" hspace="20" alt="Open Source Initiative"></a>
+
+Copyright (c) 2007-2021 Daniel Frey and Dr. Colin Hirsch
 
 The PEGTL is certified [Open Source](http://www.opensource.org/docs/definition.html) software.
-It may be used for any purpose, including commercial purposes, at absolutely no cost.
-It is distributed under the terms of the [MIT license](http://www.opensource.org/licenses/mit-license.html) reproduced here.
+It is [licensed](https://pdimov.github.io/blog/2020/09/06/why-use-the-boost-license/) under the terms of the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt) reproduced here.
 
-> Copyright (c) 2007-2021 Dr. Colin Hirsch and Daniel Frey
+> Boost Software License - Version 1.0 - August 17th, 2003
 >
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+> Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:
 >
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+> The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.
 >
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/packages/PEGTL/doc/Actions-and-States.md b/packages/PEGTL/doc/Actions-and-States.md
index 4c8101682972bde687cad06b2a1d96024e7afd79..272b8ac460ccd0c15bd2225142a42542e90d0865 100644
--- a/packages/PEGTL/doc/Actions-and-States.md
+++ b/packages/PEGTL/doc/Actions-and-States.md
@@ -383,6 +383,7 @@ The [`state` rule](Rule-Reference.md#state-s-r-) behaves similarly to [`seq`](Ru
 This new object is used replaces the current state(s) for the remainder of the implicit [`seq`](Rule-Reference.md#seq-r-).
 
 The new object is constructed with a const-reference to the current input of the parsing run, and all previous states, if any, as arguments.
+If no such constructor exists, the new object is default constructed.
 If the implicit [`seq`](Rule-Reference.md#seq-r-) of the sub-rules succeeds, then, by default, a member function named `success()` is called on this "new" object, receiving the same arguments as the constructor.
 At this point the input will be advanced by whatever the sub-rules have consumed in the meantime.
 
@@ -399,7 +400,7 @@ The differences are summarised in this table; note that `change_state` is more s
 | Feature | `change_state` | `change_states` |
 | --- | --- | --- |
 | Number of new states | one | any |
-| Construction of new states | with input and old states | default |
+| Construction of new states | optionally with input and old states | default |
 | Success function on action | if not on new state | required |
 
 With `change_state` only a single new state type can be given as template parameter, and only a single new state will be created.
@@ -603,4 +604,10 @@ Note that deriving from `require_apply` or `require_apply0` is optional and usua
 
 See the [section on legacy-style action rules](Rule-Reference.md#action-rules).
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Changelog.md b/packages/PEGTL/doc/Changelog.md
index eed13ec4287a2ed12d38e17369fd9b7b70677d3d..aca8f740a1f549f4f21702bfdd76862fdff29dc8 100644
--- a/packages/PEGTL/doc/Changelog.md
+++ b/packages/PEGTL/doc/Changelog.md
@@ -1,5 +1,25 @@
 # Changelog
 
+## 3.3.0
+
+**Not yet released**
+
+* Switched to Boost Software License, Version 1.0.
+* Removed support for building an amalgamated header.
+* Deprecated the `TAO_PEGTL_NAMESPACE` macro.
+  * Will be removed in version 4.0.0.
+
+## 3.2.2
+
+Released 2021-10-22
+
+* Added rule [`odigit`](Rule-Reference.md#odigit) for octal digits.
+* Enabled default-constructed state in `state<>`, `change_state<>`, and `change_action_and_state<>`.
+* Changed rules in [`tao/pegtl/contrib/integer.hpp`](Contrib-and-Examples.md#taopegtlcontribintegerhpp) to not throw by default.
+* Added [`tao/pegtl/contrib/separated_seq.hpp`](Contrib-and-Examples.md#taopegtlcontribseparated_seqhpp).
+* Added `tao/pegtl/contrib/iri.hpp` grammar for IRIs.
+* Added `tao/pegtl/contrib/proto3.hpp` grammar for protocol buffer v3.
+
 ## 3.2.1
 
 Released 2021-07-31
@@ -627,4 +647,10 @@ Released 2008
 Development of the PEGTL started in November 2007 as an experiment in C++0x.
 It is based on ideas from the YARD library by Christopher Diggins.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2007-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Contrib-and-Examples.md b/packages/PEGTL/doc/Contrib-and-Examples.md
index f5b658e7595a33d576feab317ab45dc2f414879a..31f9035c161de1d791d8dc2b42eaf5662b11fcc1 100644
--- a/packages/PEGTL/doc/Contrib-and-Examples.md
+++ b/packages/PEGTL/doc/Contrib-and-Examples.md
@@ -70,6 +70,11 @@ For all questions and remarks contact us at **taocpp(at)icemx.net**.
 * Contains optimised version of `rep_min_max< Min, Max, ascii::one< C > >`:
 * Rule `ascii::rep_one_min_max< Min, Max, C >`.
 
+###### `<tao/pegtl/contrib/separated_seq.hpp>`
+
+* Allows to parse rules separated by a separator.
+* Rule `separated_seq< S, A, B, C, D >` is equivalent to `seq< A, S, B, S, C, S, D >`.
+
 ###### `<tao/pegtl/contrib/to_string.hpp>`
 
 Utility function `to_string<>()` that converts template classes with arbitrary sequences of characters as template arguments into a `std::string` that contains these characters.
@@ -207,4 +212,10 @@ Uses the building blocks from `<tao/pegtl/contrib/unescape.hpp>` to show how to
 Shows how to use the included [tracer control](#taopegtlcontribtracerhpp), here together with the URI grammar from `<tao/pegtl/contrib/uri.hpp>`.
 Invoked with one or more URIs as command line arguments will attempt to parse the URIs while printing trace information to `std::cerr`.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Control-and-Debug.md b/packages/PEGTL/doc/Control-and-Debug.md
index 3ff6a88787a36b34de2397690b6cfca147edd9f0..10fa8f80a931247c2a4be54e7bacbe954aaa1473 100644
--- a/packages/PEGTL/doc/Control-and-Debug.md
+++ b/packages/PEGTL/doc/Control-and-Debug.md
@@ -144,4 +144,10 @@ Just like the action class template, a custom control class template can be used
 The latter requires the use of a [custom action](Actions-and-States.md).
 Deriving the specialisation of the custom action for `my_rule` from `tao::pegtl::change_control< my_control >` will switch the current control to `my_control` before attempting to match `my_rule`.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Errors-and-Exceptions.md b/packages/PEGTL/doc/Errors-and-Exceptions.md
index 7b8f018d84e757c919c2eae8f91864ccac87a060..a0b16d24c7bfc74228c504c38624de3cd5df7468 100644
--- a/packages/PEGTL/doc/Errors-and-Exceptions.md
+++ b/packages/PEGTL/doc/Errors-and-Exceptions.md
@@ -214,4 +214,10 @@ struct error
 It is advisable to choose the error points in the grammar with prudence.
 This choice becoming particularly cumbersome and/or resulting in a large number of error points might be an indication of the grammar needing some kind of simplification or restructuring.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Getting-Started.md b/packages/PEGTL/doc/Getting-Started.md
index 1deceba9f37ab81a91448682e0f39dcdbe1d8943..fbf71cbd304777526e661e0f50e0c2fb1b3eaf38 100644
--- a/packages/PEGTL/doc/Getting-Started.md
+++ b/packages/PEGTL/doc/Getting-Started.md
@@ -283,4 +283,10 @@ Typically, the following pattern helps to print the exceptions in a human friend
 
 For more information see [Errors and Exceptions](Errors-and-Exceptions.md).
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Grammar-Analysis.md b/packages/PEGTL/doc/Grammar-Analysis.md
index 629982d8ec624f154c86fb95e16edacec6704a5a..94bb40aef184878e3a5d7f1c17f520bdefbc1f8c 100644
--- a/packages/PEGTL/doc/Grammar-Analysis.md
+++ b/packages/PEGTL/doc/Grammar-Analysis.md
@@ -124,4 +124,10 @@ In practice it appears to catch all cases of left-recursion that are typical for
 
 False positives are a theoretical problem in that, while relatively easy to trigger, they are not usually encountered when dealing with real world grammars.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Inputs-and-Parsing.md b/packages/PEGTL/doc/Inputs-and-Parsing.md
index b2bb15f44672010dd71792fbc9e4ee06e0c33d00..96948728c3e62278d94feedb4083a9f764db382c 100644
--- a/packages/PEGTL/doc/Inputs-and-Parsing.md
+++ b/packages/PEGTL/doc/Inputs-and-Parsing.md
@@ -554,4 +554,10 @@ Trying to call any of those functions on `buffer_input<>`-based instances will l
 
 All input classes support [deduction guides](https://en.cppreference.com/w/cpp/language/class_template_argument_deduction), e.g. instead of `file_input<> in( "filename.txt" )` one can use `file_input in( "filename.txt" )`.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Installing-and-Using.md b/packages/PEGTL/doc/Installing-and-Using.md
index f2e56051dafad0960f1a2e82f451e1586c344cbb..007987116287d8674c22b571c27239ca6e76a0a1 100644
--- a/packages/PEGTL/doc/Installing-and-Using.md
+++ b/packages/PEGTL/doc/Installing-and-Using.md
@@ -19,7 +19,6 @@
   * [Embedding in Binaries](#embedding-in-binaries)
   * [Embedding in Libraries](#embedding-in-libraries)
   * [Embedding in Library Interfaces](#embedding-in-library-interfaces)
-* [Single Header Version](#single-header-version)
 
 ## Requirements
 
@@ -98,8 +97,6 @@ Note that some of the listed packages are not updated regularly.
 
 ## Using Vcpkg
 
-[![Vcpkg package](https://repology.org/badge/version-for-repo/vcpkg/pegtl.svg)](https://repology.org/project/pegtl/versions)
-
 You can download and install the PEGTL using the [Vcpkg] package manager:
 
 ```bash
@@ -301,20 +298,13 @@ above; alternatively `include/tao/pegtl/config.hpp` can be directly modified.
 A practical example of how the result looks like can be found in our own
 header-only JSON library [taoJSON](https://github.com/taocpp/json/).
 
-## Single Header Version
-
-You can generate a single-header-version of the PEGTL with the included `Makefile`.
-In a Unix-shell, the following command will achieve this:
-
-```sh
-$ make amalgamate
-```
+---
 
-The above will generate a `build/amalgamated/pegtl.hpp` which will consist of
-the headers `tao/pegtl.hpp`, their dependencies, and all headers in
-`tao/pegtl/contrib/` except for the headers in `tao/pegtl/contrib/icu/`.
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
 
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
 
 [Vcpkg]: https://github.com/Microsoft/vcpkg
 [Vcpkg documentation]: https://github.com/Microsoft/vcpkg/tree/master/docs/index.md
diff --git a/packages/PEGTL/doc/Meta-Data-and-Visit.md b/packages/PEGTL/doc/Meta-Data-and-Visit.md
index 74f8672ca0d25e8d571b9dab9ff746b0c6034371..bed412efa030a9d8638dbee233b651a75276f7b9 100644
--- a/packages/PEGTL/doc/Meta-Data-and-Visit.md
+++ b/packages/PEGTL/doc/Meta-Data-and-Visit.md
@@ -147,4 +147,10 @@ struct coverage_result
 
 As usual, unless otherwise indicated, all functions and data structure are in the namespace `tao::pegtl`.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Migration-Guide.md b/packages/PEGTL/doc/Migration-Guide.md
index 91171f3b46050727eb42df083621ef46dc891c4c..19f543d970ad7274f79811b58c93c613850fe1f2 100644
--- a/packages/PEGTL/doc/Migration-Guide.md
+++ b/packages/PEGTL/doc/Migration-Guide.md
@@ -56,4 +56,10 @@ Please contact the authors at `taocpp(at)icemx.net` for any further questions wh
 There were [many important changes](Changelog.md#100) leading up to version 1.0.0.
 Please contact the authors at `taocpp(at)icemx.net` for any further questions when updating the PEGTL.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Parse-Tree.md b/packages/PEGTL/doc/Parse-Tree.md
index 8e668f9f8e2fe78b654d8d423a17f969874bad29..e82f6cf7d49d932986bad8744bcbc7b386afc84b 100644
--- a/packages/PEGTL/doc/Parse-Tree.md
+++ b/packages/PEGTL/doc/Parse-Tree.md
@@ -240,4 +240,10 @@ struct my_node
 
 The parse tree uses a rule's meta data supplied by [`subs_t`](Meta-Data-and-Visit.md#sub-rules) for internal optimizations.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Performance-Notes.md b/packages/PEGTL/doc/Performance-Notes.md
index 6acf14257286df470492ddb8f2ee20093c121217..bad3886260a3498bbb2663ab06f9195627195e7d 100644
--- a/packages/PEGTL/doc/Performance-Notes.md
+++ b/packages/PEGTL/doc/Performance-Notes.md
@@ -42,4 +42,10 @@ However with `-O0`, the optimised `at_one< '"' >` was faster by 5-10% in a [JSON
 
 We still need to test whether the compiler manages to perform the same optimisation in more complex cases.
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/README.md b/packages/PEGTL/doc/README.md
index 7c028ccae0f67e1a8581605c48f4fb5f44491f1a..88bedb59217372fbd3a69cfa2b022e2e52806f89 100644
--- a/packages/PEGTL/doc/README.md
+++ b/packages/PEGTL/doc/README.md
@@ -20,7 +20,6 @@
     * [Embedding in Binaries](Installing-and-Using.md#embedding-in-binaries)
     * [Embedding in Libraries](Installing-and-Using.md#embedding-in-libraries)
     * [Embedding in Library Interfaces](Installing-and-Using.md#embedding-in-library-interfaces)
-  * [Single Header Version](Installing-and-Using.md#single-header-version)
 * [Rules and Grammars](Rules-and-Grammars.md)
   * [Combining Existing Rules](Rules-and-Grammars.md#combining-existing-rules)
   * [Toy S-Expression Grammar](Rules-and-Grammars.md#toy-s-expression-grammar)
@@ -227,6 +226,7 @@
 * [`not_range< C, D >`](Rule-Reference.md#not_range-c-d--2) <sup>[(binary rules)](Rule-Reference.md#binary-rules)</sup>
 * [`nul`](Rule-Reference.md#nul) <sup>[(ascii rules)](Rule-Reference.md#ascii-rules)</sup>
 * [`numeric_type< V >`](Rule-Reference.md#numeric_type-v-) <sup>[(icu rules)](Rule-Reference.md#icu-rules-for-enumerated-properties)</sup>
+* [`odigit`](Rule-Reference.md#odigit) <sup>[(ascii rules)](Rule-Reference.md#ascii-rules)</sup>
 * [`one< C... >`](Rule-Reference.md#one-c-) <sup>[(ascii rules)](Rule-Reference.md#ascii-rules)</sup>
 * [`one< C... >`](Rule-Reference.md#one-c--1) <sup>[(unicode rules)](Rule-Reference.md#unicode-rules)</sup>
 * [`one< C... >`](Rule-Reference.md#one-c--2) <sup>[(binary rules)](Rule-Reference.md#binary-rules)</sup>
@@ -300,4 +300,10 @@
 * [`xid_continue`](Rule-Reference.md#xid_continue) <sup>[(icu rules)](Rule-Reference.md#icu-rules-for-binary-properties)</sup>
 * [`xid_start`](Rule-Reference.md#xid_start) <sup>[(icu rules)](Rule-Reference.md#icu-rules-for-binary-properties)</sup>
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/doc/Rule-Reference.md b/packages/PEGTL/doc/Rule-Reference.md
index 79dd46ccf969050b4f40fbafc9ebe56bee2c5699..b1a6757a68976bc2d9c091c150470707f64a54fa 100644
--- a/packages/PEGTL/doc/Rule-Reference.md
+++ b/packages/PEGTL/doc/Rule-Reference.md
@@ -723,6 +723,13 @@ ASCII rules do not usually rely on other rules.
 * [Equivalent] to `one< '\0' >`.
   - `ascii::nul::rule_t` is `internal::one< result_on_found::success, internal::peek_char, 0 >`
 
+###### `odigit`
+
+* Matches and consumes a single ASCII octal digit character.
+* [Equivalent] to `range< '0', '7' >`.
+* [Meta data] and [implementation] mapping:
+  - `ascii::digit::rule_t` is `internal::range< internal::result_on_found::success, internal::peek_char, '0', '7' >`
+
 ###### `one< C... >`
 
 * Succeeds when the input is not empty, and:
@@ -1542,7 +1549,13 @@ Binary rules do not rely on other rules.
 * [`xid_continue`](#xid_continue) <sup>[(icu rules)](#icu-rules-for-binary-properties)</sup>
 * [`xid_start`](#xid_start) <sup>[(icu rules)](#icu-rules-for-binary-properties)</sup>
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
 
 [Equivalent]: #equivalence
 [implementation]: #implementation
diff --git a/packages/PEGTL/doc/Rules-and-Grammars.md b/packages/PEGTL/doc/Rules-and-Grammars.md
index 675ebfc3473a6e8f4407ec4e2ac7bebd8f1e8e88..f2242c0f4ab61786dc27b0300f4842adba1dccd9 100644
--- a/packages/PEGTL/doc/Rules-and-Grammars.md
+++ b/packages/PEGTL/doc/Rules-and-Grammars.md
@@ -398,4 +398,10 @@ long literal id was: "fraggle"
 long literal body was: "[foo["
 ```
 
+---
+
+This document is part of the [PEGTL](https://github.com/taocpp/PEGTL).
+
 Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
+Distributed under the Boost Software License, Version 1.0<br>
+See accompanying file [LICENSE_1_0.txt](../LICENSE_1_0.txt) or copy at https://www.boost.org/LICENSE_1_0.txt
diff --git a/packages/PEGTL/include/tao/pegtl.hpp b/packages/PEGTL/include/tao/pegtl.hpp
index 35cc4c6dcb31d6fea988f3df95b4208e6adef58d..982d0759af5339d756f1af83776ca9e67118d353 100644
--- a/packages/PEGTL/include/tao/pegtl.hpp
+++ b/packages/PEGTL/include/tao/pegtl.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_HPP
 #define TAO_PEGTL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/apply_mode.hpp b/packages/PEGTL/include/tao/pegtl/apply_mode.hpp
index 10b98a6668276d8c7aa39e1f5f6d0d6235b11c90..e4517c6e8734be54d0c3939c590fe42aefd16ffe 100644
--- a/packages/PEGTL/include/tao/pegtl/apply_mode.hpp
+++ b/packages/PEGTL/include/tao/pegtl/apply_mode.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_APPLY_MODE_HPP
 #define TAO_PEGTL_APPLY_MODE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/argv_input.hpp b/packages/PEGTL/include/tao/pegtl/argv_input.hpp
index 89eb3d0242168b0fec0e4c391e48e5ce65d3f233..0518082ad067186846073f65845dfab233df883e 100644
--- a/packages/PEGTL/include/tao/pegtl/argv_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/argv_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_ARGV_INPUT_HPP
 #define TAO_PEGTL_ARGV_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/ascii.hpp b/packages/PEGTL/include/tao/pegtl/ascii.hpp
index 8e7b19e29789e2ea0df4e87627e69e810696ce70..73bb2cf5001697be0cfc2c4536a88cd0f2e1f6f5 100644
--- a/packages/PEGTL/include/tao/pegtl/ascii.hpp
+++ b/packages/PEGTL/include/tao/pegtl/ascii.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_ASCII_HPP
 #define TAO_PEGTL_ASCII_HPP
@@ -30,6 +31,7 @@ namespace TAO_PEGTL_NAMESPACE
       template< char... Cs > struct not_one : internal::one< internal::result_on_found::failure, internal::peek_char, Cs... > {};
       template< char Lo, char Hi > struct not_range : internal::range< internal::result_on_found::failure, internal::peek_char, Lo, Hi > {};
       struct nul : internal::one< internal::result_on_found::success, internal::peek_char, char( 0 ) > {};
+      struct odigit : internal::range< internal::result_on_found::success, internal::peek_char, '0', '7' > {};
       template< char... Cs > struct one : internal::one< internal::result_on_found::success, internal::peek_char, Cs... > {};
       struct print : internal::range< internal::result_on_found::success, internal::peek_char, char( 32 ), char( 126 ) > {};
       template< char Lo, char Hi > struct range : internal::range< internal::result_on_found::success, internal::peek_char, Lo, Hi > {};
diff --git a/packages/PEGTL/include/tao/pegtl/buffer_input.hpp b/packages/PEGTL/include/tao/pegtl/buffer_input.hpp
index 0a0ea749447bf09d08da336a4bd94a05fd723b3d..4ea21e7c6c4f91fd258ad2865dd1f75515e7e1a5 100644
--- a/packages/PEGTL/include/tao/pegtl/buffer_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/buffer_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_BUFFER_INPUT_HPP
 #define TAO_PEGTL_BUFFER_INPUT_HPP
@@ -160,7 +161,7 @@ namespace TAO_PEGTL_NAMESPACE
             std::terminate();
 #endif
          }
-         if( const auto r = m_reader( m_end, (std::min)( buffer_free_after_end(), (std::max)( amount - buffer_occupied(), Chunk ) ) ) ) {
+         if( const auto r = m_reader( m_end, ( std::min )( buffer_free_after_end(), ( std::max )( amount - buffer_occupied(), Chunk ) ) ) ) {
             m_end += r;
          }
       }
diff --git a/packages/PEGTL/include/tao/pegtl/change_action.hpp b/packages/PEGTL/include/tao/pegtl/change_action.hpp
index 6e049ea958fd593a21c145bc7d1abebd0968a0d0..75496d45fe92dfa811cd6950cde436b2929450fd 100644
--- a/packages/PEGTL/include/tao/pegtl/change_action.hpp
+++ b/packages/PEGTL/include/tao/pegtl/change_action.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CHANGE_ACTION_HPP
 #define TAO_PEGTL_CHANGE_ACTION_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/change_action_and_state.hpp b/packages/PEGTL/include/tao/pegtl/change_action_and_state.hpp
index fb67181e123a87bffaf7860d7c80bbb0cd2c82ba..248c6fedbeb9599dafd54b6a2d19b07d2bd7477a 100644
--- a/packages/PEGTL/include/tao/pegtl/change_action_and_state.hpp
+++ b/packages/PEGTL/include/tao/pegtl/change_action_and_state.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CHANGE_ACTION_AND_STATE_HPP
 #define TAO_PEGTL_CHANGE_ACTION_AND_STATE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/change_action_and_states.hpp b/packages/PEGTL/include/tao/pegtl/change_action_and_states.hpp
index 6c452e04be4adcc346d2ff88ba180d7b114ccc19..9d0614f2f0620c10aeaf3ce67c049cb58ed7667f 100644
--- a/packages/PEGTL/include/tao/pegtl/change_action_and_states.hpp
+++ b/packages/PEGTL/include/tao/pegtl/change_action_and_states.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CHANGE_ACTION_AND_STATES_HPP
 #define TAO_PEGTL_CHANGE_ACTION_AND_STATES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/change_control.hpp b/packages/PEGTL/include/tao/pegtl/change_control.hpp
index b77a238041ef2fb6586e213c25745ae95113d9fb..e825e235903cff1d30a2d7bd44d6018f96aa02d5 100644
--- a/packages/PEGTL/include/tao/pegtl/change_control.hpp
+++ b/packages/PEGTL/include/tao/pegtl/change_control.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CHANGE_CONTROL_HPP
 #define TAO_PEGTL_CHANGE_CONTROL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/change_state.hpp b/packages/PEGTL/include/tao/pegtl/change_state.hpp
index 9169c078f493510c686aef607a7ecbfd2a33557c..549ff4d7bc3c8f8cb3469f28af39103d4cca6e90 100644
--- a/packages/PEGTL/include/tao/pegtl/change_state.hpp
+++ b/packages/PEGTL/include/tao/pegtl/change_state.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CHANGE_STATE_HPP
 #define TAO_PEGTL_CHANGE_STATE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/change_states.hpp b/packages/PEGTL/include/tao/pegtl/change_states.hpp
index 4ec26dd34bd10ca907cfe802980b2cc6d58798a6..59835c266d7911820e13d08e72ba11ba8cb484ed 100644
--- a/packages/PEGTL/include/tao/pegtl/change_states.hpp
+++ b/packages/PEGTL/include/tao/pegtl/change_states.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CHANGE_STATES_HPP
 #define TAO_PEGTL_CHANGE_STATES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/config.hpp b/packages/PEGTL/include/tao/pegtl/config.hpp
index f1a3b8874f5ae5804a0ff926ce6d2d7ddf879787..a58f22eb00cf1947d12ad17c9a9644e2aa9c6ff9 100644
--- a/packages/PEGTL/include/tao/pegtl/config.hpp
+++ b/packages/PEGTL/include/tao/pegtl/config.hpp
@@ -1,10 +1,13 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONFIG_HPP
 #define TAO_PEGTL_CONFIG_HPP
 
-#if !defined( TAO_PEGTL_NAMESPACE )
+#if defined( TAO_PEGTL_NAMESPACE )
+#pragma message( "TAO_PEGTL_NAMESPACE is deprecated" )
+#else
 #define TAO_PEGTL_NAMESPACE tao::pegtl
 #endif
 
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/abnf.hpp b/packages/PEGTL/include/tao/pegtl/contrib/abnf.hpp
index df5f39daf36cee116e5b1057616b26b87f60e079..6778f7a10f9b481ab7403aa2e0974e6e781815e4 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/abnf.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/abnf.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ABNF_HPP
 #define TAO_PEGTL_CONTRIB_ABNF_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/add_state.hpp b/packages/PEGTL/include/tao/pegtl/contrib/add_state.hpp
index fc3c46fbfa069f60073b2abe9c9bde3b6721a4b6..be91cd89cb1bf9e96112a8e4b1754410415e3686 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/add_state.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/add_state.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ADD_STATE_HPP
 #define TAO_PEGTL_CONTRIB_ADD_STATE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/alphabet.hpp b/packages/PEGTL/include/tao/pegtl/contrib/alphabet.hpp
index 1a9c24dbf276f8d8144a83f18db38a7fbd99f15f..798530e05af4d18eb04407412051dd6d6376bf35 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/alphabet.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/alphabet.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ALPHABET_HPP
 #define TAO_PEGTL_CONTRIB_ALPHABET_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/analyze.hpp b/packages/PEGTL/include/tao/pegtl/contrib/analyze.hpp
index 17c2a58df9bfca9336cb99876f844ad9fa2fe312..6b4b093b720cb5b2be239b7d1ddef9ee253506bb 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/analyze.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/analyze.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ANALYZE_HPP
 #define TAO_PEGTL_CONTRIB_ANALYZE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/analyze_traits.hpp b/packages/PEGTL/include/tao/pegtl/contrib/analyze_traits.hpp
index 1d82cf643997e834424405aab3994c5be3990143..b835098fbc5076cb2801aa8c2b825c6db0263a5f 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/analyze_traits.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/analyze_traits.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ANALYZE_TRAITS_HPP
 #define TAO_PEGTL_CONTRIB_ANALYZE_TRAITS_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/check_bytes.hpp b/packages/PEGTL/include/tao/pegtl/contrib/check_bytes.hpp
index 84333c7d7ab6425ab0b923b88eb68d9046cc5668..cfd313db7d7c148e4a7f366a23a895a220bcdadc 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/check_bytes.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/check_bytes.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_CHECK_BYTES_HPP
 #define TAO_PEGTL_CONTRIB_CHECK_BYTES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/control_action.hpp b/packages/PEGTL/include/tao/pegtl/contrib/control_action.hpp
index 06d61e29591f1a2ae6d969355a92ee64548d4154..239e6213bdabbb0d11bcc468dbc8cb27da574586 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/control_action.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/control_action.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_CONTROL_ACTION_HPP
 #define TAO_PEGTL_CONTRIB_CONTROL_ACTION_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/coverage.hpp b/packages/PEGTL/include/tao/pegtl/contrib/coverage.hpp
index 14d32ffcc133bfb3197c94571087b1ee083fd1c3..bfa75424fbe26d170b58c69c5f84ddc25b73795c 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/coverage.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/coverage.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_COVERAGE_HPP
 #define TAO_PEGTL_CONTRIB_COVERAGE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/forward.hpp b/packages/PEGTL/include/tao/pegtl/contrib/forward.hpp
index d60f9b54b8ee1ae3e32ddbe1d7354f6f0c43a415..aa9f351e4e2956fc7f11eb719d695a117439c0ec 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/forward.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/forward.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_FORWARD_HPP
 #define TAO_PEGTL_CONTRIB_FORWARD_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/function.hpp b/packages/PEGTL/include/tao/pegtl/contrib/function.hpp
index bed10604790529ef356ee5ce3da03966d62ad6fc..86d535896d4cef96d48e1b7b071060078032786d 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/function.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/function.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_FUNCTION_HPP
 #define TAO_PEGTL_CONTRIB_FUNCTION_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/http.hpp b/packages/PEGTL/include/tao/pegtl/contrib/http.hpp
index 1755f5469eecbf6564deb9460f0264df3120f416..e794a6dd739a803d4a323728d87daa77fbfe3426 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/http.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/http.hpp
@@ -1,11 +1,12 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_HTTP_HPP
 #define TAO_PEGTL_CONTRIB_HTTP_HPP
 
 #if !defined( __cpp_exceptions )
-#error "Exception support required tao/pegtl/contrib/http.hpp"
+#error "Exception support required for tao/pegtl/contrib/http.hpp"
 #else
 
 #include "../ascii.hpp"
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/icu/internal.hpp b/packages/PEGTL/include/tao/pegtl/contrib/icu/internal.hpp
index 596a7eced7aaa70885965a69577ce41990cbfa33..02976fd6d210a221d6f799aa72e8ef651bda4dd7 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/icu/internal.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/icu/internal.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ICU_INTERNAL_HPP
 #define TAO_PEGTL_CONTRIB_ICU_INTERNAL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/icu/utf16.hpp b/packages/PEGTL/include/tao/pegtl/contrib/icu/utf16.hpp
index b73db99271631eb58c5220e02e70607733bad7d0..1b04ad8b2ec60a361ce8d32395c85c4e1332dc21 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/icu/utf16.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/icu/utf16.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ICU_UTF16_HPP
 #define TAO_PEGTL_CONTRIB_ICU_UTF16_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/icu/utf32.hpp b/packages/PEGTL/include/tao/pegtl/contrib/icu/utf32.hpp
index 9781f567b35e6a58add6a634120db7850f1a3559..738b0e61f1dfe1f9c9d09c17e1e5e80911670908 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/icu/utf32.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/icu/utf32.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ICU_UTF32_HPP
 #define TAO_PEGTL_CONTRIB_ICU_UTF32_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/icu/utf8.hpp b/packages/PEGTL/include/tao/pegtl/contrib/icu/utf8.hpp
index cf72da60ac3724a97dca3092db793db72255f0f8..7a7ced60128523593bc951ec037f3dfdddf603d7 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/icu/utf8.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/icu/utf8.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_ICU_UTF8_HPP
 #define TAO_PEGTL_CONTRIB_ICU_UTF8_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/if_then.hpp b/packages/PEGTL/include/tao/pegtl/contrib/if_then.hpp
index a17801355f5c07a87fcac9a0fb4836af2be2a42e..897f55c026d46394c3a63e0bbcb65083fd01bb0d 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/if_then.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/if_then.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_IF_THEN_HPP
 #define TAO_PEGTL_CONTRIB_IF_THEN_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/instantiate.hpp b/packages/PEGTL/include/tao/pegtl/contrib/instantiate.hpp
index ebf6e7f1ca1730a47617ccaea29d565270b5a888..ce8bb4c293fe9ef45f85d1919d49fe4cdfd4b4d3 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/instantiate.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/instantiate.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INSTANTIATE_HPP
 #define TAO_PEGTL_CONTRIB_INSTANTIATE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/integer.hpp b/packages/PEGTL/include/tao/pegtl/contrib/integer.hpp
index b8edf793cc7bb528fdbb9208a4604dceafb4c194..2fbc7285dcde90629456db3a5c334ffb5e93e94f 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/integer.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/integer.hpp
@@ -1,11 +1,12 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTEGER_HPP
 #define TAO_PEGTL_CONTRIB_INTEGER_HPP
 
 #if !defined( __cpp_exceptions )
-#error "Exception support required tao/pegtl/contrib/integer.hpp"
+#error "Exception support required for tao/pegtl/contrib/integer.hpp"
 #else
 
 #include <cstdint>
@@ -66,7 +67,7 @@ namespace TAO_PEGTL_NAMESPACE
          return ( '0' <= c ) && ( c <= '9' );
       }
 
-      template< typename Integer, Integer Maximum = (std::numeric_limits< Integer >::max)() >
+      template< typename Integer, Integer Maximum = ( std::numeric_limits< Integer >::max )() >
       [[nodiscard]] constexpr bool accumulate_digit( Integer& result, const char digit ) noexcept
       {
          // Assumes that digit is a digit as per is_digit(); returns false on overflow.
@@ -86,7 +87,7 @@ namespace TAO_PEGTL_NAMESPACE
          return true;
       }
 
-      template< typename Integer, Integer Maximum = (std::numeric_limits< Integer >::max)() >
+      template< typename Integer, Integer Maximum = ( std::numeric_limits< Integer >::max )() >
       [[nodiscard]] constexpr bool accumulate_digits( Integer& result, const std::string_view input ) noexcept
       {
          // Assumes input is a non-empty sequence of digits; returns false on overflow.
@@ -99,7 +100,7 @@ namespace TAO_PEGTL_NAMESPACE
          return true;
       }
 
-      template< typename Integer, Integer Maximum = (std::numeric_limits< Integer >::max)() >
+      template< typename Integer, Integer Maximum = ( std::numeric_limits< Integer >::max )() >
       [[nodiscard]] constexpr bool convert_positive( Integer& result, const std::string_view input ) noexcept
       {
          // Assumes result == 0 and that input is a non-empty sequence of digits; returns false on overflow.
@@ -115,7 +116,7 @@ namespace TAO_PEGTL_NAMESPACE
 
          static_assert( std::is_signed_v< Signed > );
          using Unsigned = std::make_unsigned_t< Signed >;
-         constexpr Unsigned maximum = static_cast< Unsigned >( (std::numeric_limits< Signed >::max)() ) + 1;
+         constexpr Unsigned maximum = static_cast< Unsigned >( ( std::numeric_limits< Signed >::max )() ) + 1;
          Unsigned temporary = 0;
          if( accumulate_digits< Unsigned, maximum >( temporary, input ) ) {
             result = static_cast< Signed >( ~temporary ) + 1;
@@ -124,7 +125,7 @@ namespace TAO_PEGTL_NAMESPACE
          return false;
       }
 
-      template< typename Unsigned, Unsigned Maximum = (std::numeric_limits< Unsigned >::max)() >
+      template< typename Unsigned, Unsigned Maximum = ( std::numeric_limits< Unsigned >::max )() >
       [[nodiscard]] constexpr bool convert_unsigned( Unsigned& result, const std::string_view input ) noexcept
       {
          // Assumes result == 0 and that input is a non-empty sequence of digits; returns false on overflow.
@@ -167,7 +168,7 @@ namespace TAO_PEGTL_NAMESPACE
 
       template< typename ParseInput,
                 typename Unsigned,
-                Unsigned Maximum = (std::numeric_limits< Unsigned >::max)() >
+                Unsigned Maximum = ( std::numeric_limits< Unsigned >::max )() >
       [[nodiscard]] bool match_and_convert_unsigned_with_maximum_throws( ParseInput& in, Unsigned& st )
       {
          // Assumes st == 0.
@@ -193,7 +194,7 @@ namespace TAO_PEGTL_NAMESPACE
 
       template< typename ParseInput,
                 typename Unsigned,
-                Unsigned Maximum = (std::numeric_limits< Unsigned >::max)() >
+                Unsigned Maximum = ( std::numeric_limits< Unsigned >::max )() >
       [[nodiscard]] bool match_and_convert_unsigned_with_maximum_nothrow( ParseInput& in, Unsigned& st )
       {
          // Assumes st == 0.
@@ -304,7 +305,7 @@ namespace TAO_PEGTL_NAMESPACE
       }
    };
 
-   template< typename Unsigned, Unsigned Maximum = (std::numeric_limits< Unsigned >::max)() >
+   template< typename Unsigned, Unsigned Maximum = ( std::numeric_limits< Unsigned >::max )() >
    struct maximum_rule
    {
       using rule_t = maximum_rule;
@@ -320,7 +321,7 @@ namespace TAO_PEGTL_NAMESPACE
       }
    };
 
-   template< typename Unsigned, Unsigned Maximum = (std::numeric_limits< Unsigned >::max)() >
+   template< typename Unsigned, Unsigned Maximum = ( std::numeric_limits< Unsigned >::max )() >
    struct maximum_rule_with_action
    {
       using rule_t = maximum_rule_with_action;
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/endian.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/endian.hpp
index ac40ead5894cab5d0004b773fcf88ebeb86e80d0..fc997a311651a584583f72198ab325d158406cec 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/endian.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/endian.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_ENDIAN_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_ENDIAN_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_gcc.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_gcc.hpp
index 9eeb9ad71bffc2ad171ed00757dd793bad9014b1..d6a82315520517ef535f0a947284169376529dd3 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_gcc.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_gcc.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_ENDIAN_GCC_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_ENDIAN_GCC_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_win.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_win.hpp
index 308dd3f018361baeebde0cf080ae49406ebfbace..ac21c8bcc900a3a47b48ef5e9c6a029f61b45839 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_win.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/endian_win.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_ENDIAN_WIN_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_ENDIAN_WIN_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint.hpp
index 2a6c8b3079d8661e76fe2bf385ea8ed908649fb9..f34baa4f708fd0e06424b8100b6d98aea5a6117c 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint8.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint8.hpp
index 15bd6926f26467ff01c883e24b18d72d181c7bc6..b57da1809cb774ed26c2f5339a8e04293bf36ebf 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint8.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint8.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT8_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT8_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint.hpp
index 04925f5ac3480a7176645cb412d4777c52b68e6f..62f7555b666c03a01384e9051cfcc1a99f1e8f12 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UINT_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UINT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint8.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint8.hpp
index 47b78efb2549146a425849a4537478d76a8de1af..9b437f4c650d827ca9b0e3c3681d1dd62db0093c 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint8.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_uint8.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UINT8_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UINT8_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf16.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf16.hpp
index c37b23918b7dad49dbd0d7bc7294a06b018ff25e..6a5006c216e847d993b5f56b06c9459cfc2dfb26 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf16.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf16.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UTF16_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UTF16_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf32.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf32.hpp
index b48dc4d2c2b0fc96152b8aa4f17fae28c0ad52d4..0d78db0dacf6cc8694a32e1d960362831f314ebe 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf32.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/peek_utf32.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UTF32_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_PEEK_UTF32_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/read_uint.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/read_uint.hpp
index 184c55ee095eebad005a1719b216ed1fdf9511ae..8f294726aa7b64d9b6f358ddd8148cc40d85c900 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/read_uint.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/read_uint.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_READ_UINT_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_READ_UINT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/set_stack_guard.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/set_stack_guard.hpp
index c0071e959d0c3bd52f405b5800e608107716a91c..a7c89b5ec3c86fc76a55f228c667fb3f35960fff 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/set_stack_guard.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/set_stack_guard.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_SET_STACK_GUARD_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_SET_STACK_GUARD_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/internal/vector_stack_guard.hpp b/packages/PEGTL/include/tao/pegtl/contrib/internal/vector_stack_guard.hpp
index 4b0cfbe8bf730bdac56b39c6e09cd627b5f928b5..b143457f4ff39776f9101b5284a16b5d53b22e29 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/internal/vector_stack_guard.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/internal/vector_stack_guard.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_INTERNAL_VECTOR_STACK_GUARD_HPP
 #define TAO_PEGTL_CONTRIB_INTERNAL_VECTOR_STACK_GUARD_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/iri.hpp b/packages/PEGTL/include/tao/pegtl/contrib/iri.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..defdc42fa0d72b1725e97c1c4bf497a8af64e84d
--- /dev/null
+++ b/packages/PEGTL/include/tao/pegtl/contrib/iri.hpp
@@ -0,0 +1,107 @@
+// Copyright (c) 2021 Kelvin Hammond
+// Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef TAO_PEGTL_CONTRIB_IRI_HPP
+#define TAO_PEGTL_CONTRIB_IRI_HPP
+
+#if !defined( __cpp_exceptions )
+#error "Exception support required for tao/pegtl/contrib/iri.hpp"
+#else
+
+#include "../config.hpp"
+#include "../rules.hpp"
+#include "../utf8.hpp"
+
+#include "abnf.hpp"
+#include "uri.hpp"
+
+namespace TAO_PEGTL_NAMESPACE::iri
+{
+   // IRI grammar according to RFC 3987.
+
+   // This grammar is a direct PEG translation of the original URI grammar.
+   // It should be considered experimental -- in case of any issues, in particular
+   // missing rules for attached actions, please contact the developers.
+
+   // Note that this grammar has multiple top-level rules.
+
+   using uri::scheme;
+   using uri::port;
+   using uri::dslash;
+   using uri::IP_literal;
+   using uri::IPv4address;
+   using uri::pct_encoded;
+   using uri::sub_delims;
+   using uri::colon;
+
+   // clang-format off
+   struct ucschar : utf8::ranges<
+      0xA0, 0xD7FF,
+      0xF900, 0xFDCF,
+      0xFDF0, 0xFFEF,
+      0x10000, 0x1FFFD,
+      0x20000, 0x2FFFD,
+      0x30000, 0x3FFFD,
+      0x40000, 0x4FFFD,
+      0x50000, 0x5FFFD,
+      0x60000, 0x6FFFD,
+      0x70000, 0x7FFFD,
+      0x80000, 0x8FFFD,
+      0x90000, 0x9FFFD,
+      0xA0000, 0xAFFFD,
+      0xB0000, 0xBFFFD,
+      0xC0000, 0xCFFFD,
+      0xD0000, 0xDFFFD,
+      0xE1000, 0xEFFFD > {};
+
+   struct iprivate : utf8::ranges< 0xE000, 0xF8FF, 0xF0000, 0xFFFFD, 0x100000, 0x10FFFD > {};
+
+   struct iunreserved : sor< abnf::ALPHA, abnf::DIGIT, one< '-', '.', '_', '~' >, ucschar > {};
+
+   struct ipchar : sor< iunreserved, pct_encoded, sub_delims, one< ':', '@' > > {};
+
+   struct isegment : star< ipchar > {};
+   struct isegment_nz : plus< ipchar > {};
+   // non-zero-length segment without any colon ":"
+   struct isegment_nz_nc : plus< sor< iunreserved, pct_encoded, sub_delims, one< '@' > > > {};
+
+   struct ipath_abempty : star< one< '/' >, isegment > {};
+   struct ipath_absolute : seq< one< '/' >, opt< isegment_nz, star< one< '/' >, isegment > > > {};
+   struct ipath_noscheme : seq< isegment_nz_nc, star< one< '/' >, isegment > > {};
+   struct ipath_rootless : seq< isegment_nz, star< one< '/' >, isegment > > {};
+   struct ipath_empty : success {};
+
+   struct ipath : sor< ipath_noscheme,  // begins with a non-colon segment
+                       ipath_rootless,  // begins with a segment
+                       ipath_absolute,  // begins with "/" but not "//"
+                       ipath_abempty >  // begins with "/" or is empty
+   {};
+
+   struct ireg_name : star< sor< iunreserved, pct_encoded, sub_delims > > {};
+
+   struct ihost : sor< IP_literal, IPv4address, ireg_name > {};
+   struct iuserinfo : star< sor< iunreserved, pct_encoded, sub_delims, colon > > {};
+   struct opt_iuserinfo : opt< iuserinfo, one< '@' > > {};
+   struct iauthority : seq< opt_iuserinfo, ihost, opt< colon, port > > {};
+
+   struct iquery : star< sor< ipchar, iprivate, one< '/', '?' > > > {};
+   struct ifragment : star< sor< ipchar, one< '/', '?' > > > {};
+
+   struct opt_iquery : opt_must< one< '?' >, iquery > {};
+   struct opt_ifragment : opt_must< one< '#' >, ifragment > {};
+
+   struct ihier_part : sor< if_must< dslash, iauthority, ipath_abempty >, ipath_rootless, ipath_absolute, ipath_empty > {};
+   struct irelative_part : sor< if_must< dslash, iauthority, ipath_abempty >, ipath_noscheme, ipath_absolute, ipath_empty > {};
+   struct irelative_ref : seq< irelative_part, opt_iquery, opt_ifragment > {};
+
+   struct IRI : seq< scheme, one< ':' >, ihier_part, opt_iquery, opt_ifragment > {};
+   struct IRI_reference : sor< IRI, irelative_ref > {};
+   struct absolute_IRI : seq< scheme, one< ':' >, ihier_part, opt_iquery > {};
+   // clang-format off
+
+}  // namespace TAO_PEGTL_NAMESPACE::iri
+
+#endif
+#endif
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/json.hpp b/packages/PEGTL/include/tao/pegtl/contrib/json.hpp
index 027201ac88a1691e6fb5195389dd2afc907b0d40..e47aaae4b5b01bb22bd1212781aa6fdd8c347559 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/json.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/json.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_JSON_HPP
 #define TAO_PEGTL_CONTRIB_JSON_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/json_pointer.hpp b/packages/PEGTL/include/tao/pegtl/contrib/json_pointer.hpp
index 6230cfcea1263d460c76ee7d6ef4651012bf4243..5e920d720b1e0d2b82dc77f4252f965eb67e4db2 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/json_pointer.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/json_pointer.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_JSON_POINTER_HPP
 #define TAO_PEGTL_CONTRIB_JSON_POINTER_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/limit_bytes.hpp b/packages/PEGTL/include/tao/pegtl/contrib/limit_bytes.hpp
index cea99fc6fef85375352e6a377c9db42d19201ff5..1447e1fd58fdd2a964bcdcc1263ed90696a27005 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/limit_bytes.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/limit_bytes.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_LIMIT_BYTES_HPP
 #define TAO_PEGTL_CONTRIB_LIMIT_BYTES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/limit_depth.hpp b/packages/PEGTL/include/tao/pegtl/contrib/limit_depth.hpp
index 447bebff7cc21a78f631e37ac23800a2741fd671..a84e002eaed39f027d4c7f2b60a9c8ad27689cd3 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/limit_depth.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/limit_depth.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_LIMIT_DEPTH_HPP
 #define TAO_PEGTL_CONTRIB_LIMIT_DEPTH_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/parse_tree.hpp b/packages/PEGTL/include/tao/pegtl/contrib/parse_tree.hpp
index 2d83d557e6874f07f114075c4101647b96f6893a..8de35b8cd13051ba046959e108933a6c160d484e 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/parse_tree.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/parse_tree.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_PARSE_TREE_HPP
 #define TAO_PEGTL_CONTRIB_PARSE_TREE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/parse_tree_to_dot.hpp b/packages/PEGTL/include/tao/pegtl/contrib/parse_tree_to_dot.hpp
index 79dbb0104e0b51e8d2970e7c2f879f2e33199836..f186bf6ea0c559fb6d8e38c2fe1afb2d1c085b89 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/parse_tree_to_dot.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/parse_tree_to_dot.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_PARSE_TREE_TO_DOT_HPP
 #define TAO_PEGTL_CONTRIB_PARSE_TREE_TO_DOT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/peg.hpp b/packages/PEGTL/include/tao/pegtl/contrib/peg.hpp
deleted file mode 100644
index 3c15c9b721ac6258414c2f14ff538dbd400afa3f..0000000000000000000000000000000000000000
--- a/packages/PEGTL/include/tao/pegtl/contrib/peg.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (c) 2021 Daniel Deptford
-// Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
-
-#ifndef TAO_PEGTL_CONTRIB_PEG_HPP
-#define TAO_PEGTL_CONTRIB_PEG_HPP
-
-#include <tao/pegtl.hpp>
-
-namespace TAO_PEGTL_NAMESPACE::peg
-{
-   // PEG grammar from https://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf
-   namespace grammar
-   {
-      // clang-format off
-      struct AND;
-      struct Char;
-      struct Class;
-      struct CLOSE;
-      struct Comment;
-      struct Definition;
-      struct DOT;
-      struct EndOfFile;
-      struct EndOfLine;
-      struct Expression;
-      struct QUESTION;
-      struct IdentCont;
-      struct Identifier;
-      struct IdentStart;
-      struct LEFTARROW;
-      struct Literal;
-      struct NOT;
-      struct OPEN;
-      struct PLUS;
-      struct Prefix;
-      struct Primary;
-      struct Range;
-      struct Sequence;
-      struct SLASH;
-      struct Space;
-      struct Spacing;
-      struct STAR;
-      struct Suffix;
-
-      struct Grammar : seq< Spacing, plus< Definition >, EndOfFile > {};
-
-      struct Definition : seq< Identifier, LEFTARROW, Expression > {};
-      struct Expression : list< Sequence, SLASH > {};
-      struct Sequence : star< Prefix > {};
-
-      struct Prefix : seq< opt< sor< AND, NOT > >, Suffix > {};
-      struct Suffix : seq< Primary, opt< sor< QUESTION, STAR, PLUS > > > {};
-
-      struct Primary : sor<
-         seq< Identifier, not_at< LEFTARROW > >,
-         seq< OPEN, Expression, CLOSE >,
-         Literal,
-         Class,
-         DOT
-         > {};
-
-      struct Identifier : seq< IdentStart, star< IdentCont >, Spacing > {};
-
-      struct IdentStart : identifier_first {};
-
-      struct IdentCont : identifier_other {};
-
-      struct Literal : sor<
-         seq< one< '\'' >, until< one< '\'' >, Char >, Spacing >,
-         seq< one< '"' >, until< one< '"' >, Char >, Spacing >
-         > {};
-
-      struct Class : seq< one< '[' >, until< one< ']' >, Range >, Spacing > {};
-
-      struct Range : sor<
-         seq< Char, one< '-' >, Char >,
-         Char
-         > {};
-
-      struct Char : sor<
-         seq<
-            one< '\\' >,
-            one< 'n', 'r', 't', '\'', '"', '[', ']', '\\' > >,
-         seq<
-            one< '\\' >,
-            range< '0', '2' >,
-            range< '0', '7' >,
-            range< '0', '7' > >,
-         seq<
-            one< '\\' >,
-            range< '0','7' >,
-            opt< range< '0','7' > > >,
-         seq<
-            not_at< one< '\\' > >,
-            any >
-         > {};
-
-      struct LEFTARROW : seq< string< '<','-' >, Spacing > {};
-      struct SLASH : seq< one< '/' >, Spacing > {};
-      struct AND : seq< one< '&' >, Spacing > {};
-      struct NOT : seq< one< '!' >, Spacing > {};
-      struct QUESTION : seq< one< '?' >, Spacing > {};
-      struct STAR : seq< one< '*' >, Spacing > {};
-      struct PLUS : seq< one< '+' >, Spacing > {};
-      struct OPEN : seq< one< '(' >, Spacing > {};
-      struct CLOSE : seq< one< ')' >, Spacing > {};
-      struct DOT : seq< one< '.' >, Spacing > {};
-
-      struct Spacing : star< sor< Space, Comment > > {};
-      struct Comment : seq< one< '#' >, until< EndOfLine > > {};
-
-      struct Space : sor< one< ' ', '\t' >, EndOfLine > {};
-      struct EndOfLine : sor< string< '\r', '\n' >, one< '\n' >, one< '\r' > > {};
-      struct EndOfFile : eof {};
-      // clang-format on
-
-   }  // namespace grammar
-
-}  // namespace TAO_PEGTL_NAMESPACE::peg
-
-#endif  // TAO_PEGTL_CONTRIB_PEG_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/predicates.hpp b/packages/PEGTL/include/tao/pegtl/contrib/predicates.hpp
index 35a1f9b2f71da1a558ca4118e0f427503a3d5ca7..4e37e29072324e5545ea1cf0dc67c70acdeba3dd 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/predicates.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/predicates.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_PREDICATES_HPP
 #define TAO_PEGTL_CONTRIB_PREDICATES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/print.hpp b/packages/PEGTL/include/tao/pegtl/contrib/print.hpp
index 1583630f9ec62a1bcdb2a87b71f80c92ddfb8ae3..18d803021412de70c06aaac6bb698d959add68b1 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/print.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/print.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_PRINT_HPP
 #define TAO_PEGTL_CONTRIB_PRINT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/print_coverage.hpp b/packages/PEGTL/include/tao/pegtl/contrib/print_coverage.hpp
index 98be601d0d47a190df4383fb74ff0f27372c5a9c..9b0774f0467249aa09eb42716112845845aea6ae 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/print_coverage.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/print_coverage.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_PRINT_COVERAGE_HPP
 #define TAO_PEGTL_CONTRIB_PRINT_COVERAGE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/proto3.hpp b/packages/PEGTL/include/tao/pegtl/contrib/proto3.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..535cfa1c327da830d203f2e526d5d10aea3e0dcb
--- /dev/null
+++ b/packages/PEGTL/include/tao/pegtl/contrib/proto3.hpp
@@ -0,0 +1,143 @@
+// Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef TAO_PEGTL_CONTRIB_PROTO3_HPP
+#define TAO_PEGTL_CONTRIB_PROTO3_HPP
+
+#include "../ascii.hpp"
+#include "../config.hpp"
+#include "../rules.hpp"
+
+namespace TAO_PEGTL_NAMESPACE::proto3
+{
+   // protocol buffer v3
+   // https://developers.google.com/protocol-buffers/docs/reference/proto3-spec
+
+   // clang-format off
+   struct comment_sl : seq< two< '/' >, until< eolf > > {};
+   struct comment_ml : if_must< string< '/', '*' >, until< string< '*', '/' > > > {};
+   struct sp : sor< space, comment_sl, comment_ml > {};
+   struct sps : star< sp > {};
+
+   struct comma : one< ',' > {};
+   struct dot : one< '.' > {};
+   struct equ : one< '=' > {};
+   struct semi : one< ';' > {};
+
+   struct option;
+   struct message;
+   struct extend;
+
+   struct ident_first : ranges< 'a', 'z', 'A', 'Z' > {};  // NOTE: Yes, no '_'.
+   struct ident_other : ranges< 'a', 'z', 'A', 'Z', '0', '9', '_' > {};
+   struct ident : seq< ident_first, star< ident_other > > {};
+   struct full_ident : list_must< ident, dot > {};
+
+   struct hex_lit : seq< one< '0' >, one< 'x', 'X' >, plus< xdigit > > {};
+   struct oct_lit : seq< one< '0' >, plus< odigit > > {};
+   struct dec_lit : seq< range< '1', '9' >, star< digit > >  {};
+   struct int_lit : sor< hex_lit, oct_lit, dec_lit > {};
+
+   struct sign : one< '+', '-' > {};
+   struct exp : seq< one< 'E', 'e' >, opt< sign >, plus< digit > > {};
+   struct float_lit : sor<
+      seq< plus< digit >, dot, exp >,
+      seq< plus< digit >, dot, star< digit >, opt< exp > >,
+      seq< dot, plus< digit >, opt< exp > >,
+      keyword< 'i', 'n', 'f' >,
+      keyword< 'n', 'a', 'n' > > {};
+
+   struct bool_lit : sor< keyword< 't', 'r', 'u', 'e' >,
+                          keyword< 'f', 'a', 'l', 's', 'e' > > {};
+
+   struct hex_escape : if_must< one< 'x', 'X' >, xdigit, xdigit > {};
+   struct oct_escape : if_must< odigit, odigit, odigit > {};
+   struct char_escape : one< 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', '\'', '"' > {};
+   struct escape : if_must< one< '\\' >, hex_escape, oct_escape, char_escape > {};
+   struct char_value : sor< escape, not_one< '\n', '\0' > > {};  // NOTE: No need to exclude '\' from not_one<>, see escape rule.
+   template< char Q >
+   struct str_impl : if_must< one< Q >, until< one< Q >, char_value > > {};
+   struct str_lit : sor< str_impl< '\'' >, str_impl< '"' > > {};
+
+   struct constant : sor< bool_lit, seq< opt< sign >, float_lit >, seq< opt< sign >, int_lit >, str_lit, full_ident > {};
+
+   struct option_name : seq< sor< ident, if_must< one< '(' >, full_ident, one< ')' > > >, star_must< dot, ident > > {};
+   struct option : if_must< keyword< 'o', 'p', 't', 'i', 'o', 'n' >, sps, option_name, sps, equ, sps, constant, sps, semi > {};
+
+   struct bool_type : keyword< 'b', 'o', 'o', 'l' > {};
+   struct bytes_type : keyword< 'b', 'y', 't', 'e', 's' > {};
+   struct double_type : keyword< 'd', 'o', 'u', 'b', 'l', 'e' > {};
+   struct float_type : keyword< 'f', 'l', 'o', 'a', 't' > {};
+   struct string_type : keyword< 's', 't', 'r', 'i', 'n', 'g' > {};
+
+   struct int32_type : keyword< 'i', 'n', 't', '3', '2' > {};
+   struct int64_type : keyword< 'i', 'n', 't', '6', '4' > {};
+   struct sint32_type : keyword< 's', 'i', 'n', 't', '3', '2' > {};
+   struct sint64_type : keyword< 's', 'i', 'n', 't', '6', '4' > {};
+   struct uint32_type : keyword< 'u', 'i', 'n', 't', '3', '2' > {};
+   struct uint64_type : keyword< 'u', 'i', 'n', 't', '6', '4' > {};
+   struct fixed32_type : keyword< 'f', 'i', 'x', 'e', 'd', '3', '2' > {};
+   struct fixed64_type : keyword< 'f', 'i', 'x', 'e', 'd', '6', '4' > {};
+   struct sfixed32_type : keyword< 's', 'f', 'i', 'x', 'e', 'd', '3', '2' > {};
+   struct sfixed64_type : keyword< 's', 'f', 'i', 'x', 'e', 'd', '6', '4' > {};
+
+   struct builtin_type : sor< bool_type, bytes_type, double_type, float_type, string_type, int32_type, int64_type, sint32_type, sint64_type, uint32_type, uint64_type, fixed32_type, fixed64_type, sfixed32_type, sfixed64_type > {};
+
+   struct defined_type : seq< opt< dot >, full_ident > {};  // NOTE: This replaces both message_type and enum_type -- they have the same syntax.
+
+   struct type : sor< builtin_type, defined_type > {};
+
+   struct field_option : if_must< option_name, sps, equ, sps, constant > {};
+   struct field_options : if_must< one< '[' >, sps, list< field_option, comma, sp >, sps, one< ']' > > {};
+   struct field_name : ident {};
+   struct field_number : int_lit {};
+   struct field : seq< opt< sor< keyword< 'o', 'p', 't', 'i', 'o', 'n', 'a', 'l' >, keyword< 'r', 'e', 'p', 'e', 'a', 't', 'e', 'd' > >, sps >, type, sps, field_name, sps, equ, sps, field_number, sps, opt< field_options, sps >, semi > {};
+
+   struct oneof_name : ident {};
+   struct oneof_field : if_must< type, sps, field_name, sps, equ, sps, field_number, sps, opt< field_options, sps >, semi > {};
+   struct oneof_body : sor< oneof_field, semi > {};
+   struct oneof : if_must< keyword< 'o', 'n', 'e', 'o', 'f' >, sps, oneof_name, sps, one< '{' >, sps, until< one< '}' >, oneof_body, sps >, sps > {};
+
+   struct key_type : seq< sor< bool_type, string_type, int32_type, int64_type, sint32_type, sint64_type, uint32_type, uint64_type, fixed32_type, fixed64_type, sfixed32_type, sfixed64_type >, not_at< ident_other > > {};
+   struct map_name : ident {};
+   struct map_field : if_must< keyword< 'm', 'a', 'p' >, sps, one< '<' >, sps, key_type, sps, comma, sps, type, sps, one< '>' >, sps, map_name, sps, equ, sps, field_number, sps, opt< field_options, sps >, semi > {};
+
+   struct range : if_must< int_lit, sps, keyword< 't', 'o' >, sps, sor< int_lit, keyword< 'm', 'a', 'x' > > > {};
+   struct ranges : list_must< range, comma, sp > {};
+   struct field_names : list_must< field_name, comma, sp > {};
+   struct reserved : if_must< keyword< 'r', 'e', 's', 'e', 'r', 'v', 'e', 'd' >, sps, sor< ranges, field_names >, sps, semi > {};
+
+   struct enum_name : ident {};
+   struct enum_value_option : seq< option_name, sps, equ, sps, constant > {};
+   struct enum_field : seq< ident, sps, equ, sps, int_lit, sps, opt_must< one< '[' >, sps, list_must< enum_value_option, comma, sp >, sps, one< ']' >, sps >, semi > {};
+   struct enum_body : if_must< one< '{' >, sps, star< sor< option, enum_field, semi >, sps >, one< '}' > > {};
+   struct enum_def : if_must< keyword< 'e', 'n', 'u', 'm' >, sps, enum_name, sps, enum_body > {};
+
+   struct message_thing : sor< field, enum_def, message, option, oneof, map_field, reserved, extend, semi > {};
+   struct message_body : seq< one<'{'>, sps, star< message_thing, sps >, one<'}'> > {};
+   struct message : if_must< keyword< 'm', 'e', 's', 's', 'a', 'g', 'e' >, sps, defined_type, sps, message_body > {};
+   struct extend : if_must< keyword< 'e', 'x', 't', 'e', 'n', 'd' >, sps, defined_type, sps, message_body > {};
+
+   struct package : if_must< keyword< 'p', 'a', 'c', 'k', 'a', 'g', 'e' >, sps, full_ident, sps, semi > {};
+
+   struct import_option : opt< sor< keyword< 'w', 'e', 'a', 'k' >, keyword< 'p', 'u', 'b', 'l', 'i', 'c' > > > {};
+   struct import : if_must< keyword< 'i', 'm', 'p', 'o', 'r', 't' >, sps, import_option, sps, str_lit, sps, semi > {};
+
+   struct rpc_name : ident {};
+   struct rpc_type : if_must< one< '(' >, sps, opt< keyword< 's', 't', 'r', 'e', 'a', 'm' >, sps >, defined_type, sps, one< ')' > > {};
+   struct rpc_options : if_must< one< '{' >, sps, star< sor< option, semi >, sps >, one< '}' > > {};
+   struct rpc : if_must< keyword< 'r', 'p', 'c' >, sps, rpc_name, sps, rpc_type, sps, keyword< 'r', 'e', 't', 'u', 'r', 'n', 's' >, sps, rpc_type, sps, sor< semi, rpc_options > > {};
+   struct service_name : ident {};
+   struct service : if_must< keyword< 's', 'e', 'r', 'v', 'i', 'c', 'e' >, sps, service_name, sps, one< '{' >, sps, star< sor< option, rpc, semi >, sps >, one< '}' > > {};
+
+   struct body : sor< import, package, option, message, enum_def, service, extend, semi > {};
+
+   struct quote : one< '\'', '"' > {};
+   struct head : if_must< keyword< 's', 'y', 'n', 't', 'a', 'x' >, sps, equ, sps, quote, string< 'p', 'r', 'o', 't', 'o', '3' >, quote, sps, semi > {};
+   struct proto : must< sps, head, sps, star< body, sps >, eof > {};
+   // clang-format on
+
+}  // namespace TAO_PEGTL_NAMESPACE::proto3
+
+#endif
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/raw_string.hpp b/packages/PEGTL/include/tao/pegtl/contrib/raw_string.hpp
index 819fb6248681a9b4e3dc95f213a914f00492676b..e24c578bcbbe4e7cc49181af95a9b465986bd79a 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/raw_string.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/raw_string.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_RAW_STRING_HPP
 #define TAO_PEGTL_CONTRIB_RAW_STRING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/remove_first_state.hpp b/packages/PEGTL/include/tao/pegtl/contrib/remove_first_state.hpp
index 418347b757493e4acf8ea95e91209f3c5fa702d9..74384c63973b752330946ad98703b79aeea821a0 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/remove_first_state.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/remove_first_state.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_REMOVE_FIRST_STATE_HPP
 #define TAO_PEGTL_CONTRIB_REMOVE_FIRST_STATE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/remove_last_states.hpp b/packages/PEGTL/include/tao/pegtl/contrib/remove_last_states.hpp
index 8c6246407ff22fc68cf27f0150e48a9943272c71..5a4d67ecc2bf9481cc3a81e27ce7fe8328826662 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/remove_last_states.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/remove_last_states.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_REMOVE_LAST_STATES_HPP
 #define TAO_PEGTL_CONTRIB_REMOVE_LAST_STATES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/rep_one_min_max.hpp b/packages/PEGTL/include/tao/pegtl/contrib/rep_one_min_max.hpp
index 13df3b3faa63d74d1f50e2de9adaa4fb21a2a0a5..785e46f98004242ba1202424ce5d733b931e9055 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/rep_one_min_max.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/rep_one_min_max.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_REP_ONE_MIN_MAX_HPP
 #define TAO_PEGTL_CONTRIB_REP_ONE_MIN_MAX_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/rep_string.hpp b/packages/PEGTL/include/tao/pegtl/contrib/rep_string.hpp
index d29040d4a20fdee9016f8a75f536cac3922c1c41..b42061667f759180af7dba159877423a3f226421 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/rep_string.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/rep_string.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_REP_STRING_HPP
 #define TAO_PEGTL_CONTRIB_REP_STRING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/separated_seq.hpp b/packages/PEGTL/include/tao/pegtl/contrib/separated_seq.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..26aac6ab4e5ca78977ce19ba8de23a5224a11451
--- /dev/null
+++ b/packages/PEGTL/include/tao/pegtl/contrib/separated_seq.hpp
@@ -0,0 +1,46 @@
+// Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef TAO_PEGTL_CONTRIB_SEPARATED_SEQ_HPP
+#define TAO_PEGTL_CONTRIB_SEPARATED_SEQ_HPP
+
+#include "../config.hpp"
+
+#include "../internal/seq.hpp"
+#include "../type_list.hpp"
+
+namespace TAO_PEGTL_NAMESPACE
+{
+   namespace internal
+   {
+      template< typename... >
+      struct sep;
+
+      template< typename... Ts, typename S, typename Rule, typename... Rules >
+      struct sep< type_list< Ts... >, S, Rule, Rules... >
+         : sep< type_list< Ts..., Rule, S >, S, Rules... >
+      {};
+
+      template< typename... Ts, typename S, typename Rule >
+      struct sep< type_list< Ts... >, S, Rule >
+      {
+         using type = seq< Ts..., Rule >;
+      };
+
+      template< typename S >
+      struct sep< type_list<>, S >
+      {
+         using type = seq<>;
+      };
+
+   }  // namespace internal
+
+   template< typename S, typename... Rules >
+   struct separated_seq
+      : internal::sep< type_list<>, S, Rules... >::type
+   {};
+
+}  // namespace TAO_PEGTL_NAMESPACE
+
+#endif
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/shuffle_states.hpp b/packages/PEGTL/include/tao/pegtl/contrib/shuffle_states.hpp
index 31faaea9d4b1cab5fd2632df28a91def2f30620a..8cc969048b756db43f1d7059ade41a8dd1303167 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/shuffle_states.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/shuffle_states.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_SHUFFLE_STATES_HPP
 #define TAO_PEGTL_CONTRIB_SHUFFLE_STATES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/state_control.hpp b/packages/PEGTL/include/tao/pegtl/contrib/state_control.hpp
index cb41b058c6bceb2c9022dc4dc5126b828d085316..a65a61b057b96a001777f60cd2c1227e922d7435 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/state_control.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/state_control.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_STATE_CONTROL_HPP
 #define TAO_PEGTL_CONTRIB_STATE_CONTROL_HPP
@@ -32,7 +33,8 @@ namespace TAO_PEGTL_NAMESPACE
                state.template start< Rule >( in, st... );
             }
 #if defined( _MSC_VER )
-            ( (void)st, ... );
+            ( (void)st,
+              ... );
 #endif
          }
 
@@ -46,7 +48,8 @@ namespace TAO_PEGTL_NAMESPACE
                Control< Rule >::success( in, st... );
             }
 #if defined( _MSC_VER )
-            ( (void)st, ... );
+            ( (void)st,
+              ... );
 #endif
          }
 
@@ -60,7 +63,8 @@ namespace TAO_PEGTL_NAMESPACE
                Control< Rule >::failure( in, st... );
             }
 #if defined( _MSC_VER )
-            ( (void)st, ... );
+            ( (void)st,
+              ... );
 #endif
          }
 
@@ -84,7 +88,8 @@ namespace TAO_PEGTL_NAMESPACE
                Control< Rule >::unwind( in, st... );
             }
 #if defined( _MSC_VER )
-            ( (void)st, ... );
+            ( (void)st,
+              ... );
 #endif
          }
 
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/to_string.hpp b/packages/PEGTL/include/tao/pegtl/contrib/to_string.hpp
index 987f02875f6d45f1ccb784fbd75a631896d85e81..1075e897efe9512e53245ea9ace873e5fad48c31 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/to_string.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/to_string.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_TO_STRING_HPP
 #define TAO_PEGTL_CONTRIB_TO_STRING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/trace.hpp b/packages/PEGTL/include/tao/pegtl/contrib/trace.hpp
index d1ac4380b25d2494cb824ec06b18c853ea468ae6..751ceb50a341b597bc8d2b266c014a505db82b19 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/trace.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/trace.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_TRACE_HPP
 #define TAO_PEGTL_CONTRIB_TRACE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/uint16.hpp b/packages/PEGTL/include/tao/pegtl/contrib/uint16.hpp
index c3c1bf1e35925a292841578cb299cb119a7dd6af..1f7532861aa9c65b5a5e4570db86c0cc8f85f4a7 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/uint16.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/uint16.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_UINT16_HPP
 #define TAO_PEGTL_CONTRIB_UINT16_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/uint32.hpp b/packages/PEGTL/include/tao/pegtl/contrib/uint32.hpp
index 39a46c32230c8d000a8bbeaf1f3ca0b878cece2c..8bd88045bfa85c69a3dab544ecfc562f5201819d 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/uint32.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/uint32.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_UINT32_HPP
 #define TAO_PEGTL_CONTRIB_UINT32_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/uint64.hpp b/packages/PEGTL/include/tao/pegtl/contrib/uint64.hpp
index 3084a59d034f6264c668ebf0806bf883ccf7846b..366c9f4a6e95b7547f21d207495bdd19cb5c7a07 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/uint64.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/uint64.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_UINT64_HPP
 #define TAO_PEGTL_CONTRIB_UINT64_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/uint8.hpp b/packages/PEGTL/include/tao/pegtl/contrib/uint8.hpp
index f9e7dc7cd40fcc6e28a8d1eee284b9252f324cba..a5b325a298cea15ddac33de276364a14ae48c10b 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/uint8.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/uint8.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_UINT8_HPP
 #define TAO_PEGTL_CONTRIB_UINT8_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/unescape.hpp b/packages/PEGTL/include/tao/pegtl/contrib/unescape.hpp
index 5079f8275d72a178a5bd5527c3f85e12e8f9764e..7fb0c081ba054bce64d0d3fcd3ba3a7019f94b87 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/unescape.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/unescape.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_UNESCAPE_HPP
 #define TAO_PEGTL_CONTRIB_UNESCAPE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/uri.hpp b/packages/PEGTL/include/tao/pegtl/contrib/uri.hpp
index 701b2bb4102a6bdaa3d9b194cbd15ee5a74d4ed9..b019a7b36bb06e259cacf2016f2cddc8138a55e3 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/uri.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/uri.hpp
@@ -1,11 +1,12 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_URI_HPP
 #define TAO_PEGTL_CONTRIB_URI_HPP
 
 #if !defined( __cpp_exceptions )
-#error "Exception support required tao/pegtl/contrib/uri.hpp"
+#error "Exception support required for tao/pegtl/contrib/uri.hpp"
 #else
 
 #include <cstdint>
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/utf16.hpp b/packages/PEGTL/include/tao/pegtl/contrib/utf16.hpp
index 090b6b0615069e13990cb21a5fbcaf81aca14f8a..74915e16d44c3ca310e3717a894762dbe54d659b 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/utf16.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/utf16.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_UTF16_HPP
 #define TAO_PEGTL_CONTRIB_UTF16_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/contrib/utf32.hpp b/packages/PEGTL/include/tao/pegtl/contrib/utf32.hpp
index d8b80517a6b5bec4f56e9c085f40f165e45aa9bb..1201fca885e907e8fd2011ef6d48e20248ad5662 100644
--- a/packages/PEGTL/include/tao/pegtl/contrib/utf32.hpp
+++ b/packages/PEGTL/include/tao/pegtl/contrib/utf32.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CONTRIB_UTF32_HPP
 #define TAO_PEGTL_CONTRIB_UTF32_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/cstream_input.hpp b/packages/PEGTL/include/tao/pegtl/cstream_input.hpp
index 1496927b46cd78c85afeeee647a24798ec53a141..c589912261a99aeee6d9983c20be89f6a034b5d9 100644
--- a/packages/PEGTL/include/tao/pegtl/cstream_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/cstream_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_CSTREAM_INPUT_HPP
 #define TAO_PEGTL_CSTREAM_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/demangle.hpp b/packages/PEGTL/include/tao/pegtl/demangle.hpp
index 56cc170c6bd038b18cb95aa323ba033ccaeec45a..97b2606528390d15f53152cb235056ce2aa02c76 100644
--- a/packages/PEGTL/include/tao/pegtl/demangle.hpp
+++ b/packages/PEGTL/include/tao/pegtl/demangle.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_DEMANGLE_HPP
 #define TAO_PEGTL_DEMANGLE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/disable_action.hpp b/packages/PEGTL/include/tao/pegtl/disable_action.hpp
index 0781516f4ecd0cf39e938360d92aa76b96a958a3..92bc2f4d3c0f5bc1c182a14b085729af580bab5f 100644
--- a/packages/PEGTL/include/tao/pegtl/disable_action.hpp
+++ b/packages/PEGTL/include/tao/pegtl/disable_action.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_DISABLE_ACTION_HPP
 #define TAO_PEGTL_DISABLE_ACTION_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/discard_input.hpp b/packages/PEGTL/include/tao/pegtl/discard_input.hpp
index 61ddf0dd224e2d129b0b22ffb09f7a6ae3cb7301..dec0a9af57f812850f981ad141487e01d2baf869 100644
--- a/packages/PEGTL/include/tao/pegtl/discard_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/discard_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_DISCARD_INPUT_HPP
 #define TAO_PEGTL_DISCARD_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/discard_input_on_failure.hpp b/packages/PEGTL/include/tao/pegtl/discard_input_on_failure.hpp
index 6e4a9cd3014504519b7edd5d50a0ac954dcdda8c..305038e96b4d44663d71508d932e848e35ed92aa 100644
--- a/packages/PEGTL/include/tao/pegtl/discard_input_on_failure.hpp
+++ b/packages/PEGTL/include/tao/pegtl/discard_input_on_failure.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_DISCARD_INPUT_ON_FAILURE_HPP
 #define TAO_PEGTL_DISCARD_INPUT_ON_FAILURE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/discard_input_on_success.hpp b/packages/PEGTL/include/tao/pegtl/discard_input_on_success.hpp
index 3edc271bdc0136d796ea2fbe0953f1efefd1edad..c5beb7d91e56bb68ea4a533e913ea36899ccd309 100644
--- a/packages/PEGTL/include/tao/pegtl/discard_input_on_success.hpp
+++ b/packages/PEGTL/include/tao/pegtl/discard_input_on_success.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_DISCARD_INPUT_ON_SUCCESS_HPP
 #define TAO_PEGTL_DISCARD_INPUT_ON_SUCCESS_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/enable_action.hpp b/packages/PEGTL/include/tao/pegtl/enable_action.hpp
index a87726f8852029e49fa73861d80a6e40c4075c88..ae0c09983afdb813ce806793beeb24cec0989140 100644
--- a/packages/PEGTL/include/tao/pegtl/enable_action.hpp
+++ b/packages/PEGTL/include/tao/pegtl/enable_action.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_ENABLE_ACTION_HPP
 #define TAO_PEGTL_ENABLE_ACTION_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/eol.hpp b/packages/PEGTL/include/tao/pegtl/eol.hpp
index 8c496da7ebcc4ec937c45e2057870178715493ae..c2df140e3edf028695f3be563f4942e075d09e4b 100644
--- a/packages/PEGTL/include/tao/pegtl/eol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/eol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_EOL_HPP
 #define TAO_PEGTL_EOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/eol_pair.hpp b/packages/PEGTL/include/tao/pegtl/eol_pair.hpp
index 239af370ead7b6d26e6c7d8aef12c6dd1dfa3bcf..b139d3bdccffb9726233a52cf65108a96a628525 100644
--- a/packages/PEGTL/include/tao/pegtl/eol_pair.hpp
+++ b/packages/PEGTL/include/tao/pegtl/eol_pair.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_EOL_PAIR_HPP
 #define TAO_PEGTL_EOL_PAIR_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/file_input.hpp b/packages/PEGTL/include/tao/pegtl/file_input.hpp
index 91895b31e4a9aad63b6968376eb9a2710e15b825..408b89fc0e2cbfdb62342c78d111e7ca5a475017 100644
--- a/packages/PEGTL/include/tao/pegtl/file_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/file_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_FILE_INPUT_HPP
 #define TAO_PEGTL_FILE_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/action.hpp b/packages/PEGTL/include/tao/pegtl/internal/action.hpp
index 3443c299775424dc08b547662b9565826bd46149..8068241e87b14c3a72419038c30b29fd7da7f820 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/action.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/action.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ACTION_HPP
 #define TAO_PEGTL_INTERNAL_ACTION_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/action_input.hpp b/packages/PEGTL/include/tao/pegtl/internal/action_input.hpp
index ccc2d16501d84ac9926fe900bad3af0765a5ed50..fa622fa326cf0e87d9b9dc3ce91dda531b753070 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/action_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/action_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ACTION_INPUT_HPP
 #define TAO_PEGTL_INTERNAL_ACTION_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/any.hpp b/packages/PEGTL/include/tao/pegtl/internal/any.hpp
index 59ba05f5af3d052e99355a759b977435853462e5..9e710c5f876d154e3f78f4f631b6da419f9ed9b2 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/any.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/any.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ANY_HPP
 #define TAO_PEGTL_INTERNAL_ANY_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/apply.hpp b/packages/PEGTL/include/tao/pegtl/internal/apply.hpp
index cc5e9fd9e7f39de0d1da9413cb6cecad55d371e8..97a342b86a45a096fa90a50af91113c698a9a39a 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/apply.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/apply.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_APPLY_HPP
 #define TAO_PEGTL_INTERNAL_APPLY_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/apply0.hpp b/packages/PEGTL/include/tao/pegtl/internal/apply0.hpp
index a6e37f4e4d710f96a6deff53493d4ca920eb4750..2710de8e8ab89eea8b357b7de28f4e0dcd8b20d4 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/apply0.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/apply0.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_APPLY0_HPP
 #define TAO_PEGTL_INTERNAL_APPLY0_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/apply0_single.hpp b/packages/PEGTL/include/tao/pegtl/internal/apply0_single.hpp
index 11939064d828dbf41e00dce2cca02e5765bd2a04..167031924635e65c26d8a67093556fc4e33f67b5 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/apply0_single.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/apply0_single.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_APPLY0_SINGLE_HPP
 #define TAO_PEGTL_INTERNAL_APPLY0_SINGLE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/apply_single.hpp b/packages/PEGTL/include/tao/pegtl/internal/apply_single.hpp
index 57b0ca8fc0e66c0093ec087953a86076c765b1db..728ad4772e6d85a23f9f3d47bdde272543472b45 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/apply_single.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/apply_single.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_APPLY_SINGLE_HPP
 #define TAO_PEGTL_INTERNAL_APPLY_SINGLE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/at.hpp b/packages/PEGTL/include/tao/pegtl/internal/at.hpp
index 7f7d2894c52fe42c45d3736af80d103b2357035a..117b5a429d943d5c224e4afcb3254c266bb600a5 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/at.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/at.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_AT_HPP
 #define TAO_PEGTL_INTERNAL_AT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/bof.hpp b/packages/PEGTL/include/tao/pegtl/internal/bof.hpp
index da5c920bcc8e30dd16389efaae616beeb1558053..7038d953f77dd727003bcd7d3e526f9d74b0e9e8 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/bof.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/bof.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_BOF_HPP
 #define TAO_PEGTL_INTERNAL_BOF_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/bol.hpp b/packages/PEGTL/include/tao/pegtl/internal/bol.hpp
index a71109d77c3b3bb8a65d4e116f766c0dc8931d0a..759a8bd01cf91665908301f5a25ad4365ce1c094 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/bol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/bol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_BOL_HPP
 #define TAO_PEGTL_INTERNAL_BOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/bump.hpp b/packages/PEGTL/include/tao/pegtl/internal/bump.hpp
index 02e2278a264596c4cfed965bfa249c91fc41b6d9..1b305f3a2f65187c05c38f16c662e81cec364d8d 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/bump.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/bump.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_BUMP_HPP
 #define TAO_PEGTL_INTERNAL_BUMP_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/bump_help.hpp b/packages/PEGTL/include/tao/pegtl/internal/bump_help.hpp
index 68c82b99758b59f8e960874e56e2534eefc69ca2..f40c6171cb97390956532ea7ae67b92decb3241b 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/bump_help.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/bump_help.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_BUMP_HELP_HPP
 #define TAO_PEGTL_INTERNAL_BUMP_HELP_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/bytes.hpp b/packages/PEGTL/include/tao/pegtl/internal/bytes.hpp
index 476ce965df766c1869edc11657b8bdc6b1084873..2012f05c74c340ec6084d0855aae830d53b49a9f 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/bytes.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/bytes.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_BYTES_HPP
 #define TAO_PEGTL_INTERNAL_BYTES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/control.hpp b/packages/PEGTL/include/tao/pegtl/internal/control.hpp
index e434ae06769efe1884ab87b71d898cba24fc764f..a202f5d43922327f9ac482f42a443ccb3fe776aa 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/control.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/control.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_CONTROL_HPP
 #define TAO_PEGTL_INTERNAL_CONTROL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/cr_crlf_eol.hpp b/packages/PEGTL/include/tao/pegtl/internal/cr_crlf_eol.hpp
index 22504513922d6ace165d1cef4cf51bb27910e6df..cf2e72ec8a74b11f8b89526b1d861233b4b6b137 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/cr_crlf_eol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/cr_crlf_eol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_CR_CRLF_EOL_HPP
 #define TAO_PEGTL_INTERNAL_CR_CRLF_EOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/cr_eol.hpp b/packages/PEGTL/include/tao/pegtl/internal/cr_eol.hpp
index 833a7c0c31b193f5b0240991e32018fc46d385f6..5d1a61951134c91904c87bb09d3cfbd9925872f5 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/cr_eol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/cr_eol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_CR_EOL_HPP
 #define TAO_PEGTL_INTERNAL_CR_EOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/crlf_eol.hpp b/packages/PEGTL/include/tao/pegtl/internal/crlf_eol.hpp
index 5b71de8306191a885e6352303f68ddbadb51dd8b..f419a6f483ec64097884988a33ebd04240d14c0c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/crlf_eol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/crlf_eol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_CRLF_EOL_HPP
 #define TAO_PEGTL_INTERNAL_CRLF_EOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/cstream_reader.hpp b/packages/PEGTL/include/tao/pegtl/internal/cstream_reader.hpp
index e8ca048c3e202fe2df558b8cb33b13ecf6ef7898..0dc630539a2d9a0b066986635627a29197b827d1 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/cstream_reader.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/cstream_reader.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_CSTREAM_READER_HPP
 #define TAO_PEGTL_INTERNAL_CSTREAM_READER_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/cstring_reader.hpp b/packages/PEGTL/include/tao/pegtl/internal/cstring_reader.hpp
index c98044c812d3f3a4f48bc41bc279c4243a2c5993..4c3b10e7496daccf5c75781f3b76f1c3f52b1905 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/cstring_reader.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/cstring_reader.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_CSTRING_READER_HPP
 #define TAO_PEGTL_INTERNAL_CSTRING_READER_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/dependent_false.hpp b/packages/PEGTL/include/tao/pegtl/internal/dependent_false.hpp
index 57661a415d295fbdb559518964e91b326f41e896..a5cc470a3a6cdb78b7f8f08d15ff39de33fbfa68 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/dependent_false.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/dependent_false.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_DEPENDENT_FALSE_HPP
 #define TAO_PEGTL_INTERNAL_DEPENDENT_FALSE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/disable.hpp b/packages/PEGTL/include/tao/pegtl/internal/disable.hpp
index 9a294d3b8415bcf2733902dac9e61f9af3ec3ca2..76bdc5a8e1c0cbb0c6903c8bf25dc830856bd24c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/disable.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/disable.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_DISABLE_HPP
 #define TAO_PEGTL_INTERNAL_DISABLE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/discard.hpp b/packages/PEGTL/include/tao/pegtl/internal/discard.hpp
index b92760d04479a95d0d21a9f2a5bb2807004c75a3..bea7aa3f2dace46471fcc4be7e683f7c22db1c36 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/discard.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/discard.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_DISCARD_HPP
 #define TAO_PEGTL_INTERNAL_DISCARD_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/enable.hpp b/packages/PEGTL/include/tao/pegtl/internal/enable.hpp
index 9c453435c97d5efe2be4d7e46da8ba2f8dc612e2..cb4fbe9dbc7a4db4bf9729b4a7bc3d93c8054379 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/enable.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/enable.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ENABLE_HPP
 #define TAO_PEGTL_INTERNAL_ENABLE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/enable_control.hpp b/packages/PEGTL/include/tao/pegtl/internal/enable_control.hpp
index 16ca4236900044b7f29930d739a569d614d14205..4fe5ae199cbbc1fe5d7950d4250cf7066763b555 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/enable_control.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/enable_control.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ENABLE_CONTROL_HPP
 #define TAO_PEGTL_INTERNAL_ENABLE_CONTROL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/eof.hpp b/packages/PEGTL/include/tao/pegtl/internal/eof.hpp
index c4f0f81321811fa876c7e79894e7f8f0fcee4540..e227e0474fd0f19b40a0b070d599c77422972ee4 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/eof.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/eof.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_EOF_HPP
 #define TAO_PEGTL_INTERNAL_EOF_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/eol.hpp b/packages/PEGTL/include/tao/pegtl/internal/eol.hpp
index ecec04f32defd31c8f65e27abc0a0070e12219ba..6f8633afc96504de82d797af0aaf5563f02698c5 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/eol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/eol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_EOL_HPP
 #define TAO_PEGTL_INTERNAL_EOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/eolf.hpp b/packages/PEGTL/include/tao/pegtl/internal/eolf.hpp
index 71fa8d891398473c985b8fe7e055b7f7bed462f5..101605b9e50d30e875722749e8c76ec1fee9203b 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/eolf.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/eolf.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_EOLF_HPP
 #define TAO_PEGTL_INTERNAL_EOLF_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/failure.hpp b/packages/PEGTL/include/tao/pegtl/internal/failure.hpp
index 75084997700d74d50672e0a6974de0ff4f08fafd..8f14322b8167f6466dd51a456f289a0c352b8a1a 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/failure.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/failure.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_FAILURE_HPP
 #define TAO_PEGTL_INTERNAL_FAILURE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/file_mapper_posix.hpp b/packages/PEGTL/include/tao/pegtl/internal/file_mapper_posix.hpp
index 68bb8f6d65c174a0ef04cc96023fb0672aaa8697..def276bce3bab1a100934f66f45946dde0baf31c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/file_mapper_posix.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/file_mapper_posix.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_FILE_MAPPER_POSIX_HPP
 #define TAO_PEGTL_INTERNAL_FILE_MAPPER_POSIX_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/file_mapper_win32.hpp b/packages/PEGTL/include/tao/pegtl/internal/file_mapper_win32.hpp
index 73c27dec90556f0b091ed191a28ca6c4557e3d95..4a353ccf4fd0feda569010d281352ed39ba42b66 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/file_mapper_win32.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/file_mapper_win32.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_FILE_MAPPER_WIN32_HPP
 #define TAO_PEGTL_INTERNAL_FILE_MAPPER_WIN32_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/file_reader.hpp b/packages/PEGTL/include/tao/pegtl/internal/file_reader.hpp
index 7c2b054942877d96d308ea4be0a27e49e1917f00..a842f4bd005724dea283075b7fbcca07c66b9b0d 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/file_reader.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/file_reader.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_FILE_READER_HPP
 #define TAO_PEGTL_INTERNAL_FILE_READER_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/filesystem.hpp b/packages/PEGTL/include/tao/pegtl/internal/filesystem.hpp
index ad241abd222ac917a8032b91bdb2be3e8c62cc00..fdb5e2f1013cf8af8dd337724a6a33690d512ed5 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/filesystem.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/filesystem.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_FILESYSTEM_HPP
 #define TAO_PEGTL_INTERNAL_FILESYSTEM_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/has_apply.hpp b/packages/PEGTL/include/tao/pegtl/internal/has_apply.hpp
index 697f6ff3c62528307a65a733497a305149fdd3d1..5b746ebccb65a25f284c471d9c20445a3da7ff91 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/has_apply.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/has_apply.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_HAS_APPLY_HPP
 #define TAO_PEGTL_INTERNAL_HAS_APPLY_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/has_apply0.hpp b/packages/PEGTL/include/tao/pegtl/internal/has_apply0.hpp
index 3f5fc599d3703110a6d568d236bd74ecdafeb06b..cb14882ac98895a1ebf86f7743b1b1624f4b42ce 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/has_apply0.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/has_apply0.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_HAS_APPLY0_HPP
 #define TAO_PEGTL_INTERNAL_HAS_APPLY0_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/has_match.hpp b/packages/PEGTL/include/tao/pegtl/internal/has_match.hpp
index 0606d7a5a3d42c22fef50e80dc75908b63bccbb2..ab842587437d7e32e36ab6dfabb64fad61e2dbae 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/has_match.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/has_match.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_HAS_MATCH_HPP
 #define TAO_PEGTL_INTERNAL_HAS_MATCH_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/has_unwind.hpp b/packages/PEGTL/include/tao/pegtl/internal/has_unwind.hpp
index 566c24e4e5f2cc14b8f54cadc4a5c68eb2480653..8714d93725868dfef1a148c6c6449a8841b26397 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/has_unwind.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/has_unwind.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_HAS_UNWIND_HPP
 #define TAO_PEGTL_INTERNAL_HAS_UNWIND_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/identifier.hpp b/packages/PEGTL/include/tao/pegtl/internal/identifier.hpp
index 4ecbbb3244959798596a667842bc6524a7e4d8da..fc78c220b993192dc47bc9375e933fd3d5ef374c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/identifier.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/identifier.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_IDENTIFIER_HPP
 #define TAO_PEGTL_INTERNAL_IDENTIFIER_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/if_apply.hpp b/packages/PEGTL/include/tao/pegtl/internal/if_apply.hpp
index 27dd002abd37be48b5d75d45397adec761745cd8..797be335928f20dc3bb16772ca59c45f9e1af215 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/if_apply.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/if_apply.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_IF_APPLY_HPP
 #define TAO_PEGTL_INTERNAL_IF_APPLY_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/if_must.hpp b/packages/PEGTL/include/tao/pegtl/internal/if_must.hpp
index 4cf2260e10f32406c4a3d04c589531304261ed46..9f5e0bacc452056815610a0cce362aaf22fb2aa4 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/if_must.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/if_must.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_IF_MUST_HPP
 #define TAO_PEGTL_INTERNAL_IF_MUST_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/if_must_else.hpp b/packages/PEGTL/include/tao/pegtl/internal/if_must_else.hpp
index 685c7ca211bc0615a88369dc6803e46c1fc77b44..51ad934824b5a48cb010fc909903c3691e3f05ea 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/if_must_else.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/if_must_else.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_IF_MUST_ELSE_HPP
 #define TAO_PEGTL_INTERNAL_IF_MUST_ELSE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/if_then_else.hpp b/packages/PEGTL/include/tao/pegtl/internal/if_then_else.hpp
index bc6fa3cea2484526cfe0589763b8a1b1404b6b7c..dfe62ceb957f1943102f0837f4742fb64a3afa0a 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/if_then_else.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/if_then_else.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_IF_THEN_ELSE_HPP
 #define TAO_PEGTL_INTERNAL_IF_THEN_ELSE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/input_pair.hpp b/packages/PEGTL/include/tao/pegtl/internal/input_pair.hpp
index a3bf92210652df71f37f0af4271e8667aad442bf..423375c23f311ca3269a725280b8204b0a2484ac 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/input_pair.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/input_pair.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_INPUT_PAIR_HPP
 #define TAO_PEGTL_INTERNAL_INPUT_PAIR_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/istream_reader.hpp b/packages/PEGTL/include/tao/pegtl/internal/istream_reader.hpp
index 371ffbab5c27bbdf97432f2b3adbc39451cff64d..4b67437194f2e69f73ab6762e58a5ffb941c9c26 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/istream_reader.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/istream_reader.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ISTREAM_READER_HPP
 #define TAO_PEGTL_INTERNAL_ISTREAM_READER_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/istring.hpp b/packages/PEGTL/include/tao/pegtl/internal/istring.hpp
index f7abe365feef29043788340c99b4d2b9bcddc4b4..5969c0672f8e2075f691daa0328fcd359cccbf04 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/istring.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/istring.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ISTRING_HPP
 #define TAO_PEGTL_INTERNAL_ISTRING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/iterator.hpp b/packages/PEGTL/include/tao/pegtl/internal/iterator.hpp
index 758016772646b38eb436b712fe1ccc6870100a36..96099cab899619a0cab5815caa8a79aff3e4128d 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/iterator.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/iterator.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ITERATOR_HPP
 #define TAO_PEGTL_INTERNAL_ITERATOR_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/lf_crlf_eol.hpp b/packages/PEGTL/include/tao/pegtl/internal/lf_crlf_eol.hpp
index c3eae42c1b1a2e32ba85071926bab84d119c3cfc..ac266014a7f07f1990149e47241cc3e38d1c2f09 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/lf_crlf_eol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/lf_crlf_eol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_LF_CRLF_EOL_HPP
 #define TAO_PEGTL_INTERNAL_LF_CRLF_EOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/lf_eol.hpp b/packages/PEGTL/include/tao/pegtl/internal/lf_eol.hpp
index 0f4e33d64925aa4fd75888e75407d7803e85da28..d0f3adceb71904a82e4848f253b4ea6a02d4b31b 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/lf_eol.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/lf_eol.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_LF_EOL_HPP
 #define TAO_PEGTL_INTERNAL_LF_EOL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/list.hpp b/packages/PEGTL/include/tao/pegtl/internal/list.hpp
index 07318e6572ac825d67e8eb562a85d81b6e62e889..24a3935163bfa627e80cc21df792f9cca5d3f41a 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/list.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/list.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_LIST_HPP
 #define TAO_PEGTL_INTERNAL_LIST_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/list_must.hpp b/packages/PEGTL/include/tao/pegtl/internal/list_must.hpp
index aff1786960e1e4e053f95232af296d665d5faf76..1d9cef89ef7b31f22512bc1f426981a43409d081 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/list_must.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/list_must.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_LIST_MUST_HPP
 #define TAO_PEGTL_INTERNAL_LIST_MUST_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/list_tail.hpp b/packages/PEGTL/include/tao/pegtl/internal/list_tail.hpp
index 5fe3ff413ed1be126fccc90c94f2d362fa5cfbbf..59fae07ff18b969770d379084ac84752a57721ac 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/list_tail.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/list_tail.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_LIST_TAIL_HPP
 #define TAO_PEGTL_INTERNAL_LIST_TAIL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/list_tail_pad.hpp b/packages/PEGTL/include/tao/pegtl/internal/list_tail_pad.hpp
index b96c626b8e8fe4b233a4cbcd4a2e28f4ba99f92c..f204b23e83f09302731442a12a71f8aae79fe27e 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/list_tail_pad.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/list_tail_pad.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_LIST_TAIL_PAD_HPP
 #define TAO_PEGTL_INTERNAL_LIST_TAIL_PAD_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/marker.hpp b/packages/PEGTL/include/tao/pegtl/internal/marker.hpp
index a9ffa824f356e85addebb0c99ddab3373c62b3df..a061aea738eef1866887be743e4f6125605526a3 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/marker.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/marker.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_MARKER_HPP
 #define TAO_PEGTL_INTERNAL_MARKER_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/minus.hpp b/packages/PEGTL/include/tao/pegtl/internal/minus.hpp
index 4062f420e6bb7a301bb71b964b02a49249ba5562..f89ec02c8bf04a4937a5f8a0036657899d63aa5d 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/minus.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/minus.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_MINUS_HPP
 #define TAO_PEGTL_INTERNAL_MINUS_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/missing_apply.hpp b/packages/PEGTL/include/tao/pegtl/internal/missing_apply.hpp
index e69cbf3a9b30187091b0dbe3699f434aa9dd54fb..b979c1420357a2d24dd6762a8a384d899c3700c9 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/missing_apply.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/missing_apply.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_MISSING_APPLY_HPP
 #define TAO_PEGTL_INTERNAL_MISSING_APPLY_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/missing_apply0.hpp b/packages/PEGTL/include/tao/pegtl/internal/missing_apply0.hpp
index 2b63a28e5a50f30363b8761c2a7f4eb3bc7e9213..fedd156c0cb6b622488f261545effc523db15742 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/missing_apply0.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/missing_apply0.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_MISSING_APPLY0_HPP
 #define TAO_PEGTL_INTERNAL_MISSING_APPLY0_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/must.hpp b/packages/PEGTL/include/tao/pegtl/internal/must.hpp
index 213fc56eb2f0c336ea63d0c78c801c2cceeeb6e0..cc77f705814392f5f43af452367d84c600172819 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/must.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/must.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_MUST_HPP
 #define TAO_PEGTL_INTERNAL_MUST_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/not_at.hpp b/packages/PEGTL/include/tao/pegtl/internal/not_at.hpp
index 00758969724a0838d1a3f0d93c20997afffe9d1c..2e27e2d629795cfd5b90ec53829bc5c974459c83 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/not_at.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/not_at.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_NOT_AT_HPP
 #define TAO_PEGTL_INTERNAL_NOT_AT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/one.hpp b/packages/PEGTL/include/tao/pegtl/internal/one.hpp
index e2bc05ef41cc1bc599ab0be5ce0fe73f3577e8ad..2eac40f659d9d982b7b60b2200b10e6495551ac1 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/one.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/one.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_ONE_HPP
 #define TAO_PEGTL_INTERNAL_ONE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/opt.hpp b/packages/PEGTL/include/tao/pegtl/internal/opt.hpp
index 9dd1a0cf419401bc657ec1d6f68b959db58529fe..4a10afe77090dea98fe3bcab1d4e570514f1318c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/opt.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/opt.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_OPT_HPP
 #define TAO_PEGTL_INTERNAL_OPT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/pad.hpp b/packages/PEGTL/include/tao/pegtl/internal/pad.hpp
index ff49ce22c78dc9626fb62913e4973805745b073d..13b473e2479b27f6fb738f1b7d9bf4a18b774599 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/pad.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/pad.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_PAD_HPP
 #define TAO_PEGTL_INTERNAL_PAD_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/pad_opt.hpp b/packages/PEGTL/include/tao/pegtl/internal/pad_opt.hpp
index 02af2363a9a8fffb48f777e66058c7aa78ef29da..80b5064f796b8eb8818b8946742afc80871e69ec 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/pad_opt.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/pad_opt.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_PAD_OPT_HPP
 #define TAO_PEGTL_INTERNAL_PAD_OPT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/path_to_string.hpp b/packages/PEGTL/include/tao/pegtl/internal/path_to_string.hpp
index d28dbac739888cda5138ec6ea399ad2ae01036a6..7d7757a0bdf50f785f95bf7c6980dde0731c5b5d 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/path_to_string.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/path_to_string.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_PATH_TO_STRING_HPP
 #define TAO_PEGTL_INTERNAL_PATH_TO_STRING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/peek_char.hpp b/packages/PEGTL/include/tao/pegtl/internal/peek_char.hpp
index 7dbb06f699faaeca7e4d8f9808e06a6505a5b93f..e85e5607d94e95ce669cc2c9995d159928adb25c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/peek_char.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/peek_char.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_PEEK_CHAR_HPP
 #define TAO_PEGTL_INTERNAL_PEEK_CHAR_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/peek_utf8.hpp b/packages/PEGTL/include/tao/pegtl/internal/peek_utf8.hpp
index 77f623d1069075b687f96053a70cfc9172f0cc78..a47d813a361d1af48209703b1bd6e108fd926c70 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/peek_utf8.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/peek_utf8.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_PEEK_UTF8_HPP
 #define TAO_PEGTL_INTERNAL_PEEK_UTF8_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/pegtl_string.hpp b/packages/PEGTL/include/tao/pegtl/internal/pegtl_string.hpp
index aac858d018e4300e0bf817c819776fd640bb14c4..576c216d286a45c7c8df26b8a6351526b5143855 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/pegtl_string.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/pegtl_string.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_PEGTL_STRING_HPP
 #define TAO_PEGTL_INTERNAL_PEGTL_STRING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/plus.hpp b/packages/PEGTL/include/tao/pegtl/internal/plus.hpp
index 4a0ee5a99d9a7d6bf9e1f294d3794d35cda62e70..2ebdd3e62e42437d299fd4b38f7ff3ad338b4aaf 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/plus.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/plus.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_PLUS_HPP
 #define TAO_PEGTL_INTERNAL_PLUS_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/raise.hpp b/packages/PEGTL/include/tao/pegtl/internal/raise.hpp
index 9d9c831889c5be7b2ee2654f11565bb19511bef0..11db9fce43efc3c33d438eddabbba4c6f02e148f 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/raise.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/raise.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_RAISE_HPP
 #define TAO_PEGTL_INTERNAL_RAISE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/range.hpp b/packages/PEGTL/include/tao/pegtl/internal/range.hpp
index d1ad9e98dde2d61f40e9689032299042706e1122..f504161d1c93485b4643c4ae74e055695b974ee7 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/range.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/range.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_RANGE_HPP
 #define TAO_PEGTL_INTERNAL_RANGE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/ranges.hpp b/packages/PEGTL/include/tao/pegtl/internal/ranges.hpp
index bf57db611e00058ae681096676cb5893efe7b355..9df06d7b3d756778b2fc64dd1938378f7e156468 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/ranges.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/ranges.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_RANGES_HPP
 #define TAO_PEGTL_INTERNAL_RANGES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/rematch.hpp b/packages/PEGTL/include/tao/pegtl/internal/rematch.hpp
index a1f7e3496c283944bbbc9baaa270162677a7936f..4877a3401e6d9f81d8b29159f1742f15dd6608dc 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/rematch.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/rematch.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_REMATCH_HPP
 #define TAO_PEGTL_INTERNAL_REMATCH_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/rep.hpp b/packages/PEGTL/include/tao/pegtl/internal/rep.hpp
index 3ef122d64452670b63c5eeed229f1cfbcaff1d49..79a2be78917f73779e906b0e9c36b1dc552ab8c4 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/rep.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/rep.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_REP_HPP
 #define TAO_PEGTL_INTERNAL_REP_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/rep_min.hpp b/packages/PEGTL/include/tao/pegtl/internal/rep_min.hpp
index 73f8531aa3e7d56bd2f62f13bb85e263ff9d1ada..a6efe9e6734f44152544c4fc5ad8111ec662c21e 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/rep_min.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/rep_min.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_REP_MIN_HPP
 #define TAO_PEGTL_INTERNAL_REP_MIN_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/rep_min_max.hpp b/packages/PEGTL/include/tao/pegtl/internal/rep_min_max.hpp
index b600152f019e1d2362573215879a3c80a93f2ead..b0026458efa40eb655aeac6f2dede2ab7111836c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/rep_min_max.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/rep_min_max.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_REP_MIN_MAX_HPP
 #define TAO_PEGTL_INTERNAL_REP_MIN_MAX_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/rep_opt.hpp b/packages/PEGTL/include/tao/pegtl/internal/rep_opt.hpp
index 435332d45fb393d6521526f257327bbc95b9d926..bea26e5be97d4ff612e2c68b6e19c22d21094009 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/rep_opt.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/rep_opt.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_REP_OPT_HPP
 #define TAO_PEGTL_INTERNAL_REP_OPT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/require.hpp b/packages/PEGTL/include/tao/pegtl/internal/require.hpp
index f2ce5a02280a90f72a787594f047da2c9ed9e834..b4e24fb158c13e5bc4c3b697e8e58f2c5c20be3f 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/require.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/require.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_REQUIRE_HPP
 #define TAO_PEGTL_INTERNAL_REQUIRE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/result_on_found.hpp b/packages/PEGTL/include/tao/pegtl/internal/result_on_found.hpp
index 09fa6ed6ee070ad76d1ba2c67e82bc7825847ebf..df2bcd77b0e9a3d9c97783d456c0e1dd0aed0e6c 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/result_on_found.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/result_on_found.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_RESULT_ON_FOUND_HPP
 #define TAO_PEGTL_INTERNAL_RESULT_ON_FOUND_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/rules.hpp b/packages/PEGTL/include/tao/pegtl/internal/rules.hpp
index 5496a94b8fa261133e276e0e2fddbcffbb871a61..2f89826f167b17fdb77da2a21e20ea930c42925f 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/rules.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/rules.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_RULES_HPP
 #define TAO_PEGTL_INTERNAL_RULES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/seq.hpp b/packages/PEGTL/include/tao/pegtl/internal/seq.hpp
index 11af3dcca8f208cdecd6b1a4e85b9ed2b5f53701..eb0a8624d7eea11ef11996f3885dff7092d6197a 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/seq.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/seq.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_SEQ_HPP
 #define TAO_PEGTL_INTERNAL_SEQ_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/sor.hpp b/packages/PEGTL/include/tao/pegtl/internal/sor.hpp
index 0a8fcdf73a718634b8d208fc3f07e40bd2766e04..b09d6779c0cd781257028754012ab5f116afb35b 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/sor.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/sor.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_SOR_HPP
 #define TAO_PEGTL_INTERNAL_SOR_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/star.hpp b/packages/PEGTL/include/tao/pegtl/internal/star.hpp
index de779dffc5fed4c610e6767b99836efab2628fcb..bc2360bf759b911ef7c27b74f9423fdbbb142a45 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/star.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/star.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_STAR_HPP
 #define TAO_PEGTL_INTERNAL_STAR_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/star_must.hpp b/packages/PEGTL/include/tao/pegtl/internal/star_must.hpp
index 2ac45e42bc2cef61d459ec5d9e8750decb393174..8dff5771bef509bce1fb6634aea0f75006b89f7e 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/star_must.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/star_must.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_STAR_MUST_HPP
 #define TAO_PEGTL_INTERNAL_STAR_MUST_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/state.hpp b/packages/PEGTL/include/tao/pegtl/internal/state.hpp
index e86965bf3bf3db50a484044d67741c246d82beeb..4ed8d22c859b10782101168cb60320d8da5047d0 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/state.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/state.hpp
@@ -1,11 +1,15 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_STATE_HPP
 #define TAO_PEGTL_INTERNAL_STATE_HPP
 
 #include "../config.hpp"
 
+#include <type_traits>
+
+#include "dependent_false.hpp"
 #include "enable_control.hpp"
 #include "seq.hpp"
 #include "success.hpp"
@@ -16,18 +20,18 @@
 
 namespace TAO_PEGTL_NAMESPACE::internal
 {
-   template< typename State, typename... Rules >
+   template< typename NewState, typename... Rules >
    struct state
-      : state< State, seq< Rules... > >
+      : state< NewState, seq< Rules... > >
    {};
 
-   template< typename State >
-   struct state< State >
+   template< typename NewState >
+   struct state< NewState >
       : success
    {};
 
-   template< typename State, typename Rule >
-   struct state< State, Rule >
+   template< typename NewState, typename Rule >
+   struct state< NewState, Rule >
    {
       using rule_t = state;
       using subs_t = type_list< Rule >;
@@ -42,17 +46,30 @@ namespace TAO_PEGTL_NAMESPACE::internal
                 typename... States >
       [[nodiscard]] static bool match( ParseInput& in, States&&... st )
       {
-         State s( static_cast< const ParseInput& >( in ), st... );
-         if( Control< Rule >::template match< A, M, Action, Control >( in, s ) ) {
-            s.success( static_cast< const ParseInput& >( in ), st... );
-            return true;
+         if constexpr( std::is_constructible_v< NewState, const ParseInput&, States... > ) {
+            NewState s( static_cast< const ParseInput& >( in ), st... );
+            if( Control< Rule >::template match< A, M, Action, Control >( in, s ) ) {
+               s.success( static_cast< const ParseInput& >( in ), st... );
+               return true;
+            }
+            return false;
+         }
+         else if constexpr( std::is_default_constructible_v< NewState > ) {
+            NewState s;
+            if( Control< Rule >::template match< A, M, Action, Control >( in, s ) ) {
+               s.success( static_cast< const ParseInput& >( in ), st... );
+               return true;
+            }
+            return false;
+         }
+         else {
+            static_assert( internal::dependent_false< NewState >, "unable to instantiate new state" );
          }
-         return false;
       }
    };
 
-   template< typename State, typename... Rules >
-   inline constexpr bool enable_control< state< State, Rules... > > = false;
+   template< typename NewState, typename... Rules >
+   inline constexpr bool enable_control< state< NewState, Rules... > > = false;
 
 }  // namespace TAO_PEGTL_NAMESPACE::internal
 
diff --git a/packages/PEGTL/include/tao/pegtl/internal/string.hpp b/packages/PEGTL/include/tao/pegtl/internal/string.hpp
index d659ab8b328534096af1e256ab0208285c967083..4ad5fcb548ef922fa21b4e3353d9d7eda83d53d1 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/string.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/string.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_STRING_HPP
 #define TAO_PEGTL_INTERNAL_STRING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/success.hpp b/packages/PEGTL/include/tao/pegtl/internal/success.hpp
index 03ea08d7d4c394b10e250f7ee3cdd074e9b3a026..706122bd578b2e98ae425d563556e5bbc91addd3 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/success.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/success.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_SUCCESS_HPP
 #define TAO_PEGTL_INTERNAL_SUCCESS_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/try_catch_type.hpp b/packages/PEGTL/include/tao/pegtl/internal/try_catch_type.hpp
index 4e33287e50ad485bc15f9d54406f29f113a9cbfe..ebeb3de01e3ede936f55682d9984f4616a26e930 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/try_catch_type.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/try_catch_type.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_TRY_CATCH_TYPE_HPP
 #define TAO_PEGTL_INTERNAL_TRY_CATCH_TYPE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/internal/until.hpp b/packages/PEGTL/include/tao/pegtl/internal/until.hpp
index b5c5e2152c0a85aa8a94d0cdb97bcf8efc2da0af..b6efd3a18a963feae054cae9f05e363bb96145ba 100644
--- a/packages/PEGTL/include/tao/pegtl/internal/until.hpp
+++ b/packages/PEGTL/include/tao/pegtl/internal/until.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_INTERNAL_UNTIL_HPP
 #define TAO_PEGTL_INTERNAL_UNTIL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/istream_input.hpp b/packages/PEGTL/include/tao/pegtl/istream_input.hpp
index 893316e5c8e06dd1f19f85c7ffa63c8f34b73f22..f37c1bc9653bddfaffaa5656d8e33914b1072278 100644
--- a/packages/PEGTL/include/tao/pegtl/istream_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/istream_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_ISTREAM_INPUT_HPP
 #define TAO_PEGTL_ISTREAM_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/match.hpp b/packages/PEGTL/include/tao/pegtl/match.hpp
index 6ac9f6178a1e17f2f103b687af614b4c027eb87c..ad42582286d1a1e2364d302a60dec8a2aba9aa9a 100644
--- a/packages/PEGTL/include/tao/pegtl/match.hpp
+++ b/packages/PEGTL/include/tao/pegtl/match.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_MATCH_HPP
 #define TAO_PEGTL_MATCH_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/memory_input.hpp b/packages/PEGTL/include/tao/pegtl/memory_input.hpp
index 7cdc9f9f88aa5a2adbaf3158730217d3a2176334..c20887131eb2beff684f74217df55ea5c90f31b0 100644
--- a/packages/PEGTL/include/tao/pegtl/memory_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/memory_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_MEMORY_INPUT_HPP
 #define TAO_PEGTL_MEMORY_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/mmap_input.hpp b/packages/PEGTL/include/tao/pegtl/mmap_input.hpp
index 2362b6c765747a6ccbe7964417434f32fe2bf04f..759ea7035521ff20aac72e5a8d0068f9c25c26fb 100644
--- a/packages/PEGTL/include/tao/pegtl/mmap_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/mmap_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_MMAP_INPUT_HPP
 #define TAO_PEGTL_MMAP_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/must_if.hpp b/packages/PEGTL/include/tao/pegtl/must_if.hpp
index 0140a57a6693d93f5837f2c54d1e8dd05cfb3920..875e7e9c2a20e0a6c948dfcbeeba0f42e7ff4a4a 100644
--- a/packages/PEGTL/include/tao/pegtl/must_if.hpp
+++ b/packages/PEGTL/include/tao/pegtl/must_if.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_MUST_IF_HPP
 #define TAO_PEGTL_MUST_IF_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/normal.hpp b/packages/PEGTL/include/tao/pegtl/normal.hpp
index ac9d77e26585a8307298e8da256b69b008ee2cf8..bdbdd85eedf79a606db8a376c473e7a6ac9f47c5 100644
--- a/packages/PEGTL/include/tao/pegtl/normal.hpp
+++ b/packages/PEGTL/include/tao/pegtl/normal.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_NORMAL_HPP
 #define TAO_PEGTL_NORMAL_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/nothing.hpp b/packages/PEGTL/include/tao/pegtl/nothing.hpp
index 302b43555cf55adbc70a9fbdafad9b1451968e18..28b68f8449c09c81303f53d9a965aadcac05bf74 100644
--- a/packages/PEGTL/include/tao/pegtl/nothing.hpp
+++ b/packages/PEGTL/include/tao/pegtl/nothing.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_NOTHING_HPP
 #define TAO_PEGTL_NOTHING_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/parse.hpp b/packages/PEGTL/include/tao/pegtl/parse.hpp
index 3888fb3fc3ed619423ad4a3af5abaa2510fa9e3c..962f3051a2bdc94af2efc7157ba5048e64714db0 100644
--- a/packages/PEGTL/include/tao/pegtl/parse.hpp
+++ b/packages/PEGTL/include/tao/pegtl/parse.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_PARSE_HPP
 #define TAO_PEGTL_PARSE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/parse_error.hpp b/packages/PEGTL/include/tao/pegtl/parse_error.hpp
index df62ce6811129c929d2bd2edec924c08fa24fc8a..6a0ad019510caf8aa95132f1766d3806b11f99c7 100644
--- a/packages/PEGTL/include/tao/pegtl/parse_error.hpp
+++ b/packages/PEGTL/include/tao/pegtl/parse_error.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_PARSE_ERROR_HPP
 #define TAO_PEGTL_PARSE_ERROR_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/position.hpp b/packages/PEGTL/include/tao/pegtl/position.hpp
index b4f1c3b263f12090ae779cdd6fc1fb6c6a35751e..78ed32c9f35db5355f4df69ea6f43beed440d1e8 100644
--- a/packages/PEGTL/include/tao/pegtl/position.hpp
+++ b/packages/PEGTL/include/tao/pegtl/position.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_POSITION_HPP
 #define TAO_PEGTL_POSITION_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/read_input.hpp b/packages/PEGTL/include/tao/pegtl/read_input.hpp
index 019c9cd20b806f28772825a1bd9fa319b4c818a8..adbad4ca0484f8aa3669e92948f4faa3bff023f5 100644
--- a/packages/PEGTL/include/tao/pegtl/read_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/read_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_READ_INPUT_HPP
 #define TAO_PEGTL_READ_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/require_apply.hpp b/packages/PEGTL/include/tao/pegtl/require_apply.hpp
index 1200909ae8bcd3628f92536e7c3b7fc592b39376..7eaa5cc07bc2d85f5ed8d3037b03e8200d8110d1 100644
--- a/packages/PEGTL/include/tao/pegtl/require_apply.hpp
+++ b/packages/PEGTL/include/tao/pegtl/require_apply.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_REQUIRE_APPLY_HPP
 #define TAO_PEGTL_REQUIRE_APPLY_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/require_apply0.hpp b/packages/PEGTL/include/tao/pegtl/require_apply0.hpp
index 368f9b37d26a213ef23962d283e5d0aa845ef940..a20f0a21085a4db72278511ecc1b2df93c3dc936 100644
--- a/packages/PEGTL/include/tao/pegtl/require_apply0.hpp
+++ b/packages/PEGTL/include/tao/pegtl/require_apply0.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_REQUIRE_APPLY0_HPP
 #define TAO_PEGTL_REQUIRE_APPLY0_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/rewind_mode.hpp b/packages/PEGTL/include/tao/pegtl/rewind_mode.hpp
index 48e9dc9528d6f2ce2b671b1a359b2208672a4d7c..b97cbcfaf4e53593c7390b2170c22eb11226371e 100644
--- a/packages/PEGTL/include/tao/pegtl/rewind_mode.hpp
+++ b/packages/PEGTL/include/tao/pegtl/rewind_mode.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_REWIND_MODE_HPP
 #define TAO_PEGTL_REWIND_MODE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/rules.hpp b/packages/PEGTL/include/tao/pegtl/rules.hpp
index 675098833215d9b2e075d370d7487d9b10f158a8..59d73c742fae9131514ecd01aa421a71a3191ba5 100644
--- a/packages/PEGTL/include/tao/pegtl/rules.hpp
+++ b/packages/PEGTL/include/tao/pegtl/rules.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_RULES_HPP
 #define TAO_PEGTL_RULES_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/string_input.hpp b/packages/PEGTL/include/tao/pegtl/string_input.hpp
index 43349eb6f0e76480ff879cba04eb79eecda54152..f66ee24c8fb8ddd348efeb5393187852e6783274 100644
--- a/packages/PEGTL/include/tao/pegtl/string_input.hpp
+++ b/packages/PEGTL/include/tao/pegtl/string_input.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_STRING_INPUT_HPP
 #define TAO_PEGTL_STRING_INPUT_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/tracking_mode.hpp b/packages/PEGTL/include/tao/pegtl/tracking_mode.hpp
index 18e11f4d11668e96cdd4ae6a0b7a1dcc3eeb94e6..6e0f06b8fd5b74934c4a68d84502366eeaf639ad 100644
--- a/packages/PEGTL/include/tao/pegtl/tracking_mode.hpp
+++ b/packages/PEGTL/include/tao/pegtl/tracking_mode.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_TRACKING_MODE_HPP
 #define TAO_PEGTL_TRACKING_MODE_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/type_list.hpp b/packages/PEGTL/include/tao/pegtl/type_list.hpp
index 243edeb8c15a4229c25729a55505f16d3f6d83cd..f0704aabea50744da880609ee97aeb47eb8b41e2 100644
--- a/packages/PEGTL/include/tao/pegtl/type_list.hpp
+++ b/packages/PEGTL/include/tao/pegtl/type_list.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_TYPE_LIST_HPP
 #define TAO_PEGTL_TYPE_LIST_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/utf8.hpp b/packages/PEGTL/include/tao/pegtl/utf8.hpp
index f0c0a83a5e3accbef3c61fe1d4b9fe300bd48136..95b45ef49ccab20bb6a8b8bab23ad708104f4410 100644
--- a/packages/PEGTL/include/tao/pegtl/utf8.hpp
+++ b/packages/PEGTL/include/tao/pegtl/utf8.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_UTF8_HPP
 #define TAO_PEGTL_UTF8_HPP
diff --git a/packages/PEGTL/include/tao/pegtl/version.hpp b/packages/PEGTL/include/tao/pegtl/version.hpp
index 2ffc6b953b1869b690588655bf26281f84fb68d5..034954416633cf614672005f8047bd3b275a35d4 100644
--- a/packages/PEGTL/include/tao/pegtl/version.hpp
+++ b/packages/PEGTL/include/tao/pegtl/version.hpp
@@ -1,13 +1,14 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_VERSION_HPP
 #define TAO_PEGTL_VERSION_HPP
 
-#define TAO_PEGTL_VERSION "3.2.1"
+#define TAO_PEGTL_VERSION "3.3.0"
 
 #define TAO_PEGTL_VERSION_MAJOR 3
-#define TAO_PEGTL_VERSION_MINOR 2
-#define TAO_PEGTL_VERSION_PATCH 1
+#define TAO_PEGTL_VERSION_MINOR 3
+#define TAO_PEGTL_VERSION_PATCH 0
 
 #endif
diff --git a/packages/PEGTL/include/tao/pegtl/visit.hpp b/packages/PEGTL/include/tao/pegtl/visit.hpp
index dfce2f756650804ad3ba2adddb7186416e894fe4..81ca6ac75cb151d9694b72f15b8f0196f66f1f52 100644
--- a/packages/PEGTL/include/tao/pegtl/visit.hpp
+++ b/packages/PEGTL/include/tao/pegtl/visit.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_VISIT_HPP
 #define TAO_PEGTL_VISIT_HPP
diff --git a/packages/PEGTL/src/example/pegtl/CMakeLists.txt b/packages/PEGTL/src/example/pegtl/CMakeLists.txt
index 58e1f593b2e995f9b27510cbbeb0a79d0f8ffd82..236d365ddc71c1ce53e984963df5abd4c026765e 100644
--- a/packages/PEGTL/src/example/pegtl/CMakeLists.txt
+++ b/packages/PEGTL/src/example/pegtl/CMakeLists.txt
@@ -11,6 +11,7 @@ set(example_sources
   expression.cpp
   hello_world.cpp
   indent_aware.cpp
+  iri.cpp
   json_analyze.cpp
   json_ast.cpp
   json_build.cpp
@@ -25,7 +26,6 @@ set(example_sources
   modulus_match.cpp
   parse_tree.cpp
   parse_tree_user_state.cpp
-  peg2pegtl.cpp
   proto3.cpp
   recover.cpp
   s_expression.cpp
diff --git a/packages/PEGTL/src/example/pegtl/abnf2pegtl.cpp b/packages/PEGTL/src/example/pegtl/abnf2pegtl.cpp
index 90ac59a5188c289e5cfdced53cfd54681ad2860d..3fd3b976941bb5c87770f31c33dbb46f14f886a1 100644
--- a/packages/PEGTL/src/example/pegtl/abnf2pegtl.cpp
+++ b/packages/PEGTL/src/example/pegtl/abnf2pegtl.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <algorithm>
 #include <exception>
diff --git a/packages/PEGTL/src/example/pegtl/analyze.cpp b/packages/PEGTL/src/example/pegtl/analyze.cpp
index 94b4c9aa5546f5c2b5e55771a6a8fdff91bbcc2c..8f7aa0057d4f51ff363936f6dfb70db07993dfa8 100644
--- a/packages/PEGTL/src/example/pegtl/analyze.cpp
+++ b/packages/PEGTL/src/example/pegtl/analyze.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <tao/pegtl.hpp>
 
diff --git a/packages/PEGTL/src/example/pegtl/calculator.cpp b/packages/PEGTL/src/example/pegtl/calculator.cpp
index f69110c06f49a2c56ac8be81a6b05ca41e02dbea..ed9fb2b05512e06196ac23e136457b869c9fbb8d 100644
--- a/packages/PEGTL/src/example/pegtl/calculator.cpp
+++ b/packages/PEGTL/src/example/pegtl/calculator.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cassert>
 #include <functional>
diff --git a/packages/PEGTL/src/example/pegtl/chomsky_hierarchy.cpp b/packages/PEGTL/src/example/pegtl/chomsky_hierarchy.cpp
index a135d3e50da36aa72754944aff4a628cf822c43e..cb671c0e8894908e1dd3cf8f53bc852a617a2623 100644
--- a/packages/PEGTL/src/example/pegtl/chomsky_hierarchy.cpp
+++ b/packages/PEGTL/src/example/pegtl/chomsky_hierarchy.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cassert>
 #include <cstring>
diff --git a/packages/PEGTL/src/example/pegtl/csv1.cpp b/packages/PEGTL/src/example/pegtl/csv1.cpp
index 5bcdb2b336d9952c896eb8a0946e6b37020b5ad3..826363fde8d3b6dc213a591e3db7372c8f341444 100644
--- a/packages/PEGTL/src/example/pegtl/csv1.cpp
+++ b/packages/PEGTL/src/example/pegtl/csv1.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cassert>
 #include <cstdint>
diff --git a/packages/PEGTL/src/example/pegtl/csv2.cpp b/packages/PEGTL/src/example/pegtl/csv2.cpp
index fdc363634edb3c8d91663b2ab2df50f469fce561..c4aafd56ca8860ec60e9857011b7b71f5f0a8b96 100644
--- a/packages/PEGTL/src/example/pegtl/csv2.cpp
+++ b/packages/PEGTL/src/example/pegtl/csv2.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <exception>
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/double.hpp b/packages/PEGTL/src/example/pegtl/double.hpp
index 8ceec7cd1c61727496bd6ebf378084a52d084552..c79f5cc755659155e64db2edfef6be602b476f2a 100644
--- a/packages/PEGTL/src/example/pegtl/double.hpp
+++ b/packages/PEGTL/src/example/pegtl/double.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_EXAMPLES_PEGTL_DOUBLE_HPP
 #define TAO_PEGTL_SRC_EXAMPLES_PEGTL_DOUBLE_HPP
diff --git a/packages/PEGTL/src/example/pegtl/dynamic_match.cpp b/packages/PEGTL/src/example/pegtl/dynamic_match.cpp
index 73ed8258df709cf2c6f1f6bdc1932ddb5c932d5f..bf1465066e88c21dbcb5703f7a84ca7cb971299e 100644
--- a/packages/PEGTL/src/example/pegtl/dynamic_match.cpp
+++ b/packages/PEGTL/src/example/pegtl/dynamic_match.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cassert>
 #include <cstring>
diff --git a/packages/PEGTL/src/example/pegtl/expression.cpp b/packages/PEGTL/src/example/pegtl/expression.cpp
index 030b0d6db3f689d996d2e243486fa0930852141c..5602ad3f09fb464f4fff6d963c1239d8496506b6 100644
--- a/packages/PEGTL/src/example/pegtl/expression.cpp
+++ b/packages/PEGTL/src/example/pegtl/expression.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/hello_world.cpp b/packages/PEGTL/src/example/pegtl/hello_world.cpp
index a15273daf6c28f9f1231aa85a84c62569b2ae01b..8ecbdb813a87e41c1410da79e786acb9e507a9fb 100644
--- a/packages/PEGTL/src/example/pegtl/hello_world.cpp
+++ b/packages/PEGTL/src/example/pegtl/hello_world.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 #include <string>
diff --git a/packages/PEGTL/src/example/pegtl/indent_aware.cpp b/packages/PEGTL/src/example/pegtl/indent_aware.cpp
index 42295a2226777da67bcd71cdc058a0a3c08b964c..1462f89af04646a740182e9554e0b5c965f8585e 100644
--- a/packages/PEGTL/src/example/pegtl/indent_aware.cpp
+++ b/packages/PEGTL/src/example/pegtl/indent_aware.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/iri.cpp b/packages/PEGTL/src/example/pegtl/iri.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..aed3e981bf7630fd85f8ea330b1e5b373b6e317b
--- /dev/null
+++ b/packages/PEGTL/src/example/pegtl/iri.cpp
@@ -0,0 +1,102 @@
+// Copyright (c) 2021 Kelvin Hammond
+// Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined( __cpp_exceptions )
+#include <iostream>
+int main()
+{
+   std::cerr << "Exception support required, example unavailable." << std::endl;
+   return 1;
+}
+#else
+
+#include <tao/pegtl.hpp>
+#include <tao/pegtl/contrib/iri.hpp>
+
+#include <iostream>
+
+namespace pegtl = TAO_PEGTL_NAMESPACE;
+
+struct IRI
+{
+   std::string scheme;
+   std::string authority;
+   std::string userinfo;
+   std::string host;
+   std::string port;
+   std::string path;
+   std::string query;
+   std::string fragment;
+
+   explicit IRI( const std::string& iri );
+};
+
+namespace iri
+{
+   template< std::string IRI::*Field >
+   struct bind
+   {
+      template< typename ActionInput >
+      static void apply( const ActionInput& in, IRI& iri )
+      {
+         iri.*Field = in.string();
+      }
+   };
+
+   // clang-format off
+   template< typename Rule > struct action {};
+
+   template<> struct action< pegtl::iri::scheme > : bind< &IRI::scheme > {};
+   template<> struct action< pegtl::iri::iauthority > : bind< &IRI::authority > {};
+   // userinfo: see below
+   template<> struct action< pegtl::iri::ihost > : bind< &IRI::host > {};
+   template<> struct action< pegtl::iri::port > : bind< &IRI::port > {};
+   template<> struct action< pegtl::iri::ipath_noscheme > : bind< &IRI::path > {};
+   template<> struct action< pegtl::iri::ipath_rootless > : bind< &IRI::path > {};
+   template<> struct action< pegtl::iri::ipath_absolute > : bind< &IRI::path > {};
+   template<> struct action< pegtl::iri::ipath_abempty > : bind< &IRI::path > {};
+   template<> struct action< pegtl::iri::iquery > : bind< &IRI::query > {};
+   template<> struct action< pegtl::iri::ifragment > : bind< &IRI::fragment > {};
+   // clang-format on
+
+   template<>
+   struct action< pegtl::iri::opt_iuserinfo >
+   {
+      template< typename ActionInput >
+      static void apply( const ActionInput& in, IRI& iri )
+      {
+         if( !in.empty() ) {
+            iri.userinfo = std::string( in.begin(), in.size() - 1 );
+         }
+      }
+   };
+
+}  // namespace iri
+
+IRI::IRI( const std::string& iri )
+{
+   using grammar = pegtl::must< pegtl::iri::IRI >;
+   pegtl::memory_input input( iri, "iri" );
+   pegtl::parse< grammar, iri::action >( input, *this );
+}
+
+int main( int argc, char** argv )
+{
+   for( int i = 1; i < argc; ++i ) {
+      std::cout << "Parsing " << argv[ i ] << std::endl;
+      const IRI iri( argv[ i ] );
+      std::cout << "IRI.scheme: " << iri.scheme << std::endl;
+      std::cout << "IRI.authority: " << iri.authority << std::endl;
+      std::cout << "IRI.userinfo: " << iri.userinfo << std::endl;
+      std::cout << "IRI.host: " << iri.host << std::endl;
+      std::cout << "IRI.port: " << iri.port << std::endl;
+      std::cout << "IRI.path: " << iri.path << std::endl;
+      std::cout << "IRI.query: " << iri.query << std::endl;
+      std::cout << "IRI.fragment: " << iri.fragment << std::endl;
+   }
+   return 0;
+}
+
+#endif
diff --git a/packages/PEGTL/src/example/pegtl/json_analyze.cpp b/packages/PEGTL/src/example/pegtl/json_analyze.cpp
index ed5c83a2be8961fa3751ed9be20257f9bfb3271e..9a23359a53f694f672c821f78eb24738a729762a 100644
--- a/packages/PEGTL/src/example/pegtl/json_analyze.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_analyze.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 
diff --git a/packages/PEGTL/src/example/pegtl/json_ast.cpp b/packages/PEGTL/src/example/pegtl/json_ast.cpp
index fecaab39a17d51b4d09e989f1d77f148aaade17c..e227ea874f418f034b9de2411cd4b12157ad181c 100644
--- a/packages/PEGTL/src/example/pegtl/json_ast.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_ast.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iomanip>
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/json_build.cpp b/packages/PEGTL/src/example/pegtl/json_build.cpp
index c5e607b7c46047df3ddf93ba8122f6be5e7d0e01..00d90a587455f721b7e5541ad9bd454fc6762cc2 100644
--- a/packages/PEGTL/src/example/pegtl/json_build.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_build.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cassert>
 #include <iomanip>
diff --git a/packages/PEGTL/src/example/pegtl/json_classes.hpp b/packages/PEGTL/src/example/pegtl/json_classes.hpp
index 3e69515b0e35066c3c6b6f141a1a0c91e85a7f11..840804328240a2f5534642682740576bd1e9b97d 100644
--- a/packages/PEGTL/src/example/pegtl/json_classes.hpp
+++ b/packages/PEGTL/src/example/pegtl/json_classes.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_EXAMPLES_PEGTL_JSON_CLASSES_HPP
 #define TAO_PEGTL_SRC_EXAMPLES_PEGTL_JSON_CLASSES_HPP
diff --git a/packages/PEGTL/src/example/pegtl/json_count.cpp b/packages/PEGTL/src/example/pegtl/json_count.cpp
index 09bf155ef930b3bdc5b28f00798d49f1a7ab0292..f5de1e2ed3b342b84c26faa152ea9760ba2227b0 100644
--- a/packages/PEGTL/src/example/pegtl/json_count.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_count.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cstddef>
 #include <iomanip>
diff --git a/packages/PEGTL/src/example/pegtl/json_coverage.cpp b/packages/PEGTL/src/example/pegtl/json_coverage.cpp
index 3748eb16003079d866c8b3c952e090564854ece3..99bf55a14ef4d383ec3692fb95e891e038e00b98 100644
--- a/packages/PEGTL/src/example/pegtl/json_coverage.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_coverage.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iomanip>
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/json_errors.hpp b/packages/PEGTL/src/example/pegtl/json_errors.hpp
index e0517af74dc6e92a1859f3ec4bb1b74cd4466dc2..5dd28f0ac628f9f6fd7b0faaf46560bcaaa03026 100644
--- a/packages/PEGTL/src/example/pegtl/json_errors.hpp
+++ b/packages/PEGTL/src/example/pegtl/json_errors.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_EXAMPLES_PEGTL_JSON_ERRORS_HPP
 #define TAO_PEGTL_SRC_EXAMPLES_PEGTL_JSON_ERRORS_HPP
diff --git a/packages/PEGTL/src/example/pegtl/json_parse.cpp b/packages/PEGTL/src/example/pegtl/json_parse.cpp
index 240a8898c38744eff056e5cd885a4464e93450de..cdff8772a535a1a275e5bac85504998063e0e506 100644
--- a/packages/PEGTL/src/example/pegtl/json_parse.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_parse.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iomanip>
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/json_print_debug.cpp b/packages/PEGTL/src/example/pegtl/json_print_debug.cpp
index ce7b08862b9474aeff3b70be9ee8a392c4d4b577..8adadfdb0aad76e2b702a1fe9d8ca300c6c13e58 100644
--- a/packages/PEGTL/src/example/pegtl/json_print_debug.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_print_debug.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 
diff --git a/packages/PEGTL/src/example/pegtl/json_print_names.cpp b/packages/PEGTL/src/example/pegtl/json_print_names.cpp
index ffb4a929a559691437acad0d70d37513aa6acc7d..2537b7c06b18fb21e50266acc6fc72c00e913819 100644
--- a/packages/PEGTL/src/example/pegtl/json_print_names.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_print_names.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 
diff --git a/packages/PEGTL/src/example/pegtl/json_trace.cpp b/packages/PEGTL/src/example/pegtl/json_trace.cpp
index 0084722c54fdbb7b8fd603de2f137afb62c2947b..345118a29e0681f845d545883c1f3274808687e0 100644
--- a/packages/PEGTL/src/example/pegtl/json_trace.cpp
+++ b/packages/PEGTL/src/example/pegtl/json_trace.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iomanip>
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/json_unescape.hpp b/packages/PEGTL/src/example/pegtl/json_unescape.hpp
index 79c6074c5668a3d8120f4877bad9f59fa3bfc86b..210087e205d9bd27fa2ee19e9a3cadb7f47ad17d 100644
--- a/packages/PEGTL/src/example/pegtl/json_unescape.hpp
+++ b/packages/PEGTL/src/example/pegtl/json_unescape.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_EXAMPLES_PEGTL_JSON_UNESCAPE_HPP
 #define TAO_PEGTL_SRC_EXAMPLES_PEGTL_JSON_UNESCAPE_HPP
diff --git a/packages/PEGTL/src/example/pegtl/lua53.hpp b/packages/PEGTL/src/example/pegtl/lua53.hpp
index 3bfc953702c4192849e610eeb9978820331ebe52..da57ea822bb17947e8725e32ceabd64ab5a84fa0 100644
--- a/packages/PEGTL/src/example/pegtl/lua53.hpp
+++ b/packages/PEGTL/src/example/pegtl/lua53.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_EXAMPLES_PEGTL_LUA53_HPP
 #define TAO_PEGTL_SRC_EXAMPLES_PEGTL_LUA53_HPP
diff --git a/packages/PEGTL/src/example/pegtl/lua53_analyze.cpp b/packages/PEGTL/src/example/pegtl/lua53_analyze.cpp
index 788ee84bac12b2d034f2c3b203e6eed409a07f8e..d785e2a98c2139ef6fddab75cb5b95beceb6e658 100644
--- a/packages/PEGTL/src/example/pegtl/lua53_analyze.cpp
+++ b/packages/PEGTL/src/example/pegtl/lua53_analyze.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/lua53_parse.cpp b/packages/PEGTL/src/example/pegtl/lua53_parse.cpp
index 72c1fddabbb34f5cd8beb78d9d4f69cd4108dde9..317e23c47b2454d33fb9d1817e61d51bd35b63a2 100644
--- a/packages/PEGTL/src/example/pegtl/lua53_parse.cpp
+++ b/packages/PEGTL/src/example/pegtl/lua53_parse.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/modulus_match.cpp b/packages/PEGTL/src/example/pegtl/modulus_match.cpp
index f3a7d348d50d26ed23b793412e5472e684842e4e..fd866c5a53d167f67f043e833c41d98c38a089f7 100644
--- a/packages/PEGTL/src/example/pegtl/modulus_match.cpp
+++ b/packages/PEGTL/src/example/pegtl/modulus_match.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <tao/pegtl.hpp>
 
diff --git a/packages/PEGTL/src/example/pegtl/parse_tree.cpp b/packages/PEGTL/src/example/pegtl/parse_tree.cpp
index 1a37e3d05bd4dd28b930231e3a27d6a88d063ebd..c105e1621fc06a747f7c07ad5aacb930a14fd647 100644
--- a/packages/PEGTL/src/example/pegtl/parse_tree.cpp
+++ b/packages/PEGTL/src/example/pegtl/parse_tree.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <array>
 #include <iomanip>
diff --git a/packages/PEGTL/src/example/pegtl/parse_tree_user_state.cpp b/packages/PEGTL/src/example/pegtl/parse_tree_user_state.cpp
index 7268bca8a3b5372ee197895e33fe155346bc9004..6bb7a382a26fec64a91d16e6ac8451b66db3a978 100644
--- a/packages/PEGTL/src/example/pegtl/parse_tree_user_state.cpp
+++ b/packages/PEGTL/src/example/pegtl/parse_tree_user_state.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <type_traits>
 
diff --git a/packages/PEGTL/src/example/pegtl/peg.peg b/packages/PEGTL/src/example/pegtl/peg.peg
deleted file mode 100644
index 99a7c12a89466a1bb6d89a1fae70ed8a06dd418c..0000000000000000000000000000000000000000
--- a/packages/PEGTL/src/example/pegtl/peg.peg
+++ /dev/null
@@ -1,37 +0,0 @@
-# Parsing Expression Grammar (PEG) taken from
-# https://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf
-
-# Hierarchical syntax
-Grammar <- Spacing Definition+ EndOfFile
-Definition <- Identifier LEFTARROW Expression
-Expression <- Sequence (SLASH Sequence)*
-Sequence <- Prefix*
-Prefix <- (AND / NOT)? Suffix
-Suffix <- Primary (QUESTION / STAR / PLUS)?
-Primary <- Identifier !LEFTARROW / OPEN Expression CLOSE / Literal / Class / DOT
-
-# Lexical syntax
-Identifier <- IdentStart IdentCont* Spacing
-IdentStart <- [a-zA-Z_]
-IdentCont <- IdentStart / [0-9]
-Literal <- ['] (!['] Char)* ['] Spacing / ["] (!["] Char)* ["] Spacing
-Class <- '[' (!']' Range)* ']' Spacing
-Range <- Char '-' Char / Char
-Char <- '\\' [nrt'"\[\]\\] / '\\' [0-2][0-7][0-7] / '\\' [0-7][0-7]? / !'\\' .
-
-LEFTARROW <- '<-' Spacing
-SLASH <- '/' Spacing
-AND <- '&' Spacing
-NOT <- '!' Spacing
-QUESTION <- '?' Spacing
-STAR <- '*' Spacing
-PLUS <- '+' Spacing
-OPEN <- '(' Spacing
-CLOSE <- ')' Spacing
-DOT <- '.' Spacing
-
-Spacing <- (Space / Comment)*
-Comment <- '#' (!EndOfLine .)* EndOfLine
-Space <- ' ' / '\t' / EndOfLine
-EndOfLine <- '\r\n' / '\n' / '\r'
-EndOfFile <- !.
\ No newline at end of file
diff --git a/packages/PEGTL/src/example/pegtl/peg2pegtl.cpp b/packages/PEGTL/src/example/pegtl/peg2pegtl.cpp
deleted file mode 100644
index 60b2628fbee7e6ae8bb9693ea36d569da26cdcf2..0000000000000000000000000000000000000000
--- a/packages/PEGTL/src/example/pegtl/peg2pegtl.cpp
+++ /dev/null
@@ -1,545 +0,0 @@
-// Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Copyright (c) 2021 Daniel Deptford
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
-
-#include <algorithm>
-#include <iomanip>
-#include <iostream>
-#include <iterator>
-#include <sstream>
-#include <string>
-#include <unordered_map>
-#include <unordered_set>
-#include <utility>
-#include <vector>
-
-#include <cassert>
-#include <cctype>
-#include <cstdlib>
-
-#if defined( _MSC_VER )
-#include <string.h>
-#define TAO_PEGTL_STRCASECMP _stricmp
-#else
-#include <strings.h>
-#define TAO_PEGTL_STRCASECMP strcasecmp
-#endif
-
-#include <tao/pegtl.hpp>
-#include <tao/pegtl/contrib/parse_tree.hpp>
-#include <tao/pegtl/contrib/peg.hpp>
-
-namespace TAO_PEGTL_NAMESPACE
-{
-   namespace peg
-   {
-      using node_ptr = std::unique_ptr< parse_tree::node >;
-
-      namespace
-      {
-         std::string prefix = "tao::pegtl::";
-
-         std::unordered_set< std::string > keywords = {
-            "alignas",
-            "alignof",
-            "and",
-            "and_eq",
-            "asm",
-            "auto",
-            "bitand",
-            "bitor",
-            "bool",
-            "break",
-            "case",
-            "catch",
-            "char",
-            "char8_t",
-            "char16_t",
-            "char32_t",
-            "class",
-            "compl",
-            "concept",
-            "const",
-            "consteval",
-            "constexpr",
-            "constinit",
-            "const_cast",
-            "continue",
-            "co_await",
-            "co_return",
-            "co_yield",
-            "decltype",
-            "default",
-            "delete",
-            "do",
-            "double",
-            "dynamic_cast",
-            "else",
-            "enum",
-            "explicit",
-            "export",
-            "extern",
-            "false",
-            "float",
-            "for",
-            "friend",
-            "goto",
-            "if",
-            "inline",
-            "int",
-            "long",
-            "mutable",
-            "namespace",
-            "new",
-            "noexcept",
-            "not",
-            "not_eq",
-            "nullptr",
-            "operator",
-            "or",
-            "or_eq",
-            "private",
-            "protected",
-            "public",
-            "register",
-            "reinterpret_cast",
-            "return",
-            "requires",
-            "short",
-            "signed",
-            "sizeof",
-            "static",
-            "static_assert",
-            "static_cast",
-            "struct",
-            "switch",
-            "template",
-            "this",
-            "thread_local",
-            "throw",
-            "true",
-            "try",
-            "typedef",
-            "typeid",
-            "typename",
-            "union",
-            "unsigned",
-            "using",
-            "virtual",
-            "void",
-            "volatile",
-            "wchar_t",
-            "while",
-            "xor",
-            "xor_eq"
-         };
-
-         using identifiers_t = std::vector< std::string >;
-         identifiers_t identifiers_defined;
-         identifiers_t identifiers;
-
-         identifiers_t::reverse_iterator find_identifier( identifiers_t& r, const std::string& v, const identifiers_t::reverse_iterator& rbegin )
-         {
-            return std::find_if( rbegin, r.rend(), [ & ]( const identifiers_t::value_type& p ) { return TAO_PEGTL_STRCASECMP( p.c_str(), v.c_str() ) == 0; } );
-         }
-
-         identifiers_t::reverse_iterator find_identifier( identifiers_t& r, const std::string& v )
-         {
-            return find_identifier( r, v, r.rbegin() );
-         }
-
-         char char_node_to_char( const node_ptr& n )
-         {
-            const char ch = n->string_view().at( 0 );
-
-            if( ch == '\\' ) {
-               static const std::unordered_map< char, char > mappings( {
-                  { 'n', '\n' },
-                  { 'r', '\r' },
-                  { 't', '\t' },
-                  { '\'', '\'' },
-                  { '\"', '\"' },
-                  { '[', '[' },
-                  { ']', ']' },
-                  { '\\', '\\' },
-               } );
-
-               auto iter = mappings.find( n->string_view().at( 1 ) );
-               if( iter != std::end( mappings ) ) {
-                  return iter->second;
-               }
-
-               return static_cast< char >( std::stoi( n->string().substr( 1 ) ) );
-            }
-
-            return ch;
-         }
-
-         void append_char_node( std::string& s, const node_ptr& n )
-         {
-            if( !s.empty() ) {
-               s += ", ";
-            }
-            s += '\'';
-
-            const char c = char_node_to_char( n );
-
-            static const std::unordered_map< char, std::string > escapes( {
-               { '\b', "b" },
-               { '\f', "f" },
-               { '\n', "n" },
-               { '\r', "r" },
-               { '\t', "t" },
-               { '\v', "v" },
-               { '\\', "\\" },
-               { '\'', "\'" },
-            } );
-
-            auto iter = escapes.find( c );
-            if( iter != std::end( escapes ) ) {
-               s += '\\';
-               s += iter->second;
-            }
-            else {
-               s += c;
-            }
-
-            s += '\'';
-         }
-
-      }  // namespace
-
-#if defined( __cpp_exceptions )
-      // Using must_if<> we define a control class which is used for
-      // the parsing run instead of the default control class.
-      //
-      // This improves the errors reported to the user.
-      //
-      // The following turns local errors into global errors, i.e.
-      // if one of the rules for which a custom error message is
-      // defined fails, it throws a parse_error exception (aka global
-      // failure) instead of returning false (aka local failure).
-
-      // clang-format off
-      template< typename > inline constexpr const char* error_message = nullptr;
-
-      template<> inline constexpr auto error_message< peg::grammar::Char > = "unterminated character literal";
-      template<> inline constexpr auto error_message< peg::grammar::Expression > = "unterminated expression";
-      template<> inline constexpr auto error_message< peg::grammar::Grammar > = "unterminated grammar";
-      template<> inline constexpr auto error_message< peg::grammar::Range > = "unterminated range";
-      // clang-format on
-
-      struct error
-      {
-         template< typename Rule >
-         static constexpr auto message = error_message< Rule >;
-      };
-
-      template< typename Rule >
-      using control = must_if< error >::control< Rule >;
-#else
-      template< typename Rule >
-      using control = normal< Rule >;
-#endif
-
-      // Since we are going to generate a parse tree, we define a
-      // selector that decides which rules will be included in our
-      // parse tree, which rules will be omitted from the parse tree,
-      // and which of the nodes will store the matched content.
-      // Additionally, some nodes will fold when they have exactly
-      // one child node. (see fold_one below)
-
-      template< typename Rule >
-      struct selector
-         : pegtl::parse_tree::selector<
-              Rule,
-              pegtl::parse_tree::store_content::on<
-                 grammar::Definition,
-                 grammar::Prefix,
-                 grammar::Suffix,
-                 grammar::Sequence,
-                 grammar::Expression,
-                 grammar::Class,
-                 grammar::Literal,
-                 grammar::Identifier,
-                 grammar::IdentStart,
-                 grammar::Range,
-                 grammar::Char,
-                 grammar::AND,
-                 grammar::NOT,
-                 grammar::QUESTION,
-                 grammar::STAR,
-                 grammar::PLUS,
-                 grammar::DOT >,
-              pegtl::parse_tree::fold_one::on< grammar::IdentCont > >
-      {
-         template< typename... States >
-         static void transform( node_ptr& n )
-         {
-            // As we use the PEG grammar taken directly from the original PEG
-            // paper, some nodes may have excess content from nodes not included
-            // in the parse tree (e.g. Comment, Space, etc).
-            if( !n->children.empty() ) {
-               n->m_end = n->children.back()->m_end;
-            }
-         }
-      };
-
-      std::string to_string( const node_ptr& n );
-      std::string to_string( const std::vector< node_ptr >& v );
-
-      namespace
-      {
-         std::string get_identifier( const node_ptr& n )
-         {
-            assert( n->is_type< grammar::Identifier >() );
-            std::string v = n->string();
-            std::replace( v.begin(), v.end(), '-', '_' );
-            return v;
-         }
-
-         std::string get_identifier( const node_ptr& n, const bool print_forward_declarations )
-         {
-            std::string v = get_identifier( n );
-            const auto it = find_identifier( identifiers, v );
-            if( it != identifiers.rend() ) {
-               return *it;
-            }
-            if( keywords.count( v ) != 0 || v.find( "__" ) != std::string::npos ) {
-#if defined( __cpp_exceptions )
-               throw parse_error( '\'' + n->string() + "' is a reserved identifier", n->begin() );
-#else
-               std::cerr << '\'' + n->string() + "' is a reserved identifier" << std::endl;
-               std::terminate();
-#endif
-            }
-            if( print_forward_declarations && find_identifier( identifiers_defined, v ) != identifiers_defined.rend() ) {
-               std::cout << "struct " << v << ";\n";
-            }
-            identifiers.push_back( v );
-            return v;
-         }
-
-         std::unordered_map< std::string, parse_tree::node* > previous_identifiers;
-
-      }  // namespace
-
-      template<>
-      struct selector< grammar::Definition >
-         : std::true_type
-      {
-         template< typename... States >
-         static void transform( node_ptr& n )
-         {
-            const auto idname = get_identifier( n->children.front() );
-            assert( n->children.back()->is_type< grammar::Expression >() );
-            if( !previous_identifiers.try_emplace( idname, n.get() ).second ) {
-#if defined( __cpp_exceptions )
-               throw parse_error( "identifier '" + idname + "' is already defined", n->begin() );
-#else
-               std::cerr << "identifier '" + idname + "' is already defined" << std::endl;
-               std::terminate();
-#endif
-            }
-         }
-      };
-
-      // Finally, the generated parse tree for each node is converted to
-      // a C++ source code string.
-
-      struct stringifier
-      {
-         using function_t = std::string ( * )( const node_ptr& n );
-         function_t default_ = nullptr;
-
-         std::unordered_map< std::string_view, function_t > map_;
-
-         template< typename T >
-         void add( const function_t& f )
-         {
-            map_.try_emplace( demangle< T >(), f );
-         }
-
-         std::string operator()( const node_ptr& n ) const
-         {
-            const auto it = map_.find( n->type );
-            if( it != map_.end() ) {
-               return it->second( n );
-            }
-
-            return default_( n );
-         }
-      };
-
-      stringifier make_stringifier()
-      {
-         stringifier nrv;
-         nrv.default_ = []( const node_ptr& n ) -> std::string {
-#if defined( __cpp_exceptions )
-            throw parse_error( "missing to_string() for " + std::string( n->type ), n->begin() );
-#else
-            std::cerr << "missing to_string() for " + std::string( n->type ) << std::endl;
-            std::terminate();
-#endif
-         };
-
-         nrv.add< grammar::Identifier >( []( const node_ptr& n ) { return get_identifier( n, true ); } );
-
-         nrv.add< grammar::Definition >( []( const node_ptr& n ) {
-            return "struct " + get_identifier( n->children.front(), false ) + " : " + to_string( n->children.back() ) + " {};";
-         } );
-
-         nrv.add< grammar::Char >( []( const node_ptr& n ) {
-            std::string s;
-            append_char_node( s, n );
-            return s;
-         } );
-
-         nrv.add< grammar::Sequence >( []( const node_ptr& n ) {
-            if( n->children.size() == 1 ) {
-               return to_string( n->children.front() );
-            }
-
-            return prefix + "seq< " + to_string( n->children ) + " >";
-         } );
-
-         nrv.add< grammar::Expression >( []( const node_ptr& n ) {
-            if( n->children.size() == 1 ) {
-               return to_string( n->children.front() );
-            }
-
-            return prefix + "sor< " + to_string( n->children ) + " >";
-         } );
-
-         nrv.add< grammar::Range >( []( const node_ptr& n ) {
-            if( n->children.size() == 1 ) {
-               return prefix + "one< " + to_string( n->children.front() ) + " >";
-            }
-
-            return prefix + "range< " + to_string( n->children.front() ) + ", " + to_string( n->children.back() ) + " >";
-         } );
-
-         nrv.add< grammar::Class >( []( const node_ptr& n ) {
-            if( n->children.size() == 1 ) {
-               return to_string( n->children.front() );
-            }
-
-            return prefix + "sor < " + to_string( n->children ) + " >";
-         } );
-
-         nrv.add< grammar::Literal >( []( const node_ptr& n ) {
-            if( n->children.size() == 1 ) {
-               return prefix + "one< " + to_string( n->children.front() ) + " >";
-            }
-
-            return prefix + "string< " + to_string( n->children ) + " >";
-         } );
-
-         nrv.add< grammar::Prefix >( []( const node_ptr& n ) {
-            auto sub = to_string( n->children.back() );
-
-            if( n->children.front()->is_type< grammar::AND >() ) {
-               return prefix + "at< " + sub + " >";
-            }
-
-            if( n->children.front()->is_type< grammar::NOT >() ) {
-               return prefix + "not_at< " + sub + " >";
-            }
-
-            assert( n->children.size() == 1 );
-            return sub;
-         } );
-
-         nrv.add< grammar::Suffix >( []( const node_ptr& n ) {
-            auto sub = to_string( n->children.front() );
-
-            if( n->children.back()->is_type< grammar::QUESTION >() ) {
-               return prefix + "opt< " + sub + " >";
-            }
-
-            if( n->children.back()->is_type< grammar::STAR >() ) {
-               return prefix + "star< " + sub + " >";
-            }
-
-            if( n->children.back()->is_type< grammar::PLUS >() ) {
-               return prefix + "plus< " + sub + " >";
-            }
-
-            assert( n->children.size() == 1 );
-            return sub;
-         } );
-
-         nrv.add< grammar::DOT >( []( const node_ptr& /*unused*/ ) {
-            return prefix + "any";
-         } );
-
-         return nrv;
-      }
-
-      std::string to_string( const node_ptr& n )
-      {
-         static stringifier s = make_stringifier();
-         return s( n );
-      }
-
-      std::string to_string( const std::vector< node_ptr >& v )
-      {
-         std::string result;
-         for( const auto& c : v ) {
-            if( !result.empty() ) {
-               result += ", ";
-            }
-            result += to_string( c );
-         }
-         return result;
-      }
-
-   }  // namespace peg
-
-}  // namespace TAO_PEGTL_NAMESPACE
-
-int main( int argc, char** argv )  // NOLINT(bugprone-exception-escape)
-{
-   using namespace TAO_PEGTL_NAMESPACE;
-
-   if( argc != 2 ) {
-      std::cerr << "Usage: " << argv[ 0 ] << " SOURCE\n";
-      return 1;
-   }
-
-   file_input in( argv[ 1 ] );
-#if defined( __cpp_exceptions )
-   try {
-      const auto root = parse_tree::parse< peg::grammar::Grammar, peg::selector, nothing, peg::control >( in );
-
-      for( const auto& definition : root->children ) {
-         peg::identifiers_defined.push_back( peg::get_identifier( definition->children.front() ) );
-      }
-
-      for( const auto& rule : root->children ) {
-         std::cout << peg::to_string( rule ) << '\n';
-      }
-   }
-   catch( const parse_error& e ) {
-      const auto p = e.positions().front();
-      std::cerr << e.what() << '\n'
-                << in.line_at( p ) << '\n'
-                << std::setw( p.column ) << '^' << '\n';
-   }
-#else
-   if( const auto root = parse_tree::parse< peg::grammar::Grammar, peg::selector, nothing, peg::control >( in ) ) {
-      for( const auto& definition : root->children ) {
-         peg::identifiers_defined.push_back( peg::get_identifier( definition->children.front() ) );
-      }
-
-      for( const auto& rule : root->children ) {
-         std::cout << peg::to_string( rule ) << '\n';
-      }
-   }
-   else {
-      std::cerr << "error occurred" << std::endl;
-      return 1;
-   }
-#endif
-   return 0;
-}
diff --git a/packages/PEGTL/src/example/pegtl/proto3.cpp b/packages/PEGTL/src/example/pegtl/proto3.cpp
index 39d126fa95e33cae1ced9676f317da0cab175a21..cb7303787ccc7be48c9e5cc4887b9f511264d974 100644
--- a/packages/PEGTL/src/example/pegtl/proto3.cpp
+++ b/packages/PEGTL/src/example/pegtl/proto3.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
@@ -14,132 +15,7 @@ int main()
 
 #include <tao/pegtl.hpp>
 #include <tao/pegtl/contrib/analyze.hpp>
-
-namespace TAO_PEGTL_NAMESPACE::proto3
-{
-   // clang-format off
-   struct comment_sl : seq< two< '/' >, until< eolf > > {};
-   struct comment_ml : seq< one< '/' >, one< '*' >, until< seq< one< '*' >, one< '/' > > > > {};
-   struct sp : sor< space, comment_sl, comment_ml > {};
-   struct sps : star< sp > {};
-
-   struct comma : one< ',' > {};
-   struct dot : one< '.' > {};
-   struct equ : one< '=' > {};
-   struct semi : one< ';' > {};
-
-   struct option;
-   struct message;
-   struct extend;
-
-   struct odigit : range< '0', '7' > {};
-
-   struct ident_first : ranges< 'a', 'z', 'A', 'Z' > {};  // NOTE: Yes, no '_'.
-   struct ident_other : ranges< 'a', 'z', 'A', 'Z', '0', '9', '_' > {};
-   struct ident : seq< ident_first, star< ident_other > > {};
-   struct full_ident : list_must< ident, dot > {};
-
-   struct sign : one< '+', '-' > {};
-   struct oct_lit : seq< one< '0' >, plus< odigit > > {};
-   struct hex_lit : seq< one< '0' >, one< 'x', 'X' >, plus< xdigit > > {};
-   struct dec_lit : sor< one< '0' >, seq< opt< sign >, range< '1', '9' >, star< digit > > >  {};
-   struct int_lit : sor< dec_lit, hex_lit, oct_lit > {};
-
-   struct hex_escape : if_must< one< 'x', 'X' >, xdigit, xdigit > {};
-   struct oct_escape : if_must< odigit, odigit, odigit > {};
-   struct char_escape : one< 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', '\'', '"' > {};
-   struct escape : if_must< one< '\\' >, hex_escape, oct_escape, char_escape > {};
-   struct char_value : sor< escape, not_one< '\n', '\0' > > {};  // NOTE: No need to exclude '\' from not_one<>, see escape rule.
-   template< char Q >
-   struct str_impl : if_must< one< Q >, until< one< Q >, char_value > > {};
-   struct str_lit : sor< str_impl< '\'' >, str_impl< '"' > > {};
-
-   struct bool_lit : sor< keyword< 't', 'r', 'u', 'e' >, keyword< 'f', 'a', 'l', 's', 'e' > > {};
-
-   struct exp : seq < one <'E', 'e'>, opt< sign >, plus< digit > > {};
-   struct float_lit_1 : seq< plus< digit >, dot, star< digit >, opt< exp > > {};
-   struct float_lit_2 : seq< dot, plus< digit >, opt< exp > > {};
-   struct float_lit_3 : seq< plus< digit >, exp > {};
-   struct float_lit : sor < seq< opt<sign>, sor< float_lit_1, float_lit_2, float_lit_3, keyword< 'i', 'n', 'f' > > >, keyword< 'n', 'a', 'n' > > {};
-
-   struct constant : sor< bool_lit, full_ident, float_lit, int_lit, str_lit > {};
-
-   struct option_name : seq< sor< ident, if_must< one< '(' >, full_ident, one< ')' > > >, star_must< dot, ident > > {};
-   struct option : if_must< keyword< 'o', 'p', 't', 'i', 'o', 'n' >, sps, option_name, sps, equ, sps, constant, sps, semi > {};
-
-   struct bool_type : keyword< 'b', 'o', 'o', 'l' > {};
-   struct bytes_type : keyword< 'b', 'y', 't', 'e', 's' > {};
-   struct double_type : keyword< 'd', 'o', 'u', 'b', 'l', 'e' > {};
-   struct float_type : keyword< 'f', 'l', 'o', 'a', 't' > {};
-   struct string_type : keyword< 's', 't', 'r', 'i', 'n', 'g' > {};
-
-   struct int32_type : keyword< 'i', 'n', 't', '3', '2' > {};
-   struct int64_type : keyword< 'i', 'n', 't', '6', '4' > {};
-   struct sint32_type : keyword< 's', 'i', 'n', 't', '3', '2' > {};
-   struct sint64_type : keyword< 's', 'i', 'n', 't', '6', '4' > {};
-   struct uint32_type : keyword< 'u', 'i', 'n', 't', '3', '2' > {};
-   struct uint64_type : keyword< 'u', 'i', 'n', 't', '6', '4' > {};
-   struct fixed32_type : keyword< 'f', 'i', 'x', 'e', 'd', '3', '2' > {};
-   struct fixed64_type : keyword< 'f', 'i', 'x', 'e', 'd', '6', '4' > {};
-   struct sfixed32_type : keyword< 's', 'f', 'i', 'x', 'e', 'd', '3', '2' > {};
-   struct sfixed64_type : keyword< 's', 'f', 'i', 'x', 'e', 'd', '6', '4' > {};
-
-   struct builtin_type : sor< bool_type, bytes_type, double_type, float_type, string_type, int32_type, int64_type, sint32_type, sint64_type, uint32_type, uint64_type, fixed32_type, fixed64_type, sfixed32_type, sfixed64_type > {};
-
-   struct defined_type : seq< opt< dot >, full_ident > {};  // NOTE: This replaces both message_type and enum_type -- they have the same syntax.
-
-   struct type : sor< builtin_type, defined_type > {};
-
-   struct field_option : if_must< option_name, sps, equ, sps, constant > {};
-   struct field_options : if_must< one< '[' >, sps, list< field_option, comma, sp >, sps, one< ']' > > {};
-   struct field_name : ident {};
-   struct field_number : int_lit {};
-   struct field : seq< opt< sor < keyword< 'o', 'p', 't', 'i', 'o', 'n', 'a', 'l' >, keyword< 'r', 'e', 'p', 'e', 'a', 't', 'e', 'd' > >, sps >, type, sps, field_name, sps, equ, sps, field_number, sps, opt< field_options, sps >, semi > {};
-
-   struct oneof_name : ident {};
-   struct oneof_field : if_must< type, sps, field_name, sps, equ, sps, field_number, sps, opt< field_options, sps >, semi > {};
-   struct oneof_body : sor< oneof_field, semi > {};
-   struct oneof : if_must< keyword< 'o', 'n', 'e', 'o', 'f' >, sps, oneof_name, sps, one< '{' >, sps, until< one< '}' >, oneof_body, sps >, sps > {};
-
-   struct key_type : seq< sor< bool_type, string_type, int32_type, int64_type, sint32_type, sint64_type, uint32_type, uint64_type, fixed32_type, fixed64_type, sfixed32_type, sfixed64_type >, not_at< ident_other > > {};
-   struct map_name : ident {};
-   struct map_field : if_must< keyword< 'm', 'a', 'p' >, sps, one< '<' >, sps, key_type, sps, comma, sps, type, sps, one< '>' >, sps, map_name, sps, equ, sps, field_number, sps, opt< field_options, sps >, semi > {};
-
-   struct range : if_must< int_lit, sps, keyword< 't', 'o' >, sps, sor< int_lit, keyword< 'm', 'a', 'x' > > > {};
-   struct ranges : list_must< range, comma, sp > {};
-   struct field_names : list_must< field_name, comma, sp > {};
-   struct reserved : if_must< keyword< 'r', 'e', 's', 'e', 'r', 'v', 'e', 'd' >, sps, sor< ranges, field_names >, sps, semi > {};
-
-   struct enum_name : ident {};
-   struct enum_value_option : seq< option_name, sps, equ, sps, constant > {};
-   struct enum_field : seq< ident, sps, equ, sps, int_lit, sps, opt_must< one< '[' >, sps, list_must< enum_value_option, comma, sp >, sps, one< ']' >, sps >, semi > {};
-   struct enum_body : if_must< one< '{' >, sps, star< sor< option, enum_field, semi >, sps >, one< '}' > > {};
-   struct enum_def : if_must< keyword< 'e', 'n', 'u', 'm' >, sps, enum_name, sps, enum_body > {};
-
-   struct message_thing : sor< field, enum_def, message, option, oneof, map_field, reserved, extend, semi > {};
-   struct message_body : seq< one<'{'>, sps, star< message_thing, sps >, one<'}'> > {};
-   struct message : if_must< keyword< 'm', 'e', 's', 's', 'a', 'g', 'e' >, sps, defined_type, sps, message_body > {};
-   struct extend : if_must< keyword< 'e', 'x', 't', 'e', 'n', 'd' >, sps, defined_type, sps, message_body > {};
-
-   struct package : if_must< keyword< 'p', 'a', 'c', 'k', 'a', 'g', 'e' >, sps, full_ident, sps, semi > {};
-
-   struct import_option : opt< sor< keyword< 'w', 'e', 'a', 'k' >, keyword< 'p', 'u', 'b', 'l', 'i', 'c' > > > {};
-   struct import : if_must< keyword< 'i', 'm', 'p', 'o', 'r', 't' >, sps, import_option, sps, str_lit, sps, semi > {};
-
-   struct rpc_name : ident {};
-   struct rpc_type : if_must< one< '(' >, sps, opt< keyword< 's', 't', 'r', 'e', 'a', 'm' >, sps >, defined_type, sps, one< ')' > > {};
-   struct rpc_options : if_must< one< '{' >, sps, star< sor< option, semi >, sps >, one< '}' > > {};
-   struct rpc : if_must< keyword< 'r', 'p', 'c' >, sps, rpc_name, sps, rpc_type, sps, keyword< 'r', 'e', 't', 'u', 'r', 'n', 's' >, sps, rpc_type, sps, sor< semi, rpc_options > > {};
-   struct service_name : ident {};
-   struct service : if_must< keyword< 's', 'e', 'r', 'v', 'i', 'c', 'e' >, sps, service_name, sps, one< '{' >, sps, star< sor< option, rpc, semi >, sps >, one< '}' > > {};
-
-   struct body : sor< import, package, option, message, enum_def, service, extend, semi > {};
-
-   struct head : if_must< keyword< 's', 'y', 'n', 't', 'a', 'x' >, sps, equ, sps, string< '"', 'p', 'r', 'o', 't', 'o', '3', '"' >, sps, semi > {};
-   struct proto : must< sps, head, sps, star< body, sps >, eof > {};
-   // clang-format on
-
-}  // namespace TAO_PEGTL_NAMESPACE::proto3
+#include <tao/pegtl/contrib/proto3.hpp>
 
 int main( int argc, char** argv )  // NOLINT(bugprone-exception-escape)
 {
diff --git a/packages/PEGTL/src/example/pegtl/recover.cpp b/packages/PEGTL/src/example/pegtl/recover.cpp
index 15baabd5e543bde94ad412b5ecdd1f201e1649e4..9f6e2076799d5b8e34c58eba022f10340c3f72a9 100644
--- a/packages/PEGTL/src/example/pegtl/recover.cpp
+++ b/packages/PEGTL/src/example/pegtl/recover.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 // This is a small experiment with a grammar that can recover from errors.
 //
diff --git a/packages/PEGTL/src/example/pegtl/s_expression.cpp b/packages/PEGTL/src/example/pegtl/s_expression.cpp
index 28dcace3a280998415d7b1aa2fe713ed244dac61..d0ab218c5928e8c326b3bdf81a22c4108aa84690 100644
--- a/packages/PEGTL/src/example/pegtl/s_expression.cpp
+++ b/packages/PEGTL/src/example/pegtl/s_expression.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/sum.cpp b/packages/PEGTL/src/example/pegtl/sum.cpp
index 6a17863cacafb27d70f62bf7e804c77037002326..9867e3ab84475b9a2c06fbd52ea791d46e36beff 100644
--- a/packages/PEGTL/src/example/pegtl/sum.cpp
+++ b/packages/PEGTL/src/example/pegtl/sum.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cstdlib>
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/symbol_table.cpp b/packages/PEGTL/src/example/pegtl/symbol_table.cpp
index 673174c9b88e8033b8c7db4d118e6161ca932d7a..5dba51e3b91b1ebab816d25d759854b3e1286a90 100644
--- a/packages/PEGTL/src/example/pegtl/symbol_table.cpp
+++ b/packages/PEGTL/src/example/pegtl/symbol_table.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/token_input.cpp b/packages/PEGTL/src/example/pegtl/token_input.cpp
index 7d2795a3fb9bf453bbb3aa222ab2185d2a2b9517..df35d4aafdbc061753dd69ca6d75a79b766a6ee3 100644
--- a/packages/PEGTL/src/example/pegtl/token_input.cpp
+++ b/packages/PEGTL/src/example/pegtl/token_input.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 #include <string>
diff --git a/packages/PEGTL/src/example/pegtl/unescape.cpp b/packages/PEGTL/src/example/pegtl/unescape.cpp
index f445435b112989cf8215bfa7e0dbae0b2983e012..10f2a1f4071517108dad344cef0a938ec384264b 100644
--- a/packages/PEGTL/src/example/pegtl/unescape.cpp
+++ b/packages/PEGTL/src/example/pegtl/unescape.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 
diff --git a/packages/PEGTL/src/example/pegtl/uri.cpp b/packages/PEGTL/src/example/pegtl/uri.cpp
index 413caf99e6349678ec116735972cd4b8f3d8453e..a964959c41d1b7e9840eceb1b2f9c2ebc737f8da 100644
--- a/packages/PEGTL/src/example/pegtl/uri.cpp
+++ b/packages/PEGTL/src/example/pegtl/uri.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/uri_print_debug.cpp b/packages/PEGTL/src/example/pegtl/uri_print_debug.cpp
index 10e42f2433cbfc6c9afbca6ed5ebd55330b55401..f535e3a11b5c070e95ad64a3b9511b65a5b989c6 100644
--- a/packages/PEGTL/src/example/pegtl/uri_print_debug.cpp
+++ b/packages/PEGTL/src/example/pegtl/uri_print_debug.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/uri_print_names.cpp b/packages/PEGTL/src/example/pegtl/uri_print_names.cpp
index 708c3e71113b6844da410a7d7b46926c61d58b96..95361921756a6d13d4c4a0b73ba6f533e6bf1097 100644
--- a/packages/PEGTL/src/example/pegtl/uri_print_names.cpp
+++ b/packages/PEGTL/src/example/pegtl/uri_print_names.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/example/pegtl/uri_trace.cpp b/packages/PEGTL/src/example/pegtl/uri_trace.cpp
index e1392f85a54f967ffa563b89e82f2530c97d9214..d041d3343a468a1c651fbd6d09edc3e354b6f20a 100644
--- a/packages/PEGTL/src/example/pegtl/uri_trace.cpp
+++ b/packages/PEGTL/src/example/pegtl/uri_trace.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/CMakeLists.txt b/packages/PEGTL/src/test/pegtl/CMakeLists.txt
index 6bfacb4a72caec4e1dd08bdaade1d934e3bac9e0..eae7a9546c6fa5b0cb113cb999788a6cbbd828cc 100644
--- a/packages/PEGTL/src/test/pegtl/CMakeLists.txt
+++ b/packages/PEGTL/src/test/pegtl/CMakeLists.txt
@@ -34,6 +34,7 @@ set(test_sources
   contrib_if_then.cpp
   contrib_instantiate.cpp
   contrib_integer.cpp
+  contrib_iri.cpp
   contrib_json.cpp
   contrib_parse_tree.cpp
   contrib_parse_tree_to_dot.cpp
@@ -45,6 +46,7 @@ set(test_sources
   contrib_remove_last_states.cpp
   contrib_rep_one_min_max.cpp
   contrib_rep_string.cpp
+  contrib_separated_seq.cpp
   contrib_state_control.cpp
   contrib_to_string.cpp
   contrib_trace1.cpp
diff --git a/packages/PEGTL/src/test/pegtl/action_enable.cpp b/packages/PEGTL/src/test/pegtl/action_enable.cpp
index eaead46a3d235a9c6ac867392e5d6b72435680b0..3f7a5cb4228da53c3ec04d1b4938925631b38c22 100644
--- a/packages/PEGTL/src/test/pegtl/action_enable.cpp
+++ b/packages/PEGTL/src/test/pegtl/action_enable.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/action_match.cpp b/packages/PEGTL/src/test/pegtl/action_match.cpp
index f8f448c44fb1cce6fa4939550b4cd888e838d291..af6f5709d0902103073a114981bc0cb065fe641b 100644
--- a/packages/PEGTL/src/test/pegtl/action_match.cpp
+++ b/packages/PEGTL/src/test/pegtl/action_match.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/actions_one.cpp b/packages/PEGTL/src/test/pegtl/actions_one.cpp
index 9e8998c3050b023150ca1351e7db223cb5307319..4b0f4b6fda87e735883ec3e2f5a27c586f7dbbf6 100644
--- a/packages/PEGTL/src/test/pegtl/actions_one.cpp
+++ b/packages/PEGTL/src/test/pegtl/actions_one.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/actions_three.cpp b/packages/PEGTL/src/test/pegtl/actions_three.cpp
index 8f9fa9b351026eeddd2137253ca72242a013dff7..987f764578a77f2c8d9afdcd1983b968d927b318 100644
--- a/packages/PEGTL/src/test/pegtl/actions_three.cpp
+++ b/packages/PEGTL/src/test/pegtl/actions_three.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/actions_two.cpp b/packages/PEGTL/src/test/pegtl/actions_two.cpp
index 40f736757f87ad9ca519800a5a2b4c91a6e4e83e..77687875c6755d5f8558a3fc4f6445ac69ecf2b7 100644
--- a/packages/PEGTL/src/test/pegtl/actions_two.cpp
+++ b/packages/PEGTL/src/test/pegtl/actions_two.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/argv_input.cpp b/packages/PEGTL/src/test/pegtl/argv_input.cpp
index 933e29c06d71351a1401bc8c3388222749b2e5db..0f3c283d20b99ae08f1e94a265a4f7c0ffd440c4 100644
--- a/packages/PEGTL/src/test/pegtl/argv_input.cpp
+++ b/packages/PEGTL/src/test/pegtl/argv_input.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cstring>
 
diff --git a/packages/PEGTL/src/test/pegtl/ascii_classes.cpp b/packages/PEGTL/src/test/pegtl/ascii_classes.cpp
index 2989634c00709cdcba9c79f14357dd046436e1ab..f9e255c33f11bbe7e47e6f879a8234271faf061d 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_classes.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_classes.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_eol.cpp b/packages/PEGTL/src/test/pegtl/ascii_eol.cpp
index 851eba98f5009ac9ec68bd4120ea85558729f98d..0169eda66cd94f2794254e7990b6dd7e4c93ced5 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_eol.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_eol.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_eolf.cpp b/packages/PEGTL/src/test/pegtl/ascii_eolf.cpp
index c0016df14de850706cf4cbe9bc9c2e03fe0c4fc8..c6033080c516ba6b6eeebd9755511834f9067c6d 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_eolf.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_eolf.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_forty_two.cpp b/packages/PEGTL/src/test/pegtl/ascii_forty_two.cpp
index efcafff31a8e8f646a76f4651ddd5abad1b4822b..bf3edcbdc123c1b33e39f655f05cd15ec51f8d22 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_forty_two.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_forty_two.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_identifier.cpp b/packages/PEGTL/src/test/pegtl/ascii_identifier.cpp
index 2e97e5851660647a367a4e2cfdcea2661d791ecd..8c1a14b852f6d3ea69a194ff625f7eb6b80be8e6 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_identifier.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_identifier.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_istring.cpp b/packages/PEGTL/src/test/pegtl/ascii_istring.cpp
index a5a74e8b84e752222b5f373547ce64eaf63a9926..3f1b1ff09aa1aa19dffc33e55dc256d80baaeaa7 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_istring.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_istring.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_keyword.cpp b/packages/PEGTL/src/test/pegtl/ascii_keyword.cpp
index d4b6dd128622d17847510e9064d025c3865a53ad..5d384c5f120f3eb644533944031d14875058bef6 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_keyword.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_keyword.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_shebang.cpp b/packages/PEGTL/src/test/pegtl/ascii_shebang.cpp
index 3f030ee5e8f98bbe904a5e27789eb62df12b7153..71fc843daa3365e3c2eda3f4c7c7b7e273a87f00 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_shebang.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_shebang.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_string.cpp b/packages/PEGTL/src/test/pegtl/ascii_string.cpp
index 9712d3132c547be18520f65ee2e20000fef14527..e128dca6a002a1f92d10227996d37292da275207 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_string.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_string.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_three.cpp b/packages/PEGTL/src/test/pegtl/ascii_three.cpp
index 2b0b1c03e6e5bf6f6b9d220cceb3fde2c4ed5eb1..68a026debfec176c96238da99298b896669b1610 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_three.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_three.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/ascii_two.cpp b/packages/PEGTL/src/test/pegtl/ascii_two.cpp
index 5326620bdbfa59fca923239148bf68d82ea5d3b0..8c0ff00973cd87f0bf28eb3108aa3ac10e4d5a80 100644
--- a/packages/PEGTL/src/test/pegtl/ascii_two.cpp
+++ b/packages/PEGTL/src/test/pegtl/ascii_two.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/buffer_input.cpp b/packages/PEGTL/src/test/pegtl/buffer_input.cpp
index e5ab52ba1d502b34ec20923ea59787fe187e7fd3..eff7614e5f347d52cc942487ecf8856643f94e70 100644
--- a/packages/PEGTL/src/test/pegtl/buffer_input.cpp
+++ b/packages/PEGTL/src/test/pegtl/buffer_input.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <string>
 
diff --git a/packages/PEGTL/src/test/pegtl/change_action_and_state.cpp b/packages/PEGTL/src/test/pegtl/change_action_and_state.cpp
index a631f9dc02016cc9267d794f0a9032d08a7f0751..9cf3cce155c0ce5ab17966ad50bb2637f989fcf5 100644
--- a/packages/PEGTL/src/test/pegtl/change_action_and_state.cpp
+++ b/packages/PEGTL/src/test/pegtl/change_action_and_state.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/change_action_and_states.cpp b/packages/PEGTL/src/test/pegtl/change_action_and_states.cpp
index 4bd4f5ffec701333d7bd50767708fd342b77703d..9ea7faa781b2f2aad0ce01633e4e15908dc3d7e0 100644
--- a/packages/PEGTL/src/test/pegtl/change_action_and_states.cpp
+++ b/packages/PEGTL/src/test/pegtl/change_action_and_states.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/change_state.cpp b/packages/PEGTL/src/test/pegtl/change_state.cpp
index bc7840256a7f884b87841cbaad5df6d0d7390743..6061b9178cc9e0ec0a3e5ebcfa2182a5d8a051d8 100644
--- a/packages/PEGTL/src/test/pegtl/change_state.cpp
+++ b/packages/PEGTL/src/test/pegtl/change_state.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/change_states.cpp b/packages/PEGTL/src/test/pegtl/change_states.cpp
index 0dc0f533f90a15ffc727d496c6f348b4dcfcd405..64a4b27620d241d9e23d02860b8dd972e8a66773 100644
--- a/packages/PEGTL/src/test/pegtl/change_states.cpp
+++ b/packages/PEGTL/src/test/pegtl/change_states.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/check_bytes.cpp b/packages/PEGTL/src/test/pegtl/check_bytes.cpp
index b773abed9b0d168bc4502b779617a38a5a3051b0..d5dc2ad00eb8e9c666f352df8a9cf674f59aa021 100644
--- a/packages/PEGTL/src/test/pegtl/check_bytes.cpp
+++ b/packages/PEGTL/src/test/pegtl/check_bytes.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <tao/pegtl/contrib/check_bytes.hpp>
 
diff --git a/packages/PEGTL/src/test/pegtl/contains.cpp b/packages/PEGTL/src/test/pegtl/contains.cpp
index 68b24b73cd3a6e9cea1b3427028e25bd899aa9ad..ee1d9a6fb2a9b57d86c87af48d6fb966354c5d62 100644
--- a/packages/PEGTL/src/test/pegtl/contains.cpp
+++ b/packages/PEGTL/src/test/pegtl/contains.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <type_traits>
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_alphabet.cpp b/packages/PEGTL/src/test/pegtl/contrib_alphabet.cpp
index 1aac0e762a06e36dd7c209ab757578b57606c6b6..73fdecf224063ac5e1e0f3900b35c3b459238f72 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_alphabet.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_alphabet.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_analyze.cpp b/packages/PEGTL/src/test/pegtl/contrib_analyze.cpp
index fec49897a614ee73ee3f8a55b3271869ffdb376c..cce72b544c35918843e7707def84b4f28019709c 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_analyze.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_analyze.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/contrib_control_action.cpp b/packages/PEGTL/src/test/pegtl/contrib_control_action.cpp
index 8249dc6008be2fd76fb9058ff7f0d6d7b7dee987..512d1ba541fcccb93543b5c3b0cd3747497f9386 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_control_action.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_control_action.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <string>
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_coverage.cpp b/packages/PEGTL/src/test/pegtl/contrib_coverage.cpp
index c9661624facc95358e6635f51d73582b1ec2380c..b70954e24ec22f59ecf26775aa8d703e6461cd75 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_coverage.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_coverage.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_function.cpp b/packages/PEGTL/src/test/pegtl/contrib_function.cpp
index 3191981de18fbaa6830d203d75edb6969fb7b9ae..3455fe18cc4046c29bb47bfda689ff5dc2ce0e42 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_function.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_function.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_http.cpp b/packages/PEGTL/src/test/pegtl/contrib_http.cpp
index 3fb449d0ae3a17adbfe2694d302159a8775ab097..3bdb52d59c4fa9d9756b5ecf5189fb45da75d8b4 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_http.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_http.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/contrib_if_then.cpp b/packages/PEGTL/src/test/pegtl/contrib_if_then.cpp
index ceb60d6029c9ed7a41118699c6cb344b86c3ec45..b98a3ba598dababe65395bf4e85653b369373cc5 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_if_then.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_if_then.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_rule.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/contrib_instantiate.cpp b/packages/PEGTL/src/test/pegtl/contrib_instantiate.cpp
index fc85dec752d01633ddf3bf9f45642d84b4c896ea..86566822b095f1465fd9ca848e365c7c4bba89da 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_instantiate.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_instantiate.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_integer.cpp b/packages/PEGTL/src/test/pegtl/contrib_integer.cpp
index d08182a9c7e400aee001fde49d9c6ae5dc9fb9a9..f3441c0ea0e199e58083c8426d8589ef555def94 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_integer.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_integer.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
@@ -173,11 +174,11 @@ namespace TAO_PEGTL_NAMESPACE
       test_unsigned< unsigned char >( "000256" );
 
       test_signed< signed long long >( "0", 0 );
-      test_signed< signed long long >( (std::numeric_limits< signed long long >::max)() );
-      test_signed< signed long long >( (std::numeric_limits< signed long long >::min)() );
+      test_signed< signed long long >( ( std::numeric_limits< signed long long >::max )() );
+      test_signed< signed long long >( ( std::numeric_limits< signed long long >::min )() );
 
       test_unsigned< unsigned long long >( "0", 0 );
-      test_unsigned< unsigned long long >( (std::numeric_limits< unsigned long long >::max)() );
+      test_unsigned< unsigned long long >( ( std::numeric_limits< unsigned long long >::max )() );
 
       verify_rule< max_seq_rule< 0 > >( __LINE__, __FILE__, "a0b", result_type::success );
       verify_rule< max_seq_rule< 0 > >( __LINE__, __FILE__, "ab", result_type::local_failure );
diff --git a/packages/PEGTL/src/test/pegtl/contrib_iri.cpp b/packages/PEGTL/src/test/pegtl/contrib_iri.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..96890d71c3e66aa9f68db8f7c3f2486c99bcc890
--- /dev/null
+++ b/packages/PEGTL/src/test/pegtl/contrib_iri.cpp
@@ -0,0 +1,58 @@
+// Copyright (c) 2021 Kelvin Hammond
+// Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined( __cpp_exceptions )
+#include <iostream>
+int main()
+{
+   std::cout << "Exception support disabled, skipping test..." << std::endl;
+}
+#else
+
+#include "test.hpp"
+#include "verify_meta.hpp"
+#include "verify_rule.hpp"
+
+#include <tao/pegtl/contrib/iri.hpp>
+
+namespace TAO_PEGTL_NAMESPACE
+{
+   using GRAMMAR = must< iri::IRI, eof >;
+
+   void unit_test()
+   {
+      verify_analyze< GRAMMAR >( __LINE__, __FILE__, true, false );
+
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "https://en.wiktionary.org/wiki/%E1%BF%AC%CF%8C%CE%B4%CE%BF%CF%82", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "https://en.wiktionary.org/wiki/Ῥόδος", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "https://www.myfictionαlbank.com", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "ftp://ftp.is.co.za/rfc/rfc1808.txt", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "file:///C:/Users/Benutzer/Desktop/Uniform%20Resource%20Identifier.html", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "file:///etc/fstab", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "geo:48.33,14.122;u=22.5", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "ldap://[2001:db8::7]/c=GB?objectClass?one", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "gopher://gopher.floodgap.com", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "mailto:John.Doe@example.com", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "sip:911@pbx.mycompany.com", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "news:comp.infosystems.www.servers.unix", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "data:text/plain;charset=iso-8859-7,%be%fa%be", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "tel:+1-816-555-1212", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "telnet://192.0.2.16:80/", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "urn:oasis:names:specification:docbook:dtd:xml:4.1.2", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "git://github.com/rails/rails.git", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "crid://broadcaster.com/movies/BestActionMovieEver", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "http://nobody:password@example.org:8080/cgi-bin/script.php?action=submit&pageid=86392001#section_2", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "quake://480fps.com:26000/", result_type::success );
+      verify_rule< GRAMMAR >( __LINE__, __FILE__, "ftp://300.300.300.300/foo", result_type::success );  // 300.300.300.300 is a valid hostname!
+
+      TAO_PEGTL_TEST_THROWS( parse< GRAMMAR >( memory_input( "", "" ) ) );
+   }
+
+}  // namespace TAO_PEGTL_NAMESPACE
+
+#include "main.hpp"
+
+#endif
diff --git a/packages/PEGTL/src/test/pegtl/contrib_json.cpp b/packages/PEGTL/src/test/pegtl/contrib_json.cpp
index b7a2945b4253f004afc6f404bad043c01d7c3423..62cf3b778a657c90cfc029cc83b85d97773f61ad 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_json.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_json.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/contrib_parse_tree.cpp b/packages/PEGTL/src/test/pegtl/contrib_parse_tree.cpp
index 2bcd188518fb5a1e4349bf547194d545014aab37..04a8a0a797fae9a1b0967c25af2aa0fb9e8294ac 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_parse_tree.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_parse_tree.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_parse_tree_to_dot.cpp b/packages/PEGTL/src/test/pegtl/contrib_parse_tree_to_dot.cpp
index 98bc76f467799e524adf41a45760974a395fec29..517092ab26237f66b7d563e84c84aebcba0af72b 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_parse_tree_to_dot.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_parse_tree_to_dot.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_partial_trace.cpp b/packages/PEGTL/src/test/pegtl/contrib_partial_trace.cpp
index d4e829852fedabf84738d838efffd19813aae49e..1c8f1a97786d7e4632dc596a573eca742b202641 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_partial_trace.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_partial_trace.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_predicates.cpp b/packages/PEGTL/src/test/pegtl/contrib_predicates.cpp
index 0af55ea6249487986aa669d490afc13e3b443e1c..00403c330686cb07f8dcd52d86192314f0db2588 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_predicates.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_predicates.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/contrib_print.cpp b/packages/PEGTL/src/test/pegtl/contrib_print.cpp
index 8b19e150c32fd3b6c0ec51b7c7f5daa06a76d521..2c2bde7e73dca9565e4c44b1ffcbda2216208e57 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_print.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_print.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_raw_string.cpp b/packages/PEGTL/src/test/pegtl/contrib_raw_string.cpp
index f02f9bc666857746814364a11f4a42db6be4af76..ef6abda59265fd317fc3bded653ceb7559c6767d 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_raw_string.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_raw_string.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/contrib_remove_first_state.cpp b/packages/PEGTL/src/test/pegtl/contrib_remove_first_state.cpp
index bd2aedb94c297e6b1e848cd6d4a5eed29c25a7a9..c31ef5d40739576a07e59fcaad5db9a7a7e2bc07 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_remove_first_state.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_remove_first_state.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_remove_last_states.cpp b/packages/PEGTL/src/test/pegtl/contrib_remove_last_states.cpp
index 76dae2f5eabbde1bb755d861ea0bb0a03bdc0808..240c2abb0001d82c8e7dbc6596740900620c6f33 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_remove_last_states.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_remove_last_states.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_rep_one_min_max.cpp b/packages/PEGTL/src/test/pegtl/contrib_rep_one_min_max.cpp
index 2ee88f010e30eaecd2dae96365d1b7559451e044..69dd862afa5312d7ef385552e2dbf7a7d8ba1af3 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_rep_one_min_max.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_rep_one_min_max.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/contrib_rep_string.cpp b/packages/PEGTL/src/test/pegtl/contrib_rep_string.cpp
index 37b1b891e713ac4241adc14e80b12e1d1917b31b..91eda129eb8fc62b9a70c2caca00947cb4b02dc6 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_rep_string.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_rep_string.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_separated_seq.cpp b/packages/PEGTL/src/test/pegtl/contrib_separated_seq.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..1a47a5fbeddf3a2c826a5ab95c96f1086d56f1a3
--- /dev/null
+++ b/packages/PEGTL/src/test/pegtl/contrib_separated_seq.cpp
@@ -0,0 +1,25 @@
+// Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
+
+#include <tao/pegtl/contrib/separated_seq.hpp>
+
+#include <type_traits>
+
+// clang-format off
+struct A {};
+struct B {};
+struct C {};
+struct D {};
+
+struct S {};
+// clang-format on
+
+using namespace TAO_PEGTL_NAMESPACE;
+static_assert( std::is_base_of_v< internal::seq<>, separated_seq< S > > );
+static_assert( std::is_base_of_v< internal::seq< A >, separated_seq< S, A > > );
+static_assert( std::is_base_of_v< internal::seq< A, S, B >, separated_seq< S, A, B > > );
+static_assert( std::is_base_of_v< internal::seq< A, S, B, S, C, S, D >, separated_seq< S, A, B, C, D > > );
+
+int main()
+{}
diff --git a/packages/PEGTL/src/test/pegtl/contrib_state_control.cpp b/packages/PEGTL/src/test/pegtl/contrib_state_control.cpp
index 2a68ace18232645dfb6ed36f219c2b7ea8cc3f2d..7fc3b2b2929a904fe4c30efb1bd3fbc8e107a986 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_state_control.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_state_control.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/contrib_to_string.cpp b/packages/PEGTL/src/test/pegtl/contrib_to_string.cpp
index a956be930d82f62e4b3e9ff01dd03296f2fb6a0f..bd03ed78940f1abbf14f56d7abffd71c6c038717 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_to_string.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_to_string.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_trace1.cpp b/packages/PEGTL/src/test/pegtl/contrib_trace1.cpp
index 6a0212b023ad0cf91d4cd18427c3c485e727e401..31cc5c866e3d732f0c26a53276f534a1aca443f6 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_trace1.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_trace1.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_trace2.cpp b/packages/PEGTL/src/test/pegtl/contrib_trace2.cpp
index a8a35a6b0bc027d8c24bf9d1a324e208e5b7d913..90112f7e896c7a3af151d23d884cf9990ccc9621 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_trace2.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_trace2.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_unescape.cpp b/packages/PEGTL/src/test/pegtl/contrib_unescape.cpp
index 7b010b6b1b815e8bbf04c1cd8c90ce6325a2d45e..9efda4b9001406bcfd82d09cc5a6aedb25b01f89 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_unescape.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_unescape.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/contrib_uri.cpp b/packages/PEGTL/src/test/pegtl/contrib_uri.cpp
index 0d855035fe140dba5cb11528600f806f3c6d015d..9162abe33b8b81c83a92a0d468ff3f686fcbd1ff 100644
--- a/packages/PEGTL/src/test/pegtl/contrib_uri.cpp
+++ b/packages/PEGTL/src/test/pegtl/contrib_uri.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/control_unwind.cpp b/packages/PEGTL/src/test/pegtl/control_unwind.cpp
index b07dcdcccd91882f5db6d5514bc59ad6636e4ffc..468678e23268f6bd7d830d6f9a83a83cd4487acd 100644
--- a/packages/PEGTL/src/test/pegtl/control_unwind.cpp
+++ b/packages/PEGTL/src/test/pegtl/control_unwind.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/data_cstring.cpp b/packages/PEGTL/src/test/pegtl/data_cstring.cpp
index fc1e5c270c48c1b833781650b3def2e6ed342fe7..f8e86171e85e0e00ac5ec5a0b0c706eb6097e222 100644
--- a/packages/PEGTL/src/test/pegtl/data_cstring.cpp
+++ b/packages/PEGTL/src/test/pegtl/data_cstring.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/demangle.cpp b/packages/PEGTL/src/test/pegtl/demangle.cpp
index c1ae7396e4c798e478f09547163bf4c54fd8c766..b7acf79c27f62ec3e8f1058213f34e29e284b7ac 100644
--- a/packages/PEGTL/src/test/pegtl/demangle.cpp
+++ b/packages/PEGTL/src/test/pegtl/demangle.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/discard_input.cpp b/packages/PEGTL/src/test/pegtl/discard_input.cpp
index 996d75c8a86512cf30ed192920c3212031f696a4..3dac97076d12635e3cb8ea9f209b262a3aedd043 100644
--- a/packages/PEGTL/src/test/pegtl/discard_input.cpp
+++ b/packages/PEGTL/src/test/pegtl/discard_input.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <string>
 
diff --git a/packages/PEGTL/src/test/pegtl/enable_control.cpp b/packages/PEGTL/src/test/pegtl/enable_control.cpp
index 29c76c1379a51cb120d4f3bcaee0b8dcc9a58a62..49429e39142d7a05b5074af83a41b5300e118dda 100644
--- a/packages/PEGTL/src/test/pegtl/enable_control.cpp
+++ b/packages/PEGTL/src/test/pegtl/enable_control.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <tao/pegtl.hpp>
 
diff --git a/packages/PEGTL/src/test/pegtl/error_message.cpp b/packages/PEGTL/src/test/pegtl/error_message.cpp
index d701fc24afaafc966c037ed1617b2e9559e810e7..220cfbc5292fb517020a67b5f256e5ad643ea3fd 100644
--- a/packages/PEGTL/src/test/pegtl/error_message.cpp
+++ b/packages/PEGTL/src/test/pegtl/error_message.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/file_cstream.cpp b/packages/PEGTL/src/test/pegtl/file_cstream.cpp
index 93051028300e02b64231ee21f0fb8bbba8427969..d51dbd2b08f669e6a1edda1b18f82219fc8ab656 100644
--- a/packages/PEGTL/src/test/pegtl/file_cstream.cpp
+++ b/packages/PEGTL/src/test/pegtl/file_cstream.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <clocale>
 #include <cstdio>
diff --git a/packages/PEGTL/src/test/pegtl/file_file.cpp b/packages/PEGTL/src/test/pegtl/file_file.cpp
index 61abd5e31a1e1a73ae8b8cc8f0e139088fdc455a..fcc20af53b7d42e61ae4362a2a409d8b469be792 100644
--- a/packages/PEGTL/src/test/pegtl/file_file.cpp
+++ b/packages/PEGTL/src/test/pegtl/file_file.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_file.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/file_istream.cpp b/packages/PEGTL/src/test/pegtl/file_istream.cpp
index 41d1a84eb74e99e265c149fd9c32041e1a0f9933..cb4e3cae24b090ec563cd5c19279bf2a326f4820 100644
--- a/packages/PEGTL/src/test/pegtl/file_istream.cpp
+++ b/packages/PEGTL/src/test/pegtl/file_istream.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <cerrno>
 #include <fstream>
diff --git a/packages/PEGTL/src/test/pegtl/file_mmap.cpp b/packages/PEGTL/src/test/pegtl/file_mmap.cpp
index e9fd5804d06db85350aeadb05ccde36859561c96..afa83d1c3a635c36122aae00ca22010fabf00bf1 100644
--- a/packages/PEGTL/src/test/pegtl/file_mmap.cpp
+++ b/packages/PEGTL/src/test/pegtl/file_mmap.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 // this include gives us _POSIX_MAPPED_FILES to test and mmap_input<> if it is set
 #include <tao/pegtl/file_input.hpp>
diff --git a/packages/PEGTL/src/test/pegtl/file_read.cpp b/packages/PEGTL/src/test/pegtl/file_read.cpp
index 4e2ee3bb7e15d15fedfe770cb2ca6812bd515dc4..963120e7d66733c080c98cfefa17a703d6934879 100644
--- a/packages/PEGTL/src/test/pegtl/file_read.cpp
+++ b/packages/PEGTL/src/test/pegtl/file_read.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_file.hpp"
diff --git "a/packages/PEGTL/src/test/pegtl/file_\303\244\303\266\303\274\360\235\204\236_data.txt" "b/packages/PEGTL/src/test/pegtl/file_\303\244\303\266\303\274\360\235\204\236_data.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..d1c7bba09c907f77a6eb263e90b8a5d5b7873a7e
--- /dev/null
+++ "b/packages/PEGTL/src/test/pegtl/file_\303\244\303\266\303\274\360\235\204\236_data.txt"
@@ -0,0 +1,11 @@
+dummy content
+dummy content
+dummy content
+dummy content
+dummy content
+dummy content
+dummy content
+dummy content
+dummy content
+dummy content
+dummy content
diff --git a/packages/PEGTL/src/test/pegtl/icu_general.cpp b/packages/PEGTL/src/test/pegtl/icu_general.cpp
index 7191cbbe4188c627ac35ee08505f51f91fa8dbc1..15e6e62cd7424d3c1c00687ea44675b607ae1c2e 100644
--- a/packages/PEGTL/src/test/pegtl/icu_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/icu_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/internal_endian.cpp b/packages/PEGTL/src/test/pegtl/internal_endian.cpp
index 50296fd176bab4dca5a457de3248e2834d072bd1..f1bb6b1cb57b838aea115e93aa0b424931a758e5 100644
--- a/packages/PEGTL/src/test/pegtl/internal_endian.cpp
+++ b/packages/PEGTL/src/test/pegtl/internal_endian.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <tao/pegtl/contrib/internal/endian.hpp>
 
diff --git a/packages/PEGTL/src/test/pegtl/internal_file_mapper.cpp b/packages/PEGTL/src/test/pegtl/internal_file_mapper.cpp
index 322aec8ba0fa8b7763ef4449882b08782e312130..94f6e3f5bf94eb71c1e4e0bbdbb6e0dd0e653e91 100644
--- a/packages/PEGTL/src/test/pegtl/internal_file_mapper.cpp
+++ b/packages/PEGTL/src/test/pegtl/internal_file_mapper.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions ) || !defined( _POSIX_MAPPED_FILES )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/internal_file_opener.cpp b/packages/PEGTL/src/test/pegtl/internal_file_opener.cpp
index cea22c2271399fce03ae4f8dad545bf8468d111d..1ca75d9609c386e2fd1945b25c24868d29fb5b94 100644
--- a/packages/PEGTL/src/test/pegtl/internal_file_opener.cpp
+++ b/packages/PEGTL/src/test/pegtl/internal_file_opener.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions ) || !defined( _POSIX_MAPPED_FILES )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/limit_bytes.cpp b/packages/PEGTL/src/test/pegtl/limit_bytes.cpp
index 94e66c3f69bebc1748b9d86a322ee5518012492c..f376ad835650bd77f27cd284bf3323ef11bb7afa 100644
--- a/packages/PEGTL/src/test/pegtl/limit_bytes.cpp
+++ b/packages/PEGTL/src/test/pegtl/limit_bytes.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <tao/pegtl/contrib/limit_bytes.hpp>
 
diff --git a/packages/PEGTL/src/test/pegtl/limit_depth.cpp b/packages/PEGTL/src/test/pegtl/limit_depth.cpp
index 8fb1b2713c3091278d716a4857a9f34e3e1f2fe4..3f9df51639fef2d3eef3d5414845fd29c4163666 100644
--- a/packages/PEGTL/src/test/pegtl/limit_depth.cpp
+++ b/packages/PEGTL/src/test/pegtl/limit_depth.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <tao/pegtl/contrib/limit_depth.hpp>
 
diff --git a/packages/PEGTL/src/test/pegtl/main.hpp b/packages/PEGTL/src/test/pegtl/main.hpp
index f216e73dc4bbfe40be8f883eaa81a97bee648c26..cb09aebbe7c1832dce27c9f46c8a370d97a3ef47 100644
--- a/packages/PEGTL/src/test/pegtl/main.hpp
+++ b/packages/PEGTL/src/test/pegtl/main.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_MAIN_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_MAIN_HPP
diff --git a/packages/PEGTL/src/test/pegtl/parse_error.cpp b/packages/PEGTL/src/test/pegtl/parse_error.cpp
index 6141e3efc7549ac1e48e8de36cb33ec5dcacd2cc..7fda8f61eea8ab51a9b077e7b8791097aba6e442 100644
--- a/packages/PEGTL/src/test/pegtl/parse_error.cpp
+++ b/packages/PEGTL/src/test/pegtl/parse_error.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/pegtl_string_t.cpp b/packages/PEGTL/src/test/pegtl/pegtl_string_t.cpp
index ff3cc3ac8498e245134c5cc775803c2d548b49a8..41147a373d26bdb40c23f3cf6f600b544e212293 100644
--- a/packages/PEGTL/src/test/pegtl/pegtl_string_t.cpp
+++ b/packages/PEGTL/src/test/pegtl/pegtl_string_t.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <type_traits>
 
diff --git a/packages/PEGTL/src/test/pegtl/position.cpp b/packages/PEGTL/src/test/pegtl/position.cpp
index 666f182ab5bf79f2ab98ebfa07705a68cc099eb1..60590e47492627cc48448d98308871d62dc046e5 100644
--- a/packages/PEGTL/src/test/pegtl/position.cpp
+++ b/packages/PEGTL/src/test/pegtl/position.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/restart_input.cpp b/packages/PEGTL/src/test/pegtl/restart_input.cpp
index 3cb964c88bc0019aa15c24201980b044659fcfa1..648d118289f8a425f61627e4ea9d2d9f206b6b43 100644
--- a/packages/PEGTL/src/test/pegtl/restart_input.cpp
+++ b/packages/PEGTL/src/test/pegtl/restart_input.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/result_type.hpp b/packages/PEGTL/src/test/pegtl/result_type.hpp
index 91b84a6e0906bb44bea4c375558d1537ea298705..9f8448f3e7de52869b388ab776d5e18101391415 100644
--- a/packages/PEGTL/src/test/pegtl/result_type.hpp
+++ b/packages/PEGTL/src/test/pegtl/result_type.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_RESULT_TYPE_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_RESULT_TYPE_HPP
diff --git a/packages/PEGTL/src/test/pegtl/rule_action.cpp b/packages/PEGTL/src/test/pegtl/rule_action.cpp
index cdaae0c7c4df719f4d45cba93636eaa0cb51af17..c9e5a9f600340fdbf1f9c7cf3e46fb8f1e11b3be 100644
--- a/packages/PEGTL/src/test/pegtl/rule_action.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_action.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_apply.cpp b/packages/PEGTL/src/test/pegtl/rule_apply.cpp
index 7c5082272d3380bbec89a75e933c4584d00c8a1d..6ae99f88a5b216b01eea245915289baeda386896 100644
--- a/packages/PEGTL/src/test/pegtl/rule_apply.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_apply.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_apply0.cpp b/packages/PEGTL/src/test/pegtl/rule_apply0.cpp
index 678c424dd19fabf5df9f6b74823e6314656d5d8d..2c4fdfffe86bfe68f384ab84b53355d8a7b74fa3 100644
--- a/packages/PEGTL/src/test/pegtl/rule_apply0.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_apply0.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_at.cpp b/packages/PEGTL/src/test/pegtl/rule_at.cpp
index 8d24f4e217fdcc1105129a1d5d49637355cdfc54..996081fda56252f71c57de571a4ade36b4bc0f12 100644
--- a/packages/PEGTL/src/test/pegtl/rule_at.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_at.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_bof.cpp b/packages/PEGTL/src/test/pegtl/rule_bof.cpp
index e7e563ee7999af7fbd2ea856e67a139531d5baf6..7462e560b4edfeec65c4ae2960a58790beef7875 100644
--- a/packages/PEGTL/src/test/pegtl/rule_bof.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_bof.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_bol.cpp b/packages/PEGTL/src/test/pegtl/rule_bol.cpp
index 34c63020bcedddef349c9428aab458df37b93ef0..837fcc331eebf5a82b9f6703c781d331470086f4 100644
--- a/packages/PEGTL/src/test/pegtl/rule_bol.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_bol.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_bytes.cpp b/packages/PEGTL/src/test/pegtl/rule_bytes.cpp
index 2caa4834a28deb9ba00c0b2ca4830030fd961f3d..806640778857cfa885171e8a6046d8eb6f71c86d 100644
--- a/packages/PEGTL/src/test/pegtl/rule_bytes.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_bytes.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_control.cpp b/packages/PEGTL/src/test/pegtl/rule_control.cpp
index baaef260eab0c59bb4ab438ddb156993fd5b5757..1b69ebd453c300e8de8cb37ce0543f3985b0e9a8 100644
--- a/packages/PEGTL/src/test/pegtl/rule_control.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_control.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_disable.cpp b/packages/PEGTL/src/test/pegtl/rule_disable.cpp
index acbbb9f3f1a9a0832f878b86557a07579468bbb7..65570121b73fad4b103dae193cbb019180f982cc 100644
--- a/packages/PEGTL/src/test/pegtl/rule_disable.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_disable.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_discard.cpp b/packages/PEGTL/src/test/pegtl/rule_discard.cpp
index 8e5b93d1e408edd016a1668c37e8522054244f3e..bce896337e55c24232496ef593ef926c1277cc5b 100644
--- a/packages/PEGTL/src/test/pegtl/rule_discard.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_discard.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_enable.cpp b/packages/PEGTL/src/test/pegtl/rule_enable.cpp
index 9741545fe7390a753566f0b04b6ddb43fcb26c1b..63c4d1560339faaa290c9ead46c2b82517340528 100644
--- a/packages/PEGTL/src/test/pegtl/rule_enable.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_enable.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_eof.cpp b/packages/PEGTL/src/test/pegtl/rule_eof.cpp
index b5098b40cf178a1329d0fa27d21de660a1503b12..8ed986e9b6a6d40821811d8dbe061b74cac8bd26 100644
--- a/packages/PEGTL/src/test/pegtl/rule_eof.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_eof.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_failure.cpp b/packages/PEGTL/src/test/pegtl/rule_failure.cpp
index c1481d4d1d6c7d259fc00260553a31c514760434..19044b3446f767d1af60e7c46daf353d3486f8ab 100644
--- a/packages/PEGTL/src/test/pegtl/rule_failure.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_failure.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_if_apply.cpp b/packages/PEGTL/src/test/pegtl/rule_if_apply.cpp
index 803d08f49198cb038546262a20a77ef821e1f23c..74602f9a77e384c5dc69eb3266d3bbaa32de5755 100644
--- a/packages/PEGTL/src/test/pegtl/rule_if_apply.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_if_apply.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_seqs.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_if_must.cpp b/packages/PEGTL/src/test/pegtl/rule_if_must.cpp
index 6dd3754232ce1b333215ab30dc0cd496ae7920d8..13f7332ae56146a674760412432539bc0c494e85 100644
--- a/packages/PEGTL/src/test/pegtl/rule_if_must.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_if_must.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_if_must_else.cpp b/packages/PEGTL/src/test/pegtl/rule_if_must_else.cpp
index 0b7f370596405829571a99bdc956953e7a71c204..fa28715d0f1b4170f3607d94383a97e9820a0b27 100644
--- a/packages/PEGTL/src/test/pegtl/rule_if_must_else.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_if_must_else.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_if_then_else.cpp b/packages/PEGTL/src/test/pegtl/rule_if_then_else.cpp
index dc15f6fb0688e270487563f40fe501707caa2aa1..b1596f69085b28266f70d966bc52e8dcb7d1f2b2 100644
--- a/packages/PEGTL/src/test/pegtl/rule_if_then_else.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_if_then_else.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_ifmt.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_list.cpp b/packages/PEGTL/src/test/pegtl/rule_list.cpp
index 106942f6dcc348a55c45d7f0fa958b64bfc50160..2abf474ee895277bf3d88d7d6a0e11e9ea4c5c11 100644
--- a/packages/PEGTL/src/test/pegtl/rule_list.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_list.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_list_must.cpp b/packages/PEGTL/src/test/pegtl/rule_list_must.cpp
index 9de21172d522e07c5d71980b4965116b952f0708..0fab79e8a76524d455a32f45b3f39c0e9f052607 100644
--- a/packages/PEGTL/src/test/pegtl/rule_list_must.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_list_must.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_list_tail.cpp b/packages/PEGTL/src/test/pegtl/rule_list_tail.cpp
index d6e9dd59b8a507916550c7ca6e43f8506f286f18..41296111d8b3356af4771f20bd934d575e87d8ff 100644
--- a/packages/PEGTL/src/test/pegtl/rule_list_tail.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_list_tail.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_minus.cpp b/packages/PEGTL/src/test/pegtl/rule_minus.cpp
index 4fd5f5722022b4b29f0ab9238338fa0cc0bdeffc..66c37197343fe2a3376554d14dc0e94827d639ec 100644
--- a/packages/PEGTL/src/test/pegtl/rule_minus.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_minus.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2016-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_must.cpp b/packages/PEGTL/src/test/pegtl/rule_must.cpp
index f1d481132352e07f857cf5cd728a858934215f27..1065457c58dca1c5796bf9b15c6a88f27081fafa 100644
--- a/packages/PEGTL/src/test/pegtl/rule_must.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_must.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_not_at.cpp b/packages/PEGTL/src/test/pegtl/rule_not_at.cpp
index 77cc80fc64e807d35d24687accc75779df600218..aa5ba3b6641a13a1f2943f98887f149361e96c98 100644
--- a/packages/PEGTL/src/test/pegtl/rule_not_at.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_not_at.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_opt.cpp b/packages/PEGTL/src/test/pegtl/rule_opt.cpp
index c07d22a4f619d5031b42a118d054f1f7f1ad2892..f05a738b7514319540fd3bf6f03f075bebbe5065 100644
--- a/packages/PEGTL/src/test/pegtl/rule_opt.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_opt.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_opt_must.cpp b/packages/PEGTL/src/test/pegtl/rule_opt_must.cpp
index 5c1ce6e45daf75561ee38a232041913139276390..0adb157f657ccc8fb822782eab8d56c99bab3926 100644
--- a/packages/PEGTL/src/test/pegtl/rule_opt_must.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_opt_must.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_pad.cpp b/packages/PEGTL/src/test/pegtl/rule_pad.cpp
index 918b1c67b8e5c987b4362d568d66eb6c068b5e6e..2bbfc254b2294c58d678e30540717005fb450174 100644
--- a/packages/PEGTL/src/test/pegtl/rule_pad.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_pad.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_pad_opt.cpp b/packages/PEGTL/src/test/pegtl/rule_pad_opt.cpp
index 5ff4ded637a490f8e82cfb6d5b5df0d586c3454c..d21bb55d8ef48f307918216618941aa71e7db600 100644
--- a/packages/PEGTL/src/test/pegtl/rule_pad_opt.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_pad_opt.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_plus.cpp b/packages/PEGTL/src/test/pegtl/rule_plus.cpp
index d1a82ad3462177a93b7f34c6c64fb2b75463ff86..f0b0942d34399a8d700f7c234e54829f23cc628c 100644
--- a/packages/PEGTL/src/test/pegtl/rule_plus.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_plus.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_raise.cpp b/packages/PEGTL/src/test/pegtl/rule_raise.cpp
index 25a67c8136e84fa840775efba6f2487c7121f856..7eaa05d97f5cdb1bc7f73c8c0c19e2934fad116e 100644
--- a/packages/PEGTL/src/test/pegtl/rule_raise.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_raise.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_rematch.cpp b/packages/PEGTL/src/test/pegtl/rule_rematch.cpp
index 22fca401d93226b98e27ff5f0ee98858d50168a3..3c505d0b0cd627d47e4bd71d415edc9c64d260f1 100644
--- a/packages/PEGTL/src/test/pegtl/rule_rematch.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_rematch.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2019-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_rep.cpp b/packages/PEGTL/src/test/pegtl/rule_rep.cpp
index 7d7ef941f44228ffc9119e370c2d197cc6a1bc75..ce259438a70d88b1c3030ebaa95b4d1d47c6c614 100644
--- a/packages/PEGTL/src/test/pegtl/rule_rep.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_rep.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_rep_max.cpp b/packages/PEGTL/src/test/pegtl/rule_rep_max.cpp
index 0b4a2c0d2c0c767e1f00281350aababa89fd8e49..2ff63e9cc90302325b70e90ffd2f53302b89fa0c 100644
--- a/packages/PEGTL/src/test/pegtl/rule_rep_max.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_rep_max.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_rep_min.cpp b/packages/PEGTL/src/test/pegtl/rule_rep_min.cpp
index 8564aabbf972551159d06b6b3c2e2fb72e20db8d..614db7363e91a188c27cd03e8f38523e3b28b2be 100644
--- a/packages/PEGTL/src/test/pegtl/rule_rep_min.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_rep_min.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_rep_min_max.cpp b/packages/PEGTL/src/test/pegtl/rule_rep_min_max.cpp
index 95d3db6311e1eaa0efb867d53f439821d23d6e1e..ebf85c500b889a5df9b39322f85c1336b04cf7e1 100644
--- a/packages/PEGTL/src/test/pegtl/rule_rep_min_max.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_rep_min_max.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_rep_opt.cpp b/packages/PEGTL/src/test/pegtl/rule_rep_opt.cpp
index 0f5a6b6779f9b86fb9c5a0908c9d8a43e7ce3e57..c94a11ab7c0186463b1d714eea5e2b8d3b5f3917 100644
--- a/packages/PEGTL/src/test/pegtl/rule_rep_opt.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_rep_opt.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/rule_require.cpp b/packages/PEGTL/src/test/pegtl/rule_require.cpp
index e6598a4ee577bac69252a3997db216887a89a61d..b93e2e3a1c31ed9059de670ec98c3360a49697af 100644
--- a/packages/PEGTL/src/test/pegtl/rule_require.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_require.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2017-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_seq.cpp b/packages/PEGTL/src/test/pegtl/rule_seq.cpp
index b80f478b4bbcc85ab12208163b0f3fb4109216b6..f5eac6bbdbaad5755b2bbe5f62ec99885f3e569c 100644
--- a/packages/PEGTL/src/test/pegtl/rule_seq.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_seq.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_sor.cpp b/packages/PEGTL/src/test/pegtl/rule_sor.cpp
index ec4258c2c8f93c5735441b6828bad3fcc5702c0f..7d087cb73c1a279bfb1beff03e7f7d8d52a7f9a9 100644
--- a/packages/PEGTL/src/test/pegtl/rule_sor.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_sor.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_star.cpp b/packages/PEGTL/src/test/pegtl/rule_star.cpp
index c6f46e0001cca3de8950ea8a5bb3a0e8efa467aa..df7d63e08164efe27e35c2572c2d7a9fe0f04dde 100644
--- a/packages/PEGTL/src/test/pegtl/rule_star.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_star.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_star_must.cpp b/packages/PEGTL/src/test/pegtl/rule_star_must.cpp
index 20747861a808d444e93ffb956fd9f64ecf8e961d..6b22eac70ffe94e4180473135e29fa7d68374941 100644
--- a/packages/PEGTL/src/test/pegtl/rule_star_must.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_star_must.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_state.cpp b/packages/PEGTL/src/test/pegtl/rule_state.cpp
index 8d92565b91103aaf6675bed55e5aa21e55674aa2..f29701262982d0eb081acbc42725dbd792b09aa7 100644
--- a/packages/PEGTL/src/test/pegtl/rule_state.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_state.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_success.cpp b/packages/PEGTL/src/test/pegtl/rule_success.cpp
index cf810c685992cd7c41b2903472ea57ceaa43805f..03e0835369ed22bb8981190a6284b90acb729421 100644
--- a/packages/PEGTL/src/test/pegtl/rule_success.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_success.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/rule_try_catch.cpp b/packages/PEGTL/src/test/pegtl/rule_try_catch.cpp
index c9a5103045946788beb63bc1a66a5ffb7054d887..909cc77d9943b7c76d1259cd9da90ceeec3d225e 100644
--- a/packages/PEGTL/src/test/pegtl/rule_try_catch.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_try_catch.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #if !defined( __cpp_exceptions )
 #include <iostream>
diff --git a/packages/PEGTL/src/test/pegtl/rule_until.cpp b/packages/PEGTL/src/test/pegtl/rule_until.cpp
index 2d8c7faccdadfefb58824b1111b4ceb43aa495b4..12385c15a5ee30481d2118d1df11bd327d4ea8e5 100644
--- a/packages/PEGTL/src/test/pegtl/rule_until.cpp
+++ b/packages/PEGTL/src/test/pegtl/rule_until.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_meta.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/test.hpp b/packages/PEGTL/src/test/pegtl/test.hpp
index 95c6a59b36da917cfc19d5f97720ba6af3c2051a..e25635ee2c02fbfe6ced5f1cfcd1079e9ec611d0 100644
--- a/packages/PEGTL/src/test/pegtl/test.hpp
+++ b/packages/PEGTL/src/test/pegtl/test.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_TEST_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_TEST_HPP
diff --git a/packages/PEGTL/src/test/pegtl/test_empty.cpp b/packages/PEGTL/src/test/pegtl/test_empty.cpp
index b213f1ea81482c359ad0911c0daa12370a82a16c..bfc9967778d806fb6ee34979cba1ee8232a17c88 100644
--- a/packages/PEGTL/src/test/pegtl/test_empty.cpp
+++ b/packages/PEGTL/src/test/pegtl/test_empty.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 
diff --git a/packages/PEGTL/src/test/pegtl/test_result.cpp b/packages/PEGTL/src/test/pegtl/test_result.cpp
index 2bf7c5355c693e6c6e3473efb5bc3e289afead5f..86554fb558a4cad9e4a3fdb75af72188cee44082 100644
--- a/packages/PEGTL/src/test/pegtl/test_result.cpp
+++ b/packages/PEGTL/src/test/pegtl/test_result.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <sstream>
 
diff --git a/packages/PEGTL/src/test/pegtl/test_setup.cpp b/packages/PEGTL/src/test/pegtl/test_setup.cpp
index a6d87ed887155c48a31282948a19e32c9d3f5816..20c3737bfa10b1986bdca50114aeb613fc25cb75 100644
--- a/packages/PEGTL/src/test/pegtl/test_setup.cpp
+++ b/packages/PEGTL/src/test/pegtl/test_setup.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <iostream>
 #include <utility>
diff --git a/packages/PEGTL/src/test/pegtl/uint16_general.cpp b/packages/PEGTL/src/test/pegtl/uint16_general.cpp
index b1073af47f985541d612e2c3d4dfed8937feede3..134ecbb9baf87083b59a0b516cc1059d07d42a2f 100644
--- a/packages/PEGTL/src/test/pegtl/uint16_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/uint16_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/uint32_general.cpp b/packages/PEGTL/src/test/pegtl/uint32_general.cpp
index 18dfd34e6d5450f5c6e9325a71447e055f03e5ee..f5f259df1b85902578c1fcb058fdd2011322d8bd 100644
--- a/packages/PEGTL/src/test/pegtl/uint32_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/uint32_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/uint64_general.cpp b/packages/PEGTL/src/test/pegtl/uint64_general.cpp
index 54aba3821ce31a376b168940221aea6d7fb2c526..91daedb35648d9bef7a01ed482e5e4f92c31ffaf 100644
--- a/packages/PEGTL/src/test/pegtl/uint64_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/uint64_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/uint8_general.cpp b/packages/PEGTL/src/test/pegtl/uint8_general.cpp
index 211fd7399410bd8af471eaf0e89bcbe8b70afb38..ee6baff86d76ca5992d7171392a293c2a9761111 100644
--- a/packages/PEGTL/src/test/pegtl/uint8_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/uint8_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2018-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/utf16_general.cpp b/packages/PEGTL/src/test/pegtl/utf16_general.cpp
index 12461ca55093149fcd76f465ed54a43c75b9c4e6..7e32a8cce8a3e4de9d92dc00bc419fe98c885edb 100644
--- a/packages/PEGTL/src/test/pegtl/utf16_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/utf16_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2015-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_rule.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/utf32_general.cpp b/packages/PEGTL/src/test/pegtl/utf32_general.cpp
index c63a44dfeb1edc2a2c55663bd8a47a4eab8f5945..21895a9dfb3534c4a639c6a3c2d7d54a3cbc4876 100644
--- a/packages/PEGTL/src/test/pegtl/utf32_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/utf32_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_rule.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/utf8_general.cpp b/packages/PEGTL/src/test/pegtl/utf8_general.cpp
index c61663e1bf1a857480509cc452e595fac5557564..cab108dc67bfa4766f7b83f505a268eb5177cbd4 100644
--- a/packages/PEGTL/src/test/pegtl/utf8_general.cpp
+++ b/packages/PEGTL/src/test/pegtl/utf8_general.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include "test.hpp"
 #include "verify_char.hpp"
diff --git a/packages/PEGTL/src/test/pegtl/verify_char.hpp b/packages/PEGTL/src/test/pegtl/verify_char.hpp
index 4f48fabc0aca00da4f63137ccdcef7780ab01694..32290bc4f82a36d1bf4763c1a5d4bb11205fb122 100644
--- a/packages/PEGTL/src/test/pegtl/verify_char.hpp
+++ b/packages/PEGTL/src/test/pegtl/verify_char.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_CHAR_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_CHAR_HPP
diff --git a/packages/PEGTL/src/test/pegtl/verify_file.hpp b/packages/PEGTL/src/test/pegtl/verify_file.hpp
index c35c972488173d7559ec0fd719eba548fc6a3c68..b8a27230c97778eb286be3387d25dffb02b6efb9 100644
--- a/packages/PEGTL/src/test/pegtl/verify_file.hpp
+++ b/packages/PEGTL/src/test/pegtl/verify_file.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_FILE_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_FILE_HPP
diff --git a/packages/PEGTL/src/test/pegtl/verify_ifmt.hpp b/packages/PEGTL/src/test/pegtl/verify_ifmt.hpp
index c957693b54fe1492dafe2412eb1dc1e452433173..1dffef16e4b02cbfd93e8e6983cb0e14c5afbfcc 100644
--- a/packages/PEGTL/src/test/pegtl/verify_ifmt.hpp
+++ b/packages/PEGTL/src/test/pegtl/verify_ifmt.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_IFMT_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_IFMT_HPP
diff --git a/packages/PEGTL/src/test/pegtl/verify_impl.hpp b/packages/PEGTL/src/test/pegtl/verify_impl.hpp
index aecc70b1823ec8a0f63b3e855379f79f8b4badc5..6a4a93f898f08aa29558eb334bc0b0e4d11326df 100644
--- a/packages/PEGTL/src/test/pegtl/verify_impl.hpp
+++ b/packages/PEGTL/src/test/pegtl/verify_impl.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_IMPL_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_IMPL_HPP
diff --git a/packages/PEGTL/src/test/pegtl/verify_meta.hpp b/packages/PEGTL/src/test/pegtl/verify_meta.hpp
index e7350f132df2111ac520b6a088f73f355bfba0a0..40d871210d756f4c90579c75281d5420395bac56 100644
--- a/packages/PEGTL/src/test/pegtl/verify_meta.hpp
+++ b/packages/PEGTL/src/test/pegtl/verify_meta.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_META_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_META_HPP
diff --git a/packages/PEGTL/src/test/pegtl/verify_rule.hpp b/packages/PEGTL/src/test/pegtl/verify_rule.hpp
index 390a5a369ae670a094512aed100c9a611049f035..d24076b9d4eb38d08fa8b4b0d4be52c6e7238474 100644
--- a/packages/PEGTL/src/test/pegtl/verify_rule.hpp
+++ b/packages/PEGTL/src/test/pegtl/verify_rule.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_RULE_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_RULE_HPP
diff --git a/packages/PEGTL/src/test/pegtl/verify_seqs.hpp b/packages/PEGTL/src/test/pegtl/verify_seqs.hpp
index 1b01aad29e054acc426ae17be48db5854651c103..487c995276b64ccbd82fd75496229b6fa5289e9f 100644
--- a/packages/PEGTL/src/test/pegtl/verify_seqs.hpp
+++ b/packages/PEGTL/src/test/pegtl/verify_seqs.hpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2014-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_SEQS_HPP
 #define TAO_PEGTL_SRC_TEST_PEGTL_VERIFY_SEQS_HPP
diff --git a/packages/PEGTL/src/test/pegtl/visit.cpp b/packages/PEGTL/src/test/pegtl/visit.cpp
index 2bdcb86e2b0229a8f1bcdc6ec5b36f27b6b9640c..2b30442f05dcceaa0c7de9fba8b8d901de8e5a94 100644
--- a/packages/PEGTL/src/test/pegtl/visit.cpp
+++ b/packages/PEGTL/src/test/pegtl/visit.cpp
@@ -1,5 +1,6 @@
 // Copyright (c) 2020-2021 Dr. Colin Hirsch and Daniel Frey
-// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 
 #include <string>
 #include <vector>