New in KC3 v0.1.14 - pretty printer - auto indent KC3 code - map - `access` - `get` (get key value) - `put` (return a new map) - struct - `access` - `get` - `put` - facts database (triple store) accessible from KC3 - `new database (Ptr)` - `add_tags` - `collect_with` - `collect_with_tags` - `remove_tags` - `with_tags` - `with` - `with_macro` - HTTPd v0.2.0 - dynamic pages (MVC) - models are defined in `./app/models/` - controllers are defined in `./app/controllers/` - templates are defined in `./app/templates/` - views are defined in `./app/views/` - dynamic router is defined in `./config/router.kc3` - For now we don't match request method and just match the start of the URL with `Str.starts_with?(url, route.path)` - If there is no route or no controller or the controller does not return a HTTP response, a 404 error is returned. Other frameworks like Ruby on Rails or Phoenix do return a 500... - threads - `env_fork_init` - `env_fork_clean` - `Thread.new(fn)` - fx v0.2.0 - file explorer - preview files - text - image - video - audio - binary (hexdump -C) - properties - create - POST "/properties/*path" - delete - DELETE "/properties/*path
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
diff --git a/README.md b/README.md
index 2829dac..625ed2a 100644
--- a/README.md
+++ b/README.md
@@ -156,7 +156,7 @@ to discover how to use KC3 for your own projects.
- negative facts : 4 + 2n = not 3 + 2n
- with ignore variables
- math
- - arbitrary precision floating point numbers with base (decimals)
+ - arbitrary precision floating point numbers (decimals)
- enums
- unions
- errors (setjmp, longjmp)
diff --git a/kc3.index b/kc3.index
index 5d31334..aedbf1b 100644
--- a/kc3.index
+++ b/kc3.index
@@ -396,6 +396,7 @@ httpd/fx/app/views/fx_view.kc3
httpd/fx/app/views/layout_view.kc3
httpd/fx/assets/Makefile
httpd/fx/config/db.kc3
+httpd/fx/config/mime.types
httpd/fx/config/routes.kc3
httpd/fx/db/app.facts
httpd/httpd.c
@@ -1322,6 +1323,78 @@ test/httpd/config/db.kc3
test/httpd/config/mime.types
test/httpd/config/routes.kc3
test/httpd/db/app.facts
+test/httpd/doc
+test/httpd/pages
+test/httpd/pages/index.en.html
+test/httpd/pages/index.en.html~
+test/httpd/static
+test/httpd/static/_assets
+test/httpd/static/_assets/app.css
+test/httpd/static/_assets/app.css.map
+test/httpd/static/_assets/app.js
+test/httpd/static/_fonts
+test/httpd/static/_fonts/FontAwesome.otf
+test/httpd/static/_fonts/OpenSans-Bold.ttf
+test/httpd/static/_fonts/OpenSans-BoldItalic.ttf
+test/httpd/static/_fonts/OpenSans-CondensedBold.ttf
+test/httpd/static/_fonts/OpenSans-CondensedBoldItalic.ttf
+test/httpd/static/_fonts/OpenSans-CondensedExtraBold.ttf
+test/httpd/static/_fonts/OpenSans-CondensedExtraBoldItalic.ttf
+test/httpd/static/_fonts/OpenSans-CondensedItalic.ttf
+test/httpd/static/_fonts/OpenSans-CondensedLight.ttf
+test/httpd/static/_fonts/OpenSans-CondensedLightItalic.ttf
+test/httpd/static/_fonts/OpenSans-CondensedRegular.ttf
+test/httpd/static/_fonts/OpenSans-CondensedSemiBold.ttf
+test/httpd/static/_fonts/OpenSans-CondensedSemiBoldItalic.ttf
+test/httpd/static/_fonts/OpenSans-ExtraBold.ttf
+test/httpd/static/_fonts/OpenSans-ExtraBoldItalic.ttf
+test/httpd/static/_fonts/OpenSans-Italic.ttf
+test/httpd/static/_fonts/OpenSans-Light.ttf
+test/httpd/static/_fonts/OpenSans-LightItalic.ttf
+test/httpd/static/_fonts/OpenSans-Regular.ttf
+test/httpd/static/_fonts/OpenSans-SemiBold.ttf
+test/httpd/static/_fonts/OpenSans-SemiBoldItalic.ttf
+test/httpd/static/_fonts/computer_modern.woff
+test/httpd/static/_fonts/courier_new.woff
+test/httpd/static/_fonts/courier_new.woff2
+test/httpd/static/_fonts/fontawesome-webfont.woff
+test/httpd/static/_fonts/fontawesome-webfont.woff2
+test/httpd/static/_fonts/free-fa-brands-400.woff2
+test/httpd/static/_fonts/free-fa-solid-900.woff2
+test/httpd/static/_images
+test/httpd/static/_images/iris-kc3-004.jpeg
+test/httpd/static/_images/kc3.1.xcf
+test/httpd/static/_images/kc3.1080.jpg
+test/httpd/static/_images/kc3.1080.png
+test/httpd/static/_images/kc3.128.jpg
+test/httpd/static/_images/kc3.128.png
+test/httpd/static/_images/kc3.16.jpg
+test/httpd/static/_images/kc3.16.png
+test/httpd/static/_images/kc3.256.jpg
+test/httpd/static/_images/kc3.256.png
+test/httpd/static/_images/kc3.32.jpg
+test/httpd/static/_images/kc3.32.png
+test/httpd/static/_images/kc3.512.jpg
+test/httpd/static/_images/kc3.512.png
+test/httpd/static/_images/kc3.64.jpg
+test/httpd/static/_images/kc3.64.png
+test/httpd/static/_images/kc3.640.jpg
+test/httpd/static/_images/kc3.640.png
+test/httpd/static/_images/kc3.720.jpg
+test/httpd/static/_images/kc3.720.png
+test/httpd/static/_images/kc3.96.jpg
+test/httpd/static/_images/kc3.96.png
+test/httpd/static/_images/kc3.icns
+test/httpd/static/_images/kc3.xcf
+test/httpd/static/doc
+test/httpd/static/doc/.keep
+test/httpd/static/favicon.ico
+test/httpd/static/fx
+test/httpd/static/fx/.keep
+test/httpd/static/release
+test/httpd/static/test <&%>.html
+test/httpd/static/test.html
+test/httpd/static/test.txt
test/ident_test.c
test/ikc3/access.kc3
test/ikc3/access.out.expected
diff --git a/sources.mk b/sources.mk
index 71febb5..6dfba18 100644
--- a/sources.mk
+++ b/sources.mk
@@ -1082,6 +1082,7 @@ KC3_HTTPD_SOURCES = \
"httpd/fx/app/views/fx_view.kc3" \
"httpd/fx/app/views/layout_view.kc3" \
"httpd/fx/config/db.kc3" \
+ "httpd/fx/config/mime.types" \
"httpd/fx/config/routes.kc3" \
"httpd/fx/db/app.facts" \
"httpd/page/app/controllers/page_controller.kc3" \
@@ -1527,6 +1528,78 @@ KC3_TEST_HTTPD_SOURCES = \
"test/httpd/config/mime.types" \
"test/httpd/config/routes.kc3" \
"test/httpd/db/app.facts" \
+ "test/httpd/doc" \
+ "test/httpd/pages" \
+ "test/httpd/pages/index.en.html" \
+ "test/httpd/pages/index.en.html~" \
+ "test/httpd/static" \
+ "test/httpd/static/_assets" \
+ "test/httpd/static/_assets/app.css" \
+ "test/httpd/static/_assets/app.css.map" \
+ "test/httpd/static/_assets/app.js" \
+ "test/httpd/static/_fonts" \
+ "test/httpd/static/_fonts/FontAwesome.otf" \
+ "test/httpd/static/_fonts/OpenSans-Bold.ttf" \
+ "test/httpd/static/_fonts/OpenSans-BoldItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedBold.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedBoldItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedExtraBold.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedExtraBoldItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedLight.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedLightItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedRegular.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedSemiBold.ttf" \
+ "test/httpd/static/_fonts/OpenSans-CondensedSemiBoldItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-ExtraBold.ttf" \
+ "test/httpd/static/_fonts/OpenSans-ExtraBoldItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-Italic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-Light.ttf" \
+ "test/httpd/static/_fonts/OpenSans-LightItalic.ttf" \
+ "test/httpd/static/_fonts/OpenSans-Regular.ttf" \
+ "test/httpd/static/_fonts/OpenSans-SemiBold.ttf" \
+ "test/httpd/static/_fonts/OpenSans-SemiBoldItalic.ttf" \
+ "test/httpd/static/_fonts/computer_modern.woff" \
+ "test/httpd/static/_fonts/courier_new.woff" \
+ "test/httpd/static/_fonts/courier_new.woff2" \
+ "test/httpd/static/_fonts/fontawesome-webfont.woff" \
+ "test/httpd/static/_fonts/fontawesome-webfont.woff2" \
+ "test/httpd/static/_fonts/free-fa-brands-400.woff2" \
+ "test/httpd/static/_fonts/free-fa-solid-900.woff2" \
+ "test/httpd/static/_images" \
+ "test/httpd/static/_images/iris-kc3-004.jpeg" \
+ "test/httpd/static/_images/kc3.1.xcf" \
+ "test/httpd/static/_images/kc3.1080.jpg" \
+ "test/httpd/static/_images/kc3.1080.png" \
+ "test/httpd/static/_images/kc3.128.jpg" \
+ "test/httpd/static/_images/kc3.128.png" \
+ "test/httpd/static/_images/kc3.16.jpg" \
+ "test/httpd/static/_images/kc3.16.png" \
+ "test/httpd/static/_images/kc3.256.jpg" \
+ "test/httpd/static/_images/kc3.256.png" \
+ "test/httpd/static/_images/kc3.32.jpg" \
+ "test/httpd/static/_images/kc3.32.png" \
+ "test/httpd/static/_images/kc3.512.jpg" \
+ "test/httpd/static/_images/kc3.512.png" \
+ "test/httpd/static/_images/kc3.64.jpg" \
+ "test/httpd/static/_images/kc3.64.png" \
+ "test/httpd/static/_images/kc3.640.jpg" \
+ "test/httpd/static/_images/kc3.640.png" \
+ "test/httpd/static/_images/kc3.720.jpg" \
+ "test/httpd/static/_images/kc3.720.png" \
+ "test/httpd/static/_images/kc3.96.jpg" \
+ "test/httpd/static/_images/kc3.96.png" \
+ "test/httpd/static/_images/kc3.icns" \
+ "test/httpd/static/_images/kc3.xcf" \
+ "test/httpd/static/doc" \
+ "test/httpd/static/doc/.keep" \
+ "test/httpd/static/favicon.ico" \
+ "test/httpd/static/fx" \
+ "test/httpd/static/fx/.keep" \
+ "test/httpd/static/release" \
+ "test/httpd/static/test <&%>.html" \
+ "test/httpd/static/test.html" \
+ "test/httpd/static/test.txt" \
KC3_OTHER_SOURCES = \
"AUTHORS.md" \
diff --git a/sources.sh b/sources.sh
index 54ef1ad..fb1ddca 100644
--- a/sources.sh
+++ b/sources.sh
@@ -4,7 +4,7 @@ KC3_MAKEFILES='ekc3/Makefile ekc3/sources.mk event/Makefile event/sources.mk fs/
KC3_C_SOURCES='ekc3/ekc3.c ekc3/ekc3.h ekc3/html.c ekc3/html.h ekc3/types.h event/event.c event/event.h fs/OpenBSD/kc3fs.h fs/fuse/mount_kc3fs.c fs/fuse/types.h gtk4/action_map.c gtk4/action_map.h gtk4/application.c gtk4/application.h gtk4/application_window.c gtk4/application_window.h gtk4/box.c gtk4/box.h gtk4/button.c gtk4/button.h gtk4/entry.c gtk4/entry.h gtk4/entry_buffer.c gtk4/entry_buffer.h gtk4/file.c gtk4/file.h gtk4/frame.c gtk4/frame.h gtk4/kc3_glib.c gtk4/kc3_glib.h gtk4/kc3_gtk4.h gtk4/label.c gtk4/label.h gtk4/list_box.c gtk4/list_box.h gtk4/menu.c gtk4/menu.h gtk4/menu_item.c gtk4/menu_item.h gtk4/object.c gtk4/object.h gtk4/paned.c gtk4/paned.h gtk4/scrolled_window.c gtk4/scrolled_window.h gtk4/signal.c gtk4/signal.h gtk4/simple_action.c gtk4/simple_action.h gtk4/text.c gtk4/text.h gtk4/text_view.c gtk4/text_view.h gtk4/types.h gtk4/widget.c gtk4/widget.h gtk4/window.c gtk4/window.h http/http.c http/http.h http/http_request.c http/http_request.h http/http_response.c http/http_response.h http/mime_type.c http/mime_type.h http/types.h http/url.c http/url.h httpd/httpd.c httpd/httpd.h ikc3/buf_linenoise.c ikc3/buf_linenoise.h ikc3/buf_wineditline.c ikc3/buf_wineditline.h ikc3/ikc3.c ikc3/linenoise.c json/json.c json/json.h kc3c/c3c.c kc3s/buf_readline.c kc3s/buf_readline.h kc3s/kc3s.c libkc3/abs.c libkc3/abs.h libkc3/alist.c libkc3/alist.h libkc3/alloc.c libkc3/alloc.h libkc3/arg.c libkc3/arg.h libkc3/array.c libkc3/array.h libkc3/assert.h libkc3/binding.c libkc3/binding.h libkc3/block.c libkc3/block.h libkc3/bool.c libkc3/bool.h libkc3/buf.c libkc3/buf.h libkc3/buf_fd.c libkc3/buf_fd.h libkc3/buf_file.c libkc3/buf_file.h libkc3/buf_getc.c libkc3/buf_getc.h libkc3/buf_getchar.c libkc3/buf_getchar.h libkc3/buf_inspect.c libkc3/buf_inspect.h libkc3/buf_inspect_s.c.in libkc3/buf_inspect_s.h.in libkc3/buf_inspect_s16.c libkc3/buf_inspect_s16.h libkc3/buf_inspect_s16_binary.c libkc3/buf_inspect_s16_binary.h libkc3/buf_inspect_s16_decimal.c libkc3/buf_inspect_s16_decimal.h libkc3/buf_inspect_s16_hexadecimal.c libkc3/buf_inspect_s16_hexadecimal.h libkc3/buf_inspect_s16_octal.c libkc3/buf_inspect_s16_octal.h libkc3/buf_inspect_s32.c libkc3/buf_inspect_s32.h libkc3/buf_inspect_s32_binary.c libkc3/buf_inspect_s32_binary.h libkc3/buf_inspect_s32_decimal.c libkc3/buf_inspect_s32_decimal.h libkc3/buf_inspect_s32_hexadecimal.c libkc3/buf_inspect_s32_hexadecimal.h libkc3/buf_inspect_s32_octal.c libkc3/buf_inspect_s32_octal.h libkc3/buf_inspect_s64.c libkc3/buf_inspect_s64.h libkc3/buf_inspect_s64_binary.c libkc3/buf_inspect_s64_binary.h libkc3/buf_inspect_s64_decimal.c libkc3/buf_inspect_s64_decimal.h libkc3/buf_inspect_s64_hexadecimal.c libkc3/buf_inspect_s64_hexadecimal.h libkc3/buf_inspect_s64_octal.c libkc3/buf_inspect_s64_octal.h libkc3/buf_inspect_s8.c libkc3/buf_inspect_s8.h libkc3/buf_inspect_s8_binary.c libkc3/buf_inspect_s8_binary.h libkc3/buf_inspect_s8_decimal.c libkc3/buf_inspect_s8_decimal.h libkc3/buf_inspect_s8_hexadecimal.c libkc3/buf_inspect_s8_hexadecimal.h libkc3/buf_inspect_s8_octal.c libkc3/buf_inspect_s8_octal.h libkc3/buf_inspect_s_base.c.in libkc3/buf_inspect_s_base.h.in libkc3/buf_inspect_sw.c libkc3/buf_inspect_sw.h libkc3/buf_inspect_sw_binary.c libkc3/buf_inspect_sw_binary.h libkc3/buf_inspect_sw_decimal.c libkc3/buf_inspect_sw_decimal.h libkc3/buf_inspect_sw_hexadecimal.c libkc3/buf_inspect_sw_hexadecimal.h libkc3/buf_inspect_sw_octal.c libkc3/buf_inspect_sw_octal.h libkc3/buf_inspect_u.c.in libkc3/buf_inspect_u.h.in libkc3/buf_inspect_u16.c libkc3/buf_inspect_u16.h libkc3/buf_inspect_u16_binary.c libkc3/buf_inspect_u16_binary.h libkc3/buf_inspect_u16_decimal.c libkc3/buf_inspect_u16_decimal.h libkc3/buf_inspect_u16_hexadecimal.c libkc3/buf_inspect_u16_hexadecimal.h libkc3/buf_inspect_u16_octal.c libkc3/buf_inspect_u16_octal.h libkc3/buf_inspect_u32.c libkc3/buf_inspect_u32.h libkc3/buf_inspect_u32_binary.c libkc3/buf_inspect_u32_binary.h libkc3/buf_inspect_u32_decimal.c libkc3/buf_inspect_u32_decimal.h libkc3/buf_inspect_u32_hexadecimal.c libkc3/buf_inspect_u32_hexadecimal.h libkc3/buf_inspect_u32_octal.c libkc3/buf_inspect_u32_octal.h libkc3/buf_inspect_u64.c libkc3/buf_inspect_u64.h libkc3/buf_inspect_u64_binary.c libkc3/buf_inspect_u64_binary.h libkc3/buf_inspect_u64_decimal.c libkc3/buf_inspect_u64_decimal.h libkc3/buf_inspect_u64_hexadecimal.c libkc3/buf_inspect_u64_hexadecimal.h libkc3/buf_inspect_u64_octal.c libkc3/buf_inspect_u64_octal.h libkc3/buf_inspect_u8.c libkc3/buf_inspect_u8.h libkc3/buf_inspect_u8_binary.c libkc3/buf_inspect_u8_binary.h libkc3/buf_inspect_u8_decimal.c libkc3/buf_inspect_u8_decimal.h libkc3/buf_inspect_u8_hexadecimal.c libkc3/buf_inspect_u8_hexadecimal.h libkc3/buf_inspect_u8_octal.c libkc3/buf_inspect_u8_octal.h libkc3/buf_inspect_u_base.c.in libkc3/buf_inspect_u_base.h.in libkc3/buf_inspect_uw.c libkc3/buf_inspect_uw.h libkc3/buf_inspect_uw_binary.c libkc3/buf_inspect_uw_binary.h libkc3/buf_inspect_uw_decimal.c libkc3/buf_inspect_uw_decimal.h libkc3/buf_inspect_uw_hexadecimal.c libkc3/buf_inspect_uw_hexadecimal.h libkc3/buf_inspect_uw_octal.c libkc3/buf_inspect_uw_octal.h libkc3/buf_parse.c libkc3/buf_parse.h libkc3/buf_parse_s.c.in libkc3/buf_parse_s.h.in libkc3/buf_parse_s16.c libkc3/buf_parse_s16.h libkc3/buf_parse_s32.c libkc3/buf_parse_s32.h libkc3/buf_parse_s64.c libkc3/buf_parse_s64.h libkc3/buf_parse_s8.c libkc3/buf_parse_s8.h libkc3/buf_parse_sw.c libkc3/buf_parse_sw.h libkc3/buf_parse_u.c.in libkc3/buf_parse_u.h.in libkc3/buf_parse_u16.c libkc3/buf_parse_u16.h libkc3/buf_parse_u32.c libkc3/buf_parse_u32.h libkc3/buf_parse_u64.c libkc3/buf_parse_u64.h libkc3/buf_parse_u8.c libkc3/buf_parse_u8.h libkc3/buf_parse_uw.c libkc3/buf_parse_uw.h libkc3/buf_rw.c libkc3/buf_rw.h libkc3/buf_save.c libkc3/buf_save.h libkc3/call.c libkc3/call.h libkc3/callable.c libkc3/callable.h libkc3/cast.c libkc3/cast.h libkc3/ceiling.c libkc3/ceiling.h libkc3/cfn.c libkc3/cfn.h libkc3/character.c libkc3/character.h libkc3/compare.c libkc3/compare.h libkc3/complex.c libkc3/complex.h libkc3/cow.c libkc3/cow.h libkc3/crypt.c libkc3/crypt.h libkc3/crypt_sha512.c libkc3/data.c libkc3/data.h libkc3/deserialize.c libkc3/deserialize.h libkc3/env.c libkc3/env.h libkc3/env_fork.c libkc3/env_fork.h libkc3/error.c libkc3/error.h libkc3/error_handler.c libkc3/error_handler.h libkc3/eval.c libkc3/eval.h libkc3/explicit_bzero.h libkc3/f128.c libkc3/f128.h libkc3/f32.c libkc3/f32.h libkc3/f64.c libkc3/f64.h libkc3/fact.c libkc3/fact.h libkc3/fact_action.c libkc3/fact_action.h libkc3/fact_list.c libkc3/fact_list.h libkc3/facts.c libkc3/facts.h libkc3/facts_cursor.c libkc3/facts_cursor.h libkc3/facts_spec.c libkc3/facts_spec.h libkc3/facts_spec_cursor.c libkc3/facts_spec_cursor.h libkc3/facts_transaction.c libkc3/facts_transaction.h libkc3/facts_with.c libkc3/facts_with.h libkc3/facts_with_cursor.c libkc3/facts_with_cursor.h libkc3/fd.c libkc3/fd.h libkc3/file.c libkc3/file.h libkc3/float.h libkc3/fn.c libkc3/fn.h libkc3/fn_clause.c libkc3/fn_clause.h libkc3/frame.c libkc3/frame.h libkc3/hash.c libkc3/hash.h libkc3/ident.c libkc3/ident.h libkc3/inspect.c libkc3/inspect.h libkc3/integer.c libkc3/integer.h libkc3/io.c libkc3/io.h libkc3/kc3.c libkc3/kc3.h libkc3/kc3_main.h libkc3/license.c libkc3/list.c libkc3/list.h libkc3/list_init.c libkc3/list_init.h libkc3/log.c libkc3/log.h libkc3/map.c libkc3/map.h libkc3/module.c libkc3/module.h libkc3/mutex.c libkc3/mutex.h libkc3/operator.c libkc3/operator.h libkc3/pcomplex.c libkc3/pcomplex.h libkc3/pcow.c libkc3/pcow.h libkc3/pretty.c libkc3/pretty.h libkc3/ptag.c libkc3/ptag.h libkc3/ptr.c libkc3/ptr.h libkc3/ptr_free.c libkc3/ptr_free.h libkc3/queue.c libkc3/queue.h libkc3/quote.c libkc3/quote.h libkc3/ratio.c libkc3/ratio.h libkc3/rwlock.c libkc3/rwlock.h libkc3/s.c.in libkc3/s.h.in libkc3/s16.c libkc3/s16.h libkc3/s32.c libkc3/s32.h libkc3/s64.c libkc3/s64.h libkc3/s8.c libkc3/s8.h libkc3/sequence.c libkc3/sequence.h libkc3/serialize.c libkc3/serialize.h libkc3/set.c.in libkc3/set.h.in libkc3/set__fact.c libkc3/set__fact.h libkc3/set__tag.c libkc3/set__tag.h libkc3/set_cursor.c.in libkc3/set_cursor.h.in libkc3/set_cursor__fact.c libkc3/set_cursor__fact.h libkc3/set_cursor__tag.c libkc3/set_cursor__tag.h libkc3/set_item.c.in libkc3/set_item.h.in libkc3/set_item__fact.c libkc3/set_item__fact.h libkc3/set_item__tag.c libkc3/set_item__tag.h libkc3/sh.c libkc3/sh.h libkc3/sha1.c libkc3/sha1.h libkc3/sign.c libkc3/sign.h libkc3/skiplist.c.in libkc3/skiplist.h.in libkc3/skiplist__fact.c libkc3/skiplist__fact.h libkc3/skiplist_node.c.in libkc3/skiplist_node.h.in libkc3/skiplist_node__fact.c libkc3/skiplist_node__fact.h libkc3/special_operator.c libkc3/special_operator.h libkc3/str.c libkc3/str.h libkc3/struct.c libkc3/struct.h libkc3/struct_type.c libkc3/struct_type.h libkc3/sw.c libkc3/sw.h libkc3/sym.c libkc3/sym.h libkc3/tag.c libkc3/tag.h libkc3/tag_add.c libkc3/tag_addi.c libkc3/tag_band.c libkc3/tag_bnot.c libkc3/tag_bor.c libkc3/tag_bxor.c libkc3/tag_div.c libkc3/tag_init.c libkc3/tag_init.h libkc3/tag_mod.c libkc3/tag_mul.c libkc3/tag_neg.c libkc3/tag_shift_left.c libkc3/tag_shift_right.c libkc3/tag_sqrt.c libkc3/tag_sub.c libkc3/tag_type.c libkc3/tag_type.h libkc3/time.c libkc3/time.h libkc3/to_lisp.c libkc3/to_lisp.h libkc3/tuple.c libkc3/tuple.h libkc3/types.h libkc3/u.c.in libkc3/u.h.in libkc3/u16.c libkc3/u16.h libkc3/u32.c libkc3/u32.h libkc3/u64.c libkc3/u64.h libkc3/u8.c libkc3/u8.h libkc3/ucd.c libkc3/ucd.h libkc3/unquote.c libkc3/unquote.h libkc3/uw.c libkc3/uw.h libkc3/var.c libkc3/var.h libkc3/void.c libkc3/void.h libkc3/wait.c libkc3/wait.h markdown/entity.c markdown/entity.h markdown/markdown.c markdown/markdown.h markdown/md4c-html.c markdown/md4c-html.h markdown/md4c.c markdown/md4c.h smtp/kc3_smtp.c smtp/kc3_smtp.h smtp/smtp.c smtp/smtp.h smtp/types.h socket/socket.c socket/socket.h socket/socket_addr.c socket/socket_addr.h socket/socket_buf.c socket/socket_buf.h socket/types.h test/array_test.c test/bool_test.c test/buf_file_test.c test/buf_inspect_test.c test/buf_parse_test.c test/buf_parse_test.h test/buf_parse_test_s16.c test/buf_parse_test_s32.c test/buf_parse_test_s64.c test/buf_parse_test_s8.c test/buf_parse_test_su.h test/buf_parse_test_u16.c test/buf_parse_test_u32.c test/buf_parse_test_u64.c test/buf_parse_test_u8.c test/buf_test.c test/call_test.c test/cfn_test.c test/character_test.c test/compare_test.c test/compare_test.h test/env_test.c test/fact_test.c test/fact_test.h test/facts_cursor_test.c test/facts_test.c test/facts_with_test.c test/fn_test.c test/hash_test.c test/ident_test.c test/inspect_test.c test/libkc3_test.c test/list_test.c test/ratio_test.c test/set__fact_test.c test/set__tag_test.c test/skiplist__fact_test.c test/str_test.c test/struct_test.c test/sym_test.c test/tag_test.c test/tag_test.h test/test.c test/test.h test/tuple_test.c test/types_test.c ucd2c/ucd.h ucd2c/ucd2c.c window/cairo/cairo_font.c window/cairo/cairo_font.h window/cairo/cairo_sprite.c window/cairo/cairo_sprite.h window/cairo/cairo_text.c window/cairo/cairo_text.h window/cairo/demo/bg_rect.c window/cairo/demo/bg_rect.h window/cairo/demo/flies.c window/cairo/demo/flies.h window/cairo/demo/lightspeed.c window/cairo/demo/lightspeed.h window/cairo/demo/mandelbrot_f128.c window/cairo/demo/mandelbrot_f128.h window/cairo/demo/toasters.c window/cairo/demo/toasters.h window/cairo/demo/window_cairo_demo.c window/cairo/demo/window_cairo_demo.h window/cairo/quartz/demo/window_cairo_quartz_demo.c window/cairo/quartz/quartz_to_xkbcommon.c window/cairo/quartz/quartz_to_xkbcommon.h window/cairo/quartz/window_cairo_quartz.h window/cairo/quartz/window_cairo_quartz_app_delegate.h window/cairo/quartz/window_cairo_quartz_view.h window/cairo/quartz/window_cairo_quartz_view_controller.h window/cairo/quartz/xkbquartz.h window/cairo/types.h window/cairo/win32/demo/window_cairo_win32_demo.c window/cairo/win32/vk_to_xkbcommon.c window/cairo/win32/vk_to_xkbcommon.h window/cairo/win32/window_cairo_win32.c window/cairo/win32/window_cairo_win32.h window/cairo/window_cairo.c window/cairo/window_cairo.h window/cairo/xcb/demo/window_cairo_xcb_demo.c window/cairo/xcb/window_cairo_xcb.c window/cairo/xcb/window_cairo_xcb.h window/sdl2/demo/bg_rect.c window/sdl2/demo/bg_rect.h window/sdl2/demo/earth.c window/sdl2/demo/earth.h window/sdl2/demo/flies.c window/sdl2/demo/flies.h window/sdl2/demo/lightspeed.c window/sdl2/demo/lightspeed.h window/sdl2/demo/mandelbrot_f128.c window/sdl2/demo/mandelbrot_f128.h window/sdl2/demo/matrix.c window/sdl2/demo/matrix.h window/sdl2/demo/toasters.c window/sdl2/demo/toasters.h window/sdl2/demo/window_sdl2_demo.c window/sdl2/demo/window_sdl2_demo.h window/sdl2/disabled/mandelbrot.c window/sdl2/disabled/mandelbrot.h window/sdl2/disabled/sdl2_font.c window/sdl2/disabled/sdl2_font.h window/sdl2/disabled/sdl2_sprite.c window/sdl2/disabled/sdl2_sprite.h window/sdl2/dmat3.h window/sdl2/dmat4.c window/sdl2/dmat4.h window/sdl2/dvec2.c window/sdl2/dvec2.h window/sdl2/dvec3.c window/sdl2/dvec3.h window/sdl2/gl_camera.c window/sdl2/gl_camera.h window/sdl2/gl_cylinder.c window/sdl2/gl_cylinder.h window/sdl2/gl_deprecated.c window/sdl2/gl_deprecated.h window/sdl2/gl_font.c window/sdl2/gl_font.h window/sdl2/gl_lines.c window/sdl2/gl_lines.h window/sdl2/gl_object.c window/sdl2/gl_object.h window/sdl2/gl_ortho.c window/sdl2/gl_ortho.h window/sdl2/gl_sphere.c window/sdl2/gl_sphere.h window/sdl2/gl_sprite.c window/sdl2/gl_sprite.h window/sdl2/gl_square.c window/sdl2/gl_square.h window/sdl2/gl_text.c window/sdl2/gl_text.h window/sdl2/gl_triangle.c window/sdl2/gl_triangle.h window/sdl2/gl_vertex.c window/sdl2/gl_vertex.h window/sdl2/gl_vtext.c window/sdl2/gl_vtext.h window/sdl2/mat3.h window/sdl2/mat4.c window/sdl2/mat4.h window/sdl2/types.h window/sdl2/vec2.c window/sdl2/vec2.h window/sdl2/vec3.c window/sdl2/vec3.h window/sdl2/window_sdl2.c window/sdl2/window_sdl2.h window/types.h window/window.c window/window.h '
KC3_CXX_SOURCES='libkc3/std.cxx libkc3/std.hxx '
KC3_FONT_SOURCES='fonts/Computer Modern/cmunbl-webfont.ttf fonts/Computer Modern/cmunbl.otf fonts/Computer Modern/cmunbx-webfont.ttf fonts/Computer Modern/cmunbx.otf fonts/Computer Modern/cmunbxo-webfont.ttf fonts/Computer Modern/cmunbxo.otf fonts/Computer Modern/cmunrm-webfont.ttf fonts/Computer Modern/cmunrm.otf fonts/Computer Modern/cmunsi-webfont.ttf fonts/Computer Modern/cmunsi.otf fonts/Computer Modern/cmunsl-webfont.ttf fonts/Computer Modern/cmunsl.otf fonts/Computer Modern/cmunss-webfont.ttf fonts/Computer Modern/cmunss.otf fonts/Computer Modern/cmunsx-webfont.ttf fonts/Computer Modern/cmunsx.otf fonts/Courier New/Courier New.ttf fonts/Courier/fonts/OGCourier-Bold.otf fonts/Courier/fonts/OGCourier-Bold.ttf fonts/Courier/fonts/OGCourier-BoldItalic.otf fonts/Courier/fonts/OGCourier-BoldItalic.ttf fonts/Courier/fonts/OGCourier-Italic.otf fonts/Courier/fonts/OGCourier-Italic.ttf fonts/Courier/fonts/OGCourier.otf fonts/Courier/fonts/OGCourier.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Bold.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Bold.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-BoldItalic.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-BoldItalic.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Italic.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Italic.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Bold.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Bold.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-BoldItalic.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-BoldItalic.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Italic.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Italic.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash.ttf fonts/Courier/sfd/OGCourier-Bold.sfd.ttf fonts/Courier/sfd/OGCourier-BoldItalic.sfd.ttf fonts/Courier/sfd/OGCourier-Italic.sfd.ttf fonts/Courier/sfd/OGCourier.sfd.ttf fonts/Inter/InterVariable-Italic.ttf fonts/Inter/InterVariable.ttf fonts/Inter/extras/otf/Inter-Black.otf fonts/Inter/extras/otf/Inter-BlackItalic.otf fonts/Inter/extras/otf/Inter-Bold.otf fonts/Inter/extras/otf/Inter-BoldItalic.otf fonts/Inter/extras/otf/Inter-ExtraBold.otf fonts/Inter/extras/otf/Inter-ExtraBoldItalic.otf fonts/Inter/extras/otf/Inter-ExtraLight.otf fonts/Inter/extras/otf/Inter-ExtraLightItalic.otf fonts/Inter/extras/otf/Inter-Italic.otf fonts/Inter/extras/otf/Inter-Light.otf fonts/Inter/extras/otf/Inter-LightItalic.otf fonts/Inter/extras/otf/Inter-Medium.otf fonts/Inter/extras/otf/Inter-MediumItalic.otf fonts/Inter/extras/otf/Inter-Regular.otf fonts/Inter/extras/otf/Inter-SemiBold.otf fonts/Inter/extras/otf/Inter-SemiBoldItalic.otf fonts/Inter/extras/otf/Inter-Thin.otf fonts/Inter/extras/otf/Inter-ThinItalic.otf fonts/Inter/extras/otf/InterDisplay-Black.otf fonts/Inter/extras/otf/InterDisplay-BlackItalic.otf fonts/Inter/extras/otf/InterDisplay-Bold.otf fonts/Inter/extras/otf/InterDisplay-BoldItalic.otf fonts/Inter/extras/otf/InterDisplay-ExtraBold.otf fonts/Inter/extras/otf/InterDisplay-ExtraBoldItalic.otf fonts/Inter/extras/otf/InterDisplay-ExtraLight.otf fonts/Inter/extras/otf/InterDisplay-ExtraLightItalic.otf fonts/Inter/extras/otf/InterDisplay-Italic.otf fonts/Inter/extras/otf/InterDisplay-Light.otf fonts/Inter/extras/otf/InterDisplay-LightItalic.otf fonts/Inter/extras/otf/InterDisplay-Medium.otf fonts/Inter/extras/otf/InterDisplay-MediumItalic.otf fonts/Inter/extras/otf/InterDisplay-Regular.otf fonts/Inter/extras/otf/InterDisplay-SemiBold.otf fonts/Inter/extras/otf/InterDisplay-SemiBoldItalic.otf fonts/Inter/extras/otf/InterDisplay-Thin.otf fonts/Inter/extras/otf/InterDisplay-ThinItalic.otf fonts/Inter/extras/ttf/Inter-Black.ttf fonts/Inter/extras/ttf/Inter-BlackItalic.ttf fonts/Inter/extras/ttf/Inter-Bold.ttf fonts/Inter/extras/ttf/Inter-BoldItalic.ttf fonts/Inter/extras/ttf/Inter-ExtraBold.ttf fonts/Inter/extras/ttf/Inter-ExtraBoldItalic.ttf fonts/Inter/extras/ttf/Inter-ExtraLight.ttf fonts/Inter/extras/ttf/Inter-ExtraLightItalic.ttf fonts/Inter/extras/ttf/Inter-Italic.ttf fonts/Inter/extras/ttf/Inter-Light.ttf fonts/Inter/extras/ttf/Inter-LightItalic.ttf fonts/Inter/extras/ttf/Inter-Medium.ttf fonts/Inter/extras/ttf/Inter-MediumItalic.ttf fonts/Inter/extras/ttf/Inter-Regular.ttf fonts/Inter/extras/ttf/Inter-SemiBold.ttf fonts/Inter/extras/ttf/Inter-SemiBoldItalic.ttf fonts/Inter/extras/ttf/Inter-Thin.ttf fonts/Inter/extras/ttf/Inter-ThinItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Black.ttf fonts/Inter/extras/ttf/InterDisplay-BlackItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Bold.ttf fonts/Inter/extras/ttf/InterDisplay-BoldItalic.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraBold.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraBoldItalic.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraLight.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraLightItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Italic.ttf fonts/Inter/extras/ttf/InterDisplay-Light.ttf fonts/Inter/extras/ttf/InterDisplay-LightItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Medium.ttf fonts/Inter/extras/ttf/InterDisplay-MediumItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Regular.ttf fonts/Inter/extras/ttf/InterDisplay-SemiBold.ttf fonts/Inter/extras/ttf/InterDisplay-SemiBoldItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Thin.ttf fonts/Inter/extras/ttf/InterDisplay-ThinItalic.ttf fonts/Noto Sans/NotoSans-Black.ttf fonts/Noto Sans/NotoSans-BlackItalic.ttf fonts/Noto Sans/NotoSans-Bold.ttf fonts/Noto Sans/NotoSans-BoldItalic.ttf fonts/Noto Sans/NotoSans-ExtraBold.ttf fonts/Noto Sans/NotoSans-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans-ExtraLight.ttf fonts/Noto Sans/NotoSans-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans-Italic-VariableFont_wdth,wght.ttf fonts/Noto Sans/NotoSans-Italic.ttf fonts/Noto Sans/NotoSans-Light.ttf fonts/Noto Sans/NotoSans-LightItalic.ttf fonts/Noto Sans/NotoSans-Medium.ttf fonts/Noto Sans/NotoSans-MediumItalic.ttf fonts/Noto Sans/NotoSans-Regular.ttf fonts/Noto Sans/NotoSans-SemiBold.ttf fonts/Noto Sans/NotoSans-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans-Thin.ttf fonts/Noto Sans/NotoSans-ThinItalic.ttf fonts/Noto Sans/NotoSans-VariableFont_wdth,wght.ttf fonts/Noto Sans/NotoSans_Condensed-Black.ttf fonts/Noto Sans/NotoSans_Condensed-BlackItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Bold.ttf fonts/Noto Sans/NotoSans_Condensed-BoldItalic.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraBold.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraLight.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Italic.ttf fonts/Noto Sans/NotoSans_Condensed-Light.ttf fonts/Noto Sans/NotoSans_Condensed-LightItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Medium.ttf fonts/Noto Sans/NotoSans_Condensed-MediumItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Regular.ttf fonts/Noto Sans/NotoSans_Condensed-SemiBold.ttf fonts/Noto Sans/NotoSans_Condensed-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Thin.ttf fonts/Noto Sans/NotoSans_Condensed-ThinItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Black.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-BlackItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Bold.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-BoldItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraBold.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraLight.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Italic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Light.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-LightItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Medium.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-MediumItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Regular.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-SemiBold.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Thin.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ThinItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Black.ttf fonts/Noto Sans/NotoSans_SemiCondensed-BlackItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Bold.ttf fonts/Noto Sans/NotoSans_SemiCondensed-BoldItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraBold.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraLight.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Italic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Light.ttf fonts/Noto Sans/NotoSans_SemiCondensed-LightItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Medium.ttf fonts/Noto Sans/NotoSans_SemiCondensed-MediumItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Regular.ttf fonts/Noto Sans/NotoSans_SemiCondensed-SemiBold.ttf fonts/Noto Sans/NotoSans_SemiCondensed-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Thin.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ThinItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-Bold.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-BoldItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedBold.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedBoldItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedExtraBold.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedExtraBoldItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedLight.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedLightItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedRegular.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedSemiBold.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-CondensedSemiBoldItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-ExtraBold.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-ExtraBoldItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-Italic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-Light.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-LightItalic.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-Regular.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-SemiBold.ttf fonts/opensans/fonts/noto-set/ttf/OpenSans-SemiBoldItalic.ttf fonts/opensans/fonts/noto-set/variable/OpenSans-Italic[wdth,wght].ttf fonts/opensans/fonts/noto-set/variable/OpenSans[wdth,wght].ttf fonts/opensans/fonts/ttf/OpenSans-Bold.ttf fonts/opensans/fonts/ttf/OpenSans-BoldItalic.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedBold.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedBoldItalic.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedExtraBold.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedExtraBoldItalic.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedItalic.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedLight.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedLightItalic.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedRegular.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedSemiBold.ttf fonts/opensans/fonts/ttf/OpenSans-CondensedSemiBoldItalic.ttf fonts/opensans/fonts/ttf/OpenSans-ExtraBold.ttf fonts/opensans/fonts/ttf/OpenSans-ExtraBoldItalic.ttf fonts/opensans/fonts/ttf/OpenSans-Italic.ttf fonts/opensans/fonts/ttf/OpenSans-Light.ttf fonts/opensans/fonts/ttf/OpenSans-LightItalic.ttf fonts/opensans/fonts/ttf/OpenSans-Regular.ttf fonts/opensans/fonts/ttf/OpenSans-SemiBold.ttf fonts/opensans/fonts/ttf/OpenSans-SemiBoldItalic.ttf fonts/opensans/fonts/variable/OpenSans-Italic[wdth,wght].ttf fonts/opensans/fonts/variable/OpenSans[wdth,wght].ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg300wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg300wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg400wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg400wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg600wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg600wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg700wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg700wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg800wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic-wg800wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Italic.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg300wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg300wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg400wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg400wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg600wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg600wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg700wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg700wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg800wd100.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman-wg800wd75.ttf fonts/opensans/original source/TTF_VTT_source/OpenSans-Roman.ttf '
-KC3_HTTPD_SOURCES='httpd/fx/app/controllers/fx_controller.kc3 httpd/fx/app/models/fx.kc3 httpd/fx/app/templates/footer.html.ekc3 httpd/fx/app/templates/fx/index.html.ekc3 httpd/fx/app/templates/fx/menu.html.ekc3 httpd/fx/app/templates/fx/menu_index.html.ekc3 httpd/fx/app/templates/fx/nav2.html.ekc3 httpd/fx/app/templates/fx/properties.html.ekc3 httpd/fx/app/templates/fx/show.html.ekc3 httpd/fx/app/templates/fx/show_file.html.ekc3 httpd/fx/app/templates/layout.html.ekc3 httpd/fx/app/templates/nav.html.ekc3 httpd/fx/app/views/fx_view.kc3 httpd/fx/app/views/layout_view.kc3 httpd/fx/config/db.kc3 httpd/fx/config/routes.kc3 httpd/fx/db/app.facts httpd/page/app/controllers/page_controller.kc3 httpd/page/app/templates/page/menu.html.ekc3 httpd/page/app/templates/page/show.html.ekc3 httpd/page/app/views/page_view.kc3 '
+KC3_HTTPD_SOURCES='httpd/fx/app/controllers/fx_controller.kc3 httpd/fx/app/models/fx.kc3 httpd/fx/app/templates/footer.html.ekc3 httpd/fx/app/templates/fx/index.html.ekc3 httpd/fx/app/templates/fx/menu.html.ekc3 httpd/fx/app/templates/fx/menu_index.html.ekc3 httpd/fx/app/templates/fx/nav2.html.ekc3 httpd/fx/app/templates/fx/properties.html.ekc3 httpd/fx/app/templates/fx/show.html.ekc3 httpd/fx/app/templates/fx/show_file.html.ekc3 httpd/fx/app/templates/layout.html.ekc3 httpd/fx/app/templates/nav.html.ekc3 httpd/fx/app/views/fx_view.kc3 httpd/fx/app/views/layout_view.kc3 httpd/fx/config/db.kc3 httpd/fx/config/mime.types httpd/fx/config/routes.kc3 httpd/fx/db/app.facts httpd/page/app/controllers/page_controller.kc3 httpd/page/app/templates/page/menu.html.ekc3 httpd/page/app/templates/page/show.html.ekc3 httpd/page/app/views/page_view.kc3 '
KC3_IMG_SOURCES='img/earth.jpg img/earth.png img/flaps.256.png img/flaps.png img/fly-dead.png img/fly-noto.png img/iris-kc3-004.jpeg img/kc3.1.xcf img/kc3.1080.jpg img/kc3.1080.png img/kc3.128.jpg img/kc3.128.png img/kc3.16.jpg img/kc3.16.png img/kc3.256.jpg img/kc3.256.png img/kc3.32.jpg img/kc3.32.png img/kc3.512.jpg img/kc3.512.png img/kc3.64.jpg img/kc3.64.png img/kc3.640.jpg img/kc3.640.png img/kc3.720.jpg img/kc3.720.png img/kc3.96.jpg img/kc3.96.png img/kc3.iconset/icon_128x128.png img/kc3.iconset/icon_16x16.png img/kc3.iconset/icon_256x256.png img/kc3.iconset/icon_32x32.png img/kc3.iconset/icon_512x512.png img/kc3.iconset/icon_64x64.png img/kc3.xcf img/mandelbrot_f128_limit.1.png img/mandelbrot_f128_limit.2.png img/mandelbrot_f128_limit.3.png img/mandelbrot_f128_limit.png img/matrix_shade.png img/thodg_No_Prompt_073261d5-2c81-4b6e-9572-e0b840c55f1f.jpeg img/toast.128.png img/toast.png '
KC3_LIB_SOURCES='lib/kc3/0.1/alist.kc3 lib/kc3/0.1/array.kc3 lib/kc3/0.1/bool.facts lib/kc3/0.1/buf.kc3 lib/kc3/0.1/buf_rw.kc3 lib/kc3/0.1/compare.kc3 lib/kc3/0.1/complex.facts lib/kc3/0.1/cow.kc3 lib/kc3/0.1/crypt.kc3 lib/kc3/0.1/deserialize.kc3 lib/kc3/0.1/ekc3.kc3 lib/kc3/0.1/event.kc3 lib/kc3/0.1/f128.facts lib/kc3/0.1/f32.facts lib/kc3/0.1/f64.facts lib/kc3/0.1/fact.kc3 lib/kc3/0.1/fact_w.kc3 lib/kc3/0.1/facts.kc3 lib/kc3/0.1/facts/cursor.kc3 lib/kc3/0.1/fd.kc3 lib/kc3/0.1/file.kc3 lib/kc3/0.1/file/stat.kc3 lib/kc3/0.1/file_stat.kc3 lib/kc3/0.1/gl/dvec2.kc3 lib/kc3/0.1/gl/dvec3.kc3 lib/kc3/0.1/gl/object.kc3 lib/kc3/0.1/gl/sphere.kc3 lib/kc3/0.1/gl/triangle.kc3 lib/kc3/0.1/gl/vec2.kc3 lib/kc3/0.1/gl/vec3.kc3 lib/kc3/0.1/gl/vertex.kc3 lib/kc3/0.1/gtk4.kc3 lib/kc3/0.1/gtk4/action_map.kc3 lib/kc3/0.1/gtk4/application.kc3 lib/kc3/0.1/gtk4/application_window.kc3 lib/kc3/0.1/gtk4/box.kc3 lib/kc3/0.1/gtk4/button.kc3 lib/kc3/0.1/gtk4/entry.kc3 lib/kc3/0.1/gtk4/entry_buffer.kc3 lib/kc3/0.1/gtk4/file.kc3 lib/kc3/0.1/gtk4/frame.kc3 lib/kc3/0.1/gtk4/label.kc3 lib/kc3/0.1/gtk4/list_box.kc3 lib/kc3/0.1/gtk4/menu.kc3 lib/kc3/0.1/gtk4/menu_item.kc3 lib/kc3/0.1/gtk4/object.kc3 lib/kc3/0.1/gtk4/paned.kc3 lib/kc3/0.1/gtk4/scrolled_window.kc3 lib/kc3/0.1/gtk4/simple_action.kc3 lib/kc3/0.1/gtk4/text.kc3 lib/kc3/0.1/gtk4/text_view.kc3 lib/kc3/0.1/gtk4/widget.kc3 lib/kc3/0.1/gtk4/window.kc3 lib/kc3/0.1/html.kc3 lib/kc3/0.1/http.kc3 lib/kc3/0.1/http/request.kc3 lib/kc3/0.1/http/response.kc3 lib/kc3/0.1/httpd.kc3 lib/kc3/0.1/httpd/route.kc3 lib/kc3/0.1/integer.facts lib/kc3/0.1/json.kc3 lib/kc3/0.1/kc3.facts lib/kc3/0.1/kc3/operator.kc3 lib/kc3/0.1/list.kc3 lib/kc3/0.1/map.facts lib/kc3/0.1/markdown.kc3 lib/kc3/0.1/metric.kc3 lib/kc3/0.1/parse.kc3 lib/kc3/0.1/ptr.facts lib/kc3/0.1/ptr_free.facts lib/kc3/0.1/ratio.facts lib/kc3/0.1/rwlock.kc3 lib/kc3/0.1/s16.facts lib/kc3/0.1/s32.facts lib/kc3/0.1/s64.facts lib/kc3/0.1/s8.facts lib/kc3/0.1/serialize.kc3 lib/kc3/0.1/set.kc3 lib/kc3/0.1/set/fact.kc3 lib/kc3/0.1/set/item/fact.kc3 lib/kc3/0.1/set/item/tag.kc3 lib/kc3/0.1/set/tag.kc3 lib/kc3/0.1/sh.kc3 lib/kc3/0.1/smtp.kc3 lib/kc3/0.1/socket.kc3 lib/kc3/0.1/socket/addr.kc3 lib/kc3/0.1/socket/buf.kc3 lib/kc3/0.1/str.facts lib/kc3/0.1/struct.kc3 lib/kc3/0.1/sw.facts lib/kc3/0.1/sym.facts lib/kc3/0.1/tag.kc3 lib/kc3/0.1/thread.kc3 lib/kc3/0.1/time.kc3 lib/kc3/0.1/u16.facts lib/kc3/0.1/u32.facts lib/kc3/0.1/u64.facts lib/kc3/0.1/u8.facts lib/kc3/0.1/url.kc3 lib/kc3/0.1/uw.facts lib/kc3/0.1/var.facts lib/kc3/0.1/void.facts '
KC3_OBJC_SOURCES='window/cairo/quartz/window_cairo_quartz.m window/cairo/quartz/window_cairo_quartz_app_delegate.m window/cairo/quartz/window_cairo_quartz_view.m window/cairo/quartz/window_cairo_quartz_view_controller.m '
@@ -12,7 +12,7 @@ KC3_TEST_SOURCES='test/buf_parse_test_su.rb test/facts_test_dump_file.expected.f
KC3_TEST_IKC3_SOURCES='test/ikc3/access.kc3 test/ikc3/access.out.expected test/ikc3/access.ret.expected test/ikc3/array.err.expected test/ikc3/array.kc3 test/ikc3/array.out.expected test/ikc3/array.ret.expected test/ikc3/block.kc3 test/ikc3/block.out.expected test/ikc3/block.ret.expected test/ikc3/bool.err.expected test/ikc3/bool.kc3 test/ikc3/bool.out.expected test/ikc3/bool.ret.expected test/ikc3/buf.kc3 test/ikc3/buf.out.expected test/ikc3/buf.ret.expected test/ikc3/buf_rw.kc3 test/ikc3/buf_rw.out.expected test/ikc3/buf_rw.ret.expected test/ikc3/call.err.expected test/ikc3/call.kc3 test/ikc3/call.out.expected test/ikc3/call.ret.expected test/ikc3/cast.kc3 test/ikc3/cast.out.expected test/ikc3/cast.ret.expected test/ikc3/character.err.expected test/ikc3/character.kc3 test/ikc3/character.out.expected test/ikc3/character.ret.expected test/ikc3/comment.err.expected test/ikc3/comment.kc3 test/ikc3/comment.out.expected test/ikc3/comment.ret.expected test/ikc3/complex.kc3 test/ikc3/complex.out.expected test/ikc3/complex.ret.expected test/ikc3/cow.kc3 test/ikc3/cow.out.expected test/ikc3/cow.ret.expected test/ikc3/def.kc3 test/ikc3/def.out.expected test/ikc3/def.ret.expected test/ikc3/defmodule.kc3 test/ikc3/defmodule.out.expected test/ikc3/defmodule.ret.expected test/ikc3/defoperator.kc3 test/ikc3/defoperator.out.expected test/ikc3/defoperator.ret.expected test/ikc3/defstruct.kc3 test/ikc3/defstruct.out.expected test/ikc3/defstruct.ret.expected test/ikc3/equal.err.expected test/ikc3/equal.kc3 test/ikc3/equal.out.expected test/ikc3/equal.ret.expected test/ikc3/facts.kc3 test/ikc3/facts.out.expected test/ikc3/facts.ret.expected test/ikc3/facts_with.kc3 test/ikc3/facts_with.out.expected test/ikc3/facts_with.ret.expected test/ikc3/facts_with_tags.kc3 test/ikc3/facts_with_tags.out.expected test/ikc3/facts_with_tags.ret.expected test/ikc3/facts_with_tuple.kc3 test/ikc3/facts_with_tuple.out.expected test/ikc3/facts_with_tuple.ret.expected test/ikc3/fn.err.expected test/ikc3/fn.kc3 test/ikc3/fn.out.expected test/ikc3/fn.ret.expected test/ikc3/gl.kc3 test/ikc3/gl.out.expected test/ikc3/gl.ret.expected test/ikc3/globals.kc3 test/ikc3/globals.out.expected test/ikc3/globals.ret.expected test/ikc3/hello.err.expected test/ikc3/hello.kc3 test/ikc3/hello.out.expected test/ikc3/hello.ret.expected test/ikc3/ident.err.expected test/ikc3/ident.kc3 test/ikc3/ident.out.expected test/ikc3/ident.ret.expected test/ikc3/if.kc3 test/ikc3/if.out.expected test/ikc3/if.ret.expected test/ikc3/integer.kc3 test/ikc3/integer.lisp test/ikc3/integer.out.expected test/ikc3/integer.ret.expected test/ikc3/integer_add.kc3 test/ikc3/integer_add.out.expected test/ikc3/integer_add.ret.expected test/ikc3/integer_band.kc3 test/ikc3/integer_band.out.expected test/ikc3/integer_band.ret.expected test/ikc3/integer_bnot.kc3 test/ikc3/integer_bnot.out.expected test/ikc3/integer_bnot.ret.expected test/ikc3/integer_bor-2.kc3 test/ikc3/integer_bor-2.out.expected test/ikc3/integer_bor-2.ret.expected test/ikc3/integer_bxor.kc3 test/ikc3/integer_bxor.out.expected test/ikc3/integer_bxor.ret.expected test/ikc3/integer_div.kc3 test/ikc3/integer_div.out.expected test/ikc3/integer_div.ret.expected test/ikc3/integer_eq.kc3 test/ikc3/integer_eq.out.expected test/ikc3/integer_eq.ret.expected test/ikc3/integer_gt.kc3 test/ikc3/integer_gt.out.expected test/ikc3/integer_gt.ret.expected test/ikc3/integer_lt.kc3 test/ikc3/integer_lt.out.expected test/ikc3/integer_lt.ret.expected test/ikc3/integer_mod-2.kc3 test/ikc3/integer_mod-2.out.expected test/ikc3/integer_mod-2.ret.expected test/ikc3/integer_mul.kc3 test/ikc3/integer_mul.out.expected test/ikc3/integer_mul.ret.expected test/ikc3/integer_neg.kc3 test/ikc3/integer_neg.out.expected test/ikc3/integer_neg.ret.expected test/ikc3/integer_sub.kc3 test/ikc3/integer_sub.out.expected test/ikc3/integer_sub.ret.expected test/ikc3/let.kc3 test/ikc3/let.out.expected test/ikc3/let.ret.expected test/ikc3/list.err.expected test/ikc3/list.kc3 test/ikc3/list.out.expected test/ikc3/list.ret.expected test/ikc3/macro.kc3 test/ikc3/macro.out.expected test/ikc3/macro.ret.expected test/ikc3/map.kc3 test/ikc3/map.out.expected test/ikc3/map.ret.expected test/ikc3/op.err.expected test/ikc3/op.kc3 test/ikc3/op.out.expected test/ikc3/op.ret.expected test/ikc3/plist.err.expected test/ikc3/plist.kc3 test/ikc3/plist.out.expected test/ikc3/plist.ret.expected test/ikc3/puts.kc3 test/ikc3/puts.out.expected test/ikc3/puts.ret.expected test/ikc3/quote.kc3 test/ikc3/quote.out.expected test/ikc3/quote.ret.expected test/ikc3/ratio.kc3 test/ikc3/ratio.out.expected test/ikc3/ratio.ret.expected test/ikc3/sh.kc3 test/ikc3/sh.out.expected test/ikc3/sh.ret.expected test/ikc3/str.err.expected test/ikc3/str.kc3 test/ikc3/str.out.expected test/ikc3/str.ret.expected test/ikc3/struct.kc3 test/ikc3/struct.out.expected test/ikc3/struct.ret.expected test/ikc3/sym.err.expected test/ikc3/sym.kc3 test/ikc3/sym.out.expected test/ikc3/sym.ret.expected test/ikc3/thread.kc3 test/ikc3/thread.out.expected test/ikc3/thread.ret.expected test/ikc3/time.kc3 test/ikc3/time.out.expected test/ikc3/time.ret.expected test/ikc3/to_lisp.kc3 test/ikc3/to_lisp.out.expected test/ikc3/to_lisp.ret.expected test/ikc3/tuple.err.expected test/ikc3/tuple.kc3 test/ikc3/tuple.out.expected test/ikc3/tuple.ret.expected test/ikc3/var.kc3 test/ikc3/var.out.expected test/ikc3/var.ret.expected test/ikc3/void.kc3 test/ikc3/void.out.expected test/ikc3/void.ret.expected test/ikc3_test '
KC3_TEST_EKC3_SOURCES='test/ekc3/title.html.ekc3 test/ekc3/title.kc3 test/ekc3/title.out.expected test/ekc3/title.ret.expected test/ekc3_test '
KC3_TEST_HTTP_SOURCES='test/http/01_socket_buf.kc3 test/http/01_socket_buf.out.expected test/http/01_socket_buf.ret.expected test/http/02_socket.kc3 test/http/02_socket.out.expected test/http/02_socket.ret.expected test/http/03_client_server.kc3 test/http/03_client_server.out.expected test/http/03_client_server.ret.expected test/http/04_server_request.kc3 test/http/04_server_request.out.expected test/http/04_server_request.ret.expected test/http/05_response.kc3 test/http/05_response.out.expected test/http/05_response.ret.expected test/http/06_mime_types.kc3 test/http/06_mime_types.out.expected test/http/06_mime_types.ret.expected test/http/07_client_server.kc3 test/http/07_client_server.out.expected test/http/07_client_server.ret.expected test/http_test '
-KC3_TEST_HTTPD_SOURCES='test/httpd/app/controllers/doc_controller.kc3 test/httpd/app/controllers/page_controller.kc3 test/httpd/app/templates/doc/menu.html.ekc3 test/httpd/app/templates/doc/show.html.ekc3 test/httpd/app/templates/footer.html.ekc3 test/httpd/app/templates/layout.html.ekc3 test/httpd/app/templates/nav.html.ekc3 test/httpd/app/templates/page/menu.html.ekc3 test/httpd/app/templates/page/show.html.ekc3 test/httpd/app/views/doc_view.kc3 test/httpd/app/views/layout_view.kc3 test/httpd/app/views/page_view.kc3 test/httpd/assets/css/app.scss test/httpd/assets/css/computer_modern.scss test/httpd/assets/css/courier_new.scss test/httpd/assets/css/flash.scss test/httpd/assets/css/fontawesome-5.15.4-free-v4-font-face.scss test/httpd/assets/css/fontawesome-5.15.4-free-v4-shims.scss test/httpd/assets/css/fontawesome-5.15.4-free.scss test/httpd/assets/css/footer.scss test/httpd/assets/css/kc3.scss test/httpd/assets/css/kmx_colors.scss test/httpd/assets/css/pixel.scss test/httpd/assets/css/pygments.scss test/httpd/assets/js/app.js test/httpd/assets/js/kmx_anim.js test/httpd/assets/js/kmx_colors.js test/httpd/assets/js/pixel.js test/httpd/assets/package-lock.json test/httpd/assets/package.json test/httpd/config/db.kc3 test/httpd/config/mime.types test/httpd/config/routes.kc3 test/httpd/db/app.facts '
+KC3_TEST_HTTPD_SOURCES='test/httpd/app/controllers/doc_controller.kc3 test/httpd/app/controllers/page_controller.kc3 test/httpd/app/templates/doc/menu.html.ekc3 test/httpd/app/templates/doc/show.html.ekc3 test/httpd/app/templates/footer.html.ekc3 test/httpd/app/templates/layout.html.ekc3 test/httpd/app/templates/nav.html.ekc3 test/httpd/app/templates/page/menu.html.ekc3 test/httpd/app/templates/page/show.html.ekc3 test/httpd/app/views/doc_view.kc3 test/httpd/app/views/layout_view.kc3 test/httpd/app/views/page_view.kc3 test/httpd/assets/css/app.scss test/httpd/assets/css/computer_modern.scss test/httpd/assets/css/courier_new.scss test/httpd/assets/css/flash.scss test/httpd/assets/css/fontawesome-5.15.4-free-v4-font-face.scss test/httpd/assets/css/fontawesome-5.15.4-free-v4-shims.scss test/httpd/assets/css/fontawesome-5.15.4-free.scss test/httpd/assets/css/footer.scss test/httpd/assets/css/kc3.scss test/httpd/assets/css/kmx_colors.scss test/httpd/assets/css/pixel.scss test/httpd/assets/css/pygments.scss test/httpd/assets/js/app.js test/httpd/assets/js/kmx_anim.js test/httpd/assets/js/kmx_colors.js test/httpd/assets/js/pixel.js test/httpd/assets/package-lock.json test/httpd/assets/package.json test/httpd/config/db.kc3 test/httpd/config/mime.types test/httpd/config/routes.kc3 test/httpd/db/app.facts test/httpd/doc test/httpd/pages test/httpd/pages/index.en.html test/httpd/pages/index.en.html~ test/httpd/static test/httpd/static/_assets test/httpd/static/_assets/app.css test/httpd/static/_assets/app.css.map test/httpd/static/_assets/app.js test/httpd/static/_fonts test/httpd/static/_fonts/FontAwesome.otf test/httpd/static/_fonts/OpenSans-Bold.ttf test/httpd/static/_fonts/OpenSans-BoldItalic.ttf test/httpd/static/_fonts/OpenSans-CondensedBold.ttf test/httpd/static/_fonts/OpenSans-CondensedBoldItalic.ttf test/httpd/static/_fonts/OpenSans-CondensedExtraBold.ttf test/httpd/static/_fonts/OpenSans-CondensedExtraBoldItalic.ttf test/httpd/static/_fonts/OpenSans-CondensedItalic.ttf test/httpd/static/_fonts/OpenSans-CondensedLight.ttf test/httpd/static/_fonts/OpenSans-CondensedLightItalic.ttf test/httpd/static/_fonts/OpenSans-CondensedRegular.ttf test/httpd/static/_fonts/OpenSans-CondensedSemiBold.ttf test/httpd/static/_fonts/OpenSans-CondensedSemiBoldItalic.ttf test/httpd/static/_fonts/OpenSans-ExtraBold.ttf test/httpd/static/_fonts/OpenSans-ExtraBoldItalic.ttf test/httpd/static/_fonts/OpenSans-Italic.ttf test/httpd/static/_fonts/OpenSans-Light.ttf test/httpd/static/_fonts/OpenSans-LightItalic.ttf test/httpd/static/_fonts/OpenSans-Regular.ttf test/httpd/static/_fonts/OpenSans-SemiBold.ttf test/httpd/static/_fonts/OpenSans-SemiBoldItalic.ttf test/httpd/static/_fonts/computer_modern.woff test/httpd/static/_fonts/courier_new.woff test/httpd/static/_fonts/courier_new.woff2 test/httpd/static/_fonts/fontawesome-webfont.woff test/httpd/static/_fonts/fontawesome-webfont.woff2 test/httpd/static/_fonts/free-fa-brands-400.woff2 test/httpd/static/_fonts/free-fa-solid-900.woff2 test/httpd/static/_images test/httpd/static/_images/iris-kc3-004.jpeg test/httpd/static/_images/kc3.1.xcf test/httpd/static/_images/kc3.1080.jpg test/httpd/static/_images/kc3.1080.png test/httpd/static/_images/kc3.128.jpg test/httpd/static/_images/kc3.128.png test/httpd/static/_images/kc3.16.jpg test/httpd/static/_images/kc3.16.png test/httpd/static/_images/kc3.256.jpg test/httpd/static/_images/kc3.256.png test/httpd/static/_images/kc3.32.jpg test/httpd/static/_images/kc3.32.png test/httpd/static/_images/kc3.512.jpg test/httpd/static/_images/kc3.512.png test/httpd/static/_images/kc3.64.jpg test/httpd/static/_images/kc3.64.png test/httpd/static/_images/kc3.640.jpg test/httpd/static/_images/kc3.640.png test/httpd/static/_images/kc3.720.jpg test/httpd/static/_images/kc3.720.png test/httpd/static/_images/kc3.96.jpg test/httpd/static/_images/kc3.96.png test/httpd/static/_images/kc3.icns test/httpd/static/_images/kc3.xcf test/httpd/static/doc test/httpd/static/doc/.keep test/httpd/static/favicon.ico test/httpd/static/fx test/httpd/static/fx/.keep test/httpd/static/release test/httpd/static/test <&%>.html test/httpd/static/test.html test/httpd/static/test.txt '
KC3_OTHER_SOURCES='AUTHORS.md BUGS.md CONTRIBUTING.md ChangeLog.md LICENSE.md Makefile README.md config.subr configure env kc3.index kc3.version libkc3/tag_init.rb license.h sources.mk sources.sh '
KC3_EXTERNAL_SOURCES='libtommath/LICENSE libtommath/README.md libtommath/bn_cutoffs.c libtommath/bn_deprecated.c libtommath/bn_mp_2expt.c libtommath/bn_mp_abs.c libtommath/bn_mp_add.c libtommath/bn_mp_add_d.c libtommath/bn_mp_addmod.c libtommath/bn_mp_and.c libtommath/bn_mp_clamp.c libtommath/bn_mp_clear.c libtommath/bn_mp_clear_multi.c libtommath/bn_mp_cmp.c libtommath/bn_mp_cmp_d.c libtommath/bn_mp_cmp_mag.c libtommath/bn_mp_cnt_lsb.c libtommath/bn_mp_complement.c libtommath/bn_mp_copy.c libtommath/bn_mp_count_bits.c libtommath/bn_mp_decr.c libtommath/bn_mp_div.c libtommath/bn_mp_div_2.c libtommath/bn_mp_div_2d.c libtommath/bn_mp_div_3.c libtommath/bn_mp_div_d.c libtommath/bn_mp_dr_is_modulus.c libtommath/bn_mp_dr_reduce.c libtommath/bn_mp_dr_setup.c libtommath/bn_mp_error_to_string.c libtommath/bn_mp_exch.c libtommath/bn_mp_expt_u32.c libtommath/bn_mp_exptmod.c libtommath/bn_mp_exteuclid.c libtommath/bn_mp_fread.c libtommath/bn_mp_from_sbin.c libtommath/bn_mp_from_ubin.c libtommath/bn_mp_fwrite.c libtommath/bn_mp_gcd.c libtommath/bn_mp_get_double.c libtommath/bn_mp_get_i32.c libtommath/bn_mp_get_i64.c libtommath/bn_mp_get_l.c libtommath/bn_mp_get_ll.c libtommath/bn_mp_get_mag_u32.c libtommath/bn_mp_get_mag_u64.c libtommath/bn_mp_get_mag_ul.c libtommath/bn_mp_get_mag_ull.c libtommath/bn_mp_grow.c libtommath/bn_mp_incr.c libtommath/bn_mp_init.c libtommath/bn_mp_init_copy.c libtommath/bn_mp_init_i32.c libtommath/bn_mp_init_i64.c libtommath/bn_mp_init_l.c libtommath/bn_mp_init_ll.c libtommath/bn_mp_init_multi.c libtommath/bn_mp_init_set.c libtommath/bn_mp_init_size.c libtommath/bn_mp_init_u32.c libtommath/bn_mp_init_u64.c libtommath/bn_mp_init_ul.c libtommath/bn_mp_init_ull.c libtommath/bn_mp_invmod.c libtommath/bn_mp_is_square.c libtommath/bn_mp_iseven.c libtommath/bn_mp_isodd.c libtommath/bn_mp_kronecker.c libtommath/bn_mp_lcm.c libtommath/bn_mp_log_u32.c libtommath/bn_mp_lshd.c libtommath/bn_mp_mod.c libtommath/bn_mp_mod_2d.c libtommath/bn_mp_mod_d.c libtommath/bn_mp_montgomery_calc_normalization.c libtommath/bn_mp_montgomery_reduce.c libtommath/bn_mp_montgomery_setup.c libtommath/bn_mp_mul.c libtommath/bn_mp_mul_2.c libtommath/bn_mp_mul_2d.c libtommath/bn_mp_mul_d.c libtommath/bn_mp_mulmod.c libtommath/bn_mp_neg.c libtommath/bn_mp_or.c libtommath/bn_mp_pack.c libtommath/bn_mp_pack_count.c libtommath/bn_mp_prime_fermat.c libtommath/bn_mp_prime_frobenius_underwood.c libtommath/bn_mp_prime_is_prime.c libtommath/bn_mp_prime_miller_rabin.c libtommath/bn_mp_prime_next_prime.c libtommath/bn_mp_prime_rabin_miller_trials.c libtommath/bn_mp_prime_rand.c libtommath/bn_mp_prime_strong_lucas_selfridge.c libtommath/bn_mp_radix_size.c libtommath/bn_mp_radix_smap.c libtommath/bn_mp_rand.c libtommath/bn_mp_read_radix.c libtommath/bn_mp_reduce.c libtommath/bn_mp_reduce_2k.c libtommath/bn_mp_reduce_2k_l.c libtommath/bn_mp_reduce_2k_setup.c libtommath/bn_mp_reduce_2k_setup_l.c libtommath/bn_mp_reduce_is_2k.c libtommath/bn_mp_reduce_is_2k_l.c libtommath/bn_mp_reduce_setup.c libtommath/bn_mp_root_u32.c libtommath/bn_mp_rshd.c libtommath/bn_mp_sbin_size.c libtommath/bn_mp_set.c libtommath/bn_mp_set_double.c libtommath/bn_mp_set_i32.c libtommath/bn_mp_set_i64.c libtommath/bn_mp_set_l.c libtommath/bn_mp_set_ll.c libtommath/bn_mp_set_u32.c libtommath/bn_mp_set_u64.c libtommath/bn_mp_set_ul.c libtommath/bn_mp_set_ull.c libtommath/bn_mp_shrink.c libtommath/bn_mp_signed_rsh.c libtommath/bn_mp_sqr.c libtommath/bn_mp_sqrmod.c libtommath/bn_mp_sqrt.c libtommath/bn_mp_sqrtmod_prime.c libtommath/bn_mp_sub.c libtommath/bn_mp_sub_d.c libtommath/bn_mp_submod.c libtommath/bn_mp_to_radix.c libtommath/bn_mp_to_sbin.c libtommath/bn_mp_to_ubin.c libtommath/bn_mp_ubin_size.c libtommath/bn_mp_unpack.c libtommath/bn_mp_xor.c libtommath/bn_mp_zero.c libtommath/bn_prime_tab.c libtommath/bn_s_mp_add.c libtommath/bn_s_mp_balance_mul.c libtommath/bn_s_mp_exptmod.c libtommath/bn_s_mp_exptmod_fast.c libtommath/bn_s_mp_get_bit.c libtommath/bn_s_mp_invmod_fast.c libtommath/bn_s_mp_invmod_slow.c libtommath/bn_s_mp_karatsuba_mul.c libtommath/bn_s_mp_karatsuba_sqr.c libtommath/bn_s_mp_montgomery_reduce_fast.c libtommath/bn_s_mp_mul_digs.c libtommath/bn_s_mp_mul_digs_fast.c libtommath/bn_s_mp_mul_high_digs.c libtommath/bn_s_mp_mul_high_digs_fast.c libtommath/bn_s_mp_prime_is_divisible.c libtommath/bn_s_mp_rand_jenkins.c libtommath/bn_s_mp_rand_platform.c libtommath/bn_s_mp_reverse.c libtommath/bn_s_mp_sqr.c libtommath/bn_s_mp_sqr_fast.c libtommath/bn_s_mp_sub.c libtommath/bn_s_mp_toom_mul.c libtommath/bn_s_mp_toom_sqr.c libtommath/demo/mtest_opponent.c libtommath/demo/shared.c libtommath/demo/shared.h libtommath/demo/test.c libtommath/demo/timing.c libtommath/etc/2kprime.c libtommath/etc/drprime.c libtommath/etc/mersenne.c libtommath/etc/mont.c libtommath/etc/pprime.c libtommath/etc/tune.c libtommath/mtest/logtab.h libtommath/mtest/mpi-config.h libtommath/mtest/mpi-types.h libtommath/mtest/mpi.c libtommath/mtest/mpi.h libtommath/mtest/mtest.c libtommath/tommath.h libtommath/tommath_class.h libtommath/tommath_cutoffs.h libtommath/tommath_private.h libtommath/tommath_superclass.h linenoise/LICENSE linenoise/README.markdown linenoise/example.c linenoise/linenoise.c linenoise/linenoise.h ucd2c/UCD.zip ucd2c/UCD/ArabicShaping.txt ucd2c/UCD/BidiBrackets.txt ucd2c/UCD/BidiCharacterTest.txt ucd2c/UCD/BidiMirroring.txt ucd2c/UCD/BidiTest.txt ucd2c/UCD/Blocks.txt ucd2c/UCD/CJKRadicals.txt ucd2c/UCD/CaseFolding.txt ucd2c/UCD/CompositionExclusions.txt ucd2c/UCD/DerivedAge.txt ucd2c/UCD/DerivedCoreProperties.txt ucd2c/UCD/DerivedNormalizationProps.txt ucd2c/UCD/EastAsianWidth.txt ucd2c/UCD/EmojiSources.txt ucd2c/UCD/EquivalentUnifiedIdeograph.txt ucd2c/UCD/HangulSyllableType.txt ucd2c/UCD/Index.txt ucd2c/UCD/IndicPositionalCategory.txt ucd2c/UCD/IndicSyllabicCategory.txt ucd2c/UCD/Jamo.txt ucd2c/UCD/LineBreak.txt ucd2c/UCD/NameAliases.txt ucd2c/UCD/NamedSequences.txt ucd2c/UCD/NamedSequencesProv.txt ucd2c/UCD/NamesList.txt ucd2c/UCD/NormalizationCorrections.txt ucd2c/UCD/NormalizationTest.txt ucd2c/UCD/NushuSources.txt ucd2c/UCD/PropList.txt ucd2c/UCD/PropertyAliases.txt ucd2c/UCD/PropertyValueAliases.txt ucd2c/UCD/ReadMe.txt ucd2c/UCD/ScriptExtensions.txt ucd2c/UCD/Scripts.txt ucd2c/UCD/SpecialCasing.txt ucd2c/UCD/StandardizedVariants.txt ucd2c/UCD/TangutSources.txt ucd2c/UCD/USourceData.txt ucd2c/UCD/USourceGlyphs.pdf ucd2c/UCD/USourceRSChart.pdf ucd2c/UCD/UnicodeData.txt ucd2c/UCD/VerticalOrientation.txt ucd2c/UCD/auxiliary/GraphemeBreakProperty.txt ucd2c/UCD/auxiliary/GraphemeBreakTest.txt ucd2c/UCD/auxiliary/LineBreakTest.txt ucd2c/UCD/auxiliary/SentenceBreakProperty.txt ucd2c/UCD/auxiliary/SentenceBreakTest.txt ucd2c/UCD/auxiliary/WordBreakProperty.txt ucd2c/UCD/auxiliary/WordBreakTest.txt ucd2c/UCD/emoji/ReadMe.txt ucd2c/UCD/emoji/emoji-data.txt ucd2c/UCD/emoji/emoji-variation-sequences.txt ucd2c/UCD/extracted/DerivedBidiClass.txt ucd2c/UCD/extracted/DerivedBinaryProperties.txt ucd2c/UCD/extracted/DerivedCombiningClass.txt ucd2c/UCD/extracted/DerivedDecompositionType.txt ucd2c/UCD/extracted/DerivedEastAsianWidth.txt ucd2c/UCD/extracted/DerivedGeneralCategory.txt ucd2c/UCD/extracted/DerivedJoiningGroup.txt ucd2c/UCD/extracted/DerivedJoiningType.txt ucd2c/UCD/extracted/DerivedLineBreak.txt ucd2c/UCD/extracted/DerivedName.txt ucd2c/UCD/extracted/DerivedNumericType.txt ucd2c/UCD/extracted/DerivedNumericValues.txt '
KC3_DOC_SOURCES='doc/1_KC3/1.1_Introduction.en.md doc/1_KC3/1.2_Integer.en.md doc/1_KC3/1.3_Map.en.md doc/1_KC3/1.4_Ratio.en.md doc/1_KC3/1.5_List.en.md doc/1_KC3/1.6_Variable.en.md doc/2_HTTPd/index.en.md doc/3_Guides/3.1_Install.en.md doc/3_Guides/3.2_Testing.en.md doc/3_Guides/3.3_Usage.en.md doc/3_Guides/3.4_Structure.en.md doc/3_Guides/3.5_Tutorial.en.md doc/3_Guides/index.en.md doc/index.en.md '
diff --git a/update_sources b/update_sources
index 9fbf6cb..229b4d4 100755
--- a/update_sources
+++ b/update_sources
@@ -28,7 +28,7 @@ sources KC3_CXX_SOURCES "$KC3_CXX_SOURCES"
KC3_FONT_SOURCES="$(find fonts -name '*.otf' -or -name '*.ttf')"
sources KC3_FONT_SOURCES "$KC3_FONT_SOURCES"
-KC3_HTTPD_SOURCES="$(find httpd -name '*.ekc3' -or -name '*.facts' -or -name '*.kc3')"
+KC3_HTTPD_SOURCES="$(find httpd -name '*.ekc3' -or -name '*.facts' -or -name '*.kc3' -or -name 'mime.types')"
sources KC3_HTTPD_SOURCES "$KC3_HTTPD_SOURCES"
KC3_IMG_SOURCES="$(find img -name '*.png' -or -name '*.jpg' -or -name '*.jpeg' -or -name '*.xcf')"
@@ -56,10 +56,13 @@ KC3_TEST_HTTP_SOURCES="$(ls test/http/*.expected test/http/*.kc3)
test/http_test"
sources KC3_TEST_HTTP_SOURCES "$KC3_TEST_HTTP_SOURCES"
-KC3_TEST_HTTPD_SOURCES="$(find test/httpd/app test/httpd/fx test/httpd/page test/httpd/config test/httpd/db -name '*.ekc3' -or -name '*.kc3' -or -name '*.facts' -or -name mime.types)
+KC3_TEST_HTTPD_SOURCES="$(find test/httpd/app test/httpd/config test/httpd/db -name '*.ekc3' -or -name '*.kc3' -or -name '*.facts' -or -name mime.types)
$(ls test/httpd/assets/package*.json)
$(find test/httpd/assets/js -name '*.js')
-$(find test/httpd/assets/css -name '*.scss')"
+$(find test/httpd/assets/css -name '*.scss')
+$(find test/httpd/static)
+$(find test/httpd/pages)
+test/httpd/doc"
sources KC3_TEST_HTTPD_SOURCES "$KC3_TEST_HTTPD_SOURCES"
KC3_OTHER_SOURCES="$(ls *.md)