From f35f56a24d1a4ef67aeebd51c6211425976370ab Mon Sep 17 00:00:00 2001 From: Haarm-Pieter Duiker Date: Wed, 4 Feb 2015 16:53:45 -0800 Subject: [PATCH] Roles now have some assignments Added Dolby PQ shaper generation Added Raw color space Added 'generateLUT' standalone 'bin' script --- aces_1.0.0/config.ocio | 137 ++- aces_1.0.0/luts/Dolby_PQ_10000_to_linear.spi1d | 1030 ++++++++++++++++++++ aces_1.0.0/luts/Dolby_PQ_Scaled_to_linear.spi1d | 1030 ++++++++++++++++++++ aces_1.0.0/nuke_config.ocio | 139 ++- .../python/aces_ocio/create_aces_colorspaces.py | 575 +++++++---- aces_1.0.0/python/aces_ocio/create_aces_config.py | 49 +- .../python/aces_ocio/create_general_colorspaces.py | 20 +- aces_1.0.0/python/aces_ocio/generate_lut.py | 8 +- aces_1.0.0/python/bin/generate_lut | 27 + 9 files changed, 2730 insertions(+), 285 deletions(-) create mode 100644 aces_1.0.0/luts/Dolby_PQ_10000_to_linear.spi1d create mode 100644 aces_1.0.0/luts/Dolby_PQ_Scaled_to_linear.spi1d create mode 100755 aces_1.0.0/python/bin/generate_lut diff --git a/aces_1.0.0/config.ocio b/aces_1.0.0/config.ocio index cad6168..59637dd 100644 --- a/aces_1.0.0/config.ocio +++ b/aces_1.0.0/config.ocio @@ -7,15 +7,15 @@ luma: [0.2126, 0.7152, 0.0722] description: An ACES config generated from python roles: - color_picking: ACES2065-1 - color_timing: ACES2065-1 - compositing_log: ACES2065-1 - data: ACES2065-1 + color_picking: ACEScg + color_timing: ACEScc + compositing_log: ACEScc + data: Raw default: ACES2065-1 - matte_paint: ACES2065-1 - reference: ACES2065-1 - scene_linear: ACES2065-1 - texture_paint: ACES2065-1 + matte_paint: ACEScc + reference: Raw + scene_linear: ACEScg + texture_paint: Raw displays: DCDM: @@ -359,12 +359,36 @@ colorspaces: to_reference: ! {src: ACES 1.0 to 0.7 emulation, dst: ACES2065-1} - ! - name: Output Shaper - AP1 + name: Log2 Shaper family: Utility - equalitygroup: Output Shaper + equalitygroup: Log2 Shaper bitdepth: 32f description: | - The Output Shaper color space + The Log2 Shaper color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + to_reference: ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear} + + - ! + name: log2shaper + family: Aliases + equalitygroup: Log2 Shaper + bitdepth: 32f + description: | + The Log2 Shaper color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + from_reference: ! {src: ACES2065-1, dst: Log2 Shaper} + + - ! + name: Log2 Shaper - AP1 + family: Utility + equalitygroup: Log2 Shaper - AP1 + bitdepth: 32f + description: | + The Log2 Shaper - AP1 color space isdata: false allocation: uniform allocationvars: [0, 1] @@ -374,16 +398,64 @@ colorspaces: - ! {matrix: [0.695452, 0.140679, 0.163869, 0, 0.0447946, 0.859671, 0.0955343, 0, -0.00552588, 0.00402521, 1.0015, 0, 0, 0, 0, 1]} - ! - name: outputshaper_ap1 + name: log2shaper_ap1 family: Aliases - equalitygroup: Output Shaper + equalitygroup: Log2 Shaper - AP1 bitdepth: 32f description: | - The Output Shaper color space + The Log2 Shaper - AP1 color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + from_reference: ! {src: ACES2065-1, dst: Log2 Shaper - AP1} + + - ! + name: Dolby PQ 10000 + family: Utility + equalitygroup: Dolby PQ 10000 + bitdepth: 32f + description: | + The Dolby PQ 10000 color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + to_reference: ! {src: Dolby_PQ_10000_to_linear.spi1d, interpolation: linear} + + - ! + name: crv_dolbypq_10000 + family: Aliases + equalitygroup: Dolby PQ 10000 + bitdepth: 32f + description: | + The Dolby PQ 10000 color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + from_reference: ! {src: ACES2065-1, dst: Dolby PQ 10000} + + - ! + name: Dolby PQ Scaled + family: Utility + equalitygroup: Dolby PQ Scaled + bitdepth: 32f + description: | + The Dolby PQ Scaled color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + to_reference: ! {src: Dolby_PQ_Scaled_to_linear.spi1d, interpolation: linear} + + - ! + name: crv_dolbypq_scaled + family: Aliases + equalitygroup: Dolby PQ Scaled + bitdepth: 32f + description: | + The Dolby PQ Scaled color space isdata: false allocation: uniform allocationvars: [0, 1] - from_reference: ! {src: ACES2065-1, dst: Output Shaper - AP1} + from_reference: ! {src: ACES2065-1, dst: Dolby PQ Scaled} - ! name: Linear - Wide Gamut @@ -467,31 +539,31 @@ colorspaces: allocationvars: [0, 1] - ! - name: Rec.709 - Legal + name: Rec.2020 - Full family: Output equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.709 - Legal Output Transform + ACES 1.0 Output - Rec.2020 - Full Output Transform isdata: false allocation: uniform allocationvars: [0, 1] to_reference: ! children: - - ! {src: InvRRT.a1.0.0.Rec.709_-_Legal.Output_Shaper.spi3d, interpolation: tetrahedral} + - ! {src: InvRRT.a1.0.0.Rec.2020_-_Full.Output_Shaper.spi3d, interpolation: tetrahedral} - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear} from_reference: ! children: - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear, direction: inverse} - - ! {src: Output_Shaper.RRT.a1.0.0.Rec.709_-_Legal.spi3d, interpolation: tetrahedral} + - ! {src: Output_Shaper.RRT.a1.0.0.Rec.2020_-_Full.spi3d, interpolation: tetrahedral} - ! - name: out_rec709legal + name: out_rec2020full family: Aliases equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.709 - Legal Output Transform + ACES 1.0 Output - Rec.2020 - Full Output Transform isdata: false allocation: uniform allocationvars: [0, 1] @@ -677,31 +749,31 @@ colorspaces: allocationvars: [0, 1] - ! - name: Rec.2020 - Full + name: Rec.709 - Legal family: Output equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.2020 - Full Output Transform + ACES 1.0 Output - Rec.709 - Legal Output Transform isdata: false allocation: uniform allocationvars: [0, 1] to_reference: ! children: - - ! {src: InvRRT.a1.0.0.Rec.2020_-_Full.Output_Shaper.spi3d, interpolation: tetrahedral} + - ! {src: InvRRT.a1.0.0.Rec.709_-_Legal.Output_Shaper.spi3d, interpolation: tetrahedral} - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear} from_reference: ! children: - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear, direction: inverse} - - ! {src: Output_Shaper.RRT.a1.0.0.Rec.2020_-_Full.spi3d, interpolation: tetrahedral} + - ! {src: Output_Shaper.RRT.a1.0.0.Rec.709_-_Legal.spi3d, interpolation: tetrahedral} - ! - name: out_rec2020full + name: out_rec709legal family: Aliases equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.2020 - Full Output Transform + ACES 1.0 Output - Rec.709 - Legal Output Transform isdata: false allocation: uniform allocationvars: [0, 1] @@ -2494,3 +2566,14 @@ colorspaces: allocation: lg2 allocationvars: [-8, 5, 0.00390625] to_reference: ! {src: Linear - Adobe Wide Gamut RGB, dst: ACES2065-1} + + - ! + name: Raw + family: Utility + equalitygroup: Raw + bitdepth: 32f + description: | + The Raw color space + isdata: true + allocation: uniform + allocationvars: [0, 1] diff --git a/aces_1.0.0/luts/Dolby_PQ_10000_to_linear.spi1d b/aces_1.0.0/luts/Dolby_PQ_10000_to_linear.spi1d new file mode 100644 index 0000000..a1d221d --- /dev/null +++ b/aces_1.0.0/luts/Dolby_PQ_10000_to_linear.spi1d @@ -0,0 +1,1030 @@ +Version 1 +From 0.000000 1.000000 +Length 1024 +Components 3 +{ + 0.0 0.0 0.0 + 4.04224483646e-05 4.04224483646e-05 4.04224483646e-05 + 0.000131113745738 0.000131113745738 0.000131113745738 + 0.000262370012933 0.000262370012933 0.000262370012933 + 0.000431513821241 0.000431513821241 0.000431513821241 + 0.000637466378976 0.000637466378976 0.000637466378976 + 0.000879827479366 0.000879827479366 0.000879827479366 + 0.00115854456089 0.00115854456089 0.00115854456089 + 0.00147379050031 0.00147379050031 0.00147379050031 + 0.00182588538155 0.00182588538155 0.00182588538155 + 0.00221525668167 0.00221525668167 0.00221525668167 + 0.00264240126126 0.00264240126126 0.00264240126126 + 0.00310787069611 0.00310787069611 0.00310787069611 + 0.00361227942631 0.00361227942631 0.00361227942631 + 0.00415628915653 0.00415628915653 0.00415628915653 + 0.00474052317441 0.00474052317441 0.00474052317441 + 0.0053656231612 0.0053656231612 0.0053656231612 + 0.00603245850652 0.00603245850652 0.00603245850652 + 0.00674160942435 0.00674160942435 0.00674160942435 + 0.00749403703958 0.00749403703958 0.00749403703958 + 0.00829033926129 0.00829033926129 0.00829033926129 + 0.0091312630102 0.0091312630102 0.0091312630102 + 0.0100178560242 0.0100178560242 0.0100178560242 + 0.0109507702291 0.0109507702291 0.0109507702291 + 0.0119307618588 0.0119307618588 0.0119307618588 + 0.01295881439 0.01295881439 0.01295881439 + 0.0140358246863 0.0140358246863 0.0140358246863 + 0.0151626588777 0.0151626588777 0.0151626588777 + 0.0163399446756 0.0163399446756 0.0163399446756 + 0.0175688434392 0.0175688434392 0.0175688434392 + 0.018850363791 0.018850363791 0.018850363791 + 0.0201850868762 0.0201850868762 0.0201850868762 + 0.0215741805732 0.0215741805732 0.0215741805732 + 0.023018470034 0.023018470034 0.023018470034 + 0.0245192088187 0.0245192088187 0.0245192088187 + 0.0260767303407 0.0260767303407 0.0260767303407 + 0.0276926606894 0.0276926606894 0.0276926606894 + 0.0293676611036 0.0293676611036 0.0293676611036 + 0.0311023239046 0.0311023239046 0.0311023239046 + 0.0328988656402 0.0328988656402 0.0328988656402 + 0.0347571708262 0.0347571708262 0.0347571708262 + 0.0366785898805 0.0366785898805 0.0366785898805 + 0.0386641398072 0.0386641398072 0.0386641398072 + 0.0407149083912 0.0407149083912 0.0407149083912 + 0.0428324118257 0.0428324118257 0.0428324118257 + 0.0450173765421 0.0450173765421 0.0450173765421 + 0.0472709648311 0.0472709648311 0.0472709648311 + 0.0495932810009 0.0495932810009 0.0495932810009 + 0.0519873313606 0.0519873313606 0.0519873313606 + 0.0544526465237 0.0544526465237 0.0544526465237 + 0.0569911301136 0.0569911301136 0.0569911301136 + 0.0596030578017 0.0596030578017 0.0596030578017 + 0.062290545553 0.062290545553 0.062290545553 + 0.0650551989675 0.0650551989675 0.0650551989675 + 0.0678974613547 0.0678974613547 0.0678974613547 + 0.0708171650767 0.0708171650767 0.0708171650767 + 0.0738179758191 0.0738179758191 0.0738179758191 + 0.076900921762 0.076900921762 0.076900921762 + 0.0800645127892 0.0800645127892 0.0800645127892 + 0.0833131372929 0.0833131372929 0.0833131372929 + 0.0866453945637 0.0866453945637 0.0866453945637 + 0.090065293014 0.090065293014 0.090065293014 + 0.0935723856091 0.0935723856091 0.0935723856091 + 0.0971679836512 0.0971679836512 0.0971679836512 + 0.1008534953 0.1008534953 0.1008534953 + 0.10463014245 0.10463014245 0.10463014245 + 0.108501598239 0.108501598239 0.108501598239 + 0.112465769053 0.112465769053 0.112465769053 + 0.116524226964 0.116524226964 0.116524226964 + 0.120680823922 0.120680823922 0.120680823922 + 0.124935470521 0.124935470521 0.124935470521 + 0.129290372133 0.129290372133 0.129290372133 + 0.133745118976 0.133745118976 0.133745118976 + 0.13830421865 0.13830421865 0.13830421865 + 0.142965897918 0.142965897918 0.142965897918 + 0.147734507918 0.147734507918 0.147734507918 + 0.152608066797 0.152608066797 0.152608066797 + 0.157591432333 0.157591432333 0.157591432333 + 0.162684485316 0.162684485316 0.162684485316 + 0.167887851596 0.167887851596 0.167887851596 + 0.173204049468 0.173204049468 0.173204049468 + 0.17863664031 0.17863664031 0.17863664031 + 0.184185251594 0.184185251594 0.184185251594 + 0.189851254225 0.189851254225 0.189851254225 + 0.195633307099 0.195633307099 0.195633307099 + 0.201539382339 0.201539382339 0.201539382339 + 0.207569554448 0.207569554448 0.207569554448 + 0.21372063458 0.21372063458 0.21372063458 + 0.21999630332 0.21999630332 0.21999630332 + 0.226404517889 0.226404517889 0.226404517889 + 0.232938185334 0.232938185334 0.232938185334 + 0.239601448178 0.239601448178 0.239601448178 + 0.246403232217 0.246403232217 0.246403232217 + 0.253335028887 0.253335028887 0.253335028887 + 0.260402262211 0.260402262211 0.260402262211 + 0.267609477043 0.267609477043 0.267609477043 + 0.274957090616 0.274957090616 0.274957090616 + 0.282441169024 0.282441169024 0.282441169024 + 0.290077000856 0.290077000856 0.290077000856 + 0.297849714756 0.297849714756 0.297849714756 + 0.305774956942 0.305774956942 0.305774956942 + 0.313843905926 0.313843905926 0.313843905926 + 0.322067201138 0.322067201138 0.322067201138 + 0.330445617437 0.330445617437 0.330445617437 + 0.338974446058 0.338974446058 0.338974446058 + 0.347659945488 0.347659945488 0.347659945488 + 0.356509596109 0.356509596109 0.356509596109 + 0.365517735481 0.365517735481 0.365517735481 + 0.374683588743 0.374683588743 0.374683588743 + 0.384017050266 0.384017050266 0.384017050266 + 0.393523514271 0.393523514271 0.393523514271 + 0.403190761805 0.403190761805 0.403190761805 + 0.413026213646 0.413026213646 0.413026213646 + 0.423047214746 0.423047214746 0.423047214746 + 0.433229863644 0.433229863644 0.433229863644 + 0.443590581417 0.443590581417 0.443590581417 + 0.454139322042 0.454139322042 0.454139322042 + 0.464869230986 0.464869230986 0.464869230986 + 0.475780785084 0.475780785084 0.475780785084 + 0.486875683069 0.486875683069 0.486875683069 + 0.498160630465 0.498160630465 0.498160630465 + 0.509640693665 0.509640693665 0.509640693665 + 0.521315157413 0.521315157413 0.521315157413 + 0.533175587654 0.533175587654 0.533175587654 + 0.545231640339 0.545231640339 0.545231640339 + 0.557495892048 0.557495892048 0.557495892048 + 0.569958925247 0.569958925247 0.569958925247 + 0.582632422447 0.582632422447 0.582632422447 + 0.595507860184 0.595507860184 0.595507860184 + 0.608595490456 0.608595490456 0.608595490456 + 0.621896326542 0.621896326542 0.621896326542 + 0.635414898396 0.635414898396 0.635414898396 + 0.649150371552 0.649150371552 0.649150371552 + 0.663103878498 0.663103878498 0.663103878498 + 0.677275896072 0.677275896072 0.677275896072 + 0.691669583321 0.691669583321 0.691669583321 + 0.706296563148 0.706296563148 0.706296563148 + 0.721148490906 0.721148490906 0.721148490906 + 0.736238479614 0.736238479614 0.736238479614 + 0.751567661762 0.751567661762 0.751567661762 + 0.767137229443 0.767137229443 0.767137229443 + 0.782936215401 0.782936215401 0.782936215401 + 0.798977553844 0.798977553844 0.798977553844 + 0.815282702446 0.815282702446 0.815282702446 + 0.831832945347 0.831832945347 0.831832945347 + 0.848634719849 0.848634719849 0.848634719849 + 0.865683495998 0.865683495998 0.865683495998 + 0.883005023003 0.883005023003 0.883005023003 + 0.900559127331 0.900559127331 0.900559127331 + 0.918403327465 0.918403327465 0.918403327465 + 0.936507403851 0.936507403851 0.936507403851 + 0.954882919788 0.954882919788 0.954882919788 + 0.973519682884 0.973519682884 0.973519682884 + 0.992455661297 0.992455661297 0.992455661297 + 1.01165568829 1.01165568829 1.01165568829 + 1.03113543987 1.03113543987 1.03113543987 + 1.05092573166 1.05092573166 1.05092573166 + 1.07097840309 1.07097840309 1.07097840309 + 1.09134578705 1.09134578705 1.09134578705 + 1.11200225353 1.11200225353 1.11200225353 + 1.13292920589 1.13292920589 1.13292920589 + 1.15419685841 1.15419685841 1.15419685841 + 1.17573773861 1.17573773861 1.17573773861 + 1.19760012627 1.19760012627 1.19760012627 + 1.21978914738 1.21978914738 1.21978914738 + 1.24228012562 1.24228012562 1.24228012562 + 1.2650988102 1.2650988102 1.2650988102 + 1.28822469711 1.28822469711 1.28822469711 + 1.31168615818 1.31168615818 1.31168615818 + 1.33548152447 1.33548152447 1.33548152447 + 1.35961663723 1.35961663723 1.35961663723 + 1.38406550884 1.38406550884 1.38406550884 + 1.40885782242 1.40885782242 1.40885782242 + 1.43402433395 1.43402433395 1.43402433395 + 1.45951032639 1.45951032639 1.45951032639 + 1.48538017273 1.48538017273 1.48538017273 + 1.51156771183 1.51156771183 1.51156771183 + 1.53811311722 1.53811311722 1.53811311722 + 1.56505000591 1.56505000591 1.56505000591 + 1.59234642982 1.59234642982 1.59234642982 + 1.62000238895 1.62000238895 1.62000238895 + 1.64806425571 1.64806425571 1.64806425571 + 1.67649018764 1.67649018764 1.67649018764 + 1.70524859428 1.70524859428 1.70524859428 + 1.73445403576 1.73445403576 1.73445403576 + 1.7640734911 1.7640734911 1.7640734911 + 1.79402840137 1.79402840137 1.79402840137 + 1.82440567017 1.82440567017 1.82440567017 + 1.8551595211 1.8551595211 1.8551595211 + 1.88638138771 1.88638138771 1.88638138771 + 1.91794836521 1.91794836521 1.91794836521 + 1.94999098778 1.94999098778 1.94999098778 + 1.98246502876 1.98246502876 1.98246502876 + 2.01533412933 2.01533412933 2.01533412933 + 2.04860091209 2.04860091209 2.04860091209 + 2.08235216141 2.08235216141 2.08235216141 + 2.11650872231 2.11650872231 2.11650872231 + 2.15111041069 2.15111041069 2.15111041069 + 2.18621444702 2.18621444702 2.18621444702 + 2.22173070908 2.22173070908 2.22173070908 + 2.25770664215 2.25770664215 2.25770664215 + 2.29414653778 2.29414653778 2.29414653778 + 2.33105015755 2.33105015755 2.33105015755 + 2.3684797287 2.3684797287 2.3684797287 + 2.40632486343 2.40632486343 2.40632486343 + 2.44465327263 2.44465327263 2.44465327263 + 2.48350763321 2.48350763321 2.48350763321 + 2.52279663086 2.52279663086 2.52279663086 + 2.5626282692 2.5626282692 2.5626282692 + 2.60294771194 2.60294771194 2.60294771194 + 2.6438229084 2.6438229084 2.6438229084 + 2.68512845039 2.68512845039 2.68512845039 + 2.72700715065 2.72700715065 2.72700715065 + 2.76937818527 2.76937818527 2.76937818527 + 2.81232261658 2.81232261658 2.81232261658 + 2.85578417778 2.85578417778 2.85578417778 + 2.89975380898 2.89975380898 2.89975380898 + 2.9443128109 2.9443128109 2.9443128109 + 2.98938751221 2.98938751221 2.98938751221 + 3.03505706787 3.03505706787 3.03505706787 + 3.08125972748 3.08125972748 3.08125972748 + 3.12805652618 3.12805652618 3.12805652618 + 3.17539310455 3.17539310455 3.17539310455 + 3.22334218025 3.22334218025 3.22334218025 + 3.27183628082 3.27183628082 3.27183628082 + 3.32095146179 3.32095146179 3.32095146179 + 3.37069392204 3.37069392204 3.37069392204 + 3.42098355293 3.42098355293 3.42098355293 + 3.47191667557 3.47191667557 3.47191667557 + 3.52349257469 3.52349257469 3.52349257469 + 3.57563304901 3.57563304901 3.57563304901 + 3.62842273712 3.62842273712 3.62842273712 + 3.68186903 3.68186903 3.68186903 + 3.73597550392 3.73597550392 3.73597550392 + 3.79065918922 3.79065918922 3.79065918922 + 3.84602165222 3.84602165222 3.84602165222 + 3.90205740929 3.90205740929 3.90205740929 + 3.95877528191 3.95877528191 3.95877528191 + 4.01607990265 4.01607990265 4.01607990265 + 4.07408332825 4.07408332825 4.07408332825 + 4.13288879395 4.13288879395 4.13288879395 + 4.19228363037 4.19228363037 4.19228363037 + 4.25239181519 4.25239181519 4.25239181519 + 4.31332015991 4.31332015991 4.31332015991 + 4.3748626709 4.3748626709 4.3748626709 + 4.43713331223 4.43713331223 4.43713331223 + 4.50012731552 4.50012731552 4.50012731552 + 4.5638628006 4.5638628006 4.5638628006 + 4.6283288002 4.6283288002 4.6283288002 + 4.69354724884 4.69354724884 4.69354724884 + 4.75963544846 4.75963544846 4.75963544846 + 4.82635784149 4.82635784149 4.82635784149 + 4.89397621155 4.89397621155 4.89397621155 + 4.96223640442 4.96223640442 4.96223640442 + 5.03126001358 5.03126001358 5.03126001358 + 5.10120105743 5.10120105743 5.10120105743 + 5.171916008 5.171916008 5.171916008 + 5.24342679977 5.24342679977 5.24342679977 + 5.31573390961 5.31573390961 5.31573390961 + 5.38897800446 5.38897800446 5.38897800446 + 5.46290254593 5.46290254593 5.46290254593 + 5.53777360916 5.53777360916 5.53777360916 + 5.61346817017 5.61346817017 5.61346817017 + 5.68997383118 5.68997383118 5.68997383118 + 5.76746749878 5.76746749878 5.76746749878 + 5.84580039978 5.84580039978 5.84580039978 + 5.92497873306 5.92497873306 5.92497873306 + 6.00515508652 6.00515508652 6.00515508652 + 6.08603477478 6.08603477478 6.08603477478 + 6.16792917252 6.16792917252 6.16792917252 + 6.25069141388 6.25069141388 6.25069141388 + 6.33449602127 6.33449602127 6.33449602127 + 6.41934013367 6.41934013367 6.41934013367 + 6.50489473343 6.50489473343 6.50489473343 + 6.59153699875 6.59153699875 6.59153699875 + 6.67905855179 6.67905855179 6.67905855179 + 6.76766490936 6.76766490936 6.76766490936 + 6.85699510574 6.85699510574 6.85699510574 + 6.94761705399 6.94761705399 6.94761705399 + 7.03914690018 7.03914690018 7.03914690018 + 7.13161706924 7.13161706924 7.13161706924 + 7.22520399094 7.22520399094 7.22520399094 + 7.31974840164 7.31974840164 7.31974840164 + 7.41542243958 7.41542243958 7.41542243958 + 7.51207017899 7.51207017899 7.51207017899 + 7.60986423492 7.60986423492 7.60986423492 + 7.70862674713 7.70862674713 7.70862674713 + 7.80857038498 7.80857038498 7.80857038498 + 7.90949440002 7.90949440002 7.90949440002 + 8.01162528992 8.01162528992 8.01162528992 + 8.11495113373 8.11495113373 8.11495113373 + 8.21929550171 8.21929550171 8.21929550171 + 8.32487678528 8.32487678528 8.32487678528 + 8.43146896362 8.43146896362 8.43146896362 + 8.53906822205 8.53906822205 8.53906822205 + 8.64793395996 8.64793395996 8.64793395996 + 8.75806999207 8.75806999207 8.75806999207 + 8.86949443817 8.86949443817 8.86949443817 + 8.98196411133 8.98196411133 8.98196411133 + 9.09573459625 9.09573459625 9.09573459625 + 9.21055698395 9.21055698395 9.21055698395 + 9.32670116425 9.32670116425 9.32670116425 + 9.44418621063 9.44418621063 9.44418621063 + 9.56301689148 9.56301689148 9.56301689148 + 9.68293190002 9.68293190002 9.68293190002 + 9.80424118042 9.80424118042 9.80424118042 + 9.92690467834 9.92690467834 9.92690467834 + 10.0506677628 10.0506677628 10.0506677628 + 10.1758527756 10.1758527756 10.1758527756 + 10.3024311066 10.3024311066 10.3024311066 + 10.430150032 10.430150032 10.430150032 + 10.559299469 10.559299469 10.559299469 + 10.6898946762 10.6898946762 10.6898946762 + 10.8219442368 10.8219442368 10.8219442368 + 10.9554700851 10.9554700851 10.9554700851 + 11.0901451111 11.0901451111 11.0901451111 + 11.2263393402 11.2263393402 11.2263393402 + 11.3640127182 11.3640127182 11.3640127182 + 11.5028820038 11.5028820038 11.5028820038 + 11.643620491 11.643620491 11.643620491 + 11.7855463028 11.7855463028 11.7855463028 + 11.9290218353 11.9290218353 11.9290218353 + 12.0740613937 12.0740613937 12.0740613937 + 12.220700264 12.220700264 12.220700264 + 12.3685598373 12.3685598373 12.3685598373 + 12.5183525085 12.5183525085 12.5183525085 + 12.6694154739 12.6694154739 12.6694154739 + 12.8221244812 12.8221244812 12.8221244812 + 12.976433754 12.976433754 12.976433754 + 13.1324224472 13.1324224472 13.1324224472 + 13.2896776199 13.2896776199 13.2896776199 + 13.4489955902 13.4489955902 13.4489955902 + 13.6100034714 13.6100034714 13.6100034714 + 13.7723274231 13.7723274231 13.7723274231 + 13.9367513657 13.9367513657 13.9367513657 + 14.1025075912 14.1025075912 14.1025075912 + 14.2700004578 14.2700004578 14.2700004578 + 14.4392786026 14.4392786026 14.4392786026 + 14.6102714539 14.6102714539 14.6102714539 + 14.7830896378 14.7830896378 14.7830896378 + 14.9576854706 14.9576854706 14.9576854706 + 15.1341314316 15.1341314316 15.1341314316 + 15.3123483658 15.3123483658 15.3123483658 + 15.4924478531 15.4924478531 15.4924478531 + 15.6743822098 15.6743822098 15.6743822098 + 15.8577280045 15.8577280045 15.8577280045 + 16.0434417725 16.0434417725 16.0434417725 + 16.2309989929 16.2309989929 16.2309989929 + 16.4200286865 16.4200286865 16.4200286865 + 16.61195755 16.61195755 16.61195755 + 16.8048267365 16.8048267365 16.8048267365 + 17.0001659393 17.0001659393 17.0001659393 + 17.1969585419 17.1969585419 17.1969585419 + 17.396270752 17.396270752 17.396270752 + 17.5975666046 17.5975666046 17.5975666046 + 17.8008728027 17.8008728027 17.8008728027 + 18.006231308 18.006231308 18.006231308 + 18.213634491 18.213634491 18.213634491 + 18.4230804443 18.4230804443 18.4230804443 + 18.6346416473 18.6346416473 18.6346416473 + 18.848279953 18.848279953 18.848279953 + 19.0640029907 19.0640029907 19.0640029907 + 19.2818851471 19.2818851471 19.2818851471 + 19.5025100708 19.5025100708 19.5025100708 + 19.724653244 19.724653244 19.724653244 + 19.949634552 19.949634552 19.949634552 + 20.1761493683 20.1761493683 20.1761493683 + 20.405500412 20.405500412 20.405500412 + 20.6371097565 20.6371097565 20.6371097565 + 20.8709373474 20.8709373474 20.8709373474 + 21.1063861847 21.1063861847 21.1063861847 + 21.3453941345 21.3453941345 21.3453941345 + 21.5860939026 21.5860939026 21.5860939026 + 21.8290805817 21.8290805817 21.8290805817 + 22.0750312805 22.0750312805 22.0750312805 + 22.3226890564 22.3226890564 22.3226890564 + 22.5734157562 22.5734157562 22.5734157562 + 22.8264923096 22.8264923096 22.8264923096 + 23.0819530487 23.0819530487 23.0819530487 + 23.3406105042 23.3406105042 23.3406105042 + 23.6002235413 23.6002235413 23.6002235413 + 23.8637886047 23.8637886047 23.8637886047 + 24.1297416687 24.1297416687 24.1297416687 + 24.3982887268 24.3982887268 24.3982887268 + 24.6693077087 24.6693077087 24.6693077087 + 24.9428272247 24.9428272247 24.9428272247 + 25.2197628021 25.2197628021 25.2197628021 + 25.4983901978 25.4983901978 25.4983901978 + 25.7804851532 25.7804851532 25.7804851532 + 26.0651493073 26.0651493073 26.0651493073 + 26.3524608612 26.3524608612 26.3524608612 + 26.6423969269 26.6423969269 26.6423969269 + 26.9358348846 26.9358348846 26.9358348846 + 27.2310962677 27.2310962677 27.2310962677 + 27.530828476 27.530828476 27.530828476 + 27.8324241638 27.8324241638 27.8324241638 + 28.136713028 28.136713028 28.136713028 + 28.4446582794 28.4446582794 28.4446582794 + 28.7545471191 28.7545471191 28.7545471191 + 29.0690593719 29.0690593719 29.0690593719 + 29.3854446411 29.3854446411 29.3854446411 + 29.7056446075 29.7056446075 29.7056446075 + 30.0287456512 30.0287456512 30.0287456512 + 30.3547668457 30.3547668457 30.3547668457 + 30.6836414337 30.6836414337 30.6836414337 + 31.016456604 31.016456604 31.016456604 + 31.3512115479 31.3512115479 31.3512115479 + 31.6910018921 31.6910018921 31.6910018921 + 32.0327758789 32.0327758789 32.0327758789 + 32.3785934448 32.3785934448 32.3785934448 + 32.7274208069 32.7274208069 32.7274208069 + 33.0794219971 33.0794219971 33.0794219971 + 33.4355125427 33.4355125427 33.4355125427 + 33.7936782837 33.7936782837 33.7936782837 + 34.1571617126 34.1571617126 34.1571617126 + 34.5226707458 34.5226707458 34.5226707458 + 34.8913841248 34.8913841248 34.8913841248 + 35.2644348145 35.2644348145 35.2644348145 + 35.6418838501 35.6418838501 35.6418838501 + 36.0214691162 36.0214691162 36.0214691162 + 36.4055137634 36.4055137634 36.4055137634 + 36.792804718 36.792804718 36.792804718 + 37.184627533 37.184627533 37.184627533 + 37.5798492432 37.5798492432 37.5798492432 + 37.9784736633 37.9784736633 37.9784736633 + 38.3817481995 38.3817481995 38.3817481995 + 38.7871513367 38.7871513367 38.7871513367 + 39.1986351013 39.1986351013 39.1986351013 + 39.6122627258 39.6122627258 39.6122627258 + 40.030708313 40.030708313 40.030708313 + 40.4526939392 40.4526939392 40.4526939392 + 40.8782539368 40.8782539368 40.8782539368 + 41.308757782 41.308757782 41.308757782 + 41.7442398071 41.7442398071 41.7442398071 + 42.1819381714 42.1819381714 42.1819381714 + 42.624797821 42.624797821 42.624797821 + 43.0712585449 43.0712585449 43.0712585449 + 43.5228538513 43.5228538513 43.5228538513 + 43.9782562256 43.9782562256 43.9782562256 + 44.4374198914 44.4374198914 44.4374198914 + 44.9018783569 44.9018783569 44.9018783569 + 45.3701896667 45.3701896667 45.3701896667 + 45.8423728943 45.8423728943 45.8423728943 + 46.3199577332 46.3199577332 46.3199577332 + 46.803024292 46.803024292 46.803024292 + 47.2883911133 47.2883911133 47.2883911133 + 47.7794342041 47.7794342041 47.7794342041 + 48.2760848999 48.2760848999 48.2760848999 + 48.7750587463 48.7750587463 48.7750587463 + 49.2814826965 49.2814826965 49.2814826965 + 49.7902374268 49.7902374268 49.7902374268 + 50.3049125671 50.3049125671 50.3049125671 + 50.8253288269 50.8253288269 50.8253288269 + 51.350063324 51.350063324 51.350063324 + 51.8789176941 51.8789176941 51.8789176941 + 52.4120063782 52.4120063782 52.4120063782 + 52.9512481689 52.9512481689 52.9512481689 + 53.4964790344 53.4964790344 53.4964790344 + 54.0442619324 54.0442619324 54.0442619324 + 54.6001701355 54.6001701355 54.6001701355 + 55.1585426331 55.1585426331 55.1585426331 + 55.7252082825 55.7252082825 55.7252082825 + 56.2943344116 56.2943344116 56.2943344116 + 56.870010376 56.870010376 56.870010376 + 57.4520225525 57.4520225525 57.4520225525 + 58.0387611389 58.0387611389 58.0387611389 + 58.6299819946 58.6299819946 58.6299819946 + 59.2279396057 59.2279396057 59.2279396057 + 59.8306121826 59.8306121826 59.8306121826 + 60.4377937317 60.4377937317 60.4377937317 + 61.0519218445 61.0519218445 61.0519218445 + 61.6729202271 61.6729202271 61.6729202271 + 62.2987251282 62.2987251282 62.2987251282 + 62.929359436 62.929359436 62.929359436 + 63.5670547485 63.5670547485 63.5670547485 + 64.2118377686 64.2118377686 64.2118377686 + 64.8593521118 64.8593521118 64.8593521118 + 65.5140609741 65.5140609741 65.5140609741 + 66.1785049438 66.1785049438 66.1785049438 + 66.8455810547 66.8455810547 66.8455810547 + 67.5202026367 67.5202026367 67.5202026367 + 68.1974334717 68.1974334717 68.1974334717 + 68.8846969604 68.8846969604 68.8846969604 + 69.5771713257 69.5771713257 69.5771713257 + 70.277305603 70.277305603 70.277305603 + 70.9827423096 70.9827423096 70.9827423096 + 71.6934509277 71.6934509277 71.6934509277 + 72.4119644165 72.4119644165 72.4119644165 + 73.1386260986 73.1386260986 73.1386260986 + 73.8705596924 73.8705596924 73.8705596924 + 74.6080627441 74.6080627441 74.6080627441 + 75.3563842773 75.3563842773 75.3563842773 + 76.1075744629 76.1075744629 76.1075744629 + 76.8670120239 76.8670120239 76.8670120239 + 77.6320495605 77.6320495605 77.6320495605 + 78.405456543 78.405456543 78.405456543 + 79.1875610352 79.1875610352 79.1875610352 + 79.9754180908 79.9754180908 79.9754180908 + 80.7688369751 80.7688369751 80.7688369751 + 81.5711364746 81.5711364746 81.5711364746 + 82.3822021484 82.3822021484 82.3822021484 + 83.1993789673 83.1993789673 83.1993789673 + 84.022277832 84.022277832 84.022277832 + 84.8573989868 84.8573989868 84.8573989868 + 85.6954879761 85.6954879761 85.6954879761 + 86.5426940918 86.5426940918 86.5426940918 + 87.3991317749 87.3991317749 87.3991317749 + 88.2617263794 88.2617263794 88.2617263794 + 89.1339111328 89.1339111328 89.1339111328 + 90.0123748779 90.0123748779 90.0123748779 + 90.9003219604 90.9003219604 90.9003219604 + 91.7946166992 91.7946166992 91.7946166992 + 92.6986312866 92.6986312866 92.6986312866 + 93.6092376709 93.6092376709 93.6092376709 + 94.5296859741 94.5296859741 94.5296859741 + 95.4601745605 95.4601745605 95.4601745605 + 96.3971786499 96.3971786499 96.3971786499 + 97.3407516479 97.3407516479 97.3407516479 + 98.2947845459 98.2947845459 98.2947845459 + 99.2590942383 99.2590942383 99.2590942383 + 100.230125427 100.230125427 100.230125427 + 101.211654663 101.211654663 101.211654663 + 102.200263977 102.200263977 102.200263977 + 103.199501038 103.199501038 103.199501038 + 104.2056427 104.2056427 104.2056427 + 105.222633362 105.222633362 105.222633362 + 106.246589661 106.246589661 106.246589661 + 107.281768799 107.281768799 107.281768799 + 108.328117371 108.328117371 108.328117371 + 109.381599426 109.381599426 109.381599426 + 110.446655273 110.446655273 110.446655273 + 111.519004822 111.519004822 111.519004822 + 112.602806091 112.602806091 112.602806091 + 113.698226929 113.698226929 113.698226929 + 114.801361084 114.801361084 114.801361084 + 115.911941528 115.911941528 115.911941528 + 117.038787842 117.038787842 117.038787842 + 118.168777466 118.168777466 118.168777466 + 119.315612793 119.315612793 119.315612793 + 120.47013855 120.47013855 120.47013855 + 121.632392883 121.632392883 121.632392883 + 122.806976318 122.806976318 122.806976318 + 123.989685059 123.989685059 123.989685059 + 125.189720154 125.189720154 125.189720154 + 126.398078918 126.398078918 126.398078918 + 127.614074707 127.614074707 127.614074707 + 128.843307495 128.843307495 128.843307495 + 130.085998535 130.085998535 130.085998535 + 131.336425781 131.336425781 131.336425781 + 132.59538269 132.59538269 132.59538269 + 133.872817993 133.872817993 133.872817993 + 135.158966064 135.158966064 135.158966064 + 136.458648682 136.458648682 136.458648682 + 137.766876221 137.766876221 137.766876221 + 139.083572388 139.083572388 139.083572388 + 140.419952393 140.419952393 140.419952393 + 141.764923096 141.764923096 141.764923096 + 143.118911743 143.118911743 143.118911743 + 144.486831665 144.486831665 144.486831665 + 145.875579834 145.875579834 145.875579834 + 147.267211914 147.267211914 147.267211914 + 148.673812866 148.673812866 148.673812866 + 150.089385986 150.089385986 150.089385986 + 151.51991272 151.51991272 151.51991272 + 152.965789795 152.965789795 152.965789795 + 154.426834106 154.426834106 154.426834106 + 155.89755249 155.89755249 155.89755249 + 157.377182007 157.377182007 157.377182007 + 158.87928772 158.87928772 158.87928772 + 160.390548706 160.390548706 160.390548706 + 161.918060303 161.918060303 161.918060303 + 163.455108643 163.455108643 163.455108643 + 165.008636475 165.008636475 165.008636475 + 166.571960449 166.571960449 166.571960449 + 168.151550293 168.151550293 168.151550293 + 169.74810791 169.74810791 169.74810791 + 171.354568481 171.354568481 171.354568481 + 172.977752686 172.977752686 172.977752686 + 174.618301392 174.618301392 174.618301392 + 176.269042969 176.269042969 176.269042969 + 177.937423706 177.937423706 177.937423706 + 179.623291016 179.623291016 179.623291016 + 181.319335938 181.319335938 181.319335938 + 183.033630371 183.033630371 183.033630371 + 184.758377075 184.758377075 184.758377075 + 186.500976562 186.500976562 186.500976562 + 188.262161255 188.262161255 188.262161255 + 190.042251587 190.042251587 190.042251587 + 191.824890137 191.824890137 191.824890137 + 193.634307861 193.634307861 193.634307861 + 195.462997437 195.462997437 195.462997437 + 197.302734375 197.302734375 197.302734375 + 199.153533936 199.153533936 199.153533936 + 201.023391724 201.023391724 201.023391724 + 202.913635254 202.913635254 202.913635254 + 204.823074341 204.823074341 204.823074341 + 206.744277954 206.744277954 206.744277954 + 208.685546875 208.685546875 208.685546875 + 210.647354126 210.647354126 210.647354126 + 212.620681763 212.620681763 212.620681763 + 214.615005493 214.615005493 214.615005493 + 216.620986938 216.620986938 216.620986938 + 218.647842407 218.647842407 218.647842407 + 220.696075439 220.696075439 220.696075439 + 222.765441895 222.765441895 222.765441895 + 224.847396851 224.847396851 224.847396851 + 226.950973511 226.950973511 226.950973511 + 229.066696167 229.066696167 229.066696167 + 231.204818726 231.204818726 231.204818726 + 233.375091553 233.375091553 233.375091553 + 235.548370361 235.548370361 235.548370361 + 237.743972778 237.743972778 237.743972778 + 239.962600708 239.962600708 239.962600708 + 242.204177856 242.204177856 242.204177856 + 244.458724976 244.458724976 244.458724976 + 246.736877441 246.736877441 246.736877441 + 249.039215088 249.039215088 249.039215088 + 251.354690552 251.354690552 251.354690552 + 253.693878174 253.693878174 253.693878174 + 256.046844482 256.046844482 256.046844482 + 258.423858643 258.423858643 258.423858643 + 260.837036133 260.837036133 260.837036133 + 263.252746582 263.252746582 263.252746582 + 265.70513916 265.70513916 265.70513916 + 268.171356201 268.171356201 268.171356201 + 270.663452148 270.663452148 270.663452148 + 273.169555664 273.169555664 273.169555664 + 275.701141357 275.701141357 275.701141357 + 278.259460449 278.259460449 278.259460449 + 280.832489014 280.832489014 280.832489014 + 283.444030762 283.444030762 283.444030762 + 286.057830811 286.057830811 286.057830811 + 288.711273193 288.711273193 288.711273193 + 291.392822266 291.392822266 291.392822266 + 294.075592041 294.075592041 294.075592041 + 296.800109863 296.800109863 296.800109863 + 299.552276611 299.552276611 299.552276611 + 302.306518555 302.306518555 302.306518555 + 305.102722168 305.102722168 305.102722168 + 307.927642822 307.927642822 307.927642822 + 310.768493652 310.768493652 310.768493652 + 313.638458252 313.638458252 313.638458252 + 316.524475098 316.524475098 316.524475098 + 319.440063477 319.440063477 319.440063477 + 322.400085449 322.400085449 322.400085449 + 325.361907959 325.361907959 325.361907959 + 328.368988037 328.368988037 328.368988037 + 331.392181396 331.392181396 331.392181396 + 334.447113037 334.447113037 334.447113037 + 337.518127441 337.518127441 337.518127441 + 340.621063232 340.621063232 340.621063232 + 343.75567627 343.75567627 343.75567627 + 346.922912598 346.922912598 346.922912598 + 350.107055664 350.107055664 350.107055664 + 353.324066162 353.324066162 353.324066162 + 356.574066162 356.574066162 356.574066162 + 359.857879639 359.857879639 359.857879639 + 363.158721924 363.158721924 363.158721924 + 366.494049072 366.494049072 366.494049072 + 369.846710205 369.846710205 369.846710205 + 373.251037598 373.251037598 373.251037598 + 376.673828125 376.673828125 376.673828125 + 380.113372803 380.113372803 380.113372803 + 383.606781006 383.606781006 383.606781006 + 387.135681152 387.135681152 387.135681152 + 390.665374756 390.665374756 390.665374756 + 394.249237061 394.249237061 394.249237061 + 397.870391846 397.870391846 397.870391846 + 401.510192871 401.510192871 401.510192871 + 405.168579102 405.168579102 405.168579102 + 408.884246826 408.884246826 408.884246826 + 412.617736816 412.617736816 412.617736816 + 416.389923096 416.389923096 416.389923096 + 420.201507568 420.201507568 420.201507568 + 424.052337646 424.052337646 424.052337646 + 427.921936035 427.921936035 427.921936035 + 431.832672119 431.832672119 431.832672119 + 435.782775879 435.782775879 435.782775879 + 439.752685547 439.752685547 439.752685547 + 443.7840271 443.7840271 443.7840271 + 447.836791992 447.836791992 447.836791992 + 451.909515381 451.909515381 451.909515381 + 456.023406982 456.023406982 456.023406982 + 460.201049805 460.201049805 460.201049805 + 464.400634766 464.400634766 464.400634766 + 468.620941162 468.620941162 468.620941162 + 472.884735107 472.884735107 472.884735107 + 477.214691162 477.214691162 477.214691162 + 481.566223145 481.566223145 481.566223145 + 485.939025879 485.939025879 485.939025879 + 490.356994629 490.356994629 490.356994629 + 494.843353271 494.843353271 494.843353271 + 499.328979492 499.328979492 499.328979492 + 503.883880615 503.883880615 503.883880615 + 508.461151123 508.461151123 508.461151123 + 513.085632324 513.085632324 513.085632324 + 517.757873535 517.757873535 517.757873535 + 522.477416992 522.477416992 522.477416992 + 527.219482422 527.219482422 527.219482422 + 532.010437012 532.010437012 532.010437012 + 536.851013184 536.851013184 536.851013184 + 541.714355469 541.714355469 541.714355469 + 546.628051758 546.628051758 546.628051758 + 551.618469238 551.618469238 551.618469238 + 556.632873535 556.632873535 556.632873535 + 561.670959473 561.670959473 561.670959473 + 566.78918457 566.78918457 566.78918457 + 571.903381348 571.903381348 571.903381348 + 577.098815918 577.098815918 577.098815918 + 582.346557617 582.346557617 582.346557617 + 587.618835449 587.618835449 587.618835449 + 592.94543457 592.94543457 592.94543457 + 598.326965332 598.326965332 598.326965332 + 603.762207031 603.762207031 603.762207031 + 609.224609375 609.224609375 609.224609375 + 614.743286133 614.743286133 614.743286133 + 620.316833496 620.316833496 620.316833496 + 625.946716309 625.946716309 625.946716309 + 631.605529785 631.605529785 631.605529785 + 637.319152832 637.319152832 637.319152832 + 643.093688965 643.093688965 643.093688965 + 648.925598145 648.925598145 648.925598145 + 654.817810059 654.817810059 654.817810059 + 660.736999512 660.736999512 660.736999512 + 666.716918945 666.716918945 666.716918945 + 672.724487305 672.724487305 672.724487305 + 678.82611084 678.82611084 678.82611084 + 684.990783691 684.990783691 684.990783691 + 691.15020752 691.15020752 691.15020752 + 697.406311035 697.406311035 697.406311035 + 703.725280762 703.725280762 703.725280762 + 710.074462891 710.074462891 710.074462891 + 716.488525391 716.488525391 716.488525391 + 722.966796875 722.966796875 722.966796875 + 729.512023926 729.512023926 729.512023926 + 736.124145508 736.124145508 736.124145508 + 742.766418457 742.766418457 742.766418457 + 749.474609375 749.474609375 749.474609375 + 756.253845215 756.253845215 756.253845215 + 763.062561035 763.062561035 763.062561035 + 769.939575195 769.939575195 769.939575195 + 776.887023926 776.887023926 776.887023926 + 783.905517578 783.905517578 783.905517578 + 790.996398926 790.996398926 790.996398926 + 798.15802002 798.15802002 798.15802002 + 805.35168457 805.35168457 805.35168457 + 812.620544434 812.620544434 812.620544434 + 819.961791992 819.961791992 819.961791992 + 827.335327148 827.335327148 827.335327148 + 834.826660156 834.826660156 834.826660156 + 842.352050781 842.352050781 842.352050781 + 849.952758789 849.952758789 849.952758789 + 857.633789062 857.633789062 857.633789062 + 865.345397949 865.345397949 865.345397949 + 873.182617188 873.182617188 873.182617188 + 881.007141113 881.007141113 881.007141113 + 888.958007812 888.958007812 888.958007812 + 896.988830566 896.988830566 896.988830566 + 905.056213379 905.056213379 905.056213379 + 913.252502441 913.252502441 913.252502441 + 921.483947754 921.483947754 921.483947754 + 929.750305176 929.750305176 929.750305176 + 938.150939941 938.150939941 938.150939941 + 946.587463379 946.587463379 946.587463379 + 955.158935547 955.158935547 955.158935547 + 963.717529297 963.717529297 963.717529297 + 972.413818359 972.413818359 972.413818359 + 981.146179199 981.146179199 981.146179199 + 990.020996094 990.020996094 990.020996094 + 998.933532715 998.933532715 998.933532715 + 1007.93457031 1007.93457031 1007.93457031 + 1016.97576904 1016.97576904 1016.97576904 + 1026.16235352 1026.16235352 1026.16235352 + 1035.44299316 1035.44299316 1035.44299316 + 1044.76281738 1044.76281738 1044.76281738 + 1054.12023926 1054.12023926 1054.12023926 + 1063.63110352 1063.63110352 1063.63110352 + 1073.23754883 1073.23754883 1073.23754883 + 1082.88562012 1082.88562012 1082.88562012 + 1092.63024902 1092.63024902 1092.63024902 + 1102.47436523 1102.47436523 1102.47436523 + 1112.41955566 1112.41955566 1112.41955566 + 1122.40539551 1122.40539551 1122.40539551 + 1132.49304199 1132.49304199 1132.49304199 + 1142.68383789 1142.68383789 1142.68383789 + 1152.97668457 1152.97668457 1152.97668457 + 1163.37487793 1163.37487793 1163.37487793 + 1173.81726074 1173.81726074 1173.81726074 + 1184.36376953 1184.36376953 1184.36376953 + 1195.01879883 1195.01879883 1195.01879883 + 1205.84643555 1205.84643555 1205.84643555 + 1216.65332031 1216.65332031 1216.65332031 + 1227.63647461 1227.63647461 1227.63647461 + 1238.66601562 1238.66601562 1238.66601562 + 1249.80541992 1249.80541992 1249.80541992 + 1261.05859375 1261.05859375 1261.05859375 + 1272.42773438 1272.42773438 1272.42773438 + 1283.8416748 1283.8416748 1283.8416748 + 1295.44165039 1295.44165039 1295.44165039 + 1307.09020996 1307.09020996 1307.09020996 + 1318.85546875 1318.85546875 1318.85546875 + 1330.6697998 1330.6697998 1330.6697998 + 1342.67675781 1342.67675781 1342.67675781 + 1354.73071289 1354.73071289 1354.73071289 + 1366.98217773 1366.98217773 1366.98217773 + 1379.28430176 1379.28430176 1379.28430176 + 1391.63452148 1391.63452148 1391.63452148 + 1404.18652344 1404.18652344 1404.18652344 + 1416.7911377 1416.7911377 1416.7911377 + 1429.52038574 1429.52038574 1429.52038574 + 1442.38024902 1442.38024902 1442.38024902 + 1455.37207031 1455.37207031 1455.37207031 + 1468.49353027 1468.49353027 1468.49353027 + 1481.7532959 1481.7532959 1481.7532959 + 1495.0604248 1495.0604248 1495.0604248 + 1508.50695801 1508.50695801 1508.50695801 + 1522.0880127 1522.0880127 1522.0880127 + 1535.80834961 1535.80834961 1535.80834961 + 1549.66967773 1549.66967773 1549.66967773 + 1563.58349609 1563.58349609 1563.58349609 + 1577.63928223 1577.63928223 1577.63928223 + 1591.83630371 1591.83630371 1591.83630371 + 1606.1817627 1606.1817627 1606.1817627 + 1620.67041016 1620.67041016 1620.67041016 + 1635.21411133 1635.21411133 1635.21411133 + 1649.91015625 1649.91015625 1649.91015625 + 1664.84545898 1664.84545898 1664.84545898 + 1679.84094238 1679.84094238 1679.84094238 + 1694.89172363 1694.89172363 1694.89172363 + 1710.19226074 1710.19226074 1710.19226074 + 1725.55310059 1725.55310059 1725.55310059 + 1741.16943359 1741.16943359 1741.16943359 + 1756.84350586 1756.84350586 1756.84350586 + 1772.57836914 1772.57836914 1772.57836914 + 1788.57055664 1788.57055664 1788.57055664 + 1804.73193359 1804.73193359 1804.73193359 + 1820.95227051 1820.95227051 1820.95227051 + 1837.33483887 1837.33483887 1837.33483887 + 1853.88903809 1853.88903809 1853.88903809 + 1870.60961914 1870.60961914 1870.60961914 + 1887.50195312 1887.50195312 1887.50195312 + 1904.45556641 1904.45556641 1904.45556641 + 1921.69592285 1921.69592285 1921.69592285 + 1938.99938965 1938.99938965 1938.99938965 + 1956.36450195 1956.36450195 1956.36450195 + 1974.0246582 1974.0246582 1974.0246582 + 1991.86096191 1991.86096191 1991.86096191 + 2009.76184082 2009.76184082 2009.76184082 + 2027.96679688 2027.96679688 2027.96679688 + 2046.23828125 2046.23828125 2046.23828125 + 2064.69677734 2064.69677734 2064.69677734 + 2083.3449707 2083.3449707 2083.3449707 + 2102.06005859 2102.06005859 2102.06005859 + 2120.96606445 2120.96606445 2120.96606445 + 2140.18969727 2140.18969727 2140.18969727 + 2159.48144531 2159.48144531 2159.48144531 + 2178.97192383 2178.97192383 2178.97192383 + 2198.53588867 2198.53588867 2198.53588867 + 2218.42871094 2218.42871094 2218.42871094 + 2238.390625 2238.390625 2238.390625 + 2258.68994141 2258.68994141 2258.68994141 + 2279.06616211 2279.06616211 2279.06616211 + 2299.64648438 2299.64648438 2299.64648438 + 2320.44335938 2320.44335938 2320.44335938 + 2341.30737305 2341.30737305 2341.30737305 + 2362.52929688 2362.52929688 2362.52929688 + 2383.82495117 2383.82495117 2383.82495117 + 2405.33959961 2405.33959961 2405.33959961 + 2427.07617188 2427.07617188 2427.07617188 + 2449.03637695 2449.03637695 2449.03637695 + 2471.07202148 2471.07202148 2471.07202148 + 2493.48022461 2493.48022461 2493.48022461 + 2515.97216797 2515.97216797 2515.97216797 + 2538.6887207 2538.6887207 2538.6887207 + 2561.640625 2561.640625 2561.640625 + 2584.828125 2584.828125 2584.828125 + 2608.25537109 2608.25537109 2608.25537109 + 2631.76147461 2631.76147461 2631.76147461 + 2655.66845703 2655.66845703 2655.66845703 + 2679.66308594 2679.66308594 2679.66308594 + 2703.89770508 2703.89770508 2703.89770508 + 2728.21972656 2728.21972656 2728.21972656 + 2752.95581055 2752.95581055 2752.95581055 + 2777.94897461 2777.94897461 2777.94897461 + 2803.0246582 2803.0246582 2803.0246582 + 2828.36010742 2828.36010742 2828.36010742 + 2853.95581055 2853.95581055 2853.95581055 + 2879.99023438 2879.99023438 2879.99023438 + 2905.93676758 2905.93676758 2905.93676758 + 2932.32763672 2932.32763672 2932.32763672 + 2958.8125 2958.8125 2958.8125 + 2985.75244141 2985.75244141 2985.75244141 + 3012.78076172 3012.78076172 3012.78076172 + 3040.08935547 3040.08935547 3040.08935547 + 3067.67993164 3067.67993164 3067.67993164 + 3095.36108398 3095.36108398 3095.36108398 + 3123.51757812 3123.51757812 3123.51757812 + 3151.77294922 3151.77294922 3151.77294922 + 3180.32006836 3180.32006836 3180.32006836 + 3209.15576172 3209.15576172 3209.15576172 + 3238.49560547 3238.49560547 3238.49560547 + 3267.73168945 3267.73168945 3267.73168945 + 3297.46630859 3297.46630859 3297.46630859 + 3327.30908203 3327.30908203 3327.30908203 + 3357.6628418 3357.6628418 3357.6628418 + 3388.12084961 3388.12084961 3388.12084961 + 3418.88842773 3418.88842773 3418.88842773 + 3449.98071289 3449.98071289 3449.98071289 + 3481.1730957 3481.1730957 3481.1730957 + 3512.90527344 3512.90527344 3512.90527344 + 3544.73925781 3544.73925781 3544.73925781 + 3577.13232422 3577.13232422 3577.13232422 + 3609.63085938 3609.63085938 3609.63085938 + 3642.46704102 3642.46704102 3642.46704102 + 3675.40356445 3675.40356445 3675.40356445 + 3709.15625 3709.15625 3709.15625 + 3742.78222656 3742.78222656 3742.78222656 + 3776.99438477 3776.99438477 3776.99438477 + 3811.07470703 3811.07470703 3811.07470703 + 3845.74853516 3845.74853516 3845.74853516 + 3881.03833008 3881.03833008 3881.03833008 + 3916.18139648 3916.18139648 3916.18139648 + 3951.95019531 3951.95019531 3951.95019531 + 3987.82861328 3987.82861328 3987.82861328 + 4024.34277344 4024.34277344 4024.34277344 + 4060.96386719 4060.96386719 4060.96386719 + 4097.97460938 4097.97460938 4097.97460938 + 4135.35888672 4135.35888672 4135.35888672 + 4173.14453125 4173.14453125 4173.14453125 + 4211.03369141 4211.03369141 4211.03369141 + 4249.60009766 4249.60009766 4249.60009766 + 4288.56933594 4288.56933594 4288.56933594 + 4327.65869141 4327.65869141 4327.65869141 + 4367.15380859 4367.15380859 4367.15380859 + 4407.05322266 4407.05322266 4407.05322266 + 4447.37744141 4447.37744141 4447.37744141 + 4488.11279297 4488.11279297 4488.11279297 + 4528.98046875 4528.98046875 4528.98046875 + 4570.57128906 4570.57128906 4570.57128906 + 4612.28710938 4612.28710938 4612.28710938 + 4654.43945312 4654.43945312 4654.43945312 + 4697.02978516 4697.02978516 4697.02978516 + 4740.06689453 4740.06689453 4740.06689453 + 4783.55371094 4783.55371094 4783.55371094 + 4827.17089844 4827.17089844 4827.17089844 + 4871.24267578 4871.24267578 4871.24267578 + 4916.09472656 4916.09472656 4916.09472656 + 4961.09472656 4961.09472656 4961.09472656 + 5006.5546875 5006.5546875 5006.5546875 + 5052.48974609 5052.48974609 5052.48974609 + 5098.90478516 5098.90478516 5098.90478516 + 5145.46875 5145.46875 5145.46875 + 5192.8515625 5192.8515625 5192.8515625 + 5240.38232422 5240.38232422 5240.38232422 + 5288.41308594 5288.41308594 5288.41308594 + 5336.94726562 5336.94726562 5336.94726562 + 5385.97753906 5385.97753906 5385.97753906 + 5435.53466797 5435.53466797 5435.53466797 + 5485.60253906 5485.60253906 5485.60253906 + 5535.82617188 5535.82617188 5535.82617188 + 5586.93505859 5586.93505859 5586.93505859 + 5638.22070312 5638.22070312 5638.22070312 + 5690.02978516 5690.02978516 5690.02978516 + 5742.38574219 5742.38574219 5742.38574219 + 5795.27734375 5795.27734375 5795.27734375 + 5848.73925781 5848.73925781 5848.73925781 + 5902.35351562 5902.35351562 5902.35351562 + 5956.93212891 5956.93212891 5956.93212891 + 6011.68115234 6011.68115234 6011.68115234 + 6066.9921875 6066.9921875 6066.9921875 + 6123.31494141 6123.31494141 6123.31494141 + 6179.79980469 6179.79980469 6179.79980469 + 6236.45800781 6236.45800781 6236.45800781 + 6294.12255859 6294.12255859 6294.12255859 + 6352.41308594 6352.41308594 6352.41308594 + 6410.8671875 6410.8671875 6410.8671875 + 6469.9375 6469.9375 6469.9375 + 6530.07666016 6530.07666016 6530.07666016 + 6589.93798828 6589.93798828 6589.93798828 + 6651.35253906 6651.35253906 6651.35253906 + 6712.48535156 6712.48535156 6712.48535156 + 6774.7265625 6774.7265625 6774.7265625 + 6837.13964844 6837.13964844 6837.13964844 + 6900.70410156 6900.70410156 6900.70410156 + 6964.44628906 6964.44628906 6964.44628906 + 7028.86083984 7028.86083984 7028.86083984 + 7093.95849609 7093.95849609 7093.95849609 + 7159.74560547 7159.74560547 7159.74560547 + 7226.21582031 7226.21582031 7226.21582031 + 7293.38720703 7293.38720703 7293.38720703 + 7360.76171875 7360.76171875 7360.76171875 + 7429.37011719 7429.37011719 7429.37011719 + 7498.16601562 7498.16601562 7498.16601562 + 7567.70654297 7567.70654297 7567.70654297 + 7637.96728516 7637.96728516 7637.96728516 + 7708.97802734 7708.97802734 7708.97802734 + 7780.72363281 7780.72363281 7780.72363281 + 7853.25048828 7853.25048828 7853.25048828 + 7925.97460938 7925.97460938 7925.97460938 + 7999.47265625 7999.47265625 7999.47265625 + 8074.31738281 8074.31738281 8074.31738281 + 8149.38525391 8149.38525391 8149.38525391 + 8225.23535156 8225.23535156 8225.23535156 + 8301.89257812 8301.89257812 8301.89257812 + 8378.77246094 8378.77246094 8378.77246094 + 8457.06835938 8457.06835938 8457.06835938 + 8536.20214844 8536.20214844 8536.20214844 + 8615.54785156 8615.54785156 8615.54785156 + 8696.35742188 8696.35742188 8696.35742188 + 8777.40722656 8777.40722656 8777.40722656 + 8859.32421875 8859.32421875 8859.32421875 + 8942.09179688 8942.09179688 8942.09179688 + 9025.76855469 9025.76855469 9025.76855469 + 9109.66015625 9109.66015625 9109.66015625 + 9195.109375 9195.109375 9195.109375 + 9280.78417969 9280.78417969 9280.78417969 + 9368.07226562 9368.07226562 9368.07226562 + 9455.59570312 9455.59570312 9455.59570312 + 9544.04980469 9544.04980469 9544.04980469 + 9633.45703125 9633.45703125 9633.45703125 + 9723.81933594 9723.81933594 9723.81933594 + 9815.15039062 9815.15039062 9815.15039062 + 9907.44335938 9907.44335938 9907.44335938 + 10000.0 10000.0 10000.0 +} diff --git a/aces_1.0.0/luts/Dolby_PQ_Scaled_to_linear.spi1d b/aces_1.0.0/luts/Dolby_PQ_Scaled_to_linear.spi1d new file mode 100644 index 0000000..1c68dbc --- /dev/null +++ b/aces_1.0.0/luts/Dolby_PQ_Scaled_to_linear.spi1d @@ -0,0 +1,1030 @@ +Version 1 +From 0.000000 1.000000 +Length 1024 +Components 3 +{ + 0.00281250011176 0.00281250011176 0.00281250011176 + 0.00281256600283 0.00281256600283 0.00281256600283 + 0.00281271361746 0.00281271361746 0.00281271361746 + 0.00281292758882 0.00281292758882 0.00281292758882 + 0.00281320302747 0.00281320302747 0.00281320302747 + 0.00281353853643 0.00281353853643 0.00281353853643 + 0.00281393318437 0.00281393318437 0.00281393318437 + 0.00281438720413 0.00281438720413 0.00281438720413 + 0.00281490082853 0.00281490082853 0.00281490082853 + 0.0028154742904 0.0028154742904 0.0028154742904 + 0.00281610852107 0.00281610852107 0.00281610852107 + 0.00281680421904 0.00281680421904 0.00281680421904 + 0.00281756254844 0.00281756254844 0.00281756254844 + 0.00281838420779 0.00281838420779 0.00281838420779 + 0.00281927036121 0.00281927036121 0.00281927036121 + 0.00282022194006 0.00282022194006 0.00282022194006 + 0.00282124010846 0.00282124010846 0.00282124010846 + 0.00282232626341 0.00282232626341 0.00282232626341 + 0.00282348156907 0.00282348156907 0.00282348156907 + 0.00282470718957 0.00282470718957 0.00282470718957 + 0.00282600428909 0.00282600428909 0.00282600428909 + 0.00282737403177 0.00282737403177 0.00282737403177 + 0.00282881804742 0.00282881804742 0.00282881804742 + 0.00283033773303 0.00283033773303 0.00283033773303 + 0.00283193401992 0.00283193401992 0.00283193401992 + 0.00283360853791 0.00283360853791 0.00283360853791 + 0.00283536291681 0.00283536291681 0.00283536291681 + 0.00283719855361 0.00283719855361 0.00283719855361 + 0.00283911614679 0.00283911614679 0.00283911614679 + 0.00284111779183 0.00284111779183 0.00284111779183 + 0.00284320535138 0.00284320535138 0.00284320535138 + 0.00284537952393 0.00284537952393 0.00284537952393 + 0.00284764217213 0.00284764217213 0.00284764217213 + 0.00284999469295 0.00284999469295 0.00284999469295 + 0.00285243918188 0.00285243918188 0.00285243918188 + 0.0028549763374 0.0028549763374 0.0028549763374 + 0.00285760848783 0.00285760848783 0.00285760848783 + 0.00286033679731 0.00286033679731 0.00286033679731 + 0.00286316243 0.00286316243 0.00286316243 + 0.00286608887836 0.00286608887836 0.00286608887836 + 0.00286911590956 0.00286911590956 0.00286911590956 + 0.00287224561907 0.00287224561907 0.00287224561907 + 0.00287547986954 0.00287547986954 0.00287547986954 + 0.00287882029079 0.00287882029079 0.00287882029079 + 0.00288226944394 0.00288226944394 0.00288226944394 + 0.00288582849316 0.00288582849316 0.00288582849316 + 0.00288949953392 0.00288949953392 0.00288949953392 + 0.00289328233339 0.00289328233339 0.00289328233339 + 0.00289718201384 0.00289718201384 0.00289718201384 + 0.00290119764395 0.00290119764395 0.00290119764395 + 0.00290533248335 0.00290533248335 0.00290533248335 + 0.0029095869977 0.0029095869977 0.0029095869977 + 0.00291396467946 0.00291396467946 0.00291396467946 + 0.00291846808977 0.00291846808977 0.00291846808977 + 0.00292309769429 0.00292309769429 0.00292309769429 + 0.00292785372585 0.00292785372585 0.00292785372585 + 0.00293274177238 0.00293274177238 0.00293274177238 + 0.00293776346371 0.00293776346371 0.00293776346371 + 0.00294291670434 0.00294291670434 0.00294291670434 + 0.00294820824638 0.00294820824638 0.00294820824638 + 0.00295363622718 0.00295363622718 0.00295363622718 + 0.00295920670033 0.00295920670033 0.00295920670033 + 0.002964919433 0.002964919433 0.002964919433 + 0.00297077628784 0.00297077628784 0.00297077628784 + 0.00297677959315 0.00297677959315 0.00297677959315 + 0.00298293144442 0.00298293144442 0.00298293144442 + 0.0029892376624 0.0029892376624 0.0029892376624 + 0.00299569475465 0.00299569475465 0.00299569475465 + 0.00300230551511 0.00300230551511 0.00300230551511 + 0.00300907623023 0.00300907623023 0.00300907623023 + 0.00301600666717 0.00301600666717 0.00301600666717 + 0.00302310031839 0.00302310031839 0.00302310031839 + 0.0030303564854 0.0030303564854 0.0030303564854 + 0.00303778285161 0.00303778285161 0.00303778285161 + 0.00304537615739 0.00304537615739 0.00304537615739 + 0.00305314385332 0.00305314385332 0.00305314385332 + 0.00306108221412 0.00306108221412 0.00306108221412 + 0.00306919962168 0.00306919962168 0.00306919962168 + 0.00307749561034 0.00307749561034 0.00307749561034 + 0.00308597134426 0.00308597134426 0.00308597134426 + 0.00309463101439 0.00309463101439 0.00309463101439 + 0.00310347997583 0.00310347997583 0.00310347997583 + 0.00311251822859 0.00311251822859 0.00311251822859 + 0.00312174740247 0.00312174740247 0.00312174740247 + 0.00313116586767 0.00313116586767 0.00313116586767 + 0.00314078619704 0.00314078619704 0.00314078619704 + 0.0031506086234 0.0031506086234 0.0031506086234 + 0.00316062802449 0.00316062802449 0.00316062802449 + 0.0031708504539 0.0031708504539 0.0031708504539 + 0.00318128871731 0.00318128871731 0.00318128871731 + 0.00319193140604 0.00319193140604 0.00319193140604 + 0.00320278527215 0.00320278527215 0.00320278527215 + 0.00321386451833 0.00321386451833 0.00321386451833 + 0.00322515564039 0.00322515564039 0.00322515564039 + 0.00323666748591 0.00323666748591 0.00323666748591 + 0.00324840727262 0.00324840727262 0.00324840727262 + 0.00326037569903 0.00326037569903 0.00326037569903 + 0.0032725664787 0.0032725664787 0.0032725664787 + 0.00328500452451 0.00328500452451 0.00328500452451 + 0.00329766538925 0.00329766538925 0.00329766538925 + 0.00331057468429 0.00331057468429 0.00331057468429 + 0.00332371820696 0.00332371820696 0.00332371820696 + 0.00333711295389 0.00333711295389 0.00333711295389 + 0.00335076055489 0.00335076055489 0.00335076055489 + 0.00336465309374 0.00336465309374 0.00336465309374 + 0.00337880081497 0.00337880081497 0.00337880081497 + 0.00339321605861 0.00339321605861 0.00339321605861 + 0.00340788927861 0.00340788927861 0.00340788927861 + 0.00342281954363 0.00342281954363 0.00342281954363 + 0.00343802268617 0.00343802268617 0.00343802268617 + 0.00345350778662 0.00345350778662 0.00345350778662 + 0.00346925458871 0.00346925458871 0.00346925458871 + 0.00348527543247 0.00348527543247 0.00348527543247 + 0.00350159872323 0.00350159872323 0.00350159872323 + 0.00351818511263 0.00351818511263 0.00351818511263 + 0.003535061609 0.003535061609 0.003535061609 + 0.00355224427767 0.00355224427767 0.00355224427767 + 0.0035697221756 0.0035697221756 0.0035697221756 + 0.00358749600127 0.00358749600127 0.00358749600127 + 0.00360556831583 0.00360556831583 0.00360556831583 + 0.00362395029515 0.00362395029515 0.00362395029515 + 0.0036426500883 0.0036426500883 0.0036426500883 + 0.00366166653112 0.00366166653112 0.00366166653112 + 0.0036809858866 0.0036809858866 0.0036809858866 + 0.00370062398724 0.00370062398724 0.00370062398724 + 0.0037206010893 0.0037206010893 0.0037206010893 + 0.00374090205878 0.00374090205878 0.00374090205878 + 0.00376154575497 0.00376154575497 0.00376154575497 + 0.00378251867369 0.00378251867369 0.00378251867369 + 0.00380383688025 0.00380383688025 0.00380383688025 + 0.00382550247014 0.00382550247014 0.00382550247014 + 0.00384752266109 0.00384752266109 0.00384752266109 + 0.00386989628896 0.00386989628896 0.00386989628896 + 0.00389262521639 0.00389262521639 0.00389262521639 + 0.00391570990905 0.00391570990905 0.00391570990905 + 0.00393915548921 0.00393915548921 0.00393915548921 + 0.00396298151463 0.00396298151463 0.00396298151463 + 0.00398717354983 0.00398717354983 0.00398717354983 + 0.00401175348088 0.00401175348088 0.00401175348088 + 0.00403672317043 0.00403672317043 0.00403672317043 + 0.00406208448112 0.00406208448112 0.00406208448112 + 0.00408781925216 0.00408781925216 0.00408781925216 + 0.00411394890398 0.00411394890398 0.00411394890398 + 0.00414050836116 0.00414050836116 0.00414050836116 + 0.00416746689007 0.00416746689007 0.00416746689007 + 0.00419483520091 0.00419483520091 0.00419483520091 + 0.00422260537744 0.00422260537744 0.00422260537744 + 0.00425082072616 0.00425082072616 0.00425082072616 + 0.00427941419184 0.00427941419184 0.00427941419184 + 0.0043084807694 0.0043084807694 0.0043084807694 + 0.0043379701674 0.0043379701674 0.0043379701674 + 0.00436790194362 0.00436790194362 0.00436790194362 + 0.00439825933427 0.00439825933427 0.00439825933427 + 0.00442910380661 0.00442910380661 0.00442910380661 + 0.00446037854999 0.00446037854999 0.00446037854999 + 0.00449210917577 0.00449210917577 0.00449210917577 + 0.00452434550971 0.00452434550971 0.00452434550971 + 0.00455700885504 0.00455700885504 0.00455700885504 + 0.00459018535912 0.00459018535912 0.00459018535912 + 0.00462383264676 0.00462383264676 0.00462383264676 + 0.00465792044997 0.00465792044997 0.00465792044997 + 0.00469256285578 0.00469256285578 0.00469256285578 + 0.00472765089944 0.00472765089944 0.00472765089944 + 0.00476326234639 0.00476326234639 0.00476326234639 + 0.00479940604419 0.00479940604419 0.00479940604419 + 0.0048360414803 0.0048360414803 0.0048360414803 + 0.00487321056426 0.00487321056426 0.00487321056426 + 0.00491087976843 0.00491087976843 0.00491087976843 + 0.00494909612462 0.00494909612462 0.00494909612462 + 0.00498785637319 0.00498785637319 0.00498785637319 + 0.00502716982737 0.00502716982737 0.00502716982737 + 0.00506699457765 0.00506699457765 0.00506699457765 + 0.00510737858713 0.00510737858713 0.00510737858713 + 0.00514837168157 0.00514837168157 0.00514837168157 + 0.005189885851 0.005189885851 0.005189885851 + 0.00523202493787 0.00523202493787 0.00523202493787 + 0.00527468184009 0.00527468184009 0.00527468184009 + 0.00531792128459 0.00531792128459 0.00531792128459 + 0.00536179868504 0.00536179868504 0.00536179868504 + 0.00540626142174 0.00540626142174 0.00540626142174 + 0.005451310426 0.005451310426 0.005451310426 + 0.00549701973796 0.00549701973796 0.00549701973796 + 0.00554332276806 0.00554332276806 0.00554332276806 + 0.00559016689658 0.00559016689658 0.00559016689658 + 0.00563773978502 0.00563773978502 0.00563773978502 + 0.00568598648533 0.00568598648533 0.00568598648533 + 0.005734779872 0.005734779872 0.005734779872 + 0.00578426104039 0.00578426104039 0.00578426104039 + 0.00583435595036 0.00583435595036 0.00583435595036 + 0.00588521314785 0.00588521314785 0.00588521314785 + 0.00593663193285 0.00593663193285 0.00593663193285 + 0.0059888260439 0.0059888260439 0.0059888260439 + 0.0060417233035 0.0060417233035 0.0060417233035 + 0.00609526317567 0.00609526317567 0.00609526317567 + 0.00614945124835 0.00614945124835 0.00614945124835 + 0.00620442815125 0.00620442815125 0.00620442815125 + 0.00626006582752 0.00626006582752 0.00626006582752 + 0.00631642807275 0.00631642807275 0.00631642807275 + 0.00637360895053 0.00637360895053 0.00637360895053 + 0.00643146131188 0.00643146131188 0.00643146131188 + 0.00649006199092 0.00649006199092 0.00649006199092 + 0.00654941890389 0.00654941890389 0.00654941890389 + 0.0066095306538 0.0066095306538 0.0066095306538 + 0.00667049922049 0.00667049922049 0.00667049922049 + 0.00673214532435 0.00673214532435 0.00673214532435 + 0.00679457793012 0.00679457793012 0.00679457793012 + 0.00685786781833 0.00685786781833 0.00685786781833 + 0.00692186504602 0.00692186504602 0.00692186504602 + 0.00698674656451 0.00698674656451 0.00698674656451 + 0.00705242250115 0.00705242250115 0.00705242250115 + 0.00711900414899 0.00711900414899 0.00711900414899 + 0.00718628615141 0.00718628615141 0.00718628615141 + 0.00725450227037 0.00725450227037 0.00725450227037 + 0.00732352025807 0.00732352025807 0.00732352025807 + 0.00739347189665 0.00739347189665 0.00739347189665 + 0.00746426638216 0.00746426638216 0.00746426638216 + 0.00753588788211 0.00753588788211 0.00753588788211 + 0.0076084700413 0.0076084700413 0.0076084700413 + 0.0076818917878 0.0076818917878 0.0076818917878 + 0.00775628257543 0.00775628257543 0.00775628257543 + 0.00783154182136 0.00783154182136 0.00783154182136 + 0.00790776871145 0.00790776871145 0.00790776871145 + 0.00798487477005 0.00798487477005 0.00798487477005 + 0.00806297920644 0.00806297920644 0.00806297920644 + 0.00814197026193 0.00814197026193 0.00814197026193 + 0.00822197366506 0.00822197366506 0.00822197366506 + 0.00830299872905 0.00830299872905 0.00830299872905 + 0.00838491506875 0.00838491506875 0.00838491506875 + 0.00846788007766 0.00846788007766 0.00846788007766 + 0.00855189189315 0.00855189189315 0.00855189189315 + 0.00863682292402 0.00863682292402 0.00863682292402 + 0.00872281193733 0.00872281193733 0.00872281193733 + 0.00880987010896 0.00880987010896 0.00880987010896 + 0.00889800302684 0.00889800302684 0.00889800302684 + 0.00898707751185 0.00898707751185 0.00898707751185 + 0.00907725654542 0.00907725654542 0.00907725654542 + 0.00916853360832 0.00916853360832 0.00916853360832 + 0.00926092080772 0.00926092080772 0.00926092080772 + 0.00935426354408 0.00935426354408 0.00935426354408 + 0.00944874435663 0.00944874435663 0.00944874435663 + 0.00954453274608 0.00954453274608 0.00954453274608 + 0.00964128039777 0.00964128039777 0.00964128039777 + 0.00973919034004 0.00973919034004 0.00973919034004 + 0.00983843579888 0.00983843579888 0.00983843579888 + 0.00993868149817 0.00993868149817 0.00993868149817 + 0.0100401137024 0.0100401137024 0.0100401137024 + 0.010142724961 0.010142724961 0.010142724961 + 0.0102465432137 0.0102465432137 0.0102465432137 + 0.0103515516967 0.0103515516967 0.0103515516967 + 0.0104577848688 0.0104577848688 0.0104577848688 + 0.0105654355139 0.0105654355139 0.0105654355139 + 0.0106741189957 0.0106741189957 0.0106741189957 + 0.0107842627913 0.0107842627913 0.0107842627913 + 0.0108954505995 0.0108954505995 0.0108954505995 + 0.0110078826547 0.0110078826547 0.0110078826547 + 0.0111218094826 0.0111218094826 0.0111218094826 + 0.0112369963899 0.0112369963899 0.0112369963899 + 0.0113534796983 0.0113534796983 0.0113534796983 + 0.011471260339 0.011471260339 0.011471260339 + 0.0115905674174 0.0115905674174 0.0115905674174 + 0.0117109827697 0.0117109827697 0.0117109827697 + 0.0118329394609 0.0118329394609 0.0118329394609 + 0.0119562372565 0.0119562372565 0.0119562372565 + 0.0120808575302 0.0120808575302 0.0120808575302 + 0.012207086198 0.012207086198 0.012207086198 + 0.0123346820474 0.0123346820474 0.0123346820474 + 0.0124636553228 0.0124636553228 0.0124636553228 + 0.0125942537561 0.0125942537561 0.0125942537561 + 0.0127259977162 0.0127259977162 0.0127259977162 + 0.0128593947738 0.0128593947738 0.0128593947738 + 0.0129942055792 0.0129942055792 0.0129942055792 + 0.0131307141855 0.0131307141855 0.0131307141855 + 0.0132689168677 0.0132689168677 0.0132689168677 + 0.0134082762524 0.0134082762524 0.0134082762524 + 0.0135494070128 0.0135494070128 0.0135494070128 + 0.0136919701472 0.0136919701472 0.0136919701472 + 0.0138363000005 0.0138363000005 0.0138363000005 + 0.0139818098396 0.0139818098396 0.0139818098396 + 0.014129422605 0.014129422605 0.014129422605 + 0.014278515242 0.014278515242 0.014278515242 + 0.0144291389734 0.0144291389734 0.0144291389734 + 0.014581582509 0.014581582509 0.014581582509 + 0.0147355850786 0.0147355850786 0.0147355850786 + 0.0148914279416 0.0148914279416 0.0148914279416 + 0.015048856847 0.015048856847 0.015048856847 + 0.0152081530541 0.0152081530541 0.0152081530541 + 0.0153690259904 0.0153690259904 0.0153690259904 + 0.0155318239704 0.0155318239704 0.0155318239704 + 0.0156962182373 0.0156962182373 0.0156962182373 + 0.0158625785261 0.0158625785261 0.0158625785261 + 0.0160308852792 0.0160308852792 0.0160308852792 + 0.016200851649 0.016200851649 0.016200851649 + 0.0163728315383 0.0163728315383 0.0163728315383 + 0.0165464580059 0.0165464580059 0.0165464580059 + 0.0167217254639 0.0167217254639 0.0167217254639 + 0.0168990567327 0.0168990567327 0.0168990567327 + 0.0170784555376 0.0170784555376 0.0170784555376 + 0.0172599554062 0.0172599554062 0.0172599554062 + 0.0174431558698 0.0174431558698 0.0174431558698 + 0.0176284760237 0.0176284760237 0.0176284760237 + 0.017815509811 0.017815509811 0.017815509811 + 0.0180046968162 0.0180046968162 0.0180046968162 + 0.0181960649788 0.0181960649788 0.0181960649788 + 0.0183896292001 0.0183896292001 0.0183896292001 + 0.018584959209 0.018584959209 0.018584959209 + 0.018782556057 0.018782556057 0.018782556057 + 0.0189823620021 0.0189823620021 0.0189823620021 + 0.0191839598119 0.0191839598119 0.0191839598119 + 0.019387871027 0.019387871027 0.019387871027 + 0.0195940546691 0.0195940546691 0.0195940546691 + 0.0198020972311 0.0198020972311 0.0198020972311 + 0.0200124680996 0.0200124680996 0.0200124680996 + 0.0202251933515 0.0202251933515 0.0202251933515 + 0.0204402878881 0.0204402878881 0.0204402878881 + 0.0206577852368 0.0206577852368 0.0206577852368 + 0.0208771564066 0.0208771564066 0.0208771564066 + 0.0210990011692 0.0210990011692 0.0210990011692 + 0.0213232561946 0.0213232561946 0.0213232561946 + 0.0215494595468 0.0215494595468 0.0215494595468 + 0.0217787101865 0.0217787101865 0.0217787101865 + 0.0220098905265 0.0220098905265 0.0220098905265 + 0.0222435966134 0.0222435966134 0.0222435966134 + 0.0224798507988 0.0224798507988 0.0224798507988 + 0.0227187089622 0.0227187089622 0.0227187089622 + 0.0229595564306 0.0229595564306 0.0229595564306 + 0.0232035517693 0.0232035517693 0.0232035517693 + 0.0234496183693 0.0234496183693 0.0234496183693 + 0.0236983671784 0.0236983671784 0.0236983671784 + 0.0239497199655 0.0239497199655 0.0239497199655 + 0.0242038071156 0.0242038071156 0.0242038071156 + 0.0244599580765 0.0244599580765 0.0244599580765 + 0.0247194729745 0.0247194729745 0.0247194729745 + 0.0249817371368 0.0249817371368 0.0249817371368 + 0.0252461433411 0.0252461433411 0.0252461433411 + 0.0255139730871 0.0255139730871 0.0255139730871 + 0.025783970952 0.025783970952 0.025783970952 + 0.0260568000376 0.0260568000376 0.0260568000376 + 0.0263325348496 0.0263325348496 0.0263325348496 + 0.0266110636294 0.0266110636294 0.0266110636294 + 0.0268925689161 0.0268925689161 0.0268925689161 + 0.027176965028 0.027176965028 0.027176965028 + 0.0274643748999 0.0274643748999 0.0274643748999 + 0.0277546718717 0.0277546718717 0.0277546718717 + 0.0280480347574 0.0280480347574 0.0280480347574 + 0.0283443890512 0.0283443890512 0.0283443890512 + 0.0286430381238 0.0286430381238 0.0286430381238 + 0.0289455465972 0.0289455465972 0.0289455465972 + 0.0292510576546 0.0292510576546 0.0292510576546 + 0.0295589640737 0.0295589640737 0.0295589640737 + 0.0298715978861 0.0298715978861 0.0298715978861 + 0.0301857590675 0.0301857590675 0.0301857590675 + 0.0305039472878 0.0305039472878 0.0305039472878 + 0.0308245010674 0.0308245010674 0.0308245010674 + 0.0311491601169 0.0311491601169 0.0311491601169 + 0.0314770489931 0.0314770489931 0.0314770489931 + 0.0318082123995 0.0318082123995 0.0318082123995 + 0.0321427211165 0.0321427211165 0.0321427211165 + 0.0324805565178 0.0324805565178 0.0324805565178 + 0.0328217223287 0.0328217223287 0.0328217223287 + 0.033166334033 0.033166334033 0.033166334033 + 0.0335143245757 0.0335143245757 0.0335143245757 + 0.0338657163084 0.0338657163084 0.0338657163084 + 0.0342206247151 0.0342206247151 0.0342206247151 + 0.0345799997449 0.0345799997449 0.0345799997449 + 0.0349418446422 0.0349418446422 0.0349418446422 + 0.03530831635 0.03530831635 0.03530831635 + 0.0356772840023 0.0356772840023 0.0356772840023 + 0.0360508710146 0.0360508710146 0.0360508710146 + 0.0364281386137 0.0364281386137 0.0364281386137 + 0.0368090197444 0.0368090197444 0.0368090197444 + 0.0371925383806 0.0371925383806 0.0371925383806 + 0.0375818572938 0.0375818572938 0.0375818572938 + 0.0379739329219 0.0379739329219 0.0379739329219 + 0.0383697301149 0.0383697301149 0.0383697301149 + 0.0387703590095 0.0387703590095 0.0387703590095 + 0.0391737669706 0.0391737669706 0.0391737669706 + 0.0395821742713 0.0395821742713 0.0395821742713 + 0.0399944074452 0.0399944074452 0.0399944074452 + 0.0404105260968 0.0404105260968 0.0404105260968 + 0.0408318527043 0.0408318527043 0.0408318527043 + 0.0412547327578 0.0412547327578 0.0412547327578 + 0.0416840538383 0.0416840538383 0.0416840538383 + 0.0421172603965 0.0421172603965 0.0421172603965 + 0.0425546951592 0.0425546951592 0.0425546951592 + 0.0429961569607 0.0429961569607 0.0429961569607 + 0.0434416905046 0.0434416905046 0.0434416905046 + 0.0438927896321 0.0438927896321 0.0438927896321 + 0.0443466417491 0.0443466417491 0.0443466417491 + 0.0448061451316 0.0448061451316 0.0448061451316 + 0.045269832015 0.045269832015 0.045269832015 + 0.0457378327847 0.0457378327847 0.0457378327847 + 0.0462101064622 0.0462101064622 0.0462101064622 + 0.0466880872846 0.0466880872846 0.0466880872846 + 0.0471690371633 0.0471690371633 0.0471690371633 + 0.0476572662592 0.0476572662592 0.0476572662592 + 0.048148535192 0.048148535192 0.048148535192 + 0.0486441887915 0.0486441887915 0.0486441887915 + 0.0491457991302 0.0491457991302 0.0491457991302 + 0.0496505722404 0.0496505722404 0.0496505722404 + 0.0501628816128 0.0501628816128 0.0501628816128 + 0.0506782382727 0.0506782382727 0.0506782382727 + 0.0511998087168 0.0511998087168 0.0511998087168 + 0.0517261065543 0.0517261065543 0.0517261065543 + 0.0522571615875 0.0522571615875 0.0522571615875 + 0.0527928620577 0.0527928620577 0.0527928620577 + 0.0533349812031 0.0533349812031 0.0533349812031 + 0.0538802631199 0.0538802631199 0.0538802631199 + 0.0544337444007 0.0544337444007 0.0544337444007 + 0.0549904555082 0.0549904555082 0.0549904555082 + 0.0555537566543 0.0555537566543 0.0555537566543 + 0.0561219602823 0.0561219602823 0.0561219602823 + 0.056695330888 0.056695330888 0.056695330888 + 0.0572753660381 0.0572753660381 0.0572753660381 + 0.0578587763011 0.0578587763011 0.0578587763011 + 0.0584508515894 0.0584508515894 0.0584508515894 + 0.0590462274849 0.0590462274849 0.0590462274849 + 0.0596468225121 0.0596468225121 0.0596468225121 + 0.0602544806898 0.0602544806898 0.0602544806898 + 0.0608693063259 0.0608693063259 0.0608693063259 + 0.0614876113832 0.0614876113832 0.0614876113832 + 0.0621131770313 0.0621131770313 0.0621131770313 + 0.0627440288663 0.0627440288663 0.0627440288663 + 0.063382267952 0.063382267952 0.063382267952 + 0.064026042819 0.064026042819 0.064026042819 + 0.064675360918 0.064675360918 0.064675360918 + 0.065332248807 0.065332248807 0.065332248807 + 0.0659926086664 0.0659926086664 0.0659926086664 + 0.0666628703475 0.0666628703475 0.0666628703475 + 0.0673366263509 0.0673366263509 0.0673366263509 + 0.0680182278156 0.0680182278156 0.0680182278156 + 0.0687055960298 0.0687055960298 0.0687055960298 + 0.0693987905979 0.0693987905979 0.0693987905979 + 0.0701000317931 0.0701000317931 0.0701000317931 + 0.0708093866706 0.0708093866706 0.0708093866706 + 0.0715223476291 0.0715223476291 0.0715223476291 + 0.072243720293 0.072243720293 0.072243720293 + 0.0729709565639 0.0729709565639 0.0729709565639 + 0.0737065598369 0.0737065598369 0.0737065598369 + 0.0744483619928 0.0744483619928 0.0744483619928 + 0.0751962885261 0.0751962885261 0.0751962885261 + 0.0759528428316 0.0759528428316 0.0759528428316 + 0.076715670526 0.076715670526 0.076715670526 + 0.0774848088622 0.0774848088622 0.0774848088622 + 0.0782627388835 0.0782627388835 0.0782627388835 + 0.0790496021509 0.0790496021509 0.0790496021509 + 0.0798402130604 0.0798402130604 0.0798402130604 + 0.0806400701404 0.0806400701404 0.0806400701404 + 0.0814490616322 0.0814490616322 0.0814490616322 + 0.0822618380189 0.0822618380189 0.0822618380189 + 0.0830867439508 0.0830867439508 0.0830867439508 + 0.0839154496789 0.0839154496789 0.0839154496789 + 0.0847538039088 0.0847538039088 0.0847538039088 + 0.0856015086174 0.0856015086174 0.0856015086174 + 0.0864562392235 0.0864562392235 0.0864562392235 + 0.0873176902533 0.0873176902533 0.0873176902533 + 0.0881860330701 0.0881860330701 0.0881860330701 + 0.0890643969178 0.0890643969178 0.0890643969178 + 0.0899525210261 0.0899525210261 0.0899525210261 + 0.0908448025584 0.0908448025584 0.0908448025584 + 0.0917503163218 0.0917503163218 0.0917503163218 + 0.0926598459482 0.0926598459482 0.0926598459482 + 0.0935828834772 0.0935828834772 0.0935828834772 + 0.0945099294186 0.0945099294186 0.0945099294186 + 0.0954476445913 0.0954476445913 0.0954476445913 + 0.0963956788182 0.0963956788182 0.0963956788182 + 0.0973514169455 0.0973514169455 0.0973514169455 + 0.0983144491911 0.0983144491911 0.0983144491911 + 0.0992884561419 0.0992884561419 0.0992884561419 + 0.100270144641 0.100270144641 0.100270144641 + 0.101259179413 0.101259179413 0.101259179413 + 0.102259531617 0.102259531617 0.102259531617 + 0.103271067142 0.103271067142 0.103271067142 + 0.104290440679 0.104290440679 0.104290440679 + 0.105317674577 0.105317674577 0.105317674577 + 0.106356412172 0.106356412172 0.106356412172 + 0.107406690717 0.107406690717 0.107406690717 + 0.108461424708 0.108461424708 0.108461424708 + 0.109527878463 0.109527878463 0.109527878463 + 0.110610179603 0.110610179603 0.110610179603 + 0.111696779728 0.111696779728 0.111696779728 + 0.11279566586 0.11279566586 0.11279566586 + 0.113898798823 0.113898798823 0.113898798823 + 0.11501827836 0.11501827836 0.11501827836 + 0.116146244109 0.116146244109 0.116146244109 + 0.117286689579 0.117286689579 0.117286689579 + 0.118435770273 0.118435770273 0.118435770273 + 0.119593441486 0.119593441486 0.119593441486 + 0.120763815939 0.120763815939 0.120763815939 + 0.121947474778 0.121947474778 0.121947474778 + 0.123139716685 0.123139716685 0.123139716685 + 0.124341025949 0.124341025949 0.124341025949 + 0.125559970737 0.125559970737 0.125559970737 + 0.126783579588 0.126783579588 0.126783579588 + 0.128020614386 0.128020614386 0.128020614386 + 0.129266783595 0.129266783595 0.129266783595 + 0.130526587367 0.130526587367 0.130526587367 + 0.131800547242 0.131800547242 0.131800547242 + 0.133083879948 0.133083879948 0.133083879948 + 0.134376272559 0.134376272559 0.134376272559 + 0.135683134198 0.135683134198 0.135683134198 + 0.13700427115 0.13700427115 0.13700427115 + 0.138335362077 0.138335362077 0.138335362077 + 0.139675781131 0.139675781131 0.139675781131 + 0.141036108136 0.141036108136 0.141036108136 + 0.142401263118 0.142401263118 0.142401263118 + 0.143781274557 0.143781274557 0.143781274557 + 0.145176321268 0.145176321268 0.145176321268 + 0.146581396461 0.146581396461 0.146581396461 + 0.14800208807 0.14800208807 0.14800208807 + 0.149433001876 0.149433001876 0.149433001876 + 0.150879383087 0.150879383087 0.150879383087 + 0.152336090803 0.152336090803 0.152336090803 + 0.153808638453 0.153808638453 0.153808638453 + 0.15529191494 0.15529191494 0.15529191494 + 0.156791225076 0.156791225076 0.156791225076 + 0.158306881785 0.158306881785 0.158306881785 + 0.159833163023 0.159833163023 0.159833163023 + 0.161370143294 0.161370143294 0.161370143294 + 0.162924170494 0.162924170494 0.162924170494 + 0.164494916797 0.164494916797 0.164494916797 + 0.166076630354 0.166076630354 0.166076630354 + 0.167675435543 0.167675435543 0.167675435543 + 0.169285774231 0.169285774231 0.169285774231 + 0.170913428068 0.170913428068 0.170913428068 + 0.172552317381 0.172552317381 0.172552317381 + 0.174208894372 0.174208894372 0.174208894372 + 0.175876796246 0.175876796246 0.175876796246 + 0.177562996745 0.177562996745 0.177562996745 + 0.179267391562 0.179267391562 0.179267391562 + 0.180983394384 0.180983394384 0.180983394384 + 0.182718262076 0.182718262076 0.182718262076 + 0.184465005994 0.184465005994 0.184465005994 + 0.186230391264 0.186230391264 0.186230391264 + 0.18801471591 0.18801471591 0.18801471591 + 0.189811602235 0.189811602235 0.189811602235 + 0.191620618105 0.191620618105 0.191620618105 + 0.19345612824 0.19345612824 0.19345612824 + 0.195296764374 0.195296764374 0.195296764374 + 0.197164833546 0.197164833546 0.197164833546 + 0.199045434594 0.199045434594 0.199045434594 + 0.200938627124 0.200938627124 0.200938627124 + 0.202851891518 0.202851891518 0.202851891518 + 0.204778403044 0.204778403044 0.204778403044 + 0.206733122468 0.206733122468 0.206733122468 + 0.20870141685 0.20870141685 0.20870141685 + 0.210682138801 0.210682138801 0.210682138801 + 0.212684437633 0.212684437633 0.212684437633 + 0.214708641171 0.214708641171 0.214708641171 + 0.216745451093 0.216745451093 0.216745451093 + 0.218796163797 0.218796163797 0.218796163797 + 0.220876961946 0.220876961946 0.220876961946 + 0.222971960902 0.222971960902 0.222971960902 + 0.225088998675 0.225088998675 0.225088998675 + 0.227219969034 0.227219969034 0.227219969034 + 0.229364722967 0.229364722967 0.229364722967 + 0.231541544199 0.231541544199 0.231541544199 + 0.233732357621 0.233732357621 0.233732357621 + 0.235937863588 0.235937863588 0.235937863588 + 0.238166049123 0.238166049123 0.238166049123 + 0.240428179502 0.240428179502 0.240428179502 + 0.242694988847 0.242694988847 0.242694988847 + 0.244986191392 0.244986191392 0.244986191392 + 0.247292011976 0.247292011976 0.247292011976 + 0.249622195959 0.249622195959 0.249622195959 + 0.251977354288 0.251977354288 0.251977354288 + 0.254357248545 0.254357248545 0.254357248545 + 0.25675290823 0.25675290823 0.25675290823 + 0.259163051844 0.259163051844 0.259163051844 + 0.261609822512 0.261609822512 0.261609822512 + 0.264071494341 0.264071494341 0.264071494341 + 0.266559660435 0.266559660435 0.266559660435 + 0.269063353539 0.269063353539 0.269063353539 + 0.271593868732 0.271593868732 0.271593868732 + 0.274140357971 0.274140357971 0.274140357971 + 0.276713341475 0.276713341475 0.276713341475 + 0.279313951731 0.279313951731 0.279313951731 + 0.281930714846 0.281930714846 0.281930714846 + 0.284574717283 0.284574717283 0.284574717283 + 0.287246972322 0.287246972322 0.287246972322 + 0.289935857058 0.289935857058 0.289935857058 + 0.292653471231 0.292653471231 0.292653471231 + 0.295399576426 0.295399576426 0.295399576426 + 0.298162251711 0.298162251711 0.298162251711 + 0.300954639912 0.300954639912 0.300954639912 + 0.303764075041 0.303764075041 0.303764075041 + 0.306602597237 0.306602597237 0.306602597237 + 0.30947136879 0.30947136879 0.30947136879 + 0.312370955944 0.312370955944 0.312370955944 + 0.315274685621 0.315274685621 0.315274685621 + 0.318222016096 0.318222016096 0.318222016096 + 0.321200758219 0.321200758219 0.321200758219 + 0.324197500944 0.324197500944 0.324197500944 + 0.327212244272 0.327212244272 0.327212244272 + 0.33025804162 0.33025804162 0.33025804162 + 0.333337038755 0.333337038755 0.333337038755 + 0.336447328329 0.336447328329 0.336447328329 + 0.339576750994 0.339576750994 0.339576750994 + 0.342738866806 0.342738866806 0.342738866806 + 0.345934450626 0.345934450626 0.345934450626 + 0.349148780107 0.349148780107 0.349148780107 + 0.352397322655 0.352397322655 0.352397322655 + 0.355664849281 0.355664849281 0.355664849281 + 0.358966380358 0.358966380358 0.358966380358 + 0.362302750349 0.362302750349 0.362302750349 + 0.36567351222 0.36567351222 0.36567351222 + 0.369064807892 0.369064807892 0.369064807892 + 0.372491300106 0.372491300106 0.372491300106 + 0.375937581062 0.375937581062 0.375937581062 + 0.379420340061 0.379420340061 0.379420340061 + 0.382955491543 0.382955491543 0.382955491543 + 0.386495530605 0.386495530605 0.386495530605 + 0.390071928501 0.390071928501 0.390071928501 + 0.393685847521 0.393685847521 0.393685847521 + 0.397337138653 0.397337138653 0.397337138653 + 0.401009529829 0.401009529829 0.401009529829 + 0.404720395803 0.404720395803 0.404720395803 + 0.408470660448 0.408470660448 0.408470660448 + 0.41224232316 0.41224232316 0.41224232316 + 0.416052609682 0.416052609682 0.416052609682 + 0.419885337353 0.419885337353 0.419885337353 + 0.423757255077 0.423757255077 0.423757255077 + 0.427688062191 0.427688062191 0.427688062191 + 0.431622982025 0.431622982025 0.431622982025 + 0.435617685318 0.435617685318 0.435617685318 + 0.439634889364 0.439634889364 0.439634889364 + 0.443694233894 0.443694233894 0.443694233894 + 0.447776407003 0.447776407003 0.447776407003 + 0.451900094748 0.451900094748 0.451900094748 + 0.456067323685 0.456067323685 0.456067323685 + 0.460258513689 0.460258513689 0.460258513689 + 0.464512437582 0.464512437582 0.464512437582 + 0.468770027161 0.468770027161 0.468770027161 + 0.473092198372 0.473092198372 0.473092198372 + 0.47746014595 0.47746014595 0.47746014595 + 0.481830090284 0.481830090284 0.481830090284 + 0.486268043518 0.486268043518 0.486268043518 + 0.490751028061 0.490751028061 0.490751028061 + 0.495237380266 0.495237380266 0.495237380266 + 0.499792098999 0.499792098999 0.499792098999 + 0.504393577576 0.504393577576 0.504393577576 + 0.509021043777 0.509021043777 0.509021043777 + 0.513695895672 0.513695895672 0.513695895672 + 0.518396914005 0.518396914005 0.518396914005 + 0.523146092892 0.523146092892 0.523146092892 + 0.527967631817 0.527967631817 0.527967631817 + 0.532792150974 0.532792150974 0.532792150974 + 0.537690341473 0.537690341473 0.537690341473 + 0.542614817619 0.542614817619 0.542614817619 + 0.547590970993 0.547590970993 0.547590970993 + 0.55259335041 0.55259335041 0.55259335041 + 0.557647705078 0.557647705078 0.557647705078 + 0.562753617764 0.562753617764 0.562753617764 + 0.567912697792 0.567912697792 0.567912697792 + 0.573099315166 0.573099315166 0.573099315166 + 0.578339517117 0.578339517117 0.578339517117 + 0.583633422852 0.583633422852 0.583633422852 + 0.588982403278 0.588982403278 0.588982403278 + 0.594359099865 0.594359099865 0.594359099865 + 0.599792003632 0.599792003632 0.599792003632 + 0.605253100395 0.605253100395 0.605253100395 + 0.610798418522 0.610798418522 0.610798418522 + 0.61637377739 0.61637377739 0.61637377739 + 0.621976435184 0.621976435184 0.621976435184 + 0.627666771412 0.627666771412 0.627666771412 + 0.633414983749 0.633414983749 0.633414983749 + 0.639164507389 0.639164507389 0.639164507389 + 0.645002245903 0.645002245903 0.645002245903 + 0.65090072155 0.65090072155 0.65090072155 + 0.656829535961 0.656829535961 0.656829535961 + 0.662788629532 0.662788629532 0.662788629532 + 0.668841063976 0.668841063976 0.668841063976 + 0.674922525883 0.674922525883 0.674922525883 + 0.681067049503 0.681067049503 0.681067049503 + 0.687275707722 0.687275707722 0.687275707722 + 0.693548262119 0.693548262119 0.693548262119 + 0.699851453304 0.699851453304 0.699851453304 + 0.706221580505 0.706221580505 0.706221580505 + 0.712655901909 0.712655901909 0.712655901909 + 0.719122469425 0.719122469425 0.719122469425 + 0.725689053535 0.725689053535 0.725689053535 + 0.732290625572 0.732290625572 0.732290625572 + 0.738924622536 0.738924622536 0.738924622536 + 0.745625734329 0.745625734329 0.745625734329 + 0.752430677414 0.752430677414 0.752430677414 + 0.759271323681 0.759271323681 0.759271323681 + 0.766145765781 0.766145765781 0.766145765781 + 0.7730910182 0.7730910182 0.7730910182 + 0.780144035816 0.780144035816 0.780144035816 + 0.787232220173 0.787232220173 0.787232220173 + 0.794355034828 0.794355034828 0.794355034828 + 0.80155146122 0.80155146122 0.80155146122 + 0.808859229088 0.808859229088 0.808859229088 + 0.816165864468 0.816165864468 0.816165864468 + 0.823585271835 0.823585271835 0.823585271835 + 0.831041157246 0.831041157246 0.831041157246 + 0.838573932648 0.838573932648 0.838573932648 + 0.846184551716 0.846184551716 0.846184551716 + 0.853872179985 0.853872179985 0.853872179985 + 0.861596465111 0.861596465111 0.861596465111 + 0.869400441647 0.869400441647 0.869400441647 + 0.877285242081 0.877285242081 0.877285242081 + 0.885207056999 0.885207056999 0.885207056999 + 0.893210947514 0.893210947514 0.893210947514 + 0.901339828968 0.901339828968 0.901339828968 + 0.909507751465 0.909507751465 0.909507751465 + 0.917714238167 0.917714238167 0.917714238167 + 0.926051259041 0.926051259041 0.926051259041 + 0.934381783009 0.934381783009 0.934381783009 + 0.942844569683 0.942844569683 0.942844569683 + 0.951392591 0.951392591 0.951392591 + 0.959980547428 0.959980547428 0.959980547428 + 0.968657016754 0.968657016754 0.968657016754 + 0.977422952652 0.977422952652 0.977422952652 + 0.986276388168 0.986276388168 0.986276388168 + 0.995174050331 0.995174050331 0.995174050331 + 1.00416338444 1.00416338444 1.00416338444 + 1.01324212551 1.01324212551 1.01324212551 + 1.02241253853 1.02241253853 1.02241253853 + 1.03163015842 1.03163015842 1.03163015842 + 1.04093706608 1.04093706608 1.04093706608 + 1.05034315586 1.05034315586 1.05034315586 + 1.05984270573 1.05984270573 1.05984270573 + 1.06944048405 1.06944048405 1.06944048405 + 1.0790822506 1.0790822506 1.0790822506 + 1.08882284164 1.08882284164 1.08882284164 + 1.0986084938 1.0986084938 1.0986084938 + 1.10854744911 1.10854744911 1.10854744911 + 1.11858904362 1.11858904362 1.11858904362 + 1.12862205505 1.12862205505 1.12862205505 + 1.13881254196 1.13881254196 1.13881254196 + 1.14910554886 1.14910554886 1.14910554886 + 1.15944766998 1.15944766998 1.15944766998 + 1.16989541054 1.16989541054 1.16989541054 + 1.18044781685 1.18044781685 1.18044781685 + 1.19110929966 1.19110929966 1.19110929966 + 1.20187973976 1.20187973976 1.20187973976 + 1.21269929409 1.21269929409 1.21269929409 + 1.22362625599 1.22362625599 1.22362625599 + 1.2346688509 1.2346688509 1.2346688509 + 1.24575960636 1.24575960636 1.24575960636 + 1.25696146488 1.25696146488 1.25696146488 + 1.26827812195 1.26827812195 1.26827812195 + 1.27971053123 1.27971053123 1.27971053123 + 1.29126083851 1.29126083851 1.29126083851 + 1.30292630196 1.30292630196 1.30292630196 + 1.31464397907 1.31464397907 1.31464397907 + 1.32648420334 1.32648420334 1.32648420334 + 1.33844232559 1.33844232559 1.33844232559 + 1.35045301914 1.35045301914 1.35045301914 + 1.36265563965 1.36265563965 1.36265563965 + 1.37491369247 1.37491369247 1.37491369247 + 1.38729441166 1.38729441166 1.38729441166 + 1.39980590343 1.39980590343 1.39980590343 + 1.4123673439 1.4123673439 1.4123673439 + 1.42513334751 1.42513334751 1.42513334751 + 1.4378786087 1.4378786087 1.4378786087 + 1.45082974434 1.45082974434 1.45082974434 + 1.46391105652 1.46391105652 1.46391105652 + 1.47705197334 1.47705197334 1.47705197334 + 1.49040281773 1.49040281773 1.49040281773 + 1.50381100178 1.50381100178 1.50381100178 + 1.51727604866 1.51727604866 1.51727604866 + 1.53095972538 1.53095972538 1.53095972538 + 1.54470193386 1.54470193386 1.54470193386 + 1.55866396427 1.55866396427 1.55866396427 + 1.57260501385 1.57260501385 1.57260501385 + 1.5867702961 1.5867702961 1.5867702961 + 1.60099434853 1.60099434853 1.60099434853 + 1.61545050144 1.61545050144 1.61545050144 + 1.62996804714 1.62996804714 1.62996804714 + 1.64462983608 1.64462983608 1.64462983608 + 1.65935695171 1.65935695171 1.65935695171 + 1.6743209362 1.6743209362 1.6743209362 + 1.68943810463 1.68943810463 1.68943810463 + 1.70461905003 1.70461905003 1.70461905003 + 1.719861269 1.719861269 1.719861269 + 1.73535346985 1.73535346985 1.73535346985 + 1.75100135803 1.75100135803 1.75100135803 + 1.7667170763 1.7667170763 1.7667170763 + 1.78259003162 1.78259003162 1.78259003162 + 1.79862499237 1.79862499237 1.79862499237 + 1.81482458115 1.81482458115 1.81482458115 + 1.83109045029 1.83109045029 1.83109045029 + 1.84752213955 1.84752213955 1.84752213955 + 1.86412191391 1.86412191391 1.86412191391 + 1.88088786602 1.88088786602 1.88088786602 + 1.8978253603 1.8978253603 1.8978253603 + 1.91483485699 1.91483485699 1.91483485699 + 1.93201398849 1.93201398849 1.93201398849 + 1.94936990738 1.94936990738 1.94936990738 + 1.96700704098 1.96700704098 1.96700704098 + 1.98461019993 1.98461019993 1.98461019993 + 2.00250053406 2.00250053406 2.00250053406 + 2.02046656609 2.02046656609 2.02046656609 + 2.03861141205 2.03861141205 2.03861141205 + 2.05694150925 2.05694150925 2.05694150925 + 2.07546067238 2.07546067238 2.07546067238 + 2.0940527916 2.0940527916 2.0940527916 + 2.11294794083 2.11294794083 2.11294794083 + 2.13192200661 2.13192200661 2.13192200661 + 2.15108656883 2.15108656883 2.15108656883 + 2.17033076286 2.17033076286 2.17033076286 + 2.18988871574 2.18988871574 2.18988871574 + 2.20952343941 2.20952343941 2.20952343941 + 2.22947978973 2.22947978973 2.22947978973 + 2.24951863289 2.24951863289 2.24951863289 + 2.26963567734 2.26963567734 2.26963567734 + 2.29008150101 2.29008150101 2.29008150101 + 2.31061315536 2.31061315536 2.31061315536 + 2.33134770393 2.33134770393 2.33134770393 + 2.35229516029 2.35229516029 2.35229516029 + 2.37345743179 2.37345743179 2.37345743179 + 2.39483070374 2.39483070374 2.39483070374 + 2.41642951965 2.41642951965 2.41642951965 + 2.43810534477 2.43810534477 2.43810534477 + 2.4600083828 2.4600083828 2.4600083828 + 2.4821305275 2.4821305275 2.4821305275 + 2.50447940826 2.50447940826 2.50447940826 + 2.52705812454 2.52705812454 2.52705812454 + 2.54972219467 2.54972219467 2.54972219467 + 2.57261753082 2.57261753082 2.57261753082 + 2.5957429409 2.5957429409 2.5957429409 + 2.61911010742 2.61911010742 2.61911010742 + 2.64271068573 2.64271068573 2.64271068573 + 2.66640067101 2.66640067101 2.66640067101 + 2.69033908844 2.69033908844 2.69033908844 + 2.71466708183 2.71466708183 2.71466708183 + 2.73909306526 2.73909306526 2.73909306526 + 2.76360917091 2.76360917091 2.76360917091 + 2.78853201866 2.78853201866 2.78853201866 + 2.81355333328 2.81355333328 2.81355333328 + 2.83899068832 2.83899068832 2.83899068832 + 2.86452198029 2.86452198029 2.86452198029 + 2.89015245438 2.89015245438 2.89015245438 + 2.91620206833 2.91620206833 2.91620206833 + 2.94252705574 2.94252705574 2.94252705574 + 2.96894836426 2.96894836426 2.96894836426 + 2.99563384056 2.99563384056 2.99563384056 + 3.02259874344 3.02259874344 3.02259874344 + 3.04983472824 3.04983472824 3.04983472824 + 3.07735061646 3.07735061646 3.07735061646 + 3.10496616364 3.10496616364 3.10496616364 + 3.13304901123 3.13304901123 3.13304901123 + 3.16123437881 3.16123437881 3.16123437881 + 3.18952035904 3.18952035904 3.18952035904 + 3.2182867527 3.2182867527 3.2182867527 + 3.24734020233 3.24734020233 3.24734020233 + 3.27649879456 3.27649879456 3.27649879456 + 3.30615282059 3.30615282059 3.30615282059 + 3.33591508865 3.33591508865 3.33591508865 + 3.36598205566 3.36598205566 3.36598205566 + 3.39635777473 3.39635777473 3.39635777473 + 3.42684268951 3.42684268951 3.42684268951 + 3.45763850212 3.45763850212 3.45763850212 + 3.48895192146 3.48895192146 3.48895192146 + 3.52037596703 3.52037596703 3.52037596703 + 3.55212402344 3.55212402344 3.55212402344 + 3.58399152756 3.58399152756 3.58399152756 + 3.61639475822 3.61639475822 3.61639475822 + 3.64891052246 3.64891052246 3.64891052246 + 3.68197607994 3.68197607994 3.68197607994 + 3.71516656876 3.71516656876 3.71516656876 + 3.74868988991 3.74868988991 3.74868988991 + 3.78256559372 3.78256559372 3.78256559372 + 3.81655097008 3.81655097008 3.81655097008 + 3.85111927986 3.85111927986 3.85111927986 + 3.88580751419 3.88580751419 3.88580751419 + 3.92085266113 3.92085266113 3.92085266113 + 3.95625901222 3.95625901222 3.95625901222 + 3.99202990532 3.99202990532 3.99202990532 + 4.02792358398 4.02792358398 4.02792358398 + 4.06442403793 4.06442403793 4.06442403793 + 4.10106134415 4.10106134415 4.10106134415 + 4.13806390762 4.13806390762 4.13806390762 + 4.17545032501 4.17545032501 4.17545032501 + 4.21322011948 4.21322011948 4.21322011948 + 4.25138044357 4.25138044357 4.25138044357 + 4.2896695137 4.2896695137 4.2896695137 + 4.3286113739 4.3286113739 4.3286113739 + 4.36769628525 4.36769628525 4.36769628525 + 4.40717172623 4.40717172623 4.40717172623 + 4.44678974152 4.44678974152 4.44678974152 + 4.48708200455 4.48708200455 4.48708200455 + 4.52779340744 4.52779340744 4.52779340744 + 4.56863880157 4.56863880157 4.56863880157 + 4.60990762711 4.60990762711 4.60990762711 + 4.65160036087 4.65160036087 4.65160036087 + 4.6940073967 4.6940073967 4.6940073967 + 4.73627185822 4.73627185822 4.73627185822 + 4.7792596817 4.7792596817 4.7792596817 + 4.82240056992 4.82240056992 4.82240056992 + 4.86628293991 4.86628293991 4.86628293991 + 4.91030883789 4.91030883789 4.91030883789 + 4.95479202271 4.95479202271 4.95479202271 + 4.99973392487 4.99973392487 4.99973392487 + 5.04482364655 5.04482364655 5.04482364655 + 5.09068727493 5.09068727493 5.09068727493 + 5.13671255112 5.13671255112 5.13671255112 + 5.18321275711 5.18321275711 5.18321275711 + 5.23018264771 5.23018264771 5.23018264771 + 5.27797412872 5.27797412872 5.27797412872 + 5.32559680939 5.32559680939 5.32559680939 + 5.37403106689 5.37403106689 5.37403106689 + 5.42264175415 5.42264175415 5.42264175415 + 5.47208499908 5.47208499908 5.47208499908 + 5.52169799805 5.52169799805 5.52169799805 + 5.57181501389 5.57181501389 5.57181501389 + 5.62246084213 5.62246084213 5.62246084213 + 5.67326974869 5.67326974869 5.67326974869 + 5.7249584198 5.7249584198 5.7249584198 + 5.77681255341 5.77681255341 5.77681255341 + 5.82957744598 5.82957744598 5.82957744598 + 5.88251399994 5.88251399994 5.88251399994 + 5.93600034714 5.93600034714 5.93600034714 + 5.98965072632 5.98965072632 5.98965072632 + 6.04463005066 6.04463005066 6.04463005066 + 6.09940290451 6.09940290451 6.09940290451 + 6.15513086319 6.15513086319 6.15513086319 + 6.21064424515 6.21064424515 6.21064424515 + 6.26712417603 6.26712417603 6.26712417603 + 6.32460737228 6.32460737228 6.32460737228 + 6.38185167313 6.38185167313 6.38185167313 + 6.44011545181 6.44011545181 6.44011545181 + 6.4985575676 6.4985575676 6.4985575676 + 6.55803489685 6.55803489685 6.55803489685 + 6.6176867485 6.6176867485 6.6176867485 + 6.67797327042 6.67797327042 6.67797327042 + 6.73886823654 6.73886823654 6.73886823654 + 6.80041694641 6.80041694641 6.80041694641 + 6.86213445663 6.86213445663 6.86213445663 + 6.9249548912 6.9249548912 6.9249548912 + 6.98843193054 6.98843193054 6.98843193054 + 7.05210399628 7.05210399628 7.05210399628 + 7.11643743515 7.11643743515 7.11643743515 + 7.18142938614 7.18142938614 7.18142938614 + 7.24711322784 7.24711322784 7.24711322784 + 7.31346654892 7.31346654892 7.31346654892 + 7.38003587723 7.38003587723 7.38003587723 + 7.44778251648 7.44778251648 7.44778251648 + 7.51573324203 7.51573324203 7.51573324203 + 7.58439493179 7.58439493179 7.58439493179 + 7.65376996994 7.65376996994 7.65376996994 + 7.72387266159 7.72387266159 7.72387266159 + 7.79470825195 7.79470825195 7.79470825195 + 7.86575603485 7.86575603485 7.86575603485 + 7.93754434586 7.93754434586 7.93754434586 + 8.01060295105 8.01060295105 8.01060295105 + 8.08390331268 8.08390331268 8.08390331268 + 8.15795326233 8.15795326233 8.15795326233 + 8.23277664185 8.23277664185 8.23277664185 + 8.30838108063 8.30838108063 8.30838108063 + 8.38422870636 8.38422870636 8.38422870636 + 8.46141052246 8.46141052246 8.46141052246 + 8.53883266449 8.53883266449 8.53883266449 + 8.61707019806 8.61707019806 8.61707019806 + 8.69612693787 8.69612693787 8.69612693787 + 8.77599239349 8.77599239349 8.77599239349 + 8.85671520233 8.85671520233 8.85671520233 + 8.93827056885 8.93827056885 8.93827056885 + 9.02007961273 9.02007961273 9.02007961273 + 9.10333061218 9.10333061218 9.10333061218 + 9.1868686676 9.1868686676 9.1868686676 + 9.27126026154 9.27126026154 9.27126026154 + 9.35654258728 9.35654258728 9.35654258728 + 9.44269752502 9.44269752502 9.44269752502 + 9.52978134155 9.52978134155 9.52978134155 + 9.6171131134 9.6171131134 9.6171131134 + 9.70601558685 9.70601558685 9.70601558685 + 9.7951965332 9.7951965332 9.7951965332 + 9.88529205322 9.88529205322 9.88529205322 + 9.97703552246 9.97703552246 9.97703552246 + 10.0690431595 10.0690431595 10.0690431595 + 10.1613330841 10.1613330841 10.1613330841 + 10.2552633286 10.2552633286 10.2552633286 + 10.3502120972 10.3502120972 10.3502120972 + 10.4454269409 10.4454269409 10.4454269409 + 10.5416469574 10.5416469574 10.5416469574 + 10.6396064758 10.6396064758 10.6396064758 + 10.7371149063 10.7371149063 10.7371149063 + 10.8371524811 10.8371524811 10.8371524811 + 10.9367313385 10.9367313385 10.9367313385 + 11.0381155014 11.0381155014 11.0381155014 + 11.1397790909 11.1397790909 11.1397790909 + 11.2433195114 11.2433195114 11.2433195114 + 11.3471479416 11.3471479416 11.3471479416 + 11.4520730972 11.4520730972 11.4520730972 + 11.5581102371 11.5581102371 11.5581102371 + 11.6652698517 11.6652698517 11.6652698517 + 11.7735424042 11.7735424042 11.7735424042 + 11.8829574585 11.8829574585 11.8829574585 + 11.9927034378 11.9927034378 11.9927034378 + 12.1044597626 12.1044597626 12.1044597626 + 12.2165203094 12.2165203094 12.2165203094 + 12.3297948837 12.3297948837 12.3297948837 + 12.4442415237 12.4442415237 12.4442415237 + 12.5599107742 12.5599107742 12.5599107742 + 12.676776886 12.676776886 12.676776886 + 12.7949151993 12.7949151993 12.7949151993 + 12.9133749008 12.9133749008 12.9133749008 + 13.0330953598 13.0330953598 13.0330953598 + 13.1550092697 13.1550092697 13.1550092697 + 13.2772865295 13.2772865295 13.2772865295 + 13.4008388519 13.4008388519 13.4008388519 + 13.5257043839 13.5257043839 13.5257043839 + 13.6509342194 13.6509342194 13.6509342194 + 13.7784690857 13.7784690857 13.7784690857 + 13.9073696136 13.9073696136 13.9073696136 + 14.0366153717 14.0366153717 14.0366153717 + 14.1682453156 14.1682453156 14.1682453156 + 14.3002672195 14.3002672195 14.3002672195 + 14.4337015152 14.4337015152 14.4337015152 + 14.568520546 14.568520546 14.568520546 + 14.7048215866 14.7048215866 14.7048215866 + 14.8414716721 14.8414716721 14.8414716721 + 14.9806594849 14.9806594849 14.9806594849 + 15.1202144623 15.1202144623 15.1202144623 + 15.2623968124 15.2623968124 15.2623968124 + 15.4049634933 15.4049634933 15.4049634933 + 15.5490455627 15.5490455627 15.5490455627 + 15.6946802139 15.6946802139 15.6946802139 + 15.8418712616 15.8418712616 15.8418712616 + 15.9906396866 15.9906396866 15.9906396866 + 16.1409759521 16.1409759521 16.1409759521 + 16.2917404175 16.2917404175 16.2917404175 +} diff --git a/aces_1.0.0/nuke_config.ocio b/aces_1.0.0/nuke_config.ocio index 956c92a..2a7a061 100644 --- a/aces_1.0.0/nuke_config.ocio +++ b/aces_1.0.0/nuke_config.ocio @@ -7,15 +7,15 @@ luma: [0.2126, 0.7152, 0.0722] description: An ACES config generated from python roles: - color_picking: ACES2065-1 - color_timing: ACES2065-1 - compositing_log: ACES2065-1 - data: ACES2065-1 + color_picking: ACEScg + color_timing: ACEScc + compositing_log: ACEScc + data: Raw default: ACES2065-1 - matte_paint: ACES2065-1 - reference: ACES2065-1 - scene_linear: ACES2065-1 - texture_paint: ACES2065-1 + matte_paint: ACEScc + reference: Raw + scene_linear: ACEScg + texture_paint: Raw displays: DCDM: @@ -45,7 +45,7 @@ displays: Rec.709 - Legal: - ! {name: View, colorspace: Rec.709 - Legal} linear: - - ! {name: View, colorspace: ACES2065-1} + - ! {name: View, colorspace: Raw} log: - ! {name: View, colorspace: ACEScc} sRGB (D60 sim.): @@ -335,12 +335,36 @@ colorspaces: to_reference: ! {src: ACES 1.0 to 0.7 emulation, dst: ACES2065-1} - ! - name: Output Shaper - AP1 + name: Log2 Shaper family: Utility - equalitygroup: Output Shaper + equalitygroup: Log2 Shaper bitdepth: 32f description: | - The Output Shaper color space + The Log2 Shaper color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + to_reference: ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear} + + - ! + name: log2shaper + family: Aliases + equalitygroup: Log2 Shaper + bitdepth: 32f + description: | + The Log2 Shaper color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + from_reference: ! {src: ACES2065-1, dst: Log2 Shaper} + + - ! + name: Log2 Shaper - AP1 + family: Utility + equalitygroup: Log2 Shaper - AP1 + bitdepth: 32f + description: | + The Log2 Shaper - AP1 color space isdata: false allocation: uniform allocationvars: [0, 1] @@ -350,16 +374,64 @@ colorspaces: - ! {matrix: [0.695452, 0.140679, 0.163869, 0, 0.0447946, 0.859671, 0.0955343, 0, -0.00552588, 0.00402521, 1.0015, 0, 0, 0, 0, 1]} - ! - name: outputshaper_ap1 + name: log2shaper_ap1 family: Aliases - equalitygroup: Output Shaper + equalitygroup: Log2 Shaper - AP1 bitdepth: 32f description: | - The Output Shaper color space + The Log2 Shaper - AP1 color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + from_reference: ! {src: ACES2065-1, dst: Log2 Shaper - AP1} + + - ! + name: Dolby PQ 10000 + family: Utility + equalitygroup: Dolby PQ 10000 + bitdepth: 32f + description: | + The Dolby PQ 10000 color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + to_reference: ! {src: Dolby_PQ_10000_to_linear.spi1d, interpolation: linear} + + - ! + name: crv_dolbypq_10000 + family: Aliases + equalitygroup: Dolby PQ 10000 + bitdepth: 32f + description: | + The Dolby PQ 10000 color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + from_reference: ! {src: ACES2065-1, dst: Dolby PQ 10000} + + - ! + name: Dolby PQ Scaled + family: Utility + equalitygroup: Dolby PQ Scaled + bitdepth: 32f + description: | + The Dolby PQ Scaled color space + isdata: false + allocation: uniform + allocationvars: [0, 1] + to_reference: ! {src: Dolby_PQ_Scaled_to_linear.spi1d, interpolation: linear} + + - ! + name: crv_dolbypq_scaled + family: Aliases + equalitygroup: Dolby PQ Scaled + bitdepth: 32f + description: | + The Dolby PQ Scaled color space isdata: false allocation: uniform allocationvars: [0, 1] - from_reference: ! {src: ACES2065-1, dst: Output Shaper - AP1} + from_reference: ! {src: ACES2065-1, dst: Dolby PQ Scaled} - ! name: Linear - Wide Gamut @@ -443,31 +515,31 @@ colorspaces: allocationvars: [0, 1] - ! - name: Rec.709 - Legal + name: Rec.2020 - Full family: Output equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.709 - Legal Output Transform + ACES 1.0 Output - Rec.2020 - Full Output Transform isdata: false allocation: uniform allocationvars: [0, 1] to_reference: ! children: - - ! {src: InvRRT.a1.0.0.Rec.709_-_Legal.Output_Shaper.spi3d, interpolation: tetrahedral} + - ! {src: InvRRT.a1.0.0.Rec.2020_-_Full.Output_Shaper.spi3d, interpolation: tetrahedral} - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear} from_reference: ! children: - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear, direction: inverse} - - ! {src: Output_Shaper.RRT.a1.0.0.Rec.709_-_Legal.spi3d, interpolation: tetrahedral} + - ! {src: Output_Shaper.RRT.a1.0.0.Rec.2020_-_Full.spi3d, interpolation: tetrahedral} - ! - name: out_rec709legal + name: out_rec2020full family: Aliases equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.709 - Legal Output Transform + ACES 1.0 Output - Rec.2020 - Full Output Transform isdata: false allocation: uniform allocationvars: [0, 1] @@ -653,31 +725,31 @@ colorspaces: allocationvars: [0, 1] - ! - name: Rec.2020 - Full + name: Rec.709 - Legal family: Output equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.2020 - Full Output Transform + ACES 1.0 Output - Rec.709 - Legal Output Transform isdata: false allocation: uniform allocationvars: [0, 1] to_reference: ! children: - - ! {src: InvRRT.a1.0.0.Rec.2020_-_Full.Output_Shaper.spi3d, interpolation: tetrahedral} + - ! {src: InvRRT.a1.0.0.Rec.709_-_Legal.Output_Shaper.spi3d, interpolation: tetrahedral} - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear} from_reference: ! children: - ! {src: Output_Shaper_to_linear.spi1d, interpolation: linear, direction: inverse} - - ! {src: Output_Shaper.RRT.a1.0.0.Rec.2020_-_Full.spi3d, interpolation: tetrahedral} + - ! {src: Output_Shaper.RRT.a1.0.0.Rec.709_-_Legal.spi3d, interpolation: tetrahedral} - ! - name: out_rec2020full + name: out_rec709legal family: Aliases equalitygroup: "" bitdepth: 32f description: | - ACES 1.0 Output - Rec.2020 - Full Output Transform + ACES 1.0 Output - Rec.709 - Legal Output Transform isdata: false allocation: uniform allocationvars: [0, 1] @@ -2470,3 +2542,14 @@ colorspaces: allocation: lg2 allocationvars: [-8, 5, 0.00390625] to_reference: ! {src: Linear - Adobe Wide Gamut RGB, dst: ACES2065-1} + + - ! + name: Raw + family: Utility + equalitygroup: Raw + bitdepth: 32f + description: | + The Raw color space + isdata: true + allocation: uniform + allocationvars: [0, 1] diff --git a/aces_1.0.0/python/aces_ocio/create_aces_colorspaces.py b/aces_1.0.0/python/aces_ocio/create_aces_colorspaces.py index c4ba524..54b6708 100644 --- a/aces_1.0.0/python/aces_ocio/create_aces_colorspaces.py +++ b/aces_1.0.0/python/aces_ocio/create_aces_colorspaces.py @@ -434,7 +434,184 @@ def create_ADX(lut_directory, cs.from_reference_transforms = [] return cs +# ------------------------------------------------------------------------- +# *Generic Log Transform* +# ------------------------------------------------------------------------- +def create_generic_log(aces_ctl_directory, + lut_directory, + lut_resolution_1d, + cleanup, + name='log', + aliases=[], + min_value=0, + max_value=1, + input_scale=1, + middle_grey=0.18, + min_exposure=-6, + max_exposure=6.5): + """ + Creates the *Generic Log* colorspace. + + Parameters + ---------- + parameter : type + Parameter description. + + Returns + ------- + Colorspace + *Generic Log* colorspace. + """ + + cs = ColorSpace(name) + cs.description = 'The %s color space' % name + cs.aliases = aliases + cs.equality_group = name + cs.family = 'Utility' + cs.is_data = False + + ctls = [os.path.join( + aces_ctl_directory, + 'utilities', + 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl')] + lut = '%s_to_linear.spi1d' % name + + lut = sanitize(lut) + + generate_1d_LUT_from_CTL( + os.path.join(lut_directory, lut), + ctls, + lut_resolution_1d, + 'float', + input_scale, + 1, + {'middleGrey': middle_grey, + 'minExposure': min_exposure, + 'maxExposure': max_exposure}, + cleanup, + aces_ctl_directory, + min_value, + max_value, + 1) + + cs.to_reference_transforms = [] + cs.to_reference_transforms.append({ + 'type': 'lutFile', + 'path': lut, + 'interpolation': 'linear', + 'direction': 'forward'}) + + cs.from_reference_transforms = [] + return cs + +# ------------------------------------------------------------------------- +# *base Dolby PQ Transform* +# ------------------------------------------------------------------------- +def create_dolbypq(aces_CTL_directory, + lut_directory, + lut_resolution_1d, + cleanup, + name='pq', + aliases=[], + min_value=0.0, + max_value=1.0, + input_scale=1.0): + cs = ColorSpace(name) + cs.description = 'The %s color space' % name + cs.aliases = aliases + cs.equality_group = name + cs.family = 'Utility' + cs.is_data = False + + ctls = [os.path.join( + aces_CTL_directory, + 'utilities', + 'ACESlib.OCIO_shaper_dolbypq_to_lin.a1.0.0.ctl')] + lut = '%s_to_linear.spi1d' % name + + lut = sanitize(lut) + + generate_1d_LUT_from_CTL( + os.path.join(lut_directory, lut), + ctls, + lut_resolution_1d, + 'float', + input_scale, + 1.0, + {}, + cleanup, + aces_CTL_directory, + min_value, + max_value) + + cs.to_reference_transforms = [] + cs.to_reference_transforms.append({ + 'type': 'lutFile', + 'path': lut, + 'interpolation': 'linear', + 'direction': 'forward'}) + + cs.from_reference_transforms = [] + return cs + +# ------------------------------------------------------------------------- +# *Dolby PQ Transform that considers a fixed linear range* +# ------------------------------------------------------------------------- +def create_dolbypq_scaled(aces_CTL_directory, + lut_directory, + lut_resolution_1d, + cleanup, + name='pq', + aliases=[], + min_value=0.0, + max_value=1.0, + input_scale=1.0, + middle_grey=0.18, + min_exposure=-6.0, + max_exposure=6.5): + cs = ColorSpace(name) + cs.description = 'The %s color space' % name + cs.aliases = aliases + cs.equality_group = name + cs.family = 'Utility' + cs.is_data = False + + ctls = [os.path.join( + aces_CTL_directory, + 'utilities', + 'ACESlib.OCIO_shaper_dolbypq_to_lin_param.a1.0.0.ctl')] + lut = '%s_to_linear.spi1d' % name + + lut = sanitize(lut) + + generate_1d_LUT_from_CTL( + os.path.join(lut_directory, lut), + ctls, + lut_resolution_1d, + 'float', + input_scale, + 1.0, + {'middleGrey': middle_grey, + 'minExposure': min_exposure, + 'maxExposure': max_exposure}, + cleanup, + aces_CTL_directory, + min_value, + max_value) + + cs.to_reference_transforms = [] + cs.to_reference_transforms.append({ + 'type': 'lutFile', + 'path': lut, + 'interpolation': 'linear', + 'direction': 'forward'}) + cs.from_reference_transforms = [] + return cs + +# ------------------------------------------------------------------------- +# *Individual LMT* +# ------------------------------------------------------------------------- def create_ACES_LMT(lmt_name, lmt_values, shaper_info, @@ -479,25 +656,9 @@ def create_ACES_LMT(lmt_name, shaper_input_scale, shaper_params) = shaper_info + # Add the shaper transform shaper_lut = '%s_to_linear.spi1d' % shaper_name - if not os.path.exists(os.path.join(lut_directory, shaper_lut)): - ctls = [shaper_to_ACES_CTL % aces_ctl_directory] - - shaper_lut = sanitize(shaper_lut) - - generate_1d_LUT_from_CTL( - os.path.join(lut_directory, shaper_lut), - ctls, - lut_resolution_1d, - 'float', - 1 / shaper_input_scale, - 1, - shaper_params, - cleanup, - aces_ctl_directory, - 0, - 1, - 1) + shaper_lut = sanitize(shaper_lut) shaper_OCIO_transform = { 'type': 'lutFile', @@ -571,7 +732,93 @@ def create_ACES_LMT(lmt_name, return cs +# ------------------------------------------------------------------------- +# *LMTs* +# ------------------------------------------------------------------------- +def create_LMTs(aces_ctl_directory, + lut_directory, + lut_resolution_1d, + lut_resolution_3d, + lmt_info, + shaper_name, + cleanup): + """ + Object description. + + Parameters + ---------- + parameter : type + Parameter description. + + Returns + ------- + type + Return value description. + """ + + colorspaces = [] + + # ------------------------------------------------------------------------- + # *LMT Shaper* + # ------------------------------------------------------------------------- + lmt_lut_resolution_1d = max(4096, lut_resolution_1d) + lmt_lut_resolution_3d = max(65, lut_resolution_3d) + + # Defining the *Log 2* shaper. + lmt_shaper_name = 'LMT Shaper' + lmt_shaper_name_aliases = ['crv_lmtshaper'] + lmt_params = { + 'middleGrey': 0.18, + 'minExposure': -10, + 'maxExposure': 6.5} + lmt_shaper = create_generic_log(aces_ctl_directory, + lut_directory, + lmt_lut_resolution_1d, + cleanup, + name=lmt_shaper_name, + middle_grey=lmt_params['middleGrey'], + min_exposure=lmt_params['minExposure'], + max_exposure=lmt_params['maxExposure'], + aliases=lmt_shaper_name_aliases) + colorspaces.append(lmt_shaper) + + shaper_input_scale_generic_log2 = 1 + + # *Log 2* shaper name and *CTL* transforms bundled up. + lmt_shaper_data = [ + lmt_shaper_name, + os.path.join('%s', + 'utilities', + 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl'), + os.path.join('%s', + 'utilities', + 'ACESlib.OCIO_shaper_lin_to_log2_param.a1.0.0.ctl'), + shaper_input_scale_generic_log2, + lmt_params] + + sorted_LMTs = sorted(lmt_info.iteritems(), key=lambda x: x[1]) + print(sorted_LMTs) + for lmt in sorted_LMTs: + lmt_name, lmt_values = lmt + lmt_aliases = ["look_%s" % compact(lmt_values['transformUserName'])] + cs = create_ACES_LMT( + lmt_values['transformUserName'], + lmt_values, + lmt_shaper_data, + aces_ctl_directory, + lut_directory, + lmt_lut_resolution_1d, + lmt_lut_resolution_3d, + cleanup, + lmt_aliases) + colorspaces.append(cs) + + return colorspaces + +# ------------------------------------------------------------------------- +# *ACES RRT* with supplied *ODT*. +# ------------------------------------------------------------------------- def create_ACES_RRT_plus_ODT(odt_name, odt_values, shaper_info, @@ -620,25 +867,9 @@ def create_ACES_RRT_plus_ODT(odt_name, else: shaper_params['legalRange'] = 0 + # Add the shaper transform shaper_lut = '%s_to_linear.spi1d' % shaper_name - if not os.path.exists(os.path.join(lut_directory, shaper_lut)): - ctls = [shaper_to_ACES_CTL % aces_ctl_directory] - - shaper_lut = sanitize(shaper_lut) - - generate_1d_LUT_from_CTL( - os.path.join(lut_directory, shaper_lut), - ctls, - lut_resolution_1d, - 'float', - 1 / shaper_input_scale, - 1, - shaper_params, - cleanup, - aces_ctl_directory, - 0, - 1, - 1) + shaper_lut = sanitize(shaper_lut) shaper_OCIO_transform = { 'type': 'lutFile', @@ -747,157 +978,9 @@ def create_ACES_RRT_plus_ODT(odt_name, return cs - -def create_generic_log(aces_ctl_directory, - lut_directory, - lut_resolution_1d, - cleanup, - name='log', - aliases=[], - min_value=0, - max_value=1, - input_scale=1, - middle_grey=0.18, - min_exposure=-6, - max_exposure=6.5): - """ - Creates the *Generic Log* colorspace. - - Parameters - ---------- - parameter : type - Parameter description. - - Returns - ------- - Colorspace - *Generic Log* colorspace. - """ - - cs = ColorSpace(name) - cs.description = 'The %s color space' % name - cs.aliases = aliases - cs.equality_group = name - cs.family = 'Utility' - cs.is_data = False - - ctls = [os.path.join( - aces_ctl_directory, - 'utilities', - 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl')] - lut = '%s_to_linear.spi1d' % name - - lut = sanitize(lut) - - generate_1d_LUT_from_CTL( - os.path.join(lut_directory, lut), - ctls, - lut_resolution_1d, - 'float', - input_scale, - 1, - {'middleGrey': middle_grey, - 'minExposure': min_exposure, - 'maxExposure': max_exposure}, - cleanup, - aces_ctl_directory, - min_value, - max_value, - 1) - - cs.to_reference_transforms = [] - cs.to_reference_transforms.append({ - 'type': 'lutFile', - 'path': lut, - 'interpolation': 'linear', - 'direction': 'forward'}) - - cs.from_reference_transforms = [] - return cs - - -def create_LMTs(aces_ctl_directory, - lut_directory, - lut_resolution_1d, - lut_resolution_3d, - lmt_info, - shaper_name, - cleanup): - """ - Object description. - - Parameters - ---------- - parameter : type - Parameter description. - - Returns - ------- - type - Return value description. - """ - - colorspaces = [] - - # ------------------------------------------------------------------------- - # *LMT Shaper* - # ------------------------------------------------------------------------- - lmt_lut_resolution_1d = max(4096, lut_resolution_1d) - lmt_lut_resolution_3d = max(65, lut_resolution_3d) - - # Defining the *Log 2* shaper. - lmt_shaper_name = 'LMT Shaper' - lmt_shaper_name_aliases = ['crv_lmtshaper'] - lmt_params = { - 'middleGrey': 0.18, - 'minExposure': -10, - 'maxExposure': 6.5} - - lmt_shaper = create_generic_log(aces_ctl_directory, - lut_directory, - lmt_lut_resolution_1d, - cleanup, - name=lmt_shaper_name, - middle_grey=lmt_params['middleGrey'], - min_exposure=lmt_params['minExposure'], - max_exposure=lmt_params['maxExposure'], - aliases=lmt_shaper_name_aliases) - colorspaces.append(lmt_shaper) - - shaper_input_scale_generic_log2 = 1 - - # *Log 2* shaper name and *CTL* transforms bundled up. - lmt_shaper_data = [ - lmt_shaper_name, - os.path.join('%s', - 'utilities', - 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl'), - os.path.join('%s', - 'utilities', - 'ACESlib.OCIO_shaper_lin_to_log2_param.a1.0.0.ctl'), - shaper_input_scale_generic_log2, - lmt_params] - - sorted_LMTs = sorted(lmt_info.iteritems(), key=lambda x: x[1]) - print(sorted_LMTs) - for lmt in sorted_LMTs: - lmt_name, lmt_values = lmt - lmt_aliases = ["look_%s" % compact(lmt_values['transformUserName'])] - cs = create_ACES_LMT( - lmt_values['transformUserName'], - lmt_values, - lmt_shaper_data, - aces_ctl_directory, - lut_directory, - lmt_lut_resolution_1d, - lmt_lut_resolution_3d, - cleanup, - lmt_aliases) - colorspaces.append(cs) - - return colorspaces - - +# ------------------------------------------------------------------------- +# *ODTs* +# ------------------------------------------------------------------------- def create_ODTs(aces_ctl_directory, lut_directory, lut_resolution_1d, @@ -931,13 +1014,13 @@ def create_ODTs(aces_ctl_directory, # Defining the *Log 2* shaper. log2_shaper_name = shaper_name - log2_shaper_name_aliases = ["crv_%s" % compact(shaper_name)] + log2_shaper_name_aliases = ["crv_%s" % compact(log2_shaper_name)] log2_params = { 'middleGrey': 0.18, 'minExposure': -6, 'maxExposure': 6.5} - log2_shaper = create_generic_log( + log2_shaper_colorspace = create_generic_log( aces_ctl_directory, lut_directory, lut_resolution_1d, @@ -947,7 +1030,7 @@ def create_ODTs(aces_ctl_directory, min_exposure=log2_params['minExposure'], max_exposure=log2_params['maxExposure'], aliases=log2_shaper_name_aliases) - colorspaces.append(log2_shaper) + colorspaces.append(log2_shaper_colorspace) shaper_input_scale_generic_log2 = 1 @@ -965,30 +1048,99 @@ def create_ODTs(aces_ctl_directory, shaper_data[log2_shaper_name] = log2_shaper_data - # Shaper that also includes the AP1 primaries. + # Space with a more user-friendly name. Direct copy otherwise. + log2_shaper_copy_name = "Log2 Shaper" + log2_shaper_copy_colorspace = ColorSpace(log2_shaper_copy_name) + log2_shaper_copy_colorspace.description = 'The %s color space' % log2_shaper_copy_name + log2_shaper_copy_colorspace.aliases = [compact(log2_shaper_copy_name)] + log2_shaper_copy_colorspace.equality_group = log2_shaper_copy_name + log2_shaper_copy_colorspace.family = log2_shaper_colorspace.family + log2_shaper_copy_colorspace.is_data = log2_shaper_colorspace.is_data + log2_shaper_copy_colorspace.to_reference_transforms = list(log2_shaper_colorspace.to_reference_transforms) + log2_shaper_copy_colorspace.from_reference_transforms = list(log2_shaper_colorspace.from_reference_transforms) + colorspaces.append(log2_shaper_copy_colorspace) + + # Defining the *Log2 shaper that includes the AP1* primaries. # Needed for some LUT baking steps. - log2_shaper_api1_name_aliases = ["%s_ap1" % compact(shaper_name)] - log2_shaper_ap1 = create_generic_log( - aces_ctl_directory, - lut_directory, - lut_resolution_1d, - cleanup, - name=log2_shaper_name, - middle_grey=log2_params['middleGrey'], - min_exposure=log2_params['minExposure'], - max_exposure=log2_params['maxExposure'], - aliases=log2_shaper_api1_name_aliases) - log2_shaper_ap1.name = '%s - AP1' % log2_shaper_ap1.name + log2_shaper_api1_name = "%s - AP1" % "Log2 Shaper" + log2_shaper_api1_colorspace = ColorSpace(log2_shaper_api1_name) + log2_shaper_api1_colorspace.description = 'The %s color space' % log2_shaper_api1_name + log2_shaper_api1_colorspace.aliases = ["%s_ap1" % compact(log2_shaper_copy_name)] + log2_shaper_api1_colorspace.equality_group = log2_shaper_api1_name + log2_shaper_api1_colorspace.family = log2_shaper_colorspace.family + log2_shaper_api1_colorspace.is_data = log2_shaper_colorspace.is_data + log2_shaper_api1_colorspace.to_reference_transforms = list(log2_shaper_colorspace.to_reference_transforms) + log2_shaper_api1_colorspace.from_reference_transforms = list(log2_shaper_colorspace.from_reference_transforms) # *AP1* primaries to *AP0* primaries. - log2_shaper_ap1.to_reference_transforms.append({ + log2_shaper_api1_colorspace.to_reference_transforms.append({ 'type': 'matrix', 'matrix': mat44_from_mat33(ACES_AP1_TO_AP0), 'direction': 'forward' }) - colorspaces.append(log2_shaper_ap1) + colorspaces.append(log2_shaper_api1_colorspace) + # Define the base *Dolby PQ Shaper* + # + dolbypq_shaper_name = "Dolby PQ 10000" + dolbypq_shaper_name_aliases = ["crv_%s" % "dolbypq_10000"] + + dolbypq_shaper_colorspace = create_dolbypq( + aces_ctl_directory, + lut_directory, + lut_resolution_1d, + cleanup, + name=dolbypq_shaper_name, + aliases=dolbypq_shaper_name_aliases) + colorspaces.append(dolbypq_shaper_colorspace) + + # *Dolby PQ* shaper name and *CTL* transforms bundled up. + dolbypq_shaper_data = [ + dolbypq_shaper_name, + os.path.join('%s', + 'utilities', + 'ACESlib.OCIO_shaper_dolbypq_to_lin.a1.0.0.ctl'), + os.path.join('%s', + 'utilities', + 'ACESlib.OCIO_shaper_lin_to_dolbypq.a1.0.0.ctl'), + 1.0, + {}] + + shaper_data[dolbypq_shaper_name] = dolbypq_shaper_data + + # Define the *Dolby PQ Shaper that considers a fixed linear range* + # + dolbypq_scaled_shaper_name = "Dolby PQ Scaled" + dolbypq_scaled_shaper_name_aliases = ["crv_%s" % "dolbypq_scaled"] + + dolbypq_scaled_shaper_colorspace = create_dolbypq_scaled( + aces_ctl_directory, + lut_directory, + lut_resolution_1d, + cleanup, + name=dolbypq_scaled_shaper_name, + aliases=dolbypq_scaled_shaper_name_aliases) + colorspaces.append(dolbypq_scaled_shaper_colorspace) + + # *Dolby PQ* shaper name and *CTL* transforms bundled up. + dolbypq_scaled_shaper_data = [ + dolbypq_scaled_shaper_name, + os.path.join('%s', + 'utilities', + 'ACESlib.OCIO_shaper_dolbypq_to_lin_param.a1.0.0.ctl'), + os.path.join('%s', + 'utilities', + 'ACESlib.OCIO_shaper_lin_to_dolbypq_param.a1.0.0.ctl'), + 1.0, + log2_params] + + shaper_data[dolbypq_scaled_shaper_name] = dolbypq_scaled_shaper_data + + # + # Pick a specific shaper + # rrt_shaper = log2_shaper_data + #rrt_shaper = dolbypq_scaled_shaper_data # *RRT + ODT* combinations. sorted_odts = sorted(odt_info.iteritems(), key=lambda x: x[1]) @@ -1336,4 +1488,15 @@ def create_colorspaces(aces_ctl_directory, ACEScc) colorspaces.extend(odts) - return ACES, colorspaces, displays, ACEScc + roles = {'color_picking' : ACEScg.name, + 'color_timing' : ACEScc.name, + 'compositing_log' : ACEScc.name, + 'data' : '', + 'default' : ACES.name, + 'matte_paint' : ACEScc.name, + 'reference' : '', + 'scene_linear' : ACEScg.name, + 'texture_paint' : ''} + + + return ACES, colorspaces, displays, ACEScc, roles diff --git a/aces_1.0.0/python/aces_ocio/create_aces_config.py b/aces_1.0.0/python/aces_ocio/create_aces_config.py index 8794677..1de65b1 100755 --- a/aces_1.0.0/python/aces_ocio/create_aces_config.py +++ b/aces_1.0.0/python/aces_ocio/create_aces_config.py @@ -413,15 +413,15 @@ def create_config(config_data, nuke=False): set_config_default_roles( config, - color_picking=reference.getName(), - color_timing=reference.getName(), - compositing_log=reference.getName(), - data=reference.getName(), - default=reference.getName(), - matte_paint=reference.getName(), - reference=reference.getName(), - scene_linear=reference.getName(), - texture_paint=reference.getName()) + color_picking=config_data['roles']['color_picking'], + color_timing=config_data['roles']['color_timing'], + compositing_log=config_data['roles']['compositing_log'], + data=config_data['roles']['data'], + default=config_data['roles']['default'], + matte_paint=config_data['roles']['matte_paint'], + reference=config_data['roles']['reference'], + scene_linear=config_data['roles']['scene_linear'], + texture_paint=config_data['roles']['texture_paint']) config.sanityCheck() @@ -466,16 +466,18 @@ def generate_LUTs(odt_info, (aces_reference, aces_colorspaces, aces_displays, - aces_log_display_space) = aces.create_colorspaces(aces_ctl_directory, - lut_directory, - lut_resolution_1d, - lut_resolution_3d, - lmt_info, - odt_info, - shaper_name, - cleanup) + aces_log_display_space, + aces_roles) = aces.create_colorspaces(aces_ctl_directory, + lut_directory, + lut_resolution_1d, + lut_resolution_3d, + lmt_info, + odt_info, + shaper_name, + cleanup) config_data['referenceColorSpace'] = aces_reference + config_data['roles'] = aces_roles for cs in aces_colorspaces: config_data['colorSpaces'].append(cs) @@ -508,7 +510,6 @@ def generate_LUTs(odt_info, for cs in panasonic_colorSpaces: config_data['colorSpaces'].append(cs) - # *RED* colorspaces to *ACES*. red_colorspaces = red.create_colorspaces(lut_directory, lut_resolution_1d) @@ -530,6 +531,18 @@ def generate_LUTs(odt_info, for cs in general_colorSpaces: config_data['colorSpaces'].append(cs) + # The *Raw* color space + raw = general.create_raw() + config_data['colorSpaces'].append(raw) + + # Override 'linear' display + config_data['linearDisplaySpace'] = raw + + # Override certain roles, for now + config_data['roles']['data'] = raw.name + config_data['roles']['reference'] = raw.name + config_data['roles']['texture_paint'] = raw.name + print('generateLUTs - end') return config_data diff --git a/aces_1.0.0/python/aces_ocio/create_general_colorspaces.py b/aces_1.0.0/python/aces_ocio/create_general_colorspaces.py index 6fd7377..a8bb7b9 100644 --- a/aces_1.0.0/python/aces_ocio/create_general_colorspaces.py +++ b/aces_1.0.0/python/aces_ocio/create_general_colorspaces.py @@ -23,7 +23,9 @@ __status__ = 'Production' __all__ = ['create_generic_matrix', 'create_colorspaces'] - +# ------------------------------------------------------------------------- +# *Simple Matrix Transform* +# ------------------------------------------------------------------------- def create_generic_matrix(name='matrix', from_reference_values=None, to_reference_values=None, @@ -77,7 +79,6 @@ def create_generic_matrix(name='matrix', return cs - def create_colorspaces(lut_directory, lut_resolution_1d, lut_resolution_3d): @@ -176,6 +177,7 @@ def create_colorspaces(lut_directory, aliases=["lin_adobergb"]) colorspaces.append(cs) + # *ACES* to *Linear*, *Adobe Wide Gamut RGB* primaries. AP0_to_ADOBERGB = [1.3809814778, -0.1158594573, -0.2651220205, 0.0057015535, 1.0402949043, -0.0459964578, @@ -188,3 +190,17 @@ def create_colorspaces(lut_directory, colorspaces.append(cs) return colorspaces + +def create_raw(): + # *Raw* utility space + name = "Raw" + raw = ColorSpace(name) + raw.description = 'The %s color space' % name + raw.aliases = [] + raw.equality_group = name + raw.family = 'Utility' + raw.is_data = True + + return raw + + diff --git a/aces_1.0.0/python/aces_ocio/generate_lut.py b/aces_1.0.0/python/aces_ocio/generate_lut.py index fd2aa5d..107698b 100755 --- a/aces_1.0.0/python/aces_ocio/generate_lut.py +++ b/aces_1.0.0/python/aces_ocio/generate_lut.py @@ -335,7 +335,7 @@ def generate_1d_LUT_from_CTL(lut_path, min_value, max_value) - if identity_LUT_bit_depth != 'half': + if identity_LUT_bit_depth not in ['half', 'float']: identity_LUT_image = '%s.%s.%s' % (lut_path_base, 'uint16', 'tiff') convert_bit_depth(identity_LUT_image_float, identity_LUT_image, @@ -469,7 +469,7 @@ def generate_3d_LUT_from_CTL(lut_path, identity_LUT_image_float = '%s.%s.%s' % (lut_path_base, 'float', 'tiff') generate_3d_LUT_image(identity_LUT_image_float, lut_resolution) - if identity_LUT_bit_depth != 'half': + if identity_LUT_bit_depth not in ['half', 'float']: identity_LUT_image = '%s.%s.%s' % (lut_path_base, identity_LUT_bit_depth, 'tiff') @@ -548,8 +548,8 @@ def main(): lut = options.lut ctls = options.ctl - lut_resolution_1d = options.lut_resolution_1d - lut_resolution_3d = options.lut_resolution_3d + lut_resolution_1d = options.lutResolution1d + lut_resolution_3d = options.lutResolution3d min_value = options.minValue max_value = options.maxValue input_scale = options.inputScale diff --git a/aces_1.0.0/python/bin/generate_lut b/aces_1.0.0/python/bin/generate_lut new file mode 100755 index 0000000..80a8f0a --- /dev/null +++ b/aces_1.0.0/python/bin/generate_lut @@ -0,0 +1,27 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Creates the *ACES* configuration. +""" + +from __future__ import division + +import os +import sys + +sys.path.append(os.path.join(os.path.dirname(__file__), '..')) + +from aces_ocio.generate_lut import main + +__author__ = 'ACES Developers' +__copyright__ = 'Copyright (C) 2014 - 2015 - ACES Developers' +__license__ = '' +__maintainer__ = 'ACES Developers' +__email__ = 'aces@oscars.org' +__status__ = 'Production' + +__all__ = [] + +if __name__ == '__main__': + main() -- 1.7.10.4