diff --git a/blog.photopea.com/color-fonts-in-photopea.html b/blog.photopea.com/color-fonts-in-photopea.html index cc8e68f..529a6d4 100644 --- a/blog.photopea.com/color-fonts-in-photopea.html +++ b/blog.photopea.com/color-fonts-in-photopea.html @@ -1,7 +1,7 @@ - Page not found + Color Fonts in Photopea @@ -26,19 +26,56 @@ API | | -
-
+
+
+ +
+ January 19, 2018 +

Color Fonts in Photopea

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/compress-textures-with-photopea.html b/blog.photopea.com/compress-textures-with-photopea.html index cc8e68f..9de02e1 100644 --- a/blog.photopea.com/compress-textures-with-photopea.html +++ b/blog.photopea.com/compress-textures-with-photopea.html @@ -1,7 +1,7 @@ - Page not found + Compress textures with Photopea @@ -26,19 +26,58 @@ API | | -
-
+
+
+ +
+ November 19, 2017 +

Compress textures with Photopea

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/creating-photopea.html b/blog.photopea.com/creating-photopea.html index cc8e68f..1823286 100644 --- a/blog.photopea.com/creating-photopea.html +++ b/blog.photopea.com/creating-photopea.html @@ -1,7 +1,7 @@ - Page not found + Creating Photopea @@ -26,19 +26,76 @@ API | | -
-
+
+
+ +
+ December 14, 2017 +

Creating Photopea

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/even-better-png-minification.html b/blog.photopea.com/even-better-png-minification.html index cc8e68f..42012cc 100644 --- a/blog.photopea.com/even-better-png-minification.html +++ b/blog.photopea.com/even-better-png-minification.html @@ -1,7 +1,7 @@ - Page not found + Even better PNG minification @@ -26,19 +26,70 @@ API | | -
-
+
+
+ +
+ November 22, 2017 +

Even better PNG minification

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/index.html b/blog.photopea.com/index.html index cc8e68f..2b9ff57 100644 --- a/blog.photopea.com/index.html +++ b/blog.photopea.com/index.html @@ -1,7 +1,7 @@ - Page not found + Photopea Blog @@ -26,19 +26,326 @@ API | | -
-
+
+
-

Error 404 - Not Found

+
+ January 12, 2021 + Photopea 5.0 – open Illustrator files! +

A new release of Photopea is here! It has 98 893 lines of code. Play with it at the main site.

+
+ +
+ August 24, 2020 + Photopea 4.9 – New tools and formats! +

A new release of Photopea is here! It has 93 064 lines of code. Play with it at the main site.

+ +
+ +
+ June 11, 2020 + Photopea 4.8 – Shadows/Highlights +

A new release of Photopea is here! It has 91 049 lines of code. Play with it at the main site.

+ +
+ +
+ March 1, 2020 + Photopea 4.7 – Puppet Warp +

A new release of Photopea is here! It has 87 368 lines of code. Play with it at the main site.

+ +
+ +
+ January 27, 2020 + Photopea 4.6 – Open Figma Files! +

New release of Photopea is here! It has 84 837 lines of code. Play with it at the main site.

+ +
+ +
+ November 6, 2019 + Photopea 4.5 – Smarter Selections! +

New release of Photopea is here! It has 82 676 lines of code. Play with it at the main site.

+ +
+ +
+ October 13, 2019 + Photopea 4.4 – Text on a Curve and more! +

New release of Photopea is here! It has 81 140 lines of code. Play with it at the main site.

+ +
+ +
+ July 2, 2019 + Photopea 4.3 – Slices and more! + New release of Photopea is here! It has 76 553 lines of code. Play with it at the main site. + +
+ +
+ May 3, 2019 + Photopea 4.2 – try Local Storage! +

New release of Photopea is here! It has 74 109 lines of code. Play with it at the main site.

+
+ +
+ February 26, 2019 + Photopea 4.1 – Actions and new Filters! +

New release of Photopea is here! It has 72 317 lines of code. Play with it at the main site.

+
+ +
+ January 4, 2019 + Photopea 4.0 – NEF, CR2 and ARW support! +

New release of Photopea is here! It has 68 161 lines of code. Play with it at the main site.

+
+ +
+ December 4, 2018 + Photopea 3.9 – Simple Templates! +

New release of Photopea is here! It has 66 263 lines of code. Play with it at the main site.

+
+ +
+ October 21, 2018 + Photopea 3.8 – Live Shapes and new filters! +

New release of Photopea is here! It has 64 545 lines of code. Play with it at the main site.

+
+ +
+ September 26, 2018 + Photopea 3.7 – WMF and EMF support +

New release of Photopea is here! It has 63 342 lines of code. Play with it at the main site.

+
+ +
+ August 13, 2018 + Photopea 3.6 – Edit presets +

New release of Photopea is here! It has 62 371 lines of code. Play with it at the main site.

+
+ +
+ June 14, 2018 + Photopea 3.5 – XD support +

New release of Photopea is here! It has 59 924 lines of code. Play with it at the main site.

+
+ +
+ April 30, 2018 + Photopea 3.4 – Refine Edges +

New release of Photopea is here! It has 57 722 lines of code. Play with it at the main site.

+
+ +
+ February 22, 2018 + Vectorize bitmaps in Photopea! +

We just launched a new feature: bitmap to vector conversion. See how it works!

+
+ +
+ February 3, 2018 + Photopea 3.3: PDF import and export +

New release of Photopea is here! It has 53 249 lines of code. Play with it at the main site.

+
+ +
+ January 19, 2018 + Color Fonts in Photopea +

Starting today, Photopea supports color fonts!

+
+ +
+ December 16, 2017 + Photopea 3.2: Advanced selecting +

New release of Photopea is here! It has 52 146 lines of code. Play with it at the main site.

+
+ +
+ December 14, 2017 + Creating Photopea +

Photopea is an advanced image editor, which evolved for more than four years. In terms of complexity, it can be placed next to Adobe Photoshop or GNU GIMP.

+ +
+ +
+ November 22, 2017 + Even better PNG minification +

We introduced a PNG minifier inside Photopea half a year ago. + Today, we are glad to announce, that it is even better!

+
+ +
+ November 19, 2017 + Compress textures with Photopea +

Today, we are adding a new feature into Photopea: the support for DDS textures.

+
+ +
+ October 8, 2017 + RAW support in Photopea +

Today, we are adding a new feature into Photopea: the support for RAW images.

+
+ +
+ September 26, 2017 + Photopea 3.1 brings Aniamtions! +

New release of Photopea is here! It has 48 384 lines of code. Play with it at the main site.

+
+ +
+ August 14, 2017 + Photopea 3.0: SVG support +

New release of Photopea is here with Scripting and a better support for Sketch files! It has 47 362 lines of code. Play with it at the main site.

+
+ +
+ July 23, 2017 + Photopea 2.9: Scripts are here! +

New release of Photopea is here with Scripting and a better support for Sketch files! It has 45 814 lines of code. Play with it at the main site.

+
+ +
+ July 6, 2017 + Photopea 2.8 with more text options! +

New release of Photopea is here with vector editing capabilities! It has 44 779 lines of code. Play with it at the main site.

+
+ +
+ June 1, 2017 + Photopea 2.7 with vector editing! +

New release of Photopea is here with vector editing capabilities! It has 43 123 lines of code. Play with it at the main site.

+
+ +
+ May 9, 2017 + PNG minifier inside Photopea +

We have added a new feature to Photopea, which can significantly minify PNG images.

+
+ +
+ April 25, 2017 + Photopea 2.6 can open Sketch! +

New release of Photopea is out! It has 40 722 lines of code. Play with it at the main site.

+
+ +
+ March 23, 2017 + Photopea 2.5 +

New release of Photopea is out! It has 38 857 lines of code. Play with it at the main site.

+
+ +
+ March 2, 2017 + Photopea 2.4 +

New release of Photopea is out! It has 38 810 lines of code. Play with it at the main site.

+
+ +
+ February 5, 2017 + Photopea 2.3 – six new tools! +

New release of Photopea is out! It has 37 400 lines of code. Play with it at the main site.

+
+ +
+ January 25, 2017 + Patterns and Fill Layers +

In this little update, we present the full support for Patterns and Fill Layers.

+
+ +
+ January 16, 2017 + Photopea 2.2 +

New release of Photopea is out! It has 36 906 lines of code. Play with it at the main site.

+
+ +
+ September 20, 2016 + Surface Blur and Median +

Today, Photopea gets two new professional filters: Surface Blur filter and Median filter! Moreover, Photopea performs them much faster, than Photoshop and GIMP do, as you can see in the last section. See it in action at the main site. Our images come from Shell And Slate.

+
+ +
+ September 17, 2016 + Photopea Premium +

Starting today, you can upgrade your account to a Premium account. It does not give you any extra features, but it helps us improve Photopea for you.

+
+ +
+ September 9, 2016 + Photopea 2.1 +

New release of Photopea is out! It has 34 982 lines of code. Play with it at the main site.

+
+ +
+ August 24, 2016 + Photopea 2.0 +

New release of Photopea is out! It has 33 593 lines of code. Play with it at the main site.

+
+ +
+ August 3, 2016 + Photopea 1.9 +

New release of Photopea is out! It has 32 156 lines of code. Play with it at the main site.

+
+ +
+ June 28, 2016 + Photopea 1.8 +

New release of Photopea is out! It has 30 533 lines of code. Play with it at the main site.

+
+ +
+ May 2, 2016 + Photopea 1.7 +

New release of Photopea is out! It has 32 200 lines of code. Play with it at the main site.

+
+ +
+ March 31, 2016 + Photopea 1.6 meets Google Drive +

New release of Photopea is out! It has 31 595 lines of code. Play with it at the main site.

+
+ +
+ February 21, 2016 + Photopea 1.5 +

New release of Photopea is out! It has 31 023 lines of code. Play with it at the main site.

+
+ +
+ November 19, 2015 + Photopea 1.4 +

New release of Photopea is out! It has 29 970 lines of code. Play with it at the main site.

+
+ +
+ August 26, 2015 + Photopea 1.3 +

New release of Photopea is out! It has 27 587 lines of code. Play with it at the main site.

+
+ +
+ July 26, 2015 + Photopea 1.2 +

New release of Photopea is out! It has 26 383 lines of code. Play with it at the main site.

+
+ +
+ February 27, 2015 + Photopea 1.1 +

New release of Photopea is out! It has 24 163 lines of code. Play with it at the main site.

+
+ + +
-
diff --git a/blog.photopea.com/introduction.html b/blog.photopea.com/introduction.html index cc8e68f..ff05f73 100644 --- a/blog.photopea.com/introduction.html +++ b/blog.photopea.com/introduction.html @@ -1,7 +1,7 @@ - Page not found + Introduction @@ -26,19 +26,85 @@ API | | -
-
+
+
+ +
+ September 14, 2013 +

Introduction

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/merry-christmas.html b/blog.photopea.com/merry-christmas.html index cc8e68f..0750a36 100644 --- a/blog.photopea.com/merry-christmas.html +++ b/blog.photopea.com/merry-christmas.html @@ -1,7 +1,7 @@ - Page not found + Merry Christmas! @@ -26,19 +26,49 @@ API | | -
-
+
+
+ +
+ December 24, 2013 +

Merry Christmas!

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/patterns-and-fill-layers.html b/blog.photopea.com/patterns-and-fill-layers.html index cc8e68f..7809c1c 100644 --- a/blog.photopea.com/patterns-and-fill-layers.html +++ b/blog.photopea.com/patterns-and-fill-layers.html @@ -1,7 +1,7 @@ - Page not found + Patterns and Fill Layers @@ -26,19 +26,61 @@ API | | -
-
+
+
+ +
+ January 25, 2017 +

Patterns and Fill Layers

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photo-pea-0-1.html b/blog.photopea.com/photo-pea-0-1.html index cc8e68f..3b9d18a 100644 --- a/blog.photopea.com/photo-pea-0-1.html +++ b/blog.photopea.com/photo-pea-0-1.html @@ -1,7 +1,7 @@ - Page not found + Photo Pea 0.1 @@ -26,19 +26,74 @@ API | | -
-
+
+
+ +
+ September 14, 2013 +

Photo Pea 0.1

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photo-pea-0-2.html b/blog.photopea.com/photo-pea-0-2.html index cc8e68f..21f3b14 100644 --- a/blog.photopea.com/photo-pea-0-2.html +++ b/blog.photopea.com/photo-pea-0-2.html @@ -1,7 +1,7 @@ - Page not found + Photo Pea 0.2 @@ -26,19 +26,61 @@ API | | -
-
+
+
+ +
+ September 25, 2013 +

Photo Pea 0.2

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photo-pea-0-4.html b/blog.photopea.com/photo-pea-0-4.html index cc8e68f..6945e2c 100644 --- a/blog.photopea.com/photo-pea-0-4.html +++ b/blog.photopea.com/photo-pea-0-4.html @@ -1,7 +1,7 @@ - Page not found + Photo Pea 0.4 @@ -26,19 +26,59 @@ API | | -
-
+
+
+ +
+ November 21, 2013 +

Photo Pea 0.4

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photopea-0-3.html b/blog.photopea.com/photopea-0-3.html index cc8e68f..5392506 100644 --- a/blog.photopea.com/photopea-0-3.html +++ b/blog.photopea.com/photopea-0-3.html @@ -1,7 +1,7 @@ - Page not found + Photo Pea 0.3 @@ -26,19 +26,66 @@ API | | -
-
+
+
+ +
+ October 27, 2013 +

Photo Pea 0.3

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photopea-0-5.html b/blog.photopea.com/photopea-0-5.html index cc8e68f..c7dc830 100644 --- a/blog.photopea.com/photopea-0-5.html +++ b/blog.photopea.com/photopea-0-5.html @@ -1,7 +1,7 @@ - Page not found + Photopea 0.5 @@ -26,19 +26,66 @@ API | | -
-
+
+
+ +
+ February 28, 2014 +

Photopea 0.5

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photopea-0-6.html b/blog.photopea.com/photopea-0-6.html index cc8e68f..371320d 100644 --- a/blog.photopea.com/photopea-0-6.html +++ b/blog.photopea.com/photopea-0-6.html @@ -1,7 +1,7 @@ - Page not found + Photopea 0.6 @@ -26,19 +26,56 @@ API | | -
-
+
+
+ +
+ March 27, 2014 +

Photopea 0.6

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photopea-0-7.html b/blog.photopea.com/photopea-0-7.html index cc8e68f..77a1cc5 100644 --- a/blog.photopea.com/photopea-0-7.html +++ b/blog.photopea.com/photopea-0-7.html @@ -1,7 +1,7 @@ - Page not found + Photopea 0.7 @@ -26,19 +26,61 @@ API | | -
-
+
+
+ +
+ April 20, 2014 +

Photopea 0.7

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photopea-0-8.html b/blog.photopea.com/photopea-0-8.html index cc8e68f..64967b7 100644 --- a/blog.photopea.com/photopea-0-8.html +++ b/blog.photopea.com/photopea-0-8.html @@ -1,7 +1,7 @@ - Page not found + Photopea 0.8 @@ -26,19 +26,62 @@ API | | -
-
+
+
+ +
+ May 27, 2014 +

Photopea 0.8

+
-

Error 404 - Not Found

- -
- - +
-

Visitors

- Flag Counter +
+ +
+ + + + +
+
+
+ + + -
diff --git a/blog.photopea.com/photopea-0-9.html b/blog.photopea.com/photopea-0-9.html index e69de29..d4be458 100644 --- a/blog.photopea.com/photopea-0-9.html +++ b/blog.photopea.com/photopea-0-9.html @@ -0,0 +1,90 @@ + + + + Photopea 0.9 + + + + + + + +
+
+
+ +
+ October 26, 2014 +

Photopea 0.9

+
+ +

The ninth release of Photopea is out! It has 20 942 lines of code. Play with it at the main site.

+ +

New features

+ +
    +
  • Type Tool
  • +
  • Support for TTF fonts (drag'n'drop font file into PP)
  • +
  • Several bugs fixed
  • +
+ +

Type Tool

+ +

Type Tool was probably the hardest tool I had to implement. Not because of complexity of programming, but because of compatibility with PSD format. The problem was finally solved and Photopea can edit text layers of PSD created by Photoshop, and Photoshop can edit text layers of PSD created by Photopea.

+ +

There may be a slight difference in text layers rendered by Photoshop and Photopea. While Photoshop rounds text coordinates to whole pixels, Photopea keeps the coordinates as floating point nubmers, so spaces between lines or between words may be slightly different.

+ +

Fonts

+

Photopea has its own fonts, stored at the web server. Additional fonts must be Drag'n'dropped by user. Photopea can not access local fonts (e.g. C:\Windows\Fonts on Windows) automatically.

+ +

Whenever you edit text layer with missing font, it is rendered by substitute font. Feel free to edit such text layer and save it, Photopea keeps the information about original font, so you can re-render it later (in Photopea or Photoshop, when font is available).

+ + +
+
+ +
+ +
+ + + + +
+
+
+ + + + + +
+ + \ No newline at end of file diff --git a/upng.photopea.com/bunny.png b/upng.photopea.com/bunny.png index 5bb208d..71d762d 100644 Binary files a/upng.photopea.com/bunny.png and b/upng.photopea.com/bunny.png differ diff --git a/upng.photopea.com/grass.png b/upng.photopea.com/grass.png index 5bb208d..6165b0e 100644 Binary files a/upng.photopea.com/grass.png and b/upng.photopea.com/grass.png differ diff --git a/upng.photopea.com/grid.png b/upng.photopea.com/grid.png index 5bb208d..657af90 100644 Binary files a/upng.photopea.com/grid.png and b/upng.photopea.com/grid.png differ diff --git a/upng.photopea.com/index.html b/upng.photopea.com/index.html index 5bb208d..26d8d09 100644 --- a/upng.photopea.com/index.html +++ b/upng.photopea.com/index.html @@ -1,33 +1,285 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - + + - + + + + + + + + UPNG: fast PNG minifier + + + + + + + + + + + + + + + + + +
+

UPNG
fast PNG minifier by Photopea

+ + + + Check out UPNG.js + + + Follow @photopeacom + +
+ +
+
+
+
+

Shrink and optimize images. + Set the ideal balance between the quality and the size.

+
+

Comparison with TinyPNG.com

+

+ + Drag and drop your PNG files! + +
+
+
+
+ +
+ +
+ +
+ + + diff --git a/upng.photopea.com/js/UPNG.js b/upng.photopea.com/js/UPNG.js index 5bb208d..8812ea1 100644 --- a/upng.photopea.com/js/UPNG.js +++ b/upng.photopea.com/js/UPNG.js @@ -1,33 +1,899 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - +;(function(){ +var UPNG = {}; + +// Make available for import by `require()` +var pako; +if (typeof module == "object") {module.exports = UPNG;} else {window.UPNG = UPNG;} +if (typeof require == "function") {pako = require("pako");} else {pako = window.pako;} +function log() { if (typeof process=="undefined" || process.env.NODE_ENV=="development") console.log.apply(console, arguments); } +(function(UPNG, pako){ + + + + +UPNG.toRGBA8 = function(out) +{ + var w = out.width, h = out.height; + if(out.tabs.acTL==null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer]; + + var frms = []; + if(out.frames[0].data==null) out.frames[0].data = out.data; + + var img, empty = new Uint8Array(w*h*4); + for(var i=0; i>3)]>>(7-((i&7)<<0)))& 1), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>2)]>>(6-((i&3)<<1)))& 3), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>1)]>>(4-((i&1)<<2)))&15), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>3]>>(7 -((i&7) )))& 1), al=(gr==tr*255)?0:255; bf32[i]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + if(depth== 2) for(var i=0; i>2]>>(6 -((i&3)<<1)))& 3), al=(gr==tr* 85)?0:255; bf32[i]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + if(depth== 4) for(var i=0; i>1]>>(4 -((i&1)<<2)))&15), al=(gr==tr* 17)?0:255; bf32[i]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + if(depth== 8) for(var i=0; i>3, bpl = Math.ceil(w*bpp/8); + var img = new Uint8Array( h * bpl ); + var di = 0; + + var starting_row = [ 0, 0, 4, 0, 2, 0, 1 ]; + var starting_col = [ 0, 4, 0, 2, 0, 1, 0 ]; + var row_increment = [ 8, 8, 8, 4, 4, 2, 2 ]; + var col_increment = [ 8, 8, 4, 4, 2, 2, 1 ]; + + var pass=0; + while(pass<7) + { + var ri = row_increment[pass], ci = col_increment[pass]; + var sw = 0, sh = 0; + var cr = starting_row[pass]; while(cr>3]; val = (val>>(7-(cdi&7)))&1; + img[row*bpl + (col>>3)] |= (val << (7-((col&3)<<0))); + } + if(bpp==2) { + var val = data[cdi>>3]; val = (val>>(6-(cdi&7)))&3; + img[row*bpl + (col>>2)] |= (val << (6-((col&3)<<1))); + } + if(bpp==4) { + var val = data[cdi>>3]; val = (val>>(4-(cdi&7)))&15; + img[row*bpl + (col>>1)] |= (val << (4-((col&1)<<2))); + } + if(bpp>=8) { + var ii = row*bpl+col*cbpp; + for(var j=0; j>3)+j]; + } + cdi+=bpp; col+=ci; + } + y++; row += ri; + } + if(sw*sh!=0) di += sh * (1 + bpll); + pass = pass + 1; + } + return img; +} + +UPNG.decode._getBPP = function(out) { + var noc = [1,null,3,1,2,null,4][out.ctype]; + return noc * out.depth; +} + +UPNG.decode._filterZero = function(data, out, off, w, h) +{ + var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), paeth = UPNG.decode._paeth; + bpp = Math.ceil(bpp/8); + + for(var y=0; y>1) )&255; + if(type==4) for(var x=bpp; x>1))&255; + for(var x=bpp; x>1) )&255; } + + if(type==4) { for(var x= 0; x>8)&255; buff[p+1] = n&255; }, + readUint : function(buff,p) { return (buff[p]*(256*256*256)) + ((buff[p+1]<<16) | (buff[p+2]<< 8) | buff[p+3]); }, + writeUint : function(buff,p,n){ buff[p]=(n>>24)&255; buff[p+1]=(n>>16)&255; buff[p+2]=(n>>8)&255; buff[p+3]=n&255; }, + readASCII : function(buff,p,l){ var s = ""; for(var i=0; i=0 && yoff>=0) { si = (y*sw+x)<<2; ti = (( yoff+y)*tw+xoff+x)<<2; } + else { si = ((-yoff+y)*sw-xoff+x)<<2; ti = (y*tw+x)<<2; } + + if (mode==0) { tb[ti] = sb[si]; tb[ti+1] = sb[si+1]; tb[ti+2] = sb[si+2]; tb[ti+3] = sb[si+3]; } + else if(mode==1) { + var fa = sb[si+3]*(1/255), fr=sb[si]*fa, fg=sb[si+1]*fa, fb=sb[si+2]*fa; + var ba = tb[ti+3]*(1/255), br=tb[ti]*ba, bg=tb[ti+1]*ba, bb=tb[ti+2]*ba; + + var ifa=1-fa, oa = fa+ba*ifa, ioa = (oa==0?0:1/oa); + tb[ti+3] = 255*oa; + tb[ti+0] = (fr+br*ifa)*ioa; + tb[ti+1] = (fg+bg*ifa)*ioa; + tb[ti+2] = (fb+bb*ifa)*ioa; + } + else if(mode==2){ // copy only differences, otherwise zero + var fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; + var ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; + if(fa==ba && fr==br && fg==bg && fb==bb) { tb[ti]=0; tb[ti+1]=0; tb[ti+2]=0; tb[ti+3]=0; } + else { tb[ti]=fr; tb[ti+1]=fg; tb[ti+2]=fb; tb[ti+3]=fa; } + } + else if(mode==3){ // check if can be blended + var fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; + var ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; + if(fa==ba && fr==br && fg==bg && fb==bb) continue; + //if(fa!=255 && ba!=0) return false; + if(fa<220 && ba>20) return false; + } + } + return true; +} + + + + + +UPNG.encode = function(bufs, w, h, ps, dels, forbidPlte) +{ + if(ps==null) ps=0; + if(forbidPlte==null) forbidPlte = false; + + var nimg = UPNG.encode.compress(bufs, w, h, ps, false, forbidPlte); + UPNG.encode.compressPNG(nimg, -1); + + return UPNG.encode._main(nimg, w, h, dels); +} + +UPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels) { + var nimg = { ctype: 0 + (cc==1 ? 0 : 2) + (ac==0 ? 0 : 4), depth: depth, frames: [] }; + + var bipp = (cc+ac)*depth, bipl = bipp * w; + for(var i=0; i1, pltAlpha = false; + + var leng = 8 + (16+5+4) /*+ (9+4)*/ + (anim ? 20 : 0); + if(nimg.ctype==3) { + var dl = nimg.plte.length; + for(var i=0; i>>24)!=255) pltAlpha = true; + leng += (8 + dl*3 + 4) + (pltAlpha ? (8 + dl*1 + 4) : 0); + } + for(var j=0; j>>8)&255, b=(c>>>16)&255; + data[offset+ti+0]=r; data[offset+ti+1]=g; data[offset+ti+2]=b; + } + offset+=dl*3; + wUi(data,offset,crc(data,offset-dl*3-4,dl*3+4)); offset+=4; // crc + + if(pltAlpha) { + wUi(data,offset, dl); offset+=4; + wAs(data,offset,"tRNS"); offset+=4; + for(var i=0; i>>24)&255; + offset+=dl; + wUi(data,offset,crc(data,offset-dl-4,dl+4)); offset+=4; // crc + } + } + + var fi = 0; + for(var j=0; j>2, bln>>2)); + for(var j=0; jnw && c==img32[i-nw]) ind[i]=ind[i-nw]; + else { + var cmc = cmap[c]; + if(cmc==null) { cmap[c]=cmc=plte.length; plte.push(c); if(plte.length>=300) break; } + ind[i]=cmc; + } + } + } + //console.log("make palette", Date.now()-time); time = Date.now(); + } + + var cc=plte.length; //console.log("colors:",cc); + if(cc<=256 && forbidPlte==false) { + if(cc<= 2) depth=1; else if(cc<= 4) depth=2; else if(cc<=16) depth=4; else depth=8; + if(forGIF) depth=8; + } + + for(var j=0; j>1)] |= (inj[ii+x]<<(4-(x&1)*4)); + else if(depth==2) for(var x=0; x>2)] |= (inj[ii+x]<<(6-(x&3)*2)); + else if(depth==1) for(var x=0; x>3)] |= (inj[ii+x]<<(7-(x&7)*1)); + } + cimg=nimg; ctype=3; bpp=1; + } + else if(gotAlpha==false && frms.length==1) { // some next "reduced" frames may contain alpha for blending + var nimg = new Uint8Array(nw*nh*3), area=nw*nh; + for(var i=0; i palette indices", Date.now()-time); time = Date.now(); + + return {ctype:ctype, depth:depth, plte:plte, frames:frms }; +} +UPNG.encode.framize = function(bufs,w,h,forGIF,brute) { + var frms = []; + for(var j=0; jmax) max=x; + if(ymay) may=y; + } + } + var sarea = (max==-1) ? 1 : (max-mix+1)*(may-miy+1); + if(sarea500000 && (t==2 || t==3 || t==4)) continue; + for(var y=0; y>1) +256)&255; + if(type==4) for(var x=bpp; x>1))&255; + for(var x=bpp; x>1))&255; } + if(type==4) { for(var x= 0; x>> 1); + else c = c >>> 1; + } + tab[n] = c; } + return tab; })(), + update : function(c, buf, off, len) { + for (var i=0; i>> 8); + return c; + }, + crc : function(b,o,l) { return UPNG.crc.update(0xffffffff,b,o,l) ^ 0xffffffff; } +} + + +UPNG.quantize = function(abuf, ps) +{ + var oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer); + + var KD = UPNG.quantize.getKDtree(nimg, ps); + var root = KD[0], leafs = KD[1]; + + var planeDst = UPNG.quantize.planeDst; + var sb = oimg, tb = nimg32, len=sb.length; + + var inds = new Uint8Array(oimg.length>>2); + for(var i=0; i>2] = nd.ind; + tb[i>>2] = nd.est.rgba; + } + return { abuf:nimg.buffer, inds:inds, plte:leafs }; +} + +UPNG.quantize.getKDtree = function(nimg, ps, err) { + if(err==null) err = 0.0001; + var nimg32 = new Uint32Array(nimg.buffer); + + var root = {i0:0, i1:nimg.length, bst:null, est:null, tdst:0, left:null, right:null }; // basic statistic, extra statistic + root.bst = UPNG.quantize.stats( nimg,root.i0, root.i1 ); root.est = UPNG.quantize.estats( root.bst ); + var leafs = [root]; + + while(leafs.length maxL) { maxL=leafs[i].est.L; mi=i; } + if(maxL=s0 || node.i1<=s0); + //console.log(maxL, leafs.length, mi); + if(s0wrong) { node.est.L=0; continue; } + + + var ln = {i0:node.i0, i1:s0, bst:null, est:null, tdst:0, left:null, right:null }; ln.bst = UPNG.quantize.stats( nimg, ln.i0, ln.i1 ); + ln.est = UPNG.quantize.estats( ln.bst ); + var rn = {i0:s0, i1:node.i1, bst:null, est:null, tdst:0, left:null, right:null }; rn.bst = {R:[], m:[], N:node.bst.N-ln.bst.N}; + for(var i=0; i<16; i++) rn.bst.R[i] = node.bst.R[i]-ln.bst.R[i]; + for(var i=0; i< 4; i++) rn.bst.m[i] = node.bst.m[i]-ln.bst.m[i]; + rn.est = UPNG.quantize.estats( rn.bst ); + + node.left = ln; node.right = rn; + leafs[mi]=ln; leafs.push(rn); + } + leafs.sort(function(a,b) { return b.bst.N-a.bst.N; }); + for(var i=0; i0) { node0=nd.right; node1=nd.left; } + + var ln = UPNG.quantize.getNearest(node0, r,g,b,a); + if(ln.tdst<=planeDst*planeDst) return ln; + var rn = UPNG.quantize.getNearest(node1, r,g,b,a); + return rn.tdst eMq) i1-=4; + if(i0>=i1) break; + + var t = nimg32[i0>>2]; nimg32[i0>>2] = nimg32[i1>>2]; nimg32[i1>>2]=t; + + i0+=4; i1-=4; + } + while(vecDot(nimg, i0, e)>eMq) i0-=4; + return i0+4; +} +UPNG.quantize.vecDot = function(nimg, i, e) +{ + return nimg[i]*e[0] + nimg[i+1]*e[1] + nimg[i+2]*e[2] + nimg[i+3]*e[3]; +} +UPNG.quantize.stats = function(nimg, i0, i1){ + var R = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; + var m = [0,0,0,0]; + var N = (i1-i0)>>2; + for(var i=i0; i>>0) }; +} +UPNG.M4 = { + multVec : function(m,v) { + return [ + m[ 0]*v[0] + m[ 1]*v[1] + m[ 2]*v[2] + m[ 3]*v[3], + m[ 4]*v[0] + m[ 5]*v[1] + m[ 6]*v[2] + m[ 7]*v[3], + m[ 8]*v[0] + m[ 9]*v[1] + m[10]*v[2] + m[11]*v[3], + m[12]*v[0] + m[13]*v[1] + m[14]*v[2] + m[15]*v[3] + ]; + }, + dot : function(x,y) { return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]+x[3]*y[3]; }, + sml : function(a,y) { return [a*y[0],a*y[1],a*y[2],a*y[3]]; } +} + +UPNG.encode.concatRGBA = function(bufs, roundAlpha) { + var tlen = 0; + for(var i=0; i - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + +var UZIP = {}; + + +UZIP.parse = function(data) // Uint8Array +{ + var bin = UZIP.bin, offset = 0, out = {}; + + var eocd = data.length-4; + + while(bin.readUint(data, eocd)!=0x06054b50) eocd--; + + var offset = eocd; + offset+=4; // sign = 0x06054b50 + offset+=4; // disks = 0; + var cnu = bin.readUshort(data, offset); offset+=2; + var cnt = bin.readUshort(data, offset); offset+=2; + + var csize = bin.readUint (data, offset); offset+=4; + var coffs = bin.readUint (data, offset); offset+=4; + + offset = coffs; + for(var i=0; i>> 1); + else c = c >>> 1; + } + tab[n] = c; } + return tab; })(), + update : function(c, buf, off, len) { + for (var i=0; i>> 8); + return c; + }, + crc : function(b,o,l) { return UPNG.crc.update(0xffffffff,b,o,l) ^ 0xffffffff; } +} + +UZIP.bin = { + readUshort : function(buff,p) { return (buff[p]) | (buff[p+1]<<8); }, + writeUshort: function(buff,p,n){ buff[p] = (n)&255; buff[p+1] = (n>>8)&255; }, + readUint : function(buff,p) { return (buff[p+3]*(256*256*256)) + ((buff[p+2]<<16) | (buff[p+1]<< 8) | buff[p]); }, + writeUint : function(buff,p,n){ buff[p+3]=(n>>24)&255; buff[p+2]=(n>>16)&255; buff[p+1]=(n>>8)&255; buff[p]=n&255; }, + readASCII : function(buff,p,l){ var s = ""; for(var i=0; i - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - +/* pako 1.0.5 nodeca/pako */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=o.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==b)throw new Error(d[a]);if(e.header&&o.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(n="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=o.deflateSetDictionary(this.strm,n),a!==b)throw new Error(d[a]);this._dict_set=!0}}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}function s(t,e){return e=e||{},e.gzip=!0,n(t,e)}var o=t("./zlib/deflate"),l=t("./utils/common"),h=t("./utils/strings"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=Object.prototype.toString,u=0,c=4,b=0,g=1,m=2,w=-1,p=0,v=8;i.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?c:u,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===_.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new l.Buf8(r),n.next_out=0,n.avail_out=r),a=o.deflate(n,i),a!==g&&a!==b)return this.onEnd(a),this.ended=!0,!1;0!==n.avail_out&&(0!==n.avail_in||i!==c&&i!==m)||("string"===this.options.to?this.onData(h.buf2binstring(l.shrinkBuf(n.output,n.next_out))):this.onData(l.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||0===n.avail_out)&&a!==g);return i===c?(a=o.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===b):i!==m||(this.onEnd(b),n.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===b&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=i,a.deflate=n,a.deflateRaw=r,a.gzip=s},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=s.inflateInit2(this.strm,e.windowBits);if(a!==h.Z_OK)throw new Error(d[a]);this.header=new _,s.inflateGetHeader(this.strm,this.header)}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}var s=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/constants"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=t("./zlib/gzheader"),u=Object.prototype.toString;i.prototype.push=function(t,e){var a,i,n,r,d,f,_=this.strm,c=this.options.chunkSize,b=this.options.dictionary,g=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?h.Z_FINISH:h.Z_NO_FLUSH,"string"==typeof t?_.input=l.binstring2buf(t):"[object ArrayBuffer]"===u.call(t)?_.input=new Uint8Array(t):_.input=t,_.next_in=0,_.avail_in=_.input.length;do{if(0===_.avail_out&&(_.output=new o.Buf8(c),_.next_out=0,_.avail_out=c),a=s.inflate(_,h.Z_NO_FLUSH),a===h.Z_NEED_DICT&&b&&(f="string"==typeof b?l.string2buf(b):"[object ArrayBuffer]"===u.call(b)?new Uint8Array(b):b,a=s.inflateSetDictionary(this.strm,f)),a===h.Z_BUF_ERROR&&g===!0&&(a=h.Z_OK,g=!1),a!==h.Z_STREAM_END&&a!==h.Z_OK)return this.onEnd(a),this.ended=!0,!1;_.next_out&&(0!==_.avail_out&&a!==h.Z_STREAM_END&&(0!==_.avail_in||i!==h.Z_FINISH&&i!==h.Z_SYNC_FLUSH)||("string"===this.options.to?(n=l.utf8border(_.output,_.next_out),r=_.next_out-n,d=l.buf2string(_.output,n),_.next_out=r,_.avail_out=c-r,r&&o.arraySet(_.output,_.output,n,r,0),this.onData(d)):this.onData(o.shrinkBuf(_.output,_.next_out)))),0===_.avail_in&&0===_.avail_out&&(g=!0)}while((_.avail_in>0||0===_.avail_out)&&a!==h.Z_STREAM_END);return a===h.Z_STREAM_END&&(i=h.Z_FINISH),i===h.Z_FINISH?(a=s.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===h.Z_OK):i!==h.Z_SYNC_FLUSH||(this.onEnd(h.Z_OK),_.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===h.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=i,a.inflate=n,a.inflateRaw=r,a.ungzip=n},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;r=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;o[254]=o[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;r>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;a4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&a1?h[n++]=65533:r<65536?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return a<0?e:0===a?e:a+o[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t^=-1;for(var o=i;o>>8^n[255&(t^e[o])];return t^-1}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=D[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(R.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){C._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,R.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=N(t.adler,e,n,a):2===t.state.wrap&&(t.adler=O(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+dt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&r<_);if(i=dt-(_-r),r=_-dt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ft)){R.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ht)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return vt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return vt;if(t.strstart-t.block_start>=t.w_size-ft&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?vt:vt}function c(t,e){for(var a,i;;){if(t.lookahead=ht&&(t.ins_h=(t.ins_h<=ht)if(i=C._tr_tally(t,t.strstart-t.match_start,t.match_length-ht),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ht){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<=ht&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ht-1)),t.prev_length>=ht&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ht,i=C._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ht),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<=ht&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+dt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ht?(a=C._tr_tally(t,1,t.match_length-ht),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return vt;break}if(t.match_length=0,a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function w(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}function p(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=Z[t.level].max_lazy,t.good_match=Z[t.level].good_length,t.nice_match=Z[t.level].nice_length,t.max_chain_length=Z[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ht-1,t.match_available=0,t.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=V,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new R.Buf16(2*ot),this.dyn_dtree=new R.Buf16(2*(2*rt+1)),this.bl_tree=new R.Buf16(2*(2*st+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new R.Buf16(lt+1),this.heap=new R.Buf16(2*nt+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new R.Buf16(2*nt+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=Q,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ut:wt,t.adler=2===e.wrap?0:1,e.last_flush=I,C._tr_init(e),H):i(t,K)}function y(t){var e=k(t);return e===H&&p(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?K:(t.state.gzhead=e,H):K}function z(t,e,a,n,r,s){if(!t)return K;var o=1;if(e===Y&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>$||a!==V||n<8||n>15||e<0||e>9||s<0||s>W)return i(t,K);8===n&&(n=9);var l=new v;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<L||e<0)return t?i(t,K):K;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===pt&&e!==F)return i(t,0===t.avail_out?P:K);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ut)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=O(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=ct):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,zt),o.status=wt);else{var _=V+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=G||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=_t),_+=31-_%31,o.status=wt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===ct)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=bt)}else o.status=bt;if(o.status===bt)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=gt)}else o.status=gt;if(o.status===gt)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=mt)}else o.status=mt;if(o.status===mt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=wt)):o.status=wt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,H}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,P);if(o.status===pt&&0!==t.avail_in)return i(t,P);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==pt){var c=o.strategy===G?m(o,e):o.strategy===X?g(o,e):Z[o.level].func(o,e);if(c!==yt&&c!==xt||(o.status=pt),c===vt||c===yt)return 0===t.avail_out&&(o.last_flush=-1),H;if(c===kt&&(e===U?C._tr_align(o):e!==L&&(C._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,H}return e!==F?H:o.wrap<=0?j:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?H:j)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt&&e!==wt&&e!==pt?i(t,K):(t.state=null,e===wt?i(t,M):H)):K}function A(t,e){var a,i,n,s,o,l,h,d,f=e.length;if(!t||!t.state)return K;if(a=t.state,s=a.wrap,2===s||1===s&&a.status!==ut||a.lookahead)return K;for(1===s&&(t.adler=N(t.adler,e,f,0)),a.wrap=0,f>=a.w_size&&(0===s&&(r(a.head),a.strstart=0,a.block_start=0,a.insert=0),d=new R.Buf8(a.w_size),R.arraySet(d,e,f-a.w_size,a.w_size,0),e=d,f=a.w_size),o=t.avail_in,l=t.next_in,h=t.input,t.avail_in=f,t.next_in=0,t.input=e,_(a);a.lookahead>=ht;){i=a.strstart,n=a.lookahead-(ht-1);do a.ins_h=(a.ins_h<>>24,b>>>=y,g-=y,y=k>>>16&255,0===y)A[o++]=65535&k;else{if(!(16&y)){if(0===(64&y)){k=m[(65535&k)+(b&(1<>>=y,g-=y),g<15&&(b+=E[r++]<>>24,b>>>=y,g-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=w[(65535&k)+(b&(1<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=y,g-=y,y=o-l,z>y){if(y=z-y,y>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-y,y2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],x-=3;x&&(A[o++]=S[B++],x>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],x-=3;while(x>2);x&&(A[o++]=A[B++],x>1&&(A[o++]=A[B++]))}break}}break}}while(r>3,r-=x,g-=x<<3,b&=(1<>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new w.Buf16(320),this.work=new w.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=T,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new w.Buf32(bt),e.distcode=e.distdyn=new w.Buf32(gt),e.sane=1,e.back=-1,Z):N}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):N}function o(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?N:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):N}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==Z&&(t.state=null),a):N}function h(t){return l(t,wt)}function d(t){if(pt){var e;for(g=new w.Buf32(512),m=new w.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(y(z,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;y(B,t.lens,0,32,m,0,t.work,{bits:5}),pt=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(w.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),w.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(w.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,a.check=v(a.check,Et,2,0),_=0,u=0,a.mode=F;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=_t;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=_t;break}if(_>>>=4,u-=4,yt=(15&_)+8,0===a.wbits)a.wbits=yt;else if(yt>a.wbits){t.msg="invalid window size",a.mode=_t;break}a.dmax=1<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=L;case L:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=v(a.check,Et,4,0)),_=0,u=0,a.mode=H;case H:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=j;case j:if(1024&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=K;case K:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(yt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),w.arraySet(a.head.extra,n,s,g,yt)),512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.name+=String.fromCharCode(yt));while(yt&&g>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=X;break;case q:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=ht;break}for(;u<3;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=J;break;case 1:if(d(a),a.mode=at,e===A){_>>>=2,u-=2;break t}break;case 2:a.mode=$;break;case 3:t.msg="invalid block type",a.mode=_t}_>>>=2,u-=2;break;case J:for(_>>>=7&u,u-=7&u;u<32;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=_t;break}if(a.length=65535&_,_=0,u=0,a.mode=Q,e===A)break t;case Q:a.mode=V;case V:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;w.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=X;break;case $: +for(;u<14;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=_t;break}a.have=0,a.mode=tt;case tt:for(;a.have>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},xt=y(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid code lengths set",a.mode=_t;break}a.have=0,a.mode=et;case et:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;u>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=_t;break}yt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;u>>=gt,u-=gt,yt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;u>>=gt,u-=gt,yt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=_t;break}for(;g--;)a.lens[a.have++]=yt}}if(a.mode===_t)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=_t;break}if(a.lenbits=9,zt={bits:a.lenbits},xt=y(z,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid literal/lengths set",a.mode=_t;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},xt=y(B,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,xt){t.msg="invalid distances set",a.mode=_t;break}if(a.mode=at,e===A)break t;case at:a.mode=it;case it:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,k(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===X&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=lt;break}if(32&mt){a.back=-1,a.mode=X;break}if(64&mt){t.msg="invalid literal/length code",a.mode=_t;break}a.extra=15&mt,a.mode=nt;case nt:if(a.extra){for(Bt=a.extra;u>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=rt;case rt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=_t;break}a.offset=wt,a.extra=15&mt,a.mode=st;case st:if(a.extra){for(Bt=a.extra;u>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=_t;break}a.mode=ot;case ot:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=_t;break}g>a.wnext?(g-=a.wnext,m=a.wsize-g):m=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,m=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[m++];while(--g);0===a.length&&(a.mode=it);break;case lt:if(0===h)break t;r[o++]=a.length,h--,a.mode=it;break;case ht:if(a.wrap){for(;u<32;){if(0===l)break t;l--,_|=n[s++]<=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;C0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;Zr||t===h&&T>s)return 1;for(;;){B=Z-I,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>I)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(F&y)!==k){for(0===I&&(I=O),x+=C,D=Z-I,U=1<r||t===h&&T>s)return 1;k=F&y,b[k]=O<<24|D<<16|x-g|0}}return 0!==F&&(b[x+F]=Z-I<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function r(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function s(t){return t<256?lt[t]:lt[256+(t>>>7)]}function o(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function l(t,e,a){t.bi_valid>W-a?(t.bi_buf|=e<>W-t.bi_valid,t.bi_valid+=a-W):(t.bi_buf|=e<>>=1,a<<=1;while(--e>0);return a>>>1}function f(t){16===t.bi_valid?(o(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function _(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;r<=X;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;ac&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function u(t,e,a){var i,n,r=new Array(X+1),s=0;for(i=1;i<=X;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=d(r[o]++,o))}}function c(){var t,e,a,i,r,s=new Array(X+1);for(a=0,i=0;i>=7;i8?o(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function m(t,e,a,i){g(t),i&&(o(t,a),o(t,~a)),N.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function w(t,e,a,i){var n=2*e,r=2*a;return t[n]>1;a>=1;a--)p(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],p(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,p(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],_(t,e),u(r,h,t.bl_count)}function y(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o=3&&0===t.bl_tree[2*nt[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function B(t,e,a,i){var n;for(l(t,e-257,5),l(t,a-1,5),l(t,i-4,4),n=0;n>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return D;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;e0?(t.strm.data_type===U&&(t.strm.data_type=S(t)),k(t,t.l_desc),k(t,t.d_desc),s=z(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=n&&(n=r)):n=r=a+5,a+4<=n&&e!==-1?A(t,e,a,i):t.strategy===O||r===n?(l(t,(F<<1)+(i?1:0),3),v(t,st,ot)):(l(t,(L<<1)+(i?1:0),3),B(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),v(t,t.dyn_ltree,t.dyn_dtree)),b(t),i&&g(t)}function C(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ht[a]+M+1)]++,t.dyn_dtree[2*s(e)]++),t.last_lit===t.lit_bufsize-1}var N=t("../utils/common"),O=4,D=0,I=1,U=2,T=0,F=1,L=2,H=3,j=258,K=29,M=256,P=M+1+K,Y=30,q=19,G=2*P+1,X=15,W=16,J=7,Q=256,V=16,$=17,tt=18,et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],at=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],it=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=512,st=new Array(2*(P+2));i(st);var ot=new Array(2*Y);i(ot);var lt=new Array(rt);i(lt);var ht=new Array(j-H+1);i(ht);var dt=new Array(K);i(dt);var ft=new Array(Y);i(ft);var _t,ut,ct,bt=!1;a._tr_init=E,a._tr_stored_block=A,a._tr_flush_block=R,a._tr_tally=C,a._tr_align=Z},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); diff --git a/upng.photopea.com/style.css b/upng.photopea.com/style.css index 5bb208d..344da4d 100644 --- a/upng.photopea.com/style.css +++ b/upng.photopea.com/style.css @@ -1,33 +1,127 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + * { margin:0; padding:0; + font-family: "Open Sans", sans-serif; + } + + body { + color:#3a3a3a; + background-color:#f6f8fa; + user-select: none; + } + + h1 { + font-size: 2em; + padding-top: 0.3em; + padding-bottom: 0.5em; + } + + + header { + color: white; + height:170px; + text-align:center; + background: linear-gradient(#4fa0eb, #9656d9); + } + header a { + color: white; + font-weight:bold; + margin-right:14px; + } + header iframe { vertical-align:middle; } + + .foot { + /*background-image:url(grass.png);*/ + background-repeat: repeat-x; + background-position: center bottom; + background-size: 200px 50px; + padding: 0.5em 0 1.1em 0; + } + + footer { + font-size:1.5em; + height:50px; + width:660px; + padding: 0.3em 1em 0 1em; + background-color:#f6f8fa; + box-shadow: 0px 3px 9px rgba(0,0,0,0.55); + border-radius:1em; + margin: 0 auto; + } + + canvas { + float:left; + position:absolute; + background-image:url(grid.png); + } + + button { + font-size: 1em; + background-color: #9656d9; + color: white; + border: none; + padding: 0.2em 0.7em; + margin-left: 1em; + font-weight:bold; + cursor:pointer; + border-radius: 0.3em; + } + + #main { + margin:0 auto; + overflow-x:visible; + } + + #lcont { + width: 500px; + float:left; + } + #list { + overflow-y:scroll; + } + #list::-webkit-scrollbar { + width: 10px; + background: rgba(0,0,0,0); + } + #list::-webkit-scrollbar-thumb { + background: rgba(0,0,0, 0.2 ); + margin:2px; + } + + .item { + padding: 0.5em; + cursor:pointer; + } + + .active { + background-color: rgba(0,100,190,0.15); + } + + .item .fname { + display:inline-block; + width:8.5em; + } + .item span { + display:inline-block; + width:4.5em; + text-align:right; + } + + #bunny { + transition: transform .2s ease-out; + filter: drop-shadow(5px 7px 5px rgba(0,0,0,0.4)); + + position: absolute; width:94px; top:20px; margin-left:500px; cursor:pointer; + } + #bunny:hover { + transform: translate(0, -10px); + } + + + + + + + + + + \ No newline at end of file diff --git a/www.photopea.com/ads.js b/www.photopea.com/ads.js index 5bb208d..41fc89b 100644 --- a/www.photopea.com/ads.js +++ b/www.photopea.com/ads.js @@ -1,33 +1 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - +window.jsLoadedOK=true; \ No newline at end of file diff --git a/www.photopea.com/api/accounts b/www.photopea.com/api/accounts index 5bb208d..23f587e 100644 --- a/www.photopea.com/api/accounts +++ b/www.photopea.com/api/accounts @@ -1,33 +1,153 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + + Photopea API + + + + + +
+ + +
+ +
+ +
+ + + +

Accounts

+ +

Photopea allows you to log-in through a third-party service (Google, Facebook ...). + Once you do it, Photopea can identify you and store your settings online (theme, language, colors, tool options). + Then, settings can be synchronized across all devices, where you use Photopea.

+ +

Photopea offers two types of accounts: Free and Premium. The Free account is available to anybody + for free at Photopea.com. The Premium account lets you use Photopea without advertisement and may have other benefits.

+ +

You can see prices and manage your account through the Account Window (click the Account button at the top). + Here you can order the Premium account or see, how many days of Premium you have left. Logging in is necessary for having Premium accounts. + The basic option is a Premium account for a single user.

+ + + +

Teams

+ +

You can order a Premium account for the whole team of users. It has three main benefits:

+ +
    +
  • Just a single person pays for the whole team (more comfortable)
  • +
  • You can change team members at any time
  • +
  • You can save money (less expensive per user)
  • +
+ +

Creating teams is very simple. There are no emails, registrations, synchronizations etc. + All can be done inside the Account window. First, everybody has to log in (and see their email address).

+ + +

+ Now, scroll down to Team Settings. A team leader (the one who pays for the account) ticks Start a team and fills in email addresses of all members of a team. + Other team members tick Join a team and fill in the email address of a team leader. Press "Save Team Settings" to save it.

+ + + +

To be a member of a team, you have to "choose a leader" and the leader has to "choose you" as one of members. + The leader can add or remove members at any time, and the member can change the leader at any time.

+ + + +

Distributors

+ +

Photopea API allows you to have the editor at your own website (using the iframe), and configure it as you wish, for free. + But sometimes, you may want to hide advertisement, social media buttons, branding ... let's call it a whitelabel mode.

+ +

We have a list of domains, for which Photopea runs in a whitelabel mode. The Distributor account allows you to add your domain into that list.

+ +

Order a distributor account (through the Account Window) for the expected + number of views per month. +

+ +

After you pay for the Distributor account, enter the name of your domain into the Account window and click "Save Domain Settings". + You can change your domain at any time.

+ + + + +

Self-Hosted Version

+ +

Photopea consists of a HTML file, a CSS file and several JS files (around 2 MB in total). + Running it is very simple, there is no need for any server-side technologies (no PHP, no Node.js, no databases).

+ +

We provide a self-hosted package with a complete editor, which you can use on your own server. + It has several benefits over Distributor accounts:

+ +
    +
  • you can change CSS styles
  • +
  • you can run it in a local network without internet access
  • +
  • you do not depend on Photopea.com (when you are afraid, that it may go down)
  • +
  • you can be sure, that no part of the editor changes while you run it
  • +
+ +

A self-Hosted version costs between $500 and $2000 per month. You should pay for a whole year (12 months) in advance, + and you will get resources, that will work for exactly one year. After each year, you can decide, if you want to pay for a next year + (and get new resources), or terminate it. You can get two updates during a year for free (at any time), each next update costs $300.

+ +

Write us an email to support@photopea.com + and tell us an estimated number of your users (and the usage frequency), so we can discuss the terms of our agreement.

+
+
+
+ +
+ + +
+ + diff --git a/www.photopea.com/api/demo b/www.photopea.com/api/demo index 5bb208d..4b09718 100644 --- a/www.photopea.com/api/demo +++ b/www.photopea.com/api/demo @@ -1,33 +1,135 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + + Photopea API + + + + + +
+ + +
+ +
+ +
+ + + + + + + +

Editing local images with Photopea

+

Click "Edit" to open an image in Photopea. Click "File" - "Save (to Server)" in Photopea to save it back.

+
+
+
+ +
+ + +
+ + diff --git a/www.photopea.com/api/environment b/www.photopea.com/api/environment index 5bb208d..1e92a65 100644 --- a/www.photopea.com/api/environment +++ b/www.photopea.com/api/environment @@ -1,33 +1,154 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + + Photopea API + + + + + +
+ + +
+ +
+ +
+

Environment

+ +

The look of the editor can be customized by the environment property of the JSON.

+ +
{
+	...
+	"environment" : {          
+		"theme"     : 2,         "lang"     : "es",    
+		"vmode"     : 0,         "intro"    : true,
+		"eparams"   : { "guides" :true, "grid" : true, "gsize": 8,   
+		                                "paths": true, "pgrid": true },
+		"customIO"  : { "open": "app.echoToOE(\"Open\");" },
+		"localsave" : false,     "autosave" : 120,    
+		"showtools" : [0,5,9],   "menus"    : [ [1,1,0,1], 1, 0, 1, [0] ],
+		"panels"    : [0, 2],
+		
+		"phrases"   : [ [1,0], "Open Design", [1,2], "Save Design" ],
+		
+		"topt"  : {  "t0": ...,  "t1": ...,  ... },
+		"tmnu"  : {  "t0": ...,  "t1": ...,  ... },
+		"icons" : {  "tools/crop": "https://www.me.com/img/crop.png",  ... },
+		"plugins":[ ... ]
+	}
+}
+

Each parameter is optional. They have the following meaning:

+
    + +
  • theme - theme (0, 1, 2, ...)
  • +
  • lang - language
  • +
  • vmode - view mode. 0: regular, 1: panels are collapsed, 2: hide all panels
  • +
  • intro - when no documents are open, show introduction panel (with buttons etc.)
  • +
  • eparams - extras: enable or disable guides, grid, paths, pixel grid ...
  • + +
  • customIO - redefine the behavior of File - Open, Save etc. and run a custom script instead. + Possible properties: "new", "open", "openFromURL", "takePic", "showTemplates", + "save", "saveAsPSD", "publishOnline", "exportLayers".
  • +
  • localsave - enable / disable "Save as PSD", "Save for Web" and "Publish Online"
  • +
  • autosave - with a value X, Photopea will execute "File - Save" each X seconds
  • +
  • showtools - show only following tools (see tool IDs below)
  • +
  • menus - specify the structure of File, Edit, Image ... menus with 0/1 flags. + Each element of an array is either 0: hide the item, 1: show the item with a standard content, + or an array of flags for sub-items (works recursively). If your array is shorter than required, zeros will be added to the end. + See the current menu structure of Photopea to find the right values. + E.g. [1,1] as the first element means, that the "File" menu will be shown with "New" and "Open" items only.
  • + +
  • panels - what panels should be shown in a sidebar. Use following IDs:
    + 0: HISTORY, 1: SWATCHES, 2: LAYERS, 3: INFO, 4: HISTOGRAM, 5: PROPERTIES, 6: CSS, 7: BRUSH, 8: LAYERCOMPS, 9: CHARACTER, 10: PARAGRAPH, + 11: ACTIONS, 12: NAVIGATOR, 13: COLOR, 14: TPRESET, 15: GUIDEGUY, 16: CHANNELS, 17: PATHS, 18: GALLERY.
  • +
  • phrases - allows you to replace any phrase inside Photopea with your own. + The aray has the form [ ID1, W1, ID2, W2, ... ], where IDx is the ID of some phrase and Wx is a new phrase, that should be used instead.
    + Some useful IDs: [1,2]: Save (File menu), [2,0]: Step Forward, [2,1]: Step Backward. + To discover IDs of other phrases, get familiar with OpenWord table structure and find + your phrase in a current phrase database, or just write us an email to support@photopea.com.
  • +
  • topt - tool options. Lets you change the settings of each tool. + Keys are "tXY", where XY is the tool ID. Each tool has its own format (see below).
  • +
  • tmnu - tool menu. Lets you specify the structure of the top menu for each tool. + Keys are "tXY", where XY is the tool ID. Each tool has its own format (see below).
  • +
  • icons - custom icons. Each icon has an icon ID (key) and the image URL (value). + You can find icon IDs here. + E.g. the Crop Tool has an ID "tools/crop". The background of the introduction panel as an ID "intro".
  • +
  • plugins - described here
  • +
+ +

Tool options and menus

+ +

Move Tool

+

Options: [1,0,null]. Three values mean Auto-Select, Transformation controls and Distances. + 1 means enabled, 0: disabled, null: not specified.

+

Menu: [1,1,1,1,1,1]. Six flags to show / hide six items: Auto-Select, Transformation controls, Distances, + Quick Save (Get PNG...), Vertical Align, Horizontal Align.

+ +

Magic Wand

+

Options: [0,0,[16,true,true]] - Combining operation, Feather, Select options: Tolerance, Anti-alias, Contiguous.

+ +

Tool IDs

+ +
    +
  • 0: Move Tool
  • 1: Rectangle Select
  • 2: Ellipse Select
  • 5: Lasso Select
  • 6: Polygonal Lasso Select
  • 7: Magnetic Lasso Select
  • 8: Quick Selection
  • 9: Magic Wand
  • 10: Crop Tool
  • 14: Eyedropper
  • 16: Ruler
  • 18: Spot Healing Brush Tool
  • 19: Healing Brush Tool
  • 20: Patch Tool
  • 23: Brush Tool
  • 24: Pencil Tool
  • 27: Clone Tool
  • 31: Eraser Tool
  • 34: Gradient Tool
  • 35: Paint Bucket Tool
  • 36: Blur Tool
  • 37: Sharpen Tool
  • 38: Smudge Tool
  • 39: Dodge Tool
  • 40: Burn Tool
  • 41: Sponge Tool
  • 47: Type Tool
  • 42: Pen
  • 43: Free Pen
  • 51: Path Select
  • 52: Direct Select
  • 54: Rectangle
  • 55: Ellipse
  • 57: Line
  • 56: Parametric Shape
  • 58: Custom Shape
  • 59: Hand Tool
  • 61: Zoom Tool
  • + +
+
+
+ +
+ + +
+ + diff --git a/www.photopea.com/api/img2/Waqart-Pricing%20Table.xd b/www.photopea.com/api/img2/Waqart-Pricing%20Table.xd index 5bb208d..6b4cc41 100644 Binary files a/www.photopea.com/api/img2/Waqart-Pricing%20Table.xd and b/www.photopea.com/api/img2/Waqart-Pricing%20Table.xd differ diff --git a/www.photopea.com/api/img2/blind.pdf b/www.photopea.com/api/img2/blind.pdf index 5bb208d..68dac9b 100644 Binary files a/www.photopea.com/api/img2/blind.pdf and b/www.photopea.com/api/img2/blind.pdf differ diff --git a/www.photopea.com/api/img2/invoice.pdf b/www.photopea.com/api/img2/invoice.pdf index 5bb208d..0ca7d00 100644 Binary files a/www.photopea.com/api/img2/invoice.pdf and b/www.photopea.com/api/img2/invoice.pdf differ diff --git a/www.photopea.com/api/index.html b/www.photopea.com/api/index.html index 5bb208d..93c4385 100644 --- a/www.photopea.com/api/index.html +++ b/www.photopea.com/api/index.html @@ -1,33 +1,201 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + + Photopea API + + + + + +
+ + +
+ +
+ +
+

Passing data to Photopea

+ + + +

Photopea can be configured using a parameter after a hash sign.

+ +
https://www.photopea.com#STRING_VALUE
+ +

Such URL can be opened directly, or used as a src of an iframe. + String value is encoded into the URL using classic encoding of query parameters (space as %20 etc.). + It corresponds to encodeURI() in Javascript or urlencode() in PHP. + This string contains a JSON object.

+ + +

JSON configuration object

+

JSON object must have the following structure:

+ +
{
+	"files" : [
+		"https://www.mysite.com/images/design.psd",
+		"https://www.mysite.com/images/button.png",
+		"data:image/png;base64,iVBORw0KGgoAAAAN..."
+	],
+	"resources" : [
+		"https://www.xyz.com/brushes/Nature.ABR",
+		"https://www.xyz.com/grads/Gradients.GRD",
+		"https://www.xyz.com/fonts/NewFont.otf"
+	],
+	"server" : {
+		"version" : 1,
+		"url"     : "https://www.myserver.com/saveImage.php",
+		"formats" : [ "psd:true", "png", "jpg:0.5" ]
+	},
+	"environment" : {...},
+	"script" : "app.activeDocument.rotateCanvas(90);"
+}
+

+ All parameters are optional. + Data URIs can be used - file can be passed inside a request (test). +

+

Parameters

+
    +
  • files - array of files, that are loaded when Photopea starts
  • +
  • resources - array of resources (gradients, brushes, fonts ...)
  • +
  • + server - parameters for saving documents back to a server +
      +
    • version - the version of the API
    • +
    • url - URL address of a server
    • +
    • formats - formats, in which a document should be sent to a server. + The string format corresponds to saveToOE.
    • +
    +
  • +
  • + environment - parameters of the environment, see Environment +
  • +
  • + script - the script, that should be executed after loading each file (can be long) +
  • +
+ +

Saving to server

+ +

When server parameter is specified in a request to Photopea.com, + every document opened in Photopea will have the File - Save option. + After a user clicks it, document data are sent to your server in a HTTP request using POST method.

+ +

Photopea will send binary data (a sequence of bytes) to your server, which has two parts:

+
    +
  • 2000 Bytes - JSON data
  • +
  • the rest - one or more image files
  • +
+ +

The JSON will have a following structure:

+
{
+	"source" : "https://www.mysite.com/images/button.png",
+	"versions" : [
+		{"format":"psd", "start":      0, "size": 700000 },
+		{"format":"jpg", "start": 700000, "size": 100000 },
+		...
+	]
+}
+
    +
  • source - if the file was loaded from your server, the value is the URL of this document. + Otherwise (opening a local file, creating an empty file), it contains "local,X,NAME", + where X is the integer ID of the document, and NAME is the name of the document
  • +
  • + versions different versions of your document +
      +
    • format - format of the file, exported from Photopea
    • +
    • start, size - file offset and the size (relative, from the end of JSON)
    • +
    +
  • +
+ +

Here is a short PHP example, which accepts files from Photopea.

+ +
$fi = fopen("php://input", "rb");  $p = JSON_decode(fread($fi, 2000));
+// getting file name from "source"
+$fname = substr ($p->source, strrpos($p->source,"/")+1);  
+$fo = fopen("img/".$fname,"wb");  while($buf=fread($fi,50000)) fwrite($fo,$buf);
+fclose($fi);  fclose($fo);
+ + +

Your Response

+

After the server receives a file, it can send back a JSON response with optional String parameters:

+
    +
  • message - when specified, will be displayed to the user for a moment
  • +
  • script - when specified, will be executed (e.g. you can call app.echoToOE("saved");)
  • +
  • newSource - when specified, will be used as a new value of "source" for saving to a server in the future + (can be useful, when a file was created within Photopea: "source" was "local,...")
  • +
+ +

Cross-Origin Resource Sharing

+ +

For security reasons, webapps can access only files from the same domain. + In order to let Photopea load your file, the response of your server must contain the following header:

+ +

Access-Control-Allow-Origin: *
+ +

Find out more at CORS specification or at enable-cors.org.

+ +

Prices

+ +

Usage of Photopea API is completely free. Keep in mind, that PP is in early stages of development and there may be critical bugs. + We do not take any responsibility for documents edited or generated by Photopea.

+ +

If you want to hide advertisement and "colorful buttons", and use a whitelabel mode, look at + Distributor account.

+
+
+
+ +
+ + +
+ + diff --git a/www.photopea.com/api/live b/www.photopea.com/api/live index 5bb208d..4f33d84 100644 --- a/www.photopea.com/api/live +++ b/www.photopea.com/api/live @@ -1,33 +1,138 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + + Photopea API + + + + + +
+ + +
+ +
+ +
+

Live Messaging

+ +

You can insert Photopea into a webpage (using a frame). Let's call such webpage the Outer Environment (OE). + OE can communicate with Photopea through Web Messaging. +

+ +
window.addEventListener("message", function(e) { alert(e.data); });
+var wnd = document.getElementById("pp").contentWindow;
+wnd.postMessage(msg, "*");
+ + +

OE can send two kinds of data to Photopea:

+ +
    +
  • String - contains a script, which will be executed by Photopea
  • +
  • ArrayBuffer - a binary file: psd, svg, jpg, ... fonts, brushes, ...
  • +
+ +

When Photopea is initialized and ready to accept commands, it sends the message "done". + After your message is processed, Photopea also sends back the message "done".

+ + Some demos of live messsaging in Photopea + +

Retrieving data from Photopea

+ +

Photopea can send the current image to OE using the following command (inside a script):

+ +
app.activeDocument.saveToOE("gif");
+ +

After you run the script above, PP will send a message with an ArrayBuffer of a GIF image, + followed by a message with a String "done" (processing the script has finished).

+ +

It can also send any String to OE using the following command (inside a script):

+ +
app.echoToOE("Hello");
+ +

The full description at /learn/scripts.

+ +

Examples of usage

+ +

This API can replace the main API. Instad of letting Photopea communicate with your server directly, + you can load files inside your progrm and transfer them to and from Photopea in a clients device. +

+ +

You can use Photopea as a "module", hide its UI and use only the messaging. + You can create a batch-processor of images (resizing images, adding watermarks, converting between formats). + You can make scripts, that would export each layer of the document as a PNG. + You can make scripts, that would replace the text in each text layer by data from your user (to create a generator of business cards, etc.).

+ +

Example: Integrating with a custom storage

+ +

We can redefine the default behaviour of File - Open and File - Save.

+ +
    +
  • We can send Photopea any image in a message as ArrayBuffer
  • +
  • We can call app.activeDocument.saveToOE("psd"); to send the current file to OE.
  • +
  • We can call app.echoToOE("Hello"); to send any string to OE.
  • +
  • We can read and write app.activeDocument.source String to identify files.
  • +
  • We can set custom scripts to run after pressing Open or Save: + customIO : open, save
  • +
+

Now, we can do following:

+
    +
  • Set custom scripts to app.echoToOE("Open" / "Save"); to be notified, when the user presses the buttons.
  • +
  • When the user wants to Open a file, show him your own file input (you can even let the user draw something, or take a picture of him).
  • +
  • Once you have the image (ArrayBuffer), send it to Photopea and set the source: app.activeDocument.source="myID2353".
  • +
  • When the user wants to Save a file, read the file (app.activeDocument.saveToOE("psd");) and its source + app.echoToOE(app.activeDocument.source);, and save the new version into your storage.
  • +
+
+
+
+ +
+ + +
+ + diff --git a/www.photopea.com/api/playground b/www.photopea.com/api/playground index 5bb208d..a470aa9 100644 --- a/www.photopea.com/api/playground +++ b/www.photopea.com/api/playground @@ -1,33 +1,127 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + + Photopea API + + + + + +
+ + +
+ +
+ +
+ + + +

Playground

+

Enter the JSON configuration file, which will be encoded into the URL:

+ +
+ + URL: + + + + +

Run a script

+ +
+ Messages from Photopea +

+			
+						
+
+
+ +
+ + +
+ + diff --git a/www.photopea.com/api/plugins b/www.photopea.com/api/plugins index 5bb208d..e732d67 100644 --- a/www.photopea.com/api/plugins +++ b/www.photopea.com/api/plugins @@ -1,33 +1,116 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + + Photopea API + + + + + +
+ + +
+ +
+ +
+ + +

Plugins

+

Create Plugins for Photopea and provide them to your users through a configuration JSON.

+
{ "environment": {
+	"plugins" : [ 
+		{
+			"name"  : "Wikipedia",
+			"url"   : "https://en.wikipedia.org",
+			"width" : 400,
+			"height": 300,
+			"icon"  : "https://en.wikipedia.org/static/favicon/wikipedia.ico"
+		}
+	]
+} }
+
    +
  • name - plugin name
  • +
  • url - plugin URL
  • +
  • width - panel width
  • +
  • height - panel height
  • +
  • icon - plugin icon (optional)
  • +
+

For each plugin, the button will be added to the right side, below the current buttons.

+ +

After the user clicks the plugin button, the panel is opened with a website url, having the size of width and height.

+ +

Users can drag-and-drop images from your website to Photopea (as Photopea supports dropping images from any website, opened by a browser).

+ +

Your website can connect with Photopea using Live Messaging (your website acts as the OE). + It allows your plugin to execute scripts (e.g. to change foreground color, to move a layer, etc.).

+ +

The plugin can give files to Photopea (images: psd, jpg, svg ... or resources: brushes, patterns, fonts ...), + or request the current file in a specific format. + All this can be controlled e.g. by buttons in your plugin (website).

+ +
window.parent.postMessage("...script...", "*");
+window.parent.postMessage(ArrayBuffer, "*");
+ +

Examples of usage

+ +

Photo Store. Let users browse your database of images. They can search the database by a keyword. + You can add a button "Open" next to each image, which would open that image in Photopea.

+ +

Font Gallery. Let users browse your database of fonts. The font will be loaded after clicking the button. + You can integrate a payment gateway into the plugin, too (as it is your website, you have full control over it).

+ +

You can make your plugin "commercial" - let users pay for them monthly. The sign-in and the payment interface could still be + in the same "iframe" of your plugin, inside Photopea (or you could open a new window and then, come back to Photopea).

+
+
+ +
+ + +
+ + diff --git a/www.photopea.com/code/DBS.js b/www.photopea.com/code/DBS.js index 5bb208d..8c04941 100644 --- a/www.photopea.com/code/DBS.js +++ b/www.photopea.com/code/DBS.js @@ -1,33 +1,6025 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + var BINDB = { + "tex/burlap": [0,"UklGRlwRAABXRUJQVlA4IFARAACQQACdASqAAIAACACiJaQAUYH1z3g+GT3j+0/kH7ZWAP0L+r8wPrz/48tP2P8Q/iBqBe0fMg+d7BXY/8x6BHfzwIdRrxd0T/+DwdvxfqDeUL9e/on/e//J7B37g/vF21jFaO+uCZb+wnhhMOkgged/I48M/ZxL7rhsTEm+rufvELSqWKqKFAlhEtNj5pXqPgjKMUjV3um3XsWKEQp6hIm+h0fd8Xp4IujwrsXWWqfCFwiSWW0+mWJ9Wk596lLtA+FSJM+9EAAq2ffpE7ZorWs6bFIwZvUTUzMgbCae2ewhYlKsXLDLQEwuhscuXMUiaMhIN4yV8Hgm3EPaj/z5guBfcD+/3rh3GF/ka2W0GdjTqG29qsoNEAZdU+SrDjaMN7TsfJvsD7WLSI14/DUhrAxVSk1tdY70BLqY78rkVtRHqW5zh7d42neLYG9x97XW59SDdMeHTby8uvj/UIuLBKPCzcRkm/L9VmlpafyLfu2+iZXMdzmUnH22heMrlZJx/NdEGQeGQIh11lUrWfrojxLUDDJeKecJdw31Y2799f0X/OZizmNlXeH10x+rw13w5NZ1E8aHt2NW3CV7C6sAJpzN6DK00ecuN8vALPAZ8BJBBzvmgpMI2oml34uo6nfnxcCzssmjl37m30QWcpFvqEwZjNwxF4ryRtpYPxVqhFSPg51+jlsjovZg25QbxAAA/Ornr5cRY0PBqdq1wBbc6eqtdbnyjT35rW33nqEwBk3CZ4fv3M34W7ka4rKlHKiJXH0gFxqNtIeYaZwUNLIfjVUCu4noxVTLAWnlWgaKsZyRM9zs+RgAFVSZg9B5FTVXkpheeqNexnfkZ+sQt5+3HsBSlu2HbK8uujjmbg96ihU3LMdN1J3r4QSTK3Nv63viMYylhJhvkufVsk8KCh0TBAWO0fw6U39ZVs/ARQWF3KyJwm6ENpjiAYvV9+SBhAPhdEjTv3Vbgq9gIe3VmJR1acm5LD2dftVL1rpNEBCqZeD+JWD0y7g/dMdoHFvVRYlWJtml8Mw0xDnR8pavYJnDGAEBuZ6ovL66G+t2AHKvuI5r+HPPVbs4d8vKDNhckvS/DGs+p3QkX+qLOG6g1dJNuRi+X99o5sQXVNZxaD3X/iQshUlP7bqfR/YNaQe1qp06FxV/NkD5WZjzKbfmfu7SnvZptjlrFi/d1KPElL6Fc7N2ZCo1biGnPIYpI/ad5xGT4h+APg4Hy810rRTEOH2fNgjhWujokzl5keaYIuRfXJQE80TL7MjwU+PCzbVdhlyV+6UOnW9B7xjVmpiTjrbqFlHqGzeBCz9tMu/32rStXT+2KuHtxv1Ov5qcLHbPymMLZMebS1K0uOmszXJB2A6jIGPJJzOGVGa7bLWpZ37J9+VhJAa2+tl5KprKLivX5SwonQGjf20AtcWdohXmpOeHItbCKiMYe8c1U5wB2CZaJDUS45OWKkE0R6YtitrTjKEXWCA1j5bpbruV2Z5HYxdwRUrvJmoUSsadfQRfo0QnGFjl96PVebJphpgxGp1vsnMKigTWvzbp+Ek59qtr4lHATNFFDHwT5s026Y+w04mbCFKgg7e6rk5NCi02FKY2pZUB7H9iG9mONIGjBnuocM92WkOcLu6vM9Z/AzwbwXIMIwYrOw1CxSsg7lgZPy2VEeEQBNoZ7ktKGxvZnJeonTPKnJgRy1rkdUcc+puQsh7Sxlcg1cozoXE4S4S0hRmKsuFJSlR/KrLZa8prGbo5rZbSpzLfNMqI4BC7ro22rxFSiqoYUjVFLEwcyBvgbuouWxrl0Y2HS1fSCwe+7C9VhxwVUUAay6s5t32/g25TJ/y4MhbXlz2KMwyMjCQ9O0/bXVkVUrRaB/cdgIhEOkg+S28PsN8HbaOykCzsWzIYvuEpxfefTnxqk5lBkDuFE+gtwCOj4n/+P2D2IyezxFGwUK0Ua53AXL5banBxeoefCfupPd93d13uS7Lc1FwBM9kjDmlCosTszGDgFVrWRHgO++aktAm5cpG9dqjBJ43i1YTP6B9dK7L1gz1ayVrSIARWexB5mqpxD6yRAgxUFqsB4WBK6dlzpiA9ouhc6UleD/CCHbvVUihsdIjsbh6FHniySZ7WOPaJNeMUH3C6ADcD2CDOu7P6sTsICMlxe1afQ5TAcEBCucL6XLpJb5J9mbxmuvz+iHjlRbkqQey3BmDPwU1+jQ/AklUahDCyFgtoT0GCuEduOCyqr9TPrWSkhctkTjZIDTw8hFX4opovEVR1eCc8NITMTwGZreUuhjW5oF2n0rq8nSyc70QcFb83YDP4R+92hos5Qbd5AYkz8f0OFHbD9uvBGVJWaThp4SRSpFme0Es/R7aVBtUE2cpeF79tps08VuVB13vONqUfy8g5bt6AJqIK/bkMoViHfuxHkfwYoQ83P1H3xgthA0/WJCev+8YjUIixHJNbj9wfj4bN8xuMhVtDvBW3JXGAWqqhe0HVD6hbWvk/X9d27004QJ04ov2jDGRa2SCuc107zX//0++TD+98TOpWA6Kcgqq7OBe+cphcAaFivYG90XiXERZIv4fA/kqEz3Odt97z1GrycI5cMUL0rxvCay3Co+7U5bCevu6aZKDZz2s/Nd3AsKRTUZXVYS+9CEPxR5B5CduYlL2Yr7ykiq1Dupmbqjze4mOtnsrbQZ61/dFK94//rkaLszqginIrkIQoAcYcN5jsZvGY2QDJ016HQ8gPpN5ubiuDyGhe6uLBv48lkrMBGMFrV4VXVnAZxoLhrkswjbtlj0gpT6ZPW3tIIU6tOcpAZZIXKTvUdpIdGn3Ua5h+2s0n7bNME+4qRt42z3lQl89MpJDYtlLFJ4yqybknP8axlLpy0su2oyQPPHXR6uAgOCip2gQHpwFo5vXEOY/2yno3mp5LoiqtcH0jO/uN93QoIjI8QJp0N80KC/yMazRTa4qtQBUb5W7eP2M+VNQm7aUraZhmKObObDkfjpMDBk0Q7tB1kPWbWZX4ga3TGak6kp6R1MK8+GPIN3Zger6Jyo5ApT6pCFDdLG70Ckuy97LBHIyGhXrZuicn1VJcI9HXm083lWzlUxd74wUvZqbwqDvxxtfz/yDfSqxhhy2SwPWJdYzb6Zfd14wqLrI4Upi6Ve7qgMSxYoy8mQvuwBuNX/zvySt96A1x5H65yYqP9cGCpqeTojUFKYY+wgICElIvkfQf+cB6Sc8i4Jhs9751GnzD1Slyen/SBr3QyI9yQjylQZR4sAJ6hNAVLFucRLSukK4V1rCMwnKuNYgHGo/AZYYk05/Ht7ifL5MasSu5KoQE50RrVCCfQsXIZcVJl1sdcTa9LcicSLxbu5P2kOoQLbTqPwfu4G16rhOv/LlWJ2rqVfPL+AyzmylDvhoy4+0qLhvEuz46bfleW+FqNwXHYM3n/MJRa0RG7h957LQkreHdULsQ6yAoM18qu99I09gik4eiFdWnub27xAF7/zibWGMpw3xczKYKGzcBNEab6geMIi1L8emhdYM8KxXY7SC6dEmmRiGMfNoRi66tEnMefzcw8kxffolhKgcs7UBwpM/6oj4L2uMUK9HAhc+Q8jWtJOnv7Rx/T5ch4crDK0VrJKneqerKhfaA+MjQVz6lyouZrXD3zG/JWvzb2mRvPPyo418qMq/Ec8pwRLPcT2TSvx2r8JBl3I5RMuJOKkDfwuxgpgg0oGsHUIrzicjTW+hg2pcqwUbySG7zV8Yx2u1zNF7UJqzChPlwiAywVcRaB8OXAX3F3PMUjjShA38SNNhXXlDBEuJker4txRcD44+DZu0Pqg2pvgLn4jWsrvxU5baXtbU7DhlXROBOZdqqVOMvMFyL7b3cFuuq7HKkqYIZQQvlklKRXn3ZkZr0kDFiHVwCTN7V4xehjzt2hf1s5g+BrTEmBQf9LhF2G9t1rIySMdPzLUnj6q6JKrdat9RHnAW2lGaWimwZci1KJCdsLinU/yLuS4COdcFqqsOuToU7NnNmwNGAJgVcOFtltHUPHD+YbbvFbjNXa80KX7A4Cjbik79U1g35rp5+buDa/7l1IbGzYT1XiYypAAGnt1bBwk6Z92MXsraG3I0kotj31Rsvnz1Vsi8e9VfO85gMWVsSJvBWjwDnz4iMP+cLS8qn7QwNBR1LQmIQgMgodaR+xEw8OxyC+BwkLV2h2sU6qM/UKLDpGIOaJQBXodaZobT4Dr/e1tYkGiimDs2kY7SEUnrWBOV3jEpSJXQ6XQZw6ryIEgekV3aCs4aj4fG1XVlPe9jqZlhP3ghlIeV4iYJjlShiN3f28frI4bYrl55cjenT1C3CU0ziLqYotmPwI2NqcBks/QFTQhCgrRklkkBMnIdKE+29jUDEHheAUNbJ7R9iTHKv3HW+tVJGiALYT0Bvr+P1gs5esYbYmUB5fh/+DhAK8aOlc+8kERs66oApq7jVB+QWp6ncSZGaDZ3FMROXdyWDAkNtmlIxRzAlufCFSvu6ywEJUVJXFuaxqXypiWsnlZ4s5J0f/aT50F7IsGppgR+vV7IqVzCfVXnd8n0pnDqvOcnaDKHVc64903C9uVDZkRSoCptO775FQlta2uOXuoAabgU+7ewjX5mdcOuMmyoH6528sWMJhpPSuTHo7Gztc9+tZj65MnXX/6YmBhri1D9Bcs7OBN8pikIZ9YZMZ5RnDuxCcdEmclQo1oVgY511Uw12PwGC/8OEUILI98KbchWxyG/VmI1r9MV9pUj5TNyxkPJiJXjGLWFP2taKlT0wg2LJYlpvi+k4KrqYHL53V6b1UtdjwL9c/Fb9K1hELIPN3xzQSsVNQrCaEj8jbl5tCOeLNiSOW9ZIghgUyF1824fahdEPk0RWw0XJioH/l9y7Q8fbE3Rj6QLbQvvCm8XH6DFFNXdkhIJWz61BuvYO+fNE663KvYzN7HbyepgKDlMUYPxA053CnP/0oBEkQd5GT1KnHXzZ9PGb6ZclGrdSDNBXIgCGQ7BRuePE1mKusadcpuUT7XXBQsfbprLdF1L9S0A5T6xPXmiRmgOZVYu1UCA7zURoT6yy3YxisEVsflNcYuV98CBgEaqGdyZYVRo/e0VYPBRGqvcf43dweEATP0/1NiXvKoXz3paC4MApnQqNY0aaJ1X0WPlkVcrkxEw1E8S5Nicfdl2AxUMs+NNAQuMrOVF8pWiTEwhQVnUMMR+5B2EMfi3+r1XjDjjUGkgvLtRHlOvRngT2s23g/YKd8hfT/ieNbW9il+0rdG6SO+/nfmN4xap1rG1l0b9QCzhy7b699NWSnkhTzxDeZixnqRvgkNcH6+Gv3l2a3jF9VCvBVlohTT+gthFaqY2ePQI10a+EF5LkTEkCMV7LxqyKsO5vcWLO84uZsklx8PVqnehC13HBj2cTm4ngyuCjjGmGJW5cwLmo2iIlzpb4+sPVrqGItyEYuHZUGm9NlL/DBmiMVtAf6IGzaF3SjFaGP69DO9K0rSdbpKUw4KwEiuILMV82YwVXPiQJTa3gbFhipab4s+eCeVYuX2CNzTTluOS0XFYLRfzomtF+ryaH10BiePgF7aOE1SMLhV7zdK4YLsqSyVcryXkM6XRon+JZcwbAf0Cx3w9kZXafR4SX8WCFOI+JVjaMTxxQ/m9PwAqurRezOb9mOQHFtP/7pFAzYA6B+nbTy+JcM8fw4jdxJZsSsx6gmcvP8LFq3i4ue9pEYXdl0ObnXa3NjZsudxQ9WSV/2m3kQ+T4kDEdf4CYY9AzE+gkc57j4VvkjGYcZdY0T4xndeJ8aVpKMfPfPIiZK56WftxKroMqkf967x3IUxQwyvxZv2bVdqValNd23Vptq7SWV+gAZayzh+/gAAT5ErH4dIgzVo+AFaXmFRvkug+zIKsZG44cXOx9Fxz3vAOC3rBQKXxu+CNVWJnIv5Tapl2QWnbUf7HMAAAA"], + "tex/brick" : [0,"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"], + "tex/blocks": [0,"UklGRpQEAABXRUJQVlA4IIgEAABwJwCdASqAAIAAPiEOhUIhoQ3/FwAMAQJaQAWjXLE+I/AB4jdO/C+HK1zlCXbtM+TLzLWt2t0ckd2TE6thqPGStv698fmdzf5kyIjRIGGwPPdBywoLWKtTj4RvV+Av5RhVo3EPaEo64uE9S/OgrdkvQ/XRH7N6isaqB/2WzCqqiB718f9VTev2GulwX+30wxgXr1HzLAJQLI+3S0z48F/zk0fUzrpbnMLU+K0mqdGj9aM9SXQqoXWsdQ4k0RXs6h54lo8638k8RGmmZ+w2TwwqRVmfVO4QDsJZIrEju8rx1/fUdvVaV31een6A71mFiBiuA9On+wpTr9fyZRSTtSrPHVULAUISvxsFrU7B8TT2m5aRaDpQM/5pbJOwwVNu19WgczNl52VgY8R9Yi5lCH80nV5nZT/kKuBi9MC3YQwTqktavsYA/v0Bgc/b03z4Z3uAztZlb+3lYghTRzCMuZc1B5AaafqRJGFSiPL+MkZR5n9K7wS/TGEP+sX/mCSIr7dmlrn//Kpf0iHkNDC95rrVKYeY1hfKWB69w31Ihn3AROvKw1617ef23RNrDQsydHlb78xu4ewQG5NN5/meH1bsbMJpiOfoP/bdBIxn53RIIEPXiw4WfEZ8ISIiretbL/nP1BlcHwYRSlPCSimEFm8MYodGe1U0JhQrj2f6LrGyizr+XL+TBR/0a3CrGOBtpgaoitBHlE0XXbRb2q0HfvjOxs3exyIXaoAkoCrWAGUWcGF8r4Z5aeySJcqIdhVztfHKYVpLzEIbPZDO7HS3Bdp/Jf4NF3QE5ghStrTkg8DuTZICv/mUq7nPr88vuXPOlSDW8Kq2adswuEYf+33+Z/5s0q6CmrOdRlJF/NtipsprDEfgtLBtYSLrBgB4kIogP/3Dp43b/E8EXsTSEEnjazbmlviqHDVrZsomICcz/fkbhbS7nve6v+ye3KxMxshoeHBoWl5b7baXXjgYbSDt3Zyt+jnHsWz341U8J4++vx2o7bM2CPMUA6zYsaT9hK8Gi8Z5oEES3pEACbRZvBYq3wyzrxyrAQxB1f76qhHKmgH/Lk7God2b/eIdn8btf7Q/vu4AQOpBNHcGI+VO0WBjZ1/bBOFQ5jXxtVNOPTCkjDXspUjIuWXzm/A7Vu4dEsJ6S04EXeKCzMwNiNZpCRrHZ+1d7gSZN4gTeWDgv0qx0OID0P+m/PuVIvULmhCK98I4GLF9yDWadB87KnriuLPqbx5NJM969WZhYCCXZrIQaKjT1WyxIk+EFba5iuf/IvPfjMNShGCXIpYmBY5jZ4yqTIcuAgg7TFIweJSSjvIgqAOlxstaKNE6z5xECoslLHZyG8P8mfeSTsBIIZG2mqP5OHaWfJfdvktfA0ftNvnvUU3SWVv7NFr1BKT+tQFldSOFjTlis62cg9z1ZGfo67GW4xZ/QjyaskX34qAtzoAk1P8x0FnrPCWiDGrNCAtvRlrf5NiyohF8J7iWv4r7a9axaqEvnreyPLEjgGqpOTpfbE/GPIFyYdPfOZ39tTk3KXyrPyIg2FFdLcAAAA=="], + "tex/canvas":[0,"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"], + "tex/tinylens":[0,"UklGRuABAABXRUJQVlA4TNMBAAAvf8AfAD/CoG0kR5e57csf8BcQCtu2bWNlmtGhsG3bNlamGR3zfwaHs1YALBOwTJYJWKY6BwCWKbqBeQ9QhOhW59j/AfCTFAEARVAEcPdmmbyKZbp7ewJfYv9X54huigAA+EnzHhDdLBMAdY5/GgC4kmzbdJ5tI3byrNic/6j4TuUzEf1n5LaNo+O0XTs9eQKC4hQnG42gWO5O1/vjcb+edssiaBgyR+EoUn9cKEbQvGI2gnyxPV5u9/vtctwu8qBhKjxNYGj9ceEEyQiq1Zxl883hfLleL+fDZp7NmpYqMCSB1x8XRTOsqDmtaVKt94fj6XQ87NdVMm05msgyNFV/XBwvSIrutidxuVhttrvddrNalPGk7eqKJPBc/XHJiqrpttcdRWlZzRfL5WJelWk06nq2rqmKXH9chmE5ruf3hmEUJ1lRFEWWxFE47Pme61iGUX9cjUaj1e70+oPheDINgiAIgulkPBz0e512q9Fo1B/Xc57w5PBcz/Ds4Lmdw/OD534OLw48j3Pw4uDzOA8vDzzPc/Dy4Pt5/vfhgr+AfwX+h+DHPfhxH37eg5/34dc98Os++HUv/Lofft8Dv++D3/f+3jrj7//c4Q/53OHv/9wBAQA="], + "img/beach": [ + 0, + "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" + ], + "wasm/zstd": [29645,"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"], + + "wasm/webp": [ + 89970, + "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" + ], + "wasm/jpg" : [ + 63156, + "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" + ] + }; + + + var PIMG = { + "tools/blur" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/n5CCLf0HtTjyoUNqAAAA+pJREFUeJzNmrtvE0EQxi3biUO5hoRLd+cQQcmmQKIzFCjuOKCgjUBCdKSgoEsE9Jjnv4sv5/X51jvPHSG+7qTTTzu738w+BwOeJh+YP3I1LK2Bz42B+3eNgX5qDKyO56a8yYUrTYFD565MgQvnbpsCK+cKU+C1c6aduOpC534aAhcN0NKJVQM8sqsPKxc2skvnvRueoXF8CzTLvvGyBZrFPFzzzGL2AXhsM87j6wA0inkTsZW3fQc08fZk2QFNYt7b4pnEXG0D3cNs3uiiB8yvYec9njvMBtZ9YHbdHkY89yYT+CgGZqbfptBYWXFvh5dpxWoXmGXFUYLn/mQAP6WAOVaMTdiqVPN2TNhKPxP4NFBdFScXaaD7ogSeAzy1FdNDoh8WYEgavVMBd+pCp2Ku4PUmp1iaCpGoC3nDkqoLGx3JK0SyLnSST1bJutBJXiFqHCi2ImLCVlIregootCJqQk3MqAlbyaoiasJWoqo4girhtiTpB1bCbUnSjxGxKGYi7eQxL3hAfsysiAUxMyPmx8yMmB8zM2J2zF3EL04JYskCHoTf7w8GH3EgL59DxJ8HvZ1oSqzDobCiOZw3Xz4/5lC5XvW+AL1lANdtWp9YEFMBxzjrXltvcAiTM4wTmlSygIxkWfQiJoG0cap+51BAcsIfr03zLeoBUNQiJ+pCGkh1Yqg0YfQOUNpK1IF5FXXNJQWknLiMfiNLGeHEMKgbIF4cGpUoMKRusBc5Jp0f0vIRkBwTytqhy6bRNyLU2sHWoXJy1jjoqHSJVt58P6Z5+Kh05XTKbSCeK8+6316ueDWHh+aK3/rv1+mSxUNzhdekSNgws/os1hHMY6+S+oJLIiPRUipBIGMzkRLsm1s6IFwenuiAsBG9DgjXG/ZKsy/Y2ebAWgeEU8UcSM9IScHr2KUOeAwCVbUBqw46nnP/DmgesjlQaRt4lGsdEPahEghnyv9fbbw18FIHhCv2vg54BwQqp9ErEGg+0SuXIjBwrAMia+Jaw8NOMlTOxhaclxogtlFh7HN2hW2lVL4pESB4rYUJ3Y7Wch5+6uDlQHzzqMjmKxSoSL4SBconPupVj5cCqUMMcSfiXbhyohRIXp8J6wN92cU+xG5FX9gLjcO4MBTFzDkyZV3OBHHuwiUVh3d27/lA3km7oMqWLCB/WLjXH+wmsi+lmE1sbwsMm1hyecwmSi4KWU0UNBB94xAke141IaeCQvik5SkFvCfjkYebP6S8wRgd6elcDETPNw9VT7VG4MAUyqdfQ4BYlDoeFLUu3laTB7u873nP+86isIuTLFzTyNkWsphZPIQdn81e/3bu/dfZyZz++y9FVrh4nhxGvQAAAABJRU5ErkJggg==", + "tools/brush" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/hKxffA311BeudL+agAAA9hJREFUeJytm81v00AQxa00pOlxCSZwM6KoVxYC5ZiAEOVGQAKOLjduuBVwDRJwJv8xiZ00/thZv3m7c0sl/zS78/btetZNkoAYnU9fhjzfiYUx6Soi78hsYpLFAy62QPM5Gm+wLIHmSSzgUcUz0zwS8HIHNHciAe0eGGnQ4xteJO0cH4BxBr2oAc1VOG8vmmiDHppGTIKBD5rA8EHbFjB00CPTjsBKH3eAgfJed4FpHgIsusCgQQ8dvKBBP3ICA4ysLZpd0O7dFc0u5iTwSAKydbmUgGbFAQsR+I3inYg8c5cCukUTMIkLGUj5YtOsIwBF0bBAWTTkHFoPkKny2MMzjwmgw6wPkRNAj2jMfYLnEw3lNm6zroKqsWfdcXZoIycomjWboGfdMSVOkl8y8B8FLCIn6BENl6AsmnsUT1535PlwICb4kUtQFA17lhPNmkxQFE2acTxxh2ffAc4E3pRMUBQNm6Bk1nTfQRINfbYWRMM3RqwbyOzFZQjrjn8RFYB0gkniLHLI+5NzDucBQFeVg95qXcckzvi/vvq+fdCxJ1PGf/rM7AyvM4mM8Q/elI+WhtJxG8JXT/ZZbeXWHjNh/KfLRjnXoQkeeNV7YXOf1/tqnVelE9bxGhedfIbtP2hiYE0jrlopqn31daumpZGOl42fmnho2lEa1VnjlyJGyw6wymk3aLWvurbMctZG1dTOlTznDlfVdbRd21rbald4F1WnZ/D7/FqboHToYLfgQSEAU85QxQTZhpmY4CYmDLGr6UCi9QEJou+VuJxHbWXWPUCT6i7LHKu4Q3yuAcqaqUWmANrIQG+j5yZyHOjrUlBAaMSKZquvS1ELXIq+7iAF9HUHKaCNDASnEC8KOIU4EFOhQoe+diMFLEBgBvLQmhg0wT6z3keKAr0t4FpMUSC4TvCzF1pk+KxURAbKzbJWoD1/z+VQM26DQHQlm3cg8BYKRE/s7YtyMeYgEFUN7A0WBWYgsAB56EKBZYjqGpYhqmvUvOA7VdS8YNXAMsxBIOqGsL1Gd0MLAlGvgXWNWgOs6xwEYqdrxQ6F6hru8aF+DfdDUF3nKBDUNd5gAXX9HgZaDDiHgUuIBy9k9GyIfygAyhAfMSZDRRMNOzYo+qSeq+NDaDrNkAw1vfolApzjPEg1mrYhVGRFgtBbnqqvCdREd9tR9AN/aHjAQUnXyO0/1yibm71TqGy/er/LKXnK7+H7VKj+vr5ng5qslLyeEc8yJc8/4gnx7wRWxqUv1On5tpPpLNfjZBFeXxDZJdIMfph9oWjOy5NPswuWtok/ddLPp7O3fzOa9R+zT4BdqVJm+AAAAABJRU5ErkJggg==", + "tools/redeye" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAFVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQCkAAAAB3RSTlMA/+YUU4qwrbjghwAABYdJREFUeJy9W0t72zgM1NZOzivF9jm2W5+jPPasbJuezTbt2fEm+/9/wkrimwSgoZJvcUksUcMBMIRIOKmq0O5/n3f17vDrawXZ4tz8lO7f/6itbZ5vAEBV103H3/5eh7YR5x7tchzHzvx3ndgrQLC3z8zdHyleXX+R3V6YYbQrGb/B1iLipRlFhvGBwusRJcBHYdRiSwOyARrsxY36h58ss3ystaUflDl9weIJOvskhEbxgPWKA4we2qMEezvSeHHYY0eiuZrDOc4Qk+mERTgqiO6whh/OCcUTCdgmowKnb/3V15vqr8xnmuJLMipw2t969XSb4AEqiss6NTevD8agYtV8vR9j+Fm561SiP2WATrIuGOsRfW9i0Nw5jg2xpImlYJ1+CT8/1p11Z7902SbSQq1V7bQtQiPjXlw39tLa5ydPCy3d0WlbhDZmnAPsf1N2ZObzbY5mY9OaD0cTT+dyf8WlMvNZpVjaVj66axvqvZv+2pfdqwRvQcJpWi8BweGDlc04nV2waRAvabhxoH5kQ+Ru7WPVJIB8/ewq/XNPeDIALt24SdFou9b3jHRjwE3AJV59+bpzttIxXFGxtkLSE0+Lxrilhh9WFpnLNmkxoOIBN9onG6IoNquAzZ+QaEbANiQQTX0VxCtiyIpmBLz03iVyuA5Yn0LAVgBcGwbG56jK6WsX4f0qCCttV4bBPtdDE5IOq4MgmtGVx+DpMIir4Olo6RHF2tuNvX/K4n0MkhwVB37daRYxBxcfU363AXgVXqLt6N08xgEyLwhNMHqpSPuMdfCQpfigF/fPkE302munCFpSJor9WWDbvGl+dtFGpUEQTSxnYjtvCEbVUBJNF0cl362afEZ7NWHd+cgowrPe7Gu0Cy8KovHjzKzJDmHp3y2B8aIJxxmKURiXNvoRQUE0HTEsQHR4cWj5Yh07Yl/A7oT3YF1L4qAgguF6+vLtrrp78rvY+FzBF+t0z8fFJtESK5r8+EEHJ1U7K5p9ikcfH7N5OdFQe1LigJvhseuOIEhwzOPCFWuSYG/fI4+I87cqIji45N0+POe3uWLN9x36avh03vXHszey0cJpiz8DT1jLEJyLxxXr01w8Zt3NJ8gAMgdqxMgki52TCSNj+A6CZGl4D0Fy5XWzkO5/b4cHidrANk1EuKF+jxuwPIgzCC70+h4LSlaFpVYWY+7td6pyn6X+JmPu7afTmeSZLVs8XhKuuN5wdRXhZ9Oi3kVwuc34XKQXSmyRqGQkFESxuK6qGE/XKZ9oqfCTlnfBTsPl2+hTgS3zYrUJiRfX1dRhFzUT2tKyRW6LdF7HxVNattIMG9Nrd/F0PnSFgNxOdforB4Ygu80qZTZBcC6idOLczEGU2hSzEKWuwhxEufU+I45SE0AjlqlH6hxZI7ajvAm9Mm8ltUtOSTmg2Ohx1n2wxyWA6oMBkRwXAYrLbg7gpKpLASHRFACCIcQBpwpDMWD70YBgTvClJ7Ub5wCiOalRgmhO0i9EWBNbwHMAWxAQ3nspEBDeK6FJRgHhJKNnPKz81/kXc5yBxTD9Cog3VDXwjr1FAdEdNloa4GIDlmu8NqAyRBcKLENU17AMUV2jxevjZYiq5g8UsAMBURnC5VWBgHA1RHWN1hpY1ycQD9Z1BwKiuobfUKiu4R4fWq9PKCCq6w4FBHWNN1gUBgirENU13rHBdA0vZFTXeGMYlCHuMSbDgiYaJsOCPikmw4KTt0LwSnr1kGo6HA8qXiVtQyjJJX3N9oMJQknuSgCBnBT16oGclDVyp/c1hU256ZZcGZ74dzkjXmGD+P9uQha3SSc8fi3+skjuC8/orysheuX0pJTMguMJHqB/iUAJwv+0kRnx5cnu7XkuWhX/Tcdu9++v52/zHB3sPzzX7P3zni6+AAAAAElFTkSuQmCC", + "tools/crepl" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAFVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQCkAAAAB3RSTlMA/+ISTKuBt2joDwAABQxJREFUeJytmk9b2zAMxjv65+6M7ryGsTPlAc5m28O56VjP6Qbf/yuMOE5iy5Ly2k91w0l+keTXiq2yWAT28F7vqvr0MxhaLxRbHqt/yuXV0Xj7bsfBswY8G1NZ8erTzow23vZkFN66u3V7J/FMaFXrBjdGA57drd/4i6udiYnWPyLzlv7W3+zFxhDrQvlwUAGuaX5C+0F5LpSzCnwe7vySXtukPGNaNyoDp6DSoM8ccHtWgSua8MDWHM+bCLwKbiJBBzNS1ccdCIyiuokuPY64t06lLw0CXMYvjoIeAIPol38BIJnHLXMpWETneeCe5DoI2uspnKogHgnYEOD0+PBwJKbNHHBlqI0zvU6TEDogAK8S4OiRj/gQ3T/r4XMKHILecQ6e54C7FOiD9smIlRloguexi78P2qfQCg4KwD0LrO7GS/FiDN/PAxsWaK4XQ3bjKQkzzvKWPO+j5A3viiMOM84CxfLE1FrIGNF4s7PPssaJprevRbx03Y12XQS8l4FlSWQ/Qb1t559OTRRNKVD7phUBZdEU5rBRgCWzrIiGrmHMmGI9mS0AKqIpingprztXbbKNL9a9Fc3x/sIOaqJxDoYD8ZM/mDFdNC0BVpwrFKisuz6DwUD8Ke1dSdamsu4sAVbxEeYqeGtgsmi8BqcBsvXu9fuZ8BTRWAIkZyyffLo25WI9LJJx4MA+aQlQXneWAMkUr9g9lFKsx1U8jkQpHA4GNwQoimbawDJDH7whMnp2FUUznUmnsWlWRl5SjSTRBJILRrfex+lYYQlPXHdBaqL3dAef5cvoRnK2lkQTrglypa537G29SaIJ504KwjCnVkk00Zu7gS375rT8SqKJ3twNHNhk0xkRi3W8aI1bDnyLgFrDA+NF2w/wTQwshWR5+gG+zQIBDxTYD2xiItvTYtcJnbvx0dBHoUfG5rAlN00vmFZc0EyLjCsNibjCDDy814a0+yLjtknCu2fs4X3XPcjItWjX/9Q1Ft3XKk1igYM+tW69JtWmwMHV4FWXbBqz0t+UbOp7uukk80w/OQCPpCv+zqcFE/dvyJfS8QIsXuDOnw0dyDFagm6Ii2zzVTNax51H00SLDWfJHg01t0zvo78yjFbI0SfvePYxkftwuaz51LaZPPYL18+rWzy5R5L0I+Os/3ItX463uQ5Km45sqQwOitssWwaUt9JlRO3EOWz6LuRgIbHRgAVE7UhclEetj9ITtR/LUlPbHt5ec4DqlAyWU7uaCwORiLO+8FDEOUAo4gyg1h0sAmrdwSLgrKpzgc2FgWAKcSCYQhy4vzRQazeGBi89rd1YAkTnRPupPbK5Yj1YNY/qTW0BlwD3IBDee6GTDAPRSUY3X/Ako0corPybtFEpGbqS4R+zUNXAO/Y9CmxBIKoauNg0KBCtDagMUV3DMkR1DcsQ1TVavC4vwxYE7lGgBYHgrgEvr6iu4ZNjAwLRWgPrGi0NsK4tCER1Dc8Jqmu4hYbqGu6H7EGgRYGgrvEGC6hrWIWorlsYiOkaFg0qQ7zvCsoQjxjbNmQ00T5BwIw+KSZDiwMbhJfTCodU0+I8SDU5bUNokjMchGpNVl8TKQ02BwjMSVavHpiTvEbufP3PbMrNpjCTp/5fjuPltfhmVZjLm6sM2W3SmYhP2T8WqRFnh7tQS1f1mu2e9jmp8qPtTBLh7VsRTsjgrfw77owxP57Up7dS2iL+H4K6/nN6+1UWaGf/AQXmyKddsqKaAAAAAElFTkSuQmCC", + "tools/burn" : "data:image/png;base64,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", + "tools/clone" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlP/APIQQs55q5BeYkoWJgAAAiNJREFUeJzt2r1OwzAQB3AraqAdoQXEZgQd2CgC5lSInQIPAOIF6AZbmVgpC68LUqWkau7j7/gkGO7Wyj858df50rDDxsXHXSBj/HrNtwrsL9+0toq3dPBL8kI4TQVvZC+EhzTwMGpgsUwCHzUvhK0UcF/3QnhKACsE7OHgMCJgMYFB6IlDeIfBcww8hsFPDBzA4AsGbsPgLQaWMBgxsIBBzAt0WwcddNBBBx100EEHHXTQQQcd7ATGPwLx+7L5jX6BgWSxigQrDCRLSyR4hoFHMHiAgXhlaQR5CbUvbJj7ZNOMch9Z+mJA6CVOE0CkgEg/MVeDBZ55lgTqJUl6jPk6tlrxoyuwPLingctEcKhMRaaKLXwLuJRBctmJoNxFsloqg3IX5x1AqYvlpAModfGebyWAfBe5Sa2AfMH9RGgkgewWsewIclsEs88AILNFzDqD9BYhDYkGkjOH22cQkDz+5hkglZTIT6yBxFRkNy4IJMaZPj1RkJjb9Oc8FGxPHOUVqmC1CYrLBAB302ahDraSEjIpTABbwzzPBFtrRRnkdJDOuXBwuAlOMsHWNQ0Er5i/NOAxfl4HRzHX+11C0zUQ/P4rx6ABsWuEGtMaVJNBLGY1WNmAvRpc2ID9GgTvx1qUNRhtwKIGbbxVDcJBBx100EEH/zcYbbzmGDU/6Bc2YJOKVDZgkyyZp3PmCad5SmyftJtfKwzDQQdzwNyJ7aCDGeAPZXGkFFYM0ZEAAAAASUVORK5CYII=", + "tools/rcrop" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAAA5SURBVHic7dQhDgAgDEPR3v/SZY7A1DLBSP6XT1ZUimzlQHAA+grs4TkyCIIgWMNxt/417hKA4EtcbF58rs1ylXkAAAAASUVORK5CYII=", + "tools/pcrop" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMA/+WEU7QJKNimYcEAAAIhSURBVHic7drBbsIwDADQHKZyTiU+YJv6AVtBXCdR4LwB90pD4jqpDH5/TYHNTp2WxtYOm31suifbOEFEM4YRFgTHUVBBRlTC4MKKgqNnKwruXq0oWN1bSTBZ+BwP9NvHBVvtY4IVxcWDCVUuA7wjy40H3+G0pDM2iKbl8YN7OOBp2RjuaYPaN14aLog2W10uE0SbLZ2BlbhyUfvGL3ApCkSbbVOitRgQtg+VGwei9l0+DQ44evKGjwnuQLnn4eOBn53l9oL+oOKzKvw3t4Jws40FQDgtm5IPgmlxw8cGQfuaT4MNgnIva0LgdfikwO/hkwHBUSACwpNPAkQnHx/0Tj426B8FEntZQQUV/B2w6wUFFVRQQQUVhHEqcikwOcynb9efWkxw7yz4BckA90W+fbCtiAETa/Nt6540DkTtQpFm68kwsN0uQK2OHRW1wUC7ABWqiADpEh1VHKn3e0GCylk7BVPF6fycC2bbmirBcwaIKQGQfq6gggoqqKCCCiqo4H8DLQgFFfyT4KQUBm26XpVojQs25hKsCYB1ZJOjLNiYpSx4bqco6ExpELaTfL8XnFP3NRmezkGgMYcpddcCp3MgaMxo/kqk+TOdg0Hj0iTIaztjwFCaTTvjwGCa6ToaNGZPp9kHdkVyCP2jYCTo0lyErjgjQZcmeT0ZD7o0qXHngHWaFZUmA6xj106TB9Zp+ocHF2zSFAZv2MsKKngb+AVxPPizP25TOQAAAABJRU5ErkJggg==", + "tools/cshape" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/gzwl2pFvdUpEhUKmwAABA5JREFUeJytmj1y2zAQhTk0qZ8SkR0rnTIq3EaZcWowJwhvQE0uEHnSuKOazKgLOx83phASPwtyd4V9pUl9FPDeLgHIWUbT+i/xRqoKLQxctcLA40dhYHUvy8sPm50ocKFUIwoslNKiwL1SX0WBtVIPosCTUo+SvLV6l2TxlT3whyBw1QNbQWDXAz8JAqseKFl85x64leMt1FWNGLAwQC0G3BugXPEdDVCux1YGKGZzfjBAsR5bqv+SKr7lAPwlBOwGoFTx1QNQqseeB6BQ8a3VKJkeW1igFgGuLLAVAR4tUKb4KgsUKb6h8MSKb6EcNQLAwgVqAeDeBUr02NoFShTfyQUKLHDWylN68ZU+ML3HrnxgmwzsfGB6j618YHrxnX1gco9dqEBNIrAIgToRuA+BqcV3DIGpPbYKgYk2u93VKLHHliEvtfiWEJi2wOkgMK34aghM67FnCMSKL/IdUvSQLQ6SvE2TZW+SwMv7mPOTHO9x188iaCi3Swv7MiRKypfeESMhXy5jFmV8MY4YifiihevFr/F0X6wjQr5cfF6yL64jIr7okJfoS6zrpvgSOpLsS+hIqi/QkURfIo4k+TL9HrzNl7gjCb7EHbndlylHbvZl0hGjmsvDViZcX+YcMWL6MueIEc+XeUeMWL5onMfyhbZWpPuCO2JE9gV3xIjqC8URI6Ivmsoj+sJZvVN8oTpiRPCF6ogR7gvdESPUF83jhec/UNwTocg21Bd3Uyo+5DsM2DKB4KwhFHeXW2NA7i73hAGZhxnw8CLUhgcEJ1RQvCASGhgviCscqFnADgd+YQFrHMgLIjjyguIF8YADWUFEm5diBhFtXr04QYycoUFxgggOSmPiHNOhzasXJ4iE1PBOYyOHclCMIOYUHue3FULzUqwgRprXcw3/1pCBsHltm8j6iR7EDnz2NbZ+ogcRDK9vBDnIEv1ngfCjm+vgQIHTgxhO1x/z55+R701SmJphKbgO8k4OYpgaPVx4CmZiRwQGzevZXgkmtyECP3uf2jqNtPRnV08ifPnN68W95IeRGkRvYL6V/mKeGkTXzE1QX55hxCB6rzywG6knv/2k3IqAuxG3SRCD6I5Kw8uuL+BxUTnr9W+Ry26TaEjAbrx/G32XO1MSGUBEdtpf4jfYJtGSgCfMRNskPlB443p9ekM8NglSEMfmNbMhrpAxeBpSc7+bvmdoEqTfw4dX3uw7bQjjzENHddMRtBqaREMA1jMRtGL8B6GZ8O+057YE4DVk+MrKNAlCENfzEbR6IwaxRCI46tokCEFcIhH0H00I4h0WQau+SeB7iyMWQau+SeDPrtAIWj1RgnjCI+g+vcVuyVm7zPKAbnIXzGNB9PHFK4eX5b+xO8odC5iVvNtv0D+B3XgP7e3oqQAAAABJRU5ErkJggg==", + "tools/dodge" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/oBLBu6xINzJK6ihggAAAoRJREFUeJztmjtvE1EQhVdgsCgnyMHuNiE/gEUgoLOIkKBjRRRRJgVCdERICEoEiNoCwd8lttk8jPfOOXcOIcU9fT59u+O9j5lUFZt322++tqOXP7cf0H+6Lndf2Un2b4dxu2dwC+S9oF5rKxmFJB+t4ub5Ps3FDR6u45l9ziX28I6Jebz3fTyzXzm8x/08sx2eN5ylgJO3NPB+imf2guUlHzjjoQeHHnBzSgE/ejyzbwxv+MkHjpm6fPB5lCIiSCk+Q3hmP1CeX+Jl4EJfwXhmNQhsUOBNjDdsUeAIKwtYknmwsmzhwA3oiXEe9szXCaAdAMCGAQJ1HkCfXZfx1AVeZXhmd1zgUw74RfsKkZc444AT8Sv0XyK80nSpHeATFrjnABsW6FUFXKxPs+kAWxY4SvPoIntlpovslZlau5Y5SAKv8cDnSeARD7yVBDY8MP1DJDaoLumNSg6kPxTvU5nxwPSKSO1Qy4yTwJYHpj9mOZDnmV0ssOV5F/wO5T+bGQ9M/7Dln97lX20aHpheYI94YHoLkG9S8m1UvtHLjyLyw5L+ONewQO/AKT8Syw/t8muF/OKjv5rJL4/y6638Ai5vEeibGPI2i7wRpG9VyZtp8nZfdQMF1iAQrQraMoWXRLSpiwqibWdYEG2M/zdBdIz0r0o88YDogKYTrEUjpE5wQzXkOhEUjeFOBavkoPA1yDsrWClGmecEFcPW84JVeBy8IjhPbGD9l2AVG6mvEVxIZg/91wkukvlvCT2C+ekVzEwRjKYIRlMEoymC0RTBaIpgNEUwmiIYTRGMpghGUwSjufSCHVAm2D1yLQMuFXWCfxRrIXCuqBRcKNZSYLWlFTxWrIWw31NIeFzzqM8+AAAAAElFTkSuQmCC", + "tools/dselect" : "data:image/png;base64,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", + "tools/ellipse" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlP/ABCG7DvXsvtfwyisvAAAAntJREFUeJzt2k1L3EAYwPEHXLN7TSSFHoO26k2FuvUWinp2WwW9xRfwKi6Ix0UopcdWCv24TjZmN2Yn2Z2Zv+Jhng/wY16TmecZCeEQD3rQgx70oAc9+GpgdPLYv7vaH/X2D6+HeyeJGxg93qXyIjrXe+1mG/ipX9OezeF3K3Bzd6Tj8uhd/jUG434jNyaHAzPwR9bG5RF8MQCj3XlcHpfa2dGB8f0insgvXbc14Obc7k66rZmbWXA1XdRTK2hnPmji6cQ6aOap9VMXa+BHQ0+18U8bGGemnpqZQTMYfTX31OpJGsFjG0/koAlct/NEbvWgzQAWUR3GCvjf1hP5rQNX7D2R7VkwunEBu8kM+NnFE7mog3HqBnYGNdByCU7j4CXo2sBpEwVq4KSJBRg5N1A1MamAH9w9kfMK6LQGy+hOQadNMo3tCXjKgD9LMMoYMEieQajHRZ+F63HR5xzMKDAoQKzH4z4rcI0Dv43BLQ5cykFiH5eh9rOQQ5gPojAfhjLOFXhEgssKRL40ZXQVmJJgJ5SY9EQGgk6ymmZBJ1lNs2yw4IOgq0atGwF3ch5LPIiua7WyJWPBQFIW7PDgiAV7PJiy4CuMYcaCAb+w3/9exj9f+AcW/wXgPyn8N4r/6PmjCH5Ywo9z+IETPxLjh3b+WoFffPCrGX95xK+3+AUcTxHwSQw8zcIngvBUFZ5M49N9eEKST5niSV0+7YwnxvnUPV9cwMsffIGGLyHhRS6+DBeGqyMzb16hkC9l8sVWJWaLesGs9yYFa76kHuJF/5B/lhC2PpwQi4cTY7LpaUcz98aPTwrzrPo85p/j8xiL8KAHPehBD3rQg9bxBIq0xPhW7TbnAAAAAElFTkSuQmCC", + "tools/eraser" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/wt4ib1D890lKFtKwwAABAFJREFUeJytm01vEzEQhlcpjdTjQEtyXAkKPVIJkLgl3LgRQMAxRUXhSITKx7EgIXHjAKI/l268m+zaY8879szRzT59dtee2GOnqtQxevj2y9dXT/QXRuLOgjZx8c6G935NbUxem/CoFz9qWx7RL2MeTZZlvD3y43MZ8DQAlimGgkS3bAWvY2YrSHRoLEj0wlaQ6Ki2FcxWjAkSTX/bChL9tBXM7N0JwawBmBK8jge2ghkDUBDUD0BBUN27RUFt7xYFlYqAoO7rBRBUDUBIUPMUIUFFpgUFaYLeMyhI9NxWkOi2sSAdGQsSQQ8RF8QyhEaQPhoLIm/FCR6CQCDNOsEZCJRfcytYgcApKogCJ6ggCiRU0Aq4FbQCbgWNgDtBI+BOEAbWoKANsCdoAuwLmgD7ghbAgaAFcCBoABwKGgCHguVAT7Ac6AkWDz1fsBjoC5YCA8FSYCBYCAwFC4GhYBmQESwDMoJFQE6wCMgJlgBZwRIgK1gA5AULgLxg/nQuIogCwwlnRBAFBlPimCAKvIkKokB/sRcVRIFL77KzmCAI9FVGlzFBEPjNu+pGVBAE+vWqf1FBDDitvasWTStfiYCA/kpv3DRG6gZZd7zfNEaWfwgvuHTTab7nA4MS4qJpXWYDw7Vy0xpbn8o8pgzL/xsUyFRhm+ZYKSdHcHMR04wBuTJx0x7hiaUMttSXAkrFFrYYmQIKinwtMglMK/LDIQlsky8fkXpuGjhex4GRWmkaWK20ghIwrhgr5grAqGK0Ii4BY4qz2AUSMKIYLzaLwINLlaAMrK4YXqJkKAM5xcTekQysTjSCCHC08IHLMmB17PGS228I0FNMbxAiQE8xvT8IAQeKwg4mBBwo+vPBLGBPUdqEwoDttLQJaZsMBFbzTrA2AnaK4iYZCmwV5Z1GJVDexdPdMrAVqnspwDajqtsgu4wg0AnOzID7sKAqOUCHBhTpCzszgAA1goqvAHBTFQA6QfRkCAA8BhL/LtYiUCdYNdOCOvkJneBm8ThLfcDVJPCzNXPpa+cESvy7OBPSupsqKY5H3BeykpvMRVboXOyn86YT1BwxGacf0RWaV3cxT71EN2XXHdPZPET6xP9xpRds75nvizmCXXZns/EKTvz9aGdWzH05QfVJwzZ9MjeWJ7idtgSKTjDntOYpr7hSJH5Oxe/dY8U3kx8fiMkAznuZBTxYhEl0T5dXvXBdZzAAT3V51YvR3PcpE+yu7wmVCVZdH9m+07+Fgtuu0/a6P9xrV4ZLpUcbxjnbMZXRDenH9b1HbiyKSxIh/FVx/vHjLuZDXvbp4214xb2npTyv5mPxc4Jxr6CSdfI4iLtrS78m2l9kTJ8Z8a574/kbuniZMUL+A7jEhWh03/9rAAAAAElFTkSuQmCC", + "tools/beraser" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAFVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQCkAAAAB3RSTlMA/4QOQO7HoH4kRAAABLBJREFUeJytm8tS2zAUQDOJyV6BZG0owxoywNqhpWtCO6xt2v7/LzSxbOt13+bu8OPkWJav5CuzWKSxul9IYvXyz318/hAcWTUS3r5zfXx8Zw9d1gLeTzfFX+7YdaviOffJHHzxpuM594c++nCl5LltQx5+vWF4S5fHb/L4bscArwugoxRXbqsVdI66qIr+PVDQuZoUIPbCgqTik3NkvwEFnWvREw7OUf0GFnRuh2aAjm5iRBDv3ad74rZ4vsEE8ZOW9D1DBdHe/XDe90sviD6AfZpDG5EQRO5lxbcHHjVwypPf1RoE4Qvr8F2sIKQ4ndIYBE+9Gz8F6gOsYNm7wylQH2AFiwdw1YVdZSsKBHPFV8peIph1uHTs2X4zCCYdrhjLUqJIMGqq1V2pf6sXnDrcvoN2vjdaweGaH0u9QfKmUQqeUwSK65Gf31WC56fl8e7IAeWCvhGrGwQ5XrJccMwQFXjZ7+oWdGEQfikkQ7fRCIbEvc+IoWN7wY0QGLJASoweFC9YC4FRUnyOt4fkMAgu9MC4rTb51loKjGeDVdgaHrpRUAp0EfA8U/IRDQGjoAk4KQKCJuDYikALGoFrv60FBG3AYioSBG1ADwhXHAkagf3k5i3lDwnEBkwnnLGgEbhycRPGgkZgMmlPBK3A08NyCQpagRehF6aCVmD0apYKWoHh5TETtAIXxzGhZYJmYLeBBc3A6ytY0Aw8XMKCZuBQZikEzUBfCCoFzUBfqioFzcC+mAYImoF9uQ8QNAORFpwHhATnAEHBOUBQcAYQFpwBhAUtsy9S0DI/JAWlwMIEE5QCL/PzMEEpsJUKSoFNdtoBExQCc5XVERMUAvO62RIVFALzUw+ooAxYVDr7N/vWDsxLdP2UGCnOma54jV+xCFicesCvWATMBX0TNmZgWeQ8b8UWFwTAUgX+GSkQKBKeN7dWIFQjhL2FQKiKed6O8NhSBljIpoBcsQUsp1NARhF+vkhgRQLh5QoSGCoIQCALKjSQUkTWU2hgWvaVCHLA6qgU5ICoIrq4yAExxdoKRBTxZTEWCCuigjxwXMIRCgqAK0ARFxQA0yojJygBxoskPpp5wEKRXIKXADNFeoVeAswU6QV6ETBRZD4hEAHHKqNAUAhcBEVi6VgDDOMVutCrA07jFb6SrgSOisxnInLgoMgKaoGsoPKSeUHlTWn5A1XdhvuORgFEXzCNQLmgENiJBWXAtVxQk2DrLwP6/Mp+eyUGDoLNlwGfJXlVAfSCTOIPcTwdTD+gOsG+h9XUAUrB/pki79+zKPGHODDjjp8qcSNTFA9M2nwS5tUp1nTe9IKCvDpFRTfRq1ZwyHTYTazUgmMjIZnEIDi+fdWEoIo3ZndQ8VWRtkIU67eZoCyvxtFhQ65NcJq2FE1fKRJ/Gsi0BS99cjG8fWWKdsGxsbIMcNAk/iyGUSNJokvNyFSET3rJA0g+knxc54pLXeIvYug6QWim4HgLpnuqHJmAGLpO7f/al22qDp/Gdj3jxSlHJiiGrrO7vR8/C9Pl1TKKF3ddXgUiK+7NFSzqj/VcXlbzYf+dQBBxzWdOFwwRPgT7Cr9zPPq+k3wqOS/6/xm5aXQn/QeT/5yWb4kz9wAAAABJRU5ErkJggg==", + "tools/eselect" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/kF9DPTHpB/iOd/r1wAAA41JREFUeJztWktz0zAQ9tgm8VWEuPiWJiSFG0kJoTcTktLeGjKFKylQyK2hcOAmHsOZwAy/F+thu46lWLaWGYbqOyQea/15tdqV5F1ZloGBgYGBGo46o/PlKUKnv88vB3d02cajJcrg+WVLi3AX5XChRVjLE2ItQjvHt6PFZ1mLTcLbmoQ5I1YyoTdILnNGxEnTPs4/KYa9Sg1lo+bb/fbdbxN38qXdGb1JW9z1TkuRL7JbKjoIM42T5MpByFditFdqljomQ67A6K0Ux7JPnQgXiblDRW9z11RwHhbI9VTjweGCZ9vFnnKxZquIkJqa4MNWKdYPFDwo4ouMPeSyW97t9pmMmjtwc6NGKBX5XoYvZXwnE7BnzH731fhiF5MbnHdYwX6JCmwyaohb60p+kIUzk4+0y942L8MXm90PBU2HrAmXI+R2ei1VUHlAYjDXFajIFHxWli8OrpyKTMHSHSboC1U8LI5LGWyhrfpqk5YQ3ci3B5s37YMqI8KfnfmiPc+ezOGL0cHC208qKmhgYPDfoU1/MRSd+9Anf7ZfYmXfBvsj20o7qPkehHDBp+gb0f9PCEKyipxY7NPmJgThZ05EdlA/IAhrfJlbV1+dsiC77iZfVTEEoUeYWpTXh+CLh7km3zCWBRnml9RrQAaZ+csJHexbMISPEfmm26V6gqBGO0s6rpfoSFCnw9GHckPmiA0aKC0YQpuGygKW0KeRh2EISagEFvlyCWEIXRrM4IQkomH4LMYFTvjv2xDcbcAdGzz0wCcH8OkLfIIFXwLAF6k67DJ6Ab/Qw21FXLYVIbE3ByEk+b/AItu5sxCCL1KxR7dz9x7B0BF8LZU4MzAwuJ4Y6zwsyHDuzTSWezuXFPAOtJaqLkK/cObOqlKWPQatm2RTzLQEWlnFLsot7k61QsAVBTcfXmmo2BUl1bVT95vVBfDiAlexQkZIUv6oXqBZiBWsXEIaShT8C0WuuAwnrSOKsK0MB18ojEuZAVgpE7zYCl8OTgrWKkGtUrBOSuoqB0KmTLQo/nvK8cKr/kV7VmYYrEDoUp8oPJZAXUFtXiQjWHxwgp43UDtTM1U72kHcPzXh8at2mGkcpzVLR9lhbZxcRt0KyPGYSWSzo3ZntERB8gLvhSLfFTDDZ5GqH8oflMHJ8+kl0acCQq1v4b6AMNDgE5lQKynjfRIRauVQBIfxtA/4wR4XNDAwMLg2+AMJLakTmOR7tQAAAABJRU5ErkJggg==", + "tools/eyedropper" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/38IU5XA5Shzorl5IAAAA41JREFUeJzt2jmP00AUB/CRnUTZjgkkgS4uEG1A4uqCENASsUKiS8R+ALIsR+kVl+hIxdclYzuJj/fidxWRyCvXyn9/nrE9nvE4d4z1/e2Xz+dTu7yXPtQwtcr76fMaGSV2VkWgv7IJXPtdvbHIi/Z5fmjRMUkp0L/W53XLef6WPnBeCfSpLdD7hTFQfc51oB8ZA7WN2AB6PzMG6q5EAKjrZgDoPxgD/Q1joEYIAjWBIJDXKWEsevftIND/YeTlY8e4GN5gIOdOOdv+5nKKAzn38p4UBswEDmQ8bcqkwTSC8zh9UmmzKwTIaEKkzeRnPG8NC0W/aGjAAR2ItVm1JuS8jjXwsTHQPTMGuqUx0K2MgaRADpByyiwg5T5hAd21MdD1jIHtdwoT2N6ITGDrvccGur4xsOVu5gNbukUA3I/KRsCDj2wJEBuHjwo4wEJnQuAEO+2PQiB63oI2TPKWQohj9rQ72jIQInuyk2y7EiFyG3EHxIh3pECMyJzTloAYMZUCMeIE/3ULECEuxECEeFMOhIm35UCYyHhXbwBBIiOwAQSJ9EAACBHpgQAQIpI7BQQCRPJlAwIB4kIHbBKpMzIE2CSmSmCdONQC60TiE/sAsBaYqoHVUyZe1nTg7DiBg7UxcNIxBjr3yha4mRhkM8qvZsDNe/yS/n2CANxU/y71QxQJyCkakF4nIPUYVicg9RhWJyD1GFYnIPUYVv8fcG0M7FgDw4IethwhAfZXm7k+Mm6LgL0DL8sSYHbGKXxIBIxX+HKJCBhWMN/Dh0TAbF05hQ+JgKEJkfUcGTB84EBmvTJgWPhegEeEwAh9/ZYBs8savE2EwPAFBu4TITA8usAZjBSIdrIUGHt4h4IY2EGehVJg1smz5p/FQHcfvmrEwNDJwFUjB4Zvn8BVIweGPmmuXymAPbCT5UB4PFEA4yXUJ3M5MIwnjRuvKwe6X0ATBrUUGJ4M4xT4J1LgGbD68tArgNfN8eTpSgEMb0m1z0o/Qh5rP1O5HtX7+Mm9bMlIuqs1nlcfXfGLjCffydutdsnvYkvDaIb+oqXm5daK833GmrzKIyD+W+RdpuK88jMgLlbw/Lk8rkIs9kGPnqvy9sQHed6nVJdXW2D0F/ody5Ul0At1nKss0prklZaRjTaR7xa6TXZ8hyqW4sczo7wt0WSPe14Z0WD/+L4SYFhRVYROzKSVmPVwUZHBlv6s/gFi4v6ERJh64QAAAABJRU5ErkJggg==", + "tools/pen" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/oA48NEJpmIZ13nuwgAABEpJREFUeJytmk1v00AQhqMG8nE0TRSOqVSQuNVS4U56oBxNpaq9WaIV1xqkCm5pQUjcWgkkfm6z68Qfs7OzM7P7niJXfngysx7bGwYDZd5mWbbUnoxksuFlL9LxRpUBJlS8trx0iqOiBiZTHG95yRSrHTCR4qThJVI8boFJFJuWpFLcy7K0inkPmECxytIqDvu8eMUxAEYr5hAYq1hAYKTixOFFKj53gXGKdwgwRrF33aVQREoYp3iFAiMUsRLGKI7e40C14p6Hp1b86wNqFSsvUKc49fKUis7oilXMCaBK0V9CnSKc/tGKVAlVimQJNYpFAChVDJRQrohN/yhFz+jSK4ZKKFXEpz+IBHidGsgooQjonf5aoHf6a4GeG6gemHN4kmXD6sl5YuDsKPFX3hfwWE2RCIbGtcmJhMeYhqIKDhjD5lLGC3ZlUQqBgfE1935htFjLzR8OSOCt1wRtp7mmyPFw5v9q+IILKF4QtcKvMVrxtCSABX4Opbh4IHi+BUwo+hts4r3EvIrzNcXzDwGf4uw1ySPmnkfxB80jLllckViANtRQwRSpBWgTetAHiqsyBCQHs6NILsA65L0IKtILsE5FAYHibB3mBQZ9TzG0AG1CTzBG8df2c2gB2oRulkZxWtmPoQVYJ/h8YBSnrzYfTlm8QE+y3ePQ//ufJYtHvRB3FPlhPFXK3kWehYEyxZwBFClWDKDksZfRExkw+ZN++H1TCMxTA6vEQF5PBEBeTwRApyerd58PY4A5ONPcgrbDTweE596Yg+59lc2DPVng/wwfCJ/KP9aHnV1NNhD2ZFkfdnrPBubgxO1d3LmzsoGwWGV9eKQFTuEuRSzQeVOK/crOdbKsj6ubksMTb+rj6mVTgfMWnuNcoLNztBVUX3qwJ1tB/XCAPTGvq19jxlcOBEvvAzwTCL7arXtIBgQ9MYJfcB4TCHpy2/zvCC2w3xNKkAnMe+ecE4JMYO/0OSXIA/Z7QgrygL2e0II8YK8n574fVQXAHAhSu+AsYLdil7QgC9jtyfwhsE3PAXZ7EhJkATs9MYL/KB4LmPcEp6QgC9i+pQcFZ98YvE5PQoLz3xzBtichwQ+8neB21gcEL0oWb/DIE2SVz6bpyRklyCufza4nZq/cK7jib6Q3PTkhBL+XbF7TE0Jw9oaPa3uyERzigou1hLfriRE8RnmfwptwvRStIPrjHXu1bDOkBeei8pmMScGF8GeXwa4nHsELYflMDghBaflsCq/g/I+GN/QKMmcVzNgnyJ1VMLYn+44gf1bB2E1NR1Awq2AKTFBZPhPbkzUQ1JbPxPTkZV9QXz6Tx1owT1I+k7tasOUJRj2awgq2+9eSUY9laAWbu4ps1GMZ9wQXceUzueoKrhSzCuauIxi1WnYpGkH5qMcybAQVox7LeCeoGfVYrta1YJLymdxbQd2oR3NkBCNmFZJJ1KxCcpisfHWG8RdbN0/hzp+bdxqC2QAAAABJRU5ErkJggg==", + "tools/fpen" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/nQ+msYI5fUa2U6/fQAABStJREFUeJytmktz3EQQgF3WZqk9KuyWdPR6SQi3yDYmudlmDeaGnI1NbluYFOYWOaZSHEOSSrgluAD/XPQcaWa6e3oefdrSSp8+dY96Zsfe2HCMr+M43nK9GIjN1yXwbjje+DCOgyo+r3nhFMd5AwymeKflBVM87ICBFDcFL5Diox4YRFGUJJTi4InDKN5KwACKh3FYxUjm+SveUYDeipkK9FXMVaCnoppCb0Uthb6KcwDoozguAKCP4ibE81H8FQR6KEIp9FGEU+ihOEJ4zoq3GNBV8RAFuilOXqNAN0U0ha6KGQF0UsRT6KYItC4/Rah1eSmSKXRRzA1AW0VDCu0VDSm0VzSl0FrRlEJbRbj7K2EDRLq/OxDp/s5AtPu7AlkptAGyUphaADMOcBoaeBYYmHwMDHxjwdu4NPPShzZAasZzEWR0w8RKkNFsntnxjFWZri2BhncPf2AwWVsbpnbzHWoClvOuSfEJ/mjwgDMoviRyBV9GK/65JoA5fA2lOKXeYWwAE4ozckSjrxiqaHhD0M6MKab3SR5RSkTxB5pHvLKwIjEA66CaCqRIDcA6TAt9RZEcgHWQs6WmSA7AJjIKqCrSA7CJnAIqismWmTchebJiinesPkxTUeX0oP1sGoB1mFYwleLkpP5oGoBNZAZgrTi5V364YvHMU1uzir7ZXqxZPENNOkV+MJYHdr9FPjMD7RQzBtBKMWcAbdbRjJrYAYOv9Dk1sQJmoYHkrocDkFcTCyCvJhZArSZv9y9OfICZcmU1BU30vPKB6rUH1UG9X7B56mbeFL4NH6jW5K/msLaryQaq+zIHzWHtmdnATLmwncW11Q4bqCZr3RweuwK1DVZfoPae+D6ytld20Bx3LkqGAJ2HjVqTKXKcCxyrNcGemAtUa9IKujcHtSbV4m+5f/G9xuMCM/mq2RpdmDCByqOd6YfsgEpNKsFfYB4TqNTkTPx3hCtQrgklyARmmmDuB5SerxJ8jvF4QLkmpCAPKNWEFuQBpZrQgjxgxhfkAYc1eUYLsoDDXe/ZR1qQBRzWxCTIAg5qUgn+Q/FYwEwSnJCCLGBfk8QkmH7L4A1q8odBcGbYR2qin8tNgm95O8F9TQyCp2sYcLO9XC4X/Z7LJ55gAqdvvHfefN//rBQ1qQQLNH37IG9PPFEqFDtGtRP4H8a7BtMnzbMH7UFRk5eE4BMwfXtSH32h1IQQTMBNmsmX8lk/KjUpBSNYEN7kik6Qs+a94Dcg7wrchIvy/ox3q6PFrkhKQQsiL9vPgpeuHst3ag8jgslXME/c+1TNR7smegMLIi+b4L3T7/eJEjyF9zDFraHv57gg1qu6esDfF6jgDE6f4CVgL4uEoLrKxnpVx0N646gTfKTwsF4Vtb0E29K9hQXRVt/x0C3dOSiItno6f1UUkCDa6v8u2gdAt4gjSBBLX9+u8L8KjnRBpNWXJ4luSmwRVzWRBdH07eTdKdQWcVmTzyVBuNWXp9wTp1ytCWBe76r2gnCrL6e2wpzh+r717CcE4VZfPu1PfUrotcioFsy69IEz5XiIw97vLi4rwW55eA31qosvBjg0wyLmleAcfZbJzvFwwKMDqo9cCOqt/mLnuIiHoTV7PSIhKL9s492d5Xksx/VjBDKMUSfYzpS/3ezubi+Pz/X/ulsZitHGZSv44VUVhYbpcncEL5T02GbsvKarBTxTQfHQ9Kf3xIZWByGYrI765QU7HgAbKXH8/uly4QArI7o/+JmXvvr96WpZLnv+dUFV8T+SbuMvj3r57gAAAABJRU5ErkJggg==", + "tools/gradient" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAMAAAC8EZcfAAAAkFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDIYgjAAAAMHRSTlMA+25aOHYrI/Pj08iwlWFKB+3p3tnOv7q2q5+bj4uGgXxoVFBBMR4WEg3DpqNGPRsUDc03AAAA7klEQVR42u3Q11HDUAAAQTDBZHCOytmx/+54ogBm/K29Cm72TpIkSZKkIXf/10toMplMp9PX0Gw2m8/nb6HFYvEeOhyWy+VqtVqv1x+hzWZzPJ5O2+12t9t9hvb7fRRFcRwnSZKm6VPfqC/Lsq/QQ1+e50VRfIfO57IsL5fHvqqqnvvGobqur9emadq27bruJzTkwdFtg2OCBAkSJEiQIEGCBAkSJEiQIEGCBAkSJEiQIEGCBAkSJEiQIEGCBAkSJEiQIEGCBAkSJEiQIEGCBAkSJEiQIEGCBAkSJEiQIEGCBAkS/E9QkiRJkqRB9wta1piumzN/FwAAAABJRU5ErkJggg==", + "tools/hand" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/w/xgcApBeBI4LcAVQAAAyNJREFUeJzt2s+P0kAUB/CGIITjpMMGb03cgx5rUK8lstG9UQN6hQhmj3tw945u1CN78cd/K+30xwyF+fW+MRo7p5ahn7z2zaNlOkFg0/oX8d3O6puWbcMYG0Y4r7Pdg+wNDuxmHhviwEc5yBIYOBHgU7F3+4EMpgLk+c55zMZLIrgV4Cjb7mc6vyZ5feGxMNsRCXpLAjsyuBLBLmFgkaB3MFBJEAIsEsQ8nN7FfNcEmT84KX8QZLDjD3arHwQQeF9dewzYF1d/BwNFRbAZDHwgjjuDgat6AGPAosSGMDBtIjQwBoPHkH8TvP0VQcFNzIZLIJiX0xgIisFq9RhlBRb1/hUGSuWJAVOxafUUZQWqGW/BFmzBFmzBFmzBFmzBFvzLwOxxf0AFM6Rbbs+q/+UE8HkQvC+3eTG1QQJHu145mcTCZBCTQTaqPGXbHzzR/kPwGg3u6rlZDDiTBjwE5NVcEQgMX22qbQgoNxuwb2bcwMDM/FlwvZhGSDAbUc+WQDAfUXwJA3tx/vkYBpY3igQFFjNEyhQRCayKMgGBadnDQWB960kwYFx1cQwo9SUQULrzcgiYHgmRBE6kTo4AV3JvAgC7ci8HgMpFLEKkgTfNEGlgbyv3J3SwfkitQiSCSlryEImgMhTzEKlgI0QqmL96l0OkgsHVQYhksLjzVSGSwfovjQiRDqpp4XRQHTlO7QR4Yz7SDexszYc6gWpBI8CB+VA30DstJ8Gu+Vg3UC1oABg8RoNqQQPAg4IGgH5p0YB+I0cH+hT0SAf6FLT+7a1HQevfL3sU9EMt6JGWF3rQfeTM9KB7QSd60Lmgw8gAuha0eRHBvRt4ZgQd02LISdbcRo7Fyg6nEK2WTbiEaL6EjiEmNmDw0tobRVZgPb1saoZfhqpdmSmXM96XS2rnDa1XxH60Az/ZepZ5cVkPa3XSX+w9q5N2XLD70wg6LinumCrQeZn7QH+TDhNHb38ZY+AJ522t8cZeq7w3Jz0e+XinRf917euj1/HOM76snacNLrz054JsYfaBN/9B8vbtyWspuvl3KpeT08VnFn5bTC8j/Rd/A77Qy3Uri4NyAAAAAElFTkSuQmCC", + "tools/rview" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAIVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABt0UjBAAAAC3RSTlMA/w/ygdhmnbcvRtZOXcAAAASDSURBVHic7Zq9bxMxGMajcE2abNZdacsUhNKqnbgiFbpdBsTaoCI+phQWxNRKgBBTKrWCsRGgli2txMJfSe78cf48+7U9MOSZLvb5l+de+707+9xqGVSYKnyVxQaiIjYwtkUU2yKKbRHFtohiW0Q6i+33+ct5AFCxOFwUrg/8gbLF9rgsfB4AlCwmVeEGHLb77OIR0lh8gAsnQNzWBWISLR7jwj38a+e3E673FPESLJ7x/7Kdo8eXdl7/TOCJFnNctlYeVx1k7/HOGDUASVlaHneRS4/3ZZ5wyW0eeB+bbbbYPpV5gkEBSDqo2eIvmSf2iQAksV5v4nVyyknPb1WDIpAGpwk4orzzSz71el++zVUgsgMTcsqTt7RBRv9nYyAD2w5AEuajqnF9++qy2AOBPXzCG/KTGbxhsQcCh1X9Pv1JDeJbFprDgadlNQ4WBmKDHdxuCgb2q+oT9puOwRXcbhMMXKm7FQPJ8Qy3y8DAY3phFIgN0sG5BgaWsU8H9W9q9kyFOAGrEN7lCohBeg8EA1fLykO1XAdxAlaxn0cEjkjgfYE7fwdiw7EUQiDwOkcbwhOrSuQ9b2AidylOsBNv4CmSu2DV0CduQHIn5Z8vd5A4rGHAGT7kr7l8KGpfgpyAJJv4UXJj6GQ3oBBPrHIYbsYElt30MCawjMI0JnCMDLMIX2CO9MMwCDiIA2TvH1jyTAIOTJAgOZAelyxYVKY6HkDBomzQq1M4i+p00QfIWVQM+g0bZlEzn/UCMouqQc+BPTIa9AQmRoO+qTcyGfQFJiaDIXds/ZKFLzAxLar4Alsjw5qKNzDRG/QHmrQELoFL4H8DLF+r+qHAEtKhx1MybQgCHrD1yOpt/CYYmM57Y3qMJv08GIjSmodSxgsAGrQEyvr5/fNALLEB58pknFf5BrF+CQIe0vVdLbBaDRLXkm3Au2ydUAPs5VX5PgSIJlfsUAHSBC0gQE4KcEYqslhA9rJdRAKy7wBZJOCYVRVxgDmryuIAuboiCrB2WFsMAvIfZ4oYQH6mm8UAzvjaIgJQmDpnEYBCEInFMOBQtRgGbOeKxTBg64diMRDYEU4owoHqoksosCucUYQDyQee2mIoUBw5C4vBQPLkYxaDgfWrJLYYDhSX67JwIFmH95EBOLS3hAHFkRMBKCZ0DGDf3hQGlBd6w4Fde1sYUHwUxAB6jhwzUEzoCEApoSMAE3trGNAvoZuAq/bminSfQpl8Erp575FHQjfvE/NI6HuNwHrC5Szdx1pO8ISeNgPhCT2xAKEJrf1Yywua0I2bgyoBE1r7bVVQxw7hNbUCgY+CuR0Iuuc4bfqDWLSHEGhRtwdBlXv+WUchVr2sZ5PlzsCk7n4LumL3G637xk7Hmw5g6+k7F17qsPmSilt6NevAnddqbdt5awCDC/2xAoGbd9WdmJLqDXKOUveKCkonQN4ip/Mm4Gswr7lj9u3NNbo28nz3Z5uILvuJ9brSxvHI01+pLfXJn371x7WUndULe/Mg3kK7nzh357ehuApZ7k5PX7z6+GGgP+Ef11LuXs329fkAAAAASUVORK5CYII=", + "tools/hbrush" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/t4MIMN9ckyTq1CfjwAABCdJREFUeJyt2s1OFEEQAODRHXQ5zsYFPW7ARG9IsgZvyyYeuLkuxHjD+AIYfIBFw8Gb+HPwbWWmf3emqqu6q/pCBpqab6arm+5aqgpqJ7+apnl+Df6spJ01pv1WivfGxmsmG5V445kL2OyrBLxrQrtUiDeP4jV78nijVRxQgbgFVCD2gHJiDygmeuBEiWiB069VfatBtMDpor04UyBa4JW5+iYmWuDh9qWAaICThbveFRKt6CB855OMaIFH4TuPRMQhUEgcAmVECCgiQkAJEQYKiDCwnIgBi4kYsJSIAwuJOLCMmAIWEVPAEmIaWEBMA/OJFDCbSAFziTQwk7hDAjOJdzQwizg2wEW61ymfeNz1fJLuVLttMoNonniT7rS08RjEuus3ZQIZxF3OE3sgg/iq6/aTC6SJN12vBRdIE+/oV2iB0xsWsev8jANcj1lEuo8DHlUsYtcleaZzQDepCGJDPbIb4jYROEQyr90QtzflEE0XfO0KOcgkmh5XJJBNNAB0NYwnCY+4So+KBc74RHvLTRI4PeETzfrqDzswcG3isIj2cAP/CQiTZMwmjmYJogUeuDgs4g1OdEO87+NwiI8blOhz8CqL+AUjhhxUIkYLtQoxniQqRAs8XykRfQ7OlYh+kox0iGGSVDrEZbiHCtEPcXsPDaLPQSVilIM6xGiSqBDdEM+0iC4HlzjR1bFYRJ+DNU70lUsOMexmUGIorTKIboi9FSD+DaNGE90QH1Y4MWo00eVgeJ0AsW0zJtE3gjh9zST6RhDX5AkwJvo4KPF+ZSMPqYFodjMI8dgC6UNqINrdDEg0X9ull090uxmQOPdAPtHvZgDidQDyiW0HjDiJgHziZYIYAXWIMVCL6IFaxHX0CzJi3QdKifMBUEaMJokOEQKKiBBQRASBEiIIlBKHQBkRAMqIENAT0YM8RARzsEfEa2gAEc7BbSJeDRkSk0B/TN7wiW+TQFdreMcn4kNs2inxEgdEAmgFiaIXREwAGXU+gJgA2v6poteQmASal5gsbUbEYxpYPeiSIdUjEIkcNO0hKQzE9CThB3TEzxygKWCnq7l+180BmoF7mu4Tb2kpoClgEyX7eNdNAc0WAJ/LfSIJNMsNXirtEymgzX3qtp5IAmtGyT4mUh8x2blEfLIVE5ESqGt247ihAzKJ5rM8xhNziSvuEzOJO7wXzSeuOO85g5gF5BDzgDQxE0gTc4EUMRtIEfOBaWIBME0sAaaIRcAUsQyIEwuBOLEUiBGLgRixHAgTBUCYKAFCRBEQII5kwEDc2Ov+P0AWE+3ZwZ4my4Fhp3MeXQmA0Wbsz/0LvMUXoHxi8/Lfe3T9KSL6JgPChWRVohTYJ4qBfaIcuE1UAG4TyZ08q4WCwQuVeFW9svH2yDMEs41NxA9a8e6NPy4uPn6Hf/Yf33WZEV8wffAAAAAASUVORK5CYII=", + "tools/htype" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/wxi9s87IauL8Nu1UwAAAXpJREFUeJzt2j1LxEAQBuAh4XKmjOZAu3gc1p4IahltLP0AP7rgB1raaH0H/gBB/L+Ch0pmdrNjZsEr3red2SfJ7qbaJUKQJUkRKQABxgPLq/eHsfdhP4Xk5eBVBV7fdG76VvH2NAge7wT+onZ1+BEAzyvmBUCi/U7wgreHQXrsAI+kFwbp3guOml4g7frAS0ezBsxqNziqeoL07AbPXL0qcFi7wPKpN0h3LnDN2aoDUxc4M4A0l6Dni5XgRILr7k4lmEvQM4VKMKkFeGgCF5PYGnRiA6cCnNnAiQC3beAgNpgLsLGBqQA9+1oLZgKsbGDSUesF6gMQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIMDYYMLBatnAIQd9Z6jaZLHBlINNbNB3sK1NHhsccPDNCG5y0Hd9QZspB1eN4JyDvisgynzf9fmN+yKSOivcs66KmMKi2LB4YlsbX3FLLMnXLO6Nw0PbWQwsxYLw/BEMByBABPm/fAJPo/BYXTJS5AAAAABJRU5ErkJggg==", + "tools/lasso" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/jjHnApZ5HcZTulYkQAABJJJREFUeJztms9T00AUxzOlCeQYixZvBZHizQqi3KyMUG84wKi3FhHHm9FK4Uaxo+PN0ZGB/1b27WazSTbJJvkePPR76o/k0919L2/fvlfLmmqqqaaaykhvVyZba6OR541Ga+u9w7/VaL8nT7yYvvQelKXZqwmaYF7slsC5Rx09jqmx/asobzUDR8iLQrjaTjaOadgy5y37+TzPaz43xLnfTHBMT41WstaNjmO9d7x0fWBZB9dLx5Ot6NjnDabtdJQbGr3DmIfYK5PIBf0ivKHe3+zVHXOiwht+TL/scseQWJO8PD8L/bTRSr/KlfbYyLWf+05aJv3aH8GP/szDMV0FgzxNu+JeAWdgkg72SP/9XGAN4wffDWxzrv1WzOC0QGyyxSI1dGNoF+eFxM/Jr8SE5wvGTrubMmnxRYYLpEi4WmIge/Rxs1WUd2Nrn259HPsdbpEXxXmWta+zy5+0pTURN+dmcoBa4xtIc/deunuaaC6ximSpO2V5ljUgQ4fv62UtHIhb+ln0B0pahKsdmWKt6gCDIQYIMsmtKjzLWlTNMmZv+tWADmMs8Nc15XV5jcM5z0QtVFLkKQ/pJbNxs0zGF5HtSzv71U3CxMzSZC8cyIzFnPsWX8JmybCgyvXFIi4ibMw0FkvHAsNXBPA1DxB2pcClioLYLrcJYAlvFpFbhRmngeBZVofcZbZaaFXFnpBPZOTbGOArMvNAPoKVNUOT7WKeE6Y6+U23eiwM5BCwo4TuiqqRw/goN+SO2CRg5WDIZROQuTeGZ3EWHAifMtwocLeBOzb80YMHB3j4ggdY+BYA36Tg2yh8o09NRS4n31uFgEEqok+WbFavyip4JCSTJW06Jw7WRZIomc5pE84PHte5OVAmnLqUeF/wCmS2SkqcTNrFmbqQyytJe/JY0fak+qZA5VjBz6LKnU7IMw5EdE9wHo0fzQYK8K4hMHI0ix0e1QGaBqLo4TF2vF3kqO0jdRY5ih5vowdwl5v4JV9bMzPHD+CREgF5kXcSDNUIGC8RRIoYYzlcQpuEymQRQymUkIW8M/ZpPbLQ6dIVacJCEA2LRx/HEKgpBCmlqnFo8ZoZUFuqksU0buN+AaC+mCbLfVeKvVwTYFq5T1ZgmcQWYxsAUwuSuhBjAMwomcqirvJ05AIzi7rhpGXgYW+ystvssjO+MI4v3eObC/D2h4hjXJAGjdXxFCFaSBEgosnle3FVbMOx6xeQjUIGnEe2Mtn6NJDNVnIbdiWqHUwbAOUzoIY1bcVig4a01GdpteXPV2/6J7fsin9LoMTWNEMyElkFdYBm4qlS2d6PRiKZO4EBg910A1R6CY8Uw/soYrDhN7dBg1Q2/PcYojyXeZ7pfy1yNEATw820ZLc0IceXwGrNNKk3IbFoBzufuJl/dTEiaNLKv0YA/SpS+L+bFohoBxs+qBp4o2XsnCUR0gITaqO3GArgSCDlJv81ENN7VtQGuw3fsSD1Ty50HlHnT0ofBuSbS/V2u1QH/OTZfMamBbp88ZoQ0Cai7odL7Rx08OJAoFs7YC/kQFCvhURWPgMC7TIz/gfD6CSfzrCh/gAAAABJRU5ErkJggg==", + "tools/line" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/pliM8n45wcWM3PWJAAAAXNJREFUeJztmTFPg1AYRUlpExlflbrWzVEXXdvBzjZxcCVx6djo4taYuBsH/bvSFh7EkXuatOGeH3DCB9+BAEmikV6Lgv8s8hnqO1uGV1Q4CCFMSeG8FOZfnC9bl8LwxglHW1+Y3GDC250wjKmhh8VeGJ4g4W/lw4a+qoXQ6qTRd7lBhIsofEF8ZXY1zCkcRF+O+OolLHlHfPvswIlH0TdGfK2JnxFfzC5MZogwZhfOEd8hs2PuXc5OpYfZRZ+z64izUzn+7JoldHbdcHYyzk7F2ck4O5WsgCf+dHYqJ5TdBeJrZTdFhEef3dDZqeDZ0Uvo7GScnUqzhM6uI3R2rTedKSJ0djLOTsXZyTg7lf5l1ywhlN3c2Yk4Oxlnp3LI7DaIsMluhficnYyzUzml7JhfJs5O5gfOrvVd7xER9i+75uexs+sInV1yD2eXZPUhQk+78qosyey2fBRgdjseuOwq7rDsKsrTCGVXk66Z7Bq+1ez+ALuCq2njZxanAAAAAElFTkSuQmCC", + "tools/mlasso" : "data:image/png;base64,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", + "tools/move" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/u4sDXdPocXZFvB9nQAABIlJREFUeJztmrtP3EAQh60cGCj3IsJdxyMioYM7FInOIgXQ5aSAUpogoZSgJKI9pDw7LiQS/Lc5v3Z27Zl9TpEiU529u5/HuzO/WfucJP/tv/0j9oYbuMYNFFfcwEHGDBRfuIHDXWaguOcG9lldnAPFNjewnzMDxTNuoGBMwAq4yg1kTMAayKcRNZAvARsgm0Y0QLYElEAujRDcLgKQSSMAyKQRClDk3ECWBFSBLBqhATkSUANyaIQOZEhAHcigES3gIDq6W8D4BGwDozWiDRRb3MDYIt0BxhbpLjAyARFgnEYgwLgExIBRGoEBoxIQBcZoBAqMcREHRiQgDozQCAIYXqQJYHiRpoDBRZoEhiYgCQzVCBoYmIA0MFAjDMC1jBkYloAmYJBGmIBBCWgEhmiEERhSpM3AgCJtBgYUaQvQPwFtQG+NsAG9E9AK9NUIK9DXRTvQMwHtQE+NcAD6JaAD0E8jXIBeRdoF6FWknYA+RdoN6JGAbkAPjXAEurvoCHRPQFegs0a4Ap0T0BnoqhHOwHYCHhPp4w7UNWLhliix7kC9SJ9QGe4BVIt0b0ZluCPr4fvN6aXi0oGgdgEW0s6Pm9Ozi/32qMJBYhdAgR5uPp9djjP0rioHBS5CBNAsBpWDuIsE8LkROGq6IS4SQKO69DYM3Qjg0MlBbGoIoEn0wUHMRQo4pYHv1X4dFyngU9rBn4+/NqtOmzuP38zA7dvml01Qiz5kg7T+7rn8nXEA75MVenICgHPFW5QH6wzAedlYMMWsL7CsGtfS3XhgWXr35GEeC6wCZVkeT2OB1bKm8pgObTdgswgz3WPNegRQOQ/AvD4xkWeyDvADAVy80hsKkyXssDUHqoMvKeCq3iDUbfSSBK63gaOhPg6AysXrwbDP6HVmVbZsUMAlpbpUY9VthhScdmiPBA2EqK3Gqns1EJw8UW0u1H0auKU26Fs1EJypBpzXYgq4rCxCOVLb74LgaKFd1GIKuKKsQjeEQXC08wcaogts7hIJuOsG2M90B0ngE2UdkPDYw0L7RNhsTQLzFhAE5w7mYWYF1iuB7BtBcCBcj+28+k6xna30ZiBP3RpA+j1jT9cT2UfOxojmSJuWPbHnfxAcGaDqfoawYVb2xB6QQHAgtO0u1smXIUAQHAjt1OpijpAak0ughHapGdBFOyoC21jHQXAgtFMDsEg94/MvCA6EdnEVgzgMEpOB4Cj7/NQoX7+NQBAc9cLnBsW2vdq5li4qHVMD0PZqdU8C1bmeuFQ93EBwVNVeJIHWNxIgOFp4vaOAUxsQBEdV7SQlgD21E24TJLQ108PcbiA4d3gHXyAIDhEQvkAQHCKnfIGK5tMvP7yAIDi4jHgDQXDwvbY3EAQHV05vIAiOFtrhQEVwWqHduxyP97OiYeH1+NWFM1AKzov2MkMWCZ/3+o3g/MnaLanC8/h3shrW/4g0KTXa57+R2bz/8C3W0pNR7/UH0wSZvtqOiPUy26H4mhku5u1gsoRNX231BOdeQKOV6xL7NZJqxbrwfnd9xP3ZdTLh/nY9/dQ59RekakVzGMynzAAAAABJRU5ErkJggg==", + "tools/mwand" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/n9ZMaTjzAgYI+JRygAABBZJREFUeJztmr9v00AUxy3bIfHGS9OEMZmgG0aqBJvN0BkLhOjWFP6ABljYIqG2KwHx/2Lf2b53zp3j9+42/J18qf3R137f+2U3CCzK9GZsO2+w1nozdAbe6c1XzsCF1kq+OAPnWit85gxcaa38znLacEGGW8XaHYgRMbx0B+KbnMIvdyAuc7p05gWAyjzbnnsAojKHcOYBiMp8gIX9xOHAdXtcwFMfwLbMMYB7rktge5tT0ELJBrZlTsFDrktgk73ZFjzkugQ2ZQ4BVr2nDgau5dEBwEOuK+CNPCrAR64roCxzDOAj1xVQlnmqvLoCZZnL0MA72rXxGzNQlLkKDTnXVx/MwIoTAoA+HQxQvPt6lFyoH92hOtgTgcFfOO92LqiLW4aGk+sNLC+OgXMZGk6uo/Kyb/sucClDw8r1VXndbdYBlsVIm1unKtlVz+p1B7gWoenmOrnMgtO6FwSVH9G8EaHRc51cbn8M8rgR17b5Ea3FAZo8KhzMTZcfKxLXtvkRjXkBWq4rHCwzM+BIV5JY50cey5/2CAdwPZAn61LpfQuUWmEcJUP3DeE204BzhINVNhxY10XmBwHPFA7gBYHX1EXkBwEXCgefKby2LnadE+fTti42kSf8+37edyoP1cV4w3s6MOrhLVkrnJ66DBsTurLXZeCYcCRbXUhdRJOlLp+4PEtdiF1Ek6kuK4clZ/TRAFyzcTM0Eijx998/TfZYXaS2Z67weca0V5h59GFLKLHYE5rTiX+s9oRu9x7tCdGS/Wd3ileuzgj2np/GAV74nNDvAfaEhq0Z4mH2hC5O44K3Q+1VWpKmeSTrzMKbVoIgt3pcsYiznsfA6taTvufI6dZpb2Xo3Tru5dG7dfB4AkiesIpTQEq3DkwhLH8M10RXSE0I5ykCbrgLERXCZfZEAUOHibQJ4bW6d7E8YVusb/Ssft0ggGLLx7RYh1CstZplkzxgWqxDKNZahxoo96RMiwWKbvM4a6csi7IQ9Vor1oEsi7l2ZaHdMseiDGG71spxUVgWxVNTI94Ux4ZlUYRQjfIRCjbLoqgC2n/V0Q7YFqsQaovLTQ3kWiy6E+WhAfIsVo9M339NGiDPYn7kIGmBHItlCI/eyRQNkGNxYth/5S2QYTE1vJOZtkC6xdi04YwUkGzx0fhOZtsCyRYL4/ydKiDRYmReBT0oINFibj4tRECSxZlljZ8gIMlivLf8oUBAh6FbKUdAh6FbaYKBPixGGOjF4g4DfVhMMdCHxQcN6MFiqAE9WEx0oAeLhd50t5jrTXeLk07b2WL3X2O89GhNPrqLptGiD40WfWi06EOjRR8aLfrQaNGHRos+NFr0odGiD/3PFv0BnV7vG+XyAcIol08kZrl8xDHK5TOTWQ4fwswSn+r+AbQr7J/LQA/cAAAAAElFTkSuQmCC", + "tools/patch" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA//ILL4farWNRum9GRwAAAcpJREFUeJzt2s1OAjEQB/AmQMDjkIh4JBqjN0I08bjRF2DjwbM+gRxMPK568Ko+sbRd1na7X3TGBMx/bjPb/lJo4bBTpRCIHQ1aR1Oe18YAAQIE+C/B/v0jRcbZcxJ6Bw+xnI7JZ7A+lrcWy2t843lE57434HpESw9M+eChtyN8jyhzwBsJ8NQBV7Y0frndHNouB9vWLj9mdvaRc2ZsZfJeAzSCSl3nRy4pHg5t4a4OaAHVlZ3/VDxcmPyiFmgD1bcBTor8y3yBSfXgLmDffI3TIk91elwPtIJ2Sb8n0Wzysm5wF3Dgb7PepcmcA/YMUaQz8n8524Pqldw/XH+LosCFl/uHKAocBmDGA0cBmPDAfgDO6wd3AXt/DzYBHUDVCMYEQIAckEoRA3nzAQKMADfFbaEquDoBCBAgQIAAAQIEuE8glSIG8uYDBBgBborbQlVwdQIQYBzYlreO0cnuv4NNeGD42jnjgeGLcfFX96LNBYH2R0pu+0O8QbPSTyVbSHq9ok0uk0q24cQbheKtTPFmq3g7WL5hPZIAM/cDpHzPa/rLX0swvU1WTH1P/moH9/JJVvbkr8e4oQc15Xlt768YAQQIECACsWPxA9KK6SODcCK5AAAAAElFTkSuQmCC", + "tools/camove" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADnRSTlMA//MLKV/N36CObTVTrJdvKEoAAAJkSURBVHic7do9TsMwFAdwS6USEDq4QysqGBBULAxVN2BBnKAjK0coV6jYW3EBPmakSlwAOAGsnIbGaRN/xm7eHxGQ3/Zc+6e+xG6TOIzFiFHT4Isoy5dt7QhGMIIR/JfgxvMNrxjHXxemt3NdlUuj82p8P5K3EOca+EjzOO+p3hbV43yqgDM6uKucEbrH+UgCLxHgkQR+Zk3t25fVpA2Z2Fnb+dVBNnq/+DDJWrpPDqAUZOxsnI0vZk4ra7hzAR6QnWbjP/IPhyI/cQI+kL0L4DDP38QBnNs7h4CJOIx7eT5T0/XB7CsVM1Gs46mrcwgoVlonT9Oz1B1QwIYg8jQ9Aj1n5xCQPXD5B1c9RZXAoZKrk6gS2DLAkbtzCNg0wLm7cwiYGODA3TkEbPw8WAYEgKwUrBIRjCAF5Fr4Bk4skDJ+XbBzAQZ5Hw3yiZaTQbVoAKgWjQCVoiGgXLR1fAikAH17uz0JAbk+vcmgPr3JoFk0FTSKJoO2NU0CbWuaBlrWdCmoT1gzzDVNBM01TQWNNU0G9TVNBuWiMaBUNAgsigaBRdF1BbvoktEnBT1tioJruvTQPw5ywb/xA+sF0X8BasE1/BtF/9HrBdfuYqnsck6friGgvoaV8VVA9CUx+qIdfluBvvFB35rBbx69t7erRh/kC8WIYAQBoC/39kmT+j+DhT92vqeB2wYIf3QP3VyAb3+MOXiDBr6FNEtT5CYXfBsOvlG4KXLgViZ8sxW+HYzfsG4iQHnfDb7pj38tQSxuUmgvTrAE/WoH/OUT/Osx1knryJdtf/4VowhGMIIRjBGjZvENosg3YWihS/kAAAAASUVORK5CYII=", + "tools/pbucket" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/rpXGges1xAeAAAFOElEQVR4nO2azWKjOgyFNYHsC2n3gXT2cTLd05l795227/8sF4ItS7IMtsPdRZv8wUGfdSI7JgCPeMQj/pf4tbHert1Wr+6a86aCl6Y5bKlXNWMM2+mNwGMctxO8THobMt+Ax9iqLDPwGM8bCV6sXrORFR3wVsz7zgtuUpbfXq9ph/x8/lwv/RjXq20GBDjfivW1p+n0bxw4l7m6NCLOHDivLHUg17xK4Pm9tPjqAr32AwDfbY19TNSTZAHwOe/rF+IK4BMmm1QWTW8CNvhiAHj3T0t4BTD4dI+TH/rTNS6s6o2MVUdeAOZ7sPRtbBqswvrOYAx4jB2my64jY6/phcBj1PblK15KVVwHxrpanRY+xaUYsKanAZNjzzV+9hEImkaJ8cKYBG0waEWjfDjHp9SywHUIDMSKlfZptCIRYKBWxK/CwAXVBBnwT3Y8MiOBKIuWYBQYqBWdCY7q52nAQK3o+iefqk2otwQMxIoOjyFoHlwCZsw2W3aIUpJFYPC2OLh0mKBCfKZ5B8BAu+J7MIZ1qHdYBgZqxc4+huPBgS/0hRKOuWoCwfdA8LgGDH7gDY5RfAjXgYOBou1mvwwcnS5ZHvSygQt/JgCDGPrn2AfzxfarwCA6FOX4S97vu1RgYMVkHRvHoj2NWt9vFHhxSUTGioG4zDGbJGB6pmheQYvE+W8RmFqLEe9lNhJ4XBz/Cic1gD8+QdYMyVJFBb69bvsrX3B8sUXzWRMcIsDY29ppBT9HT9WkoLVhK/SxwqZZj4Mi6N4z8iB1ySOCNaQf7Pywwgl6avOaC+VXRmjpJEHKbOa3XnTgNGRWFqvxxIDJAUYVkPGqCirAkVUKxsme3qqCmAz9VVMvMI/LazJBB4IaMNyW+rH0BjZB80F/0oFtltdQtD2dqUu8FVHQA2utAL6n38/24L4/Yb+QvcALYoJLTWv/zxj8LcmMgq6cufsJnyIPFHQTbe4eClkrckEcxNw9FMMT8YJueHOZhRW9oHuqVzkeworGCzpnHzNT5FYkgqXM3IpW8IU8z97CZMxW5NZg3fDGV0h6MCtSQTe8pVa8JcKmgHd6qYwwhPkHFXTDm7uF6cZq8M+f2aVyreiYj4HgjnySE8QrXLCWzSgx/vrTKj5qhVYkCxoh6MqSaUV32geuD7GuhVYkfuu4oGzAidFFBZ0DMq1IdgqMOL/MisYLyt+7ZVYkgjtJWGRFK/ikCbrGPRQKVlKwyIoEeR8U1ZWlUHAeM+33aY4V6QaTkYKucedYkQrugpPdvJhuRbZdXgWCwRItWXCYXtwIXzSAdCt+sjoaayAfdI5ICm6MXSDoGneqFUUZq3C4Mq0oB90E+1GZ9xiNOLzqg4V/lhXrhDb/O8eKKctzOnWnJrh8sEm3ots3WsZJtyLuKiwP+D7Vin4bZcUSrixrgvibc210Eq2IwCv7UMDXttHwwOv3It0CaLF2ycDg7XVcOMbvG6V8SROs6L7EaTdf5bZYGH7fKG22WLNilWpBF7yxh5EHDL5DRK6fCwwrVswGBiyLnkE28BQLViwA9mcpViwBhiUrIrB+MzgaJmJFv9eb+bNQ7Pm6qMuAwbcncV4pMODSjpfFAw/ZgtqKuxx4ChPmcgcw+Pn0gIprd+hWAvnc6f7/GiXAwG4J/QvfV7/JWwQMkT8YFANPEdl4LgSG2N74HX/VUm7v3gMM+v2A3A03FkpZ7vxvWpDiXcBaincBKyne/2c8fhPkXuApvqheuaVJ+Lst7dsWeqNit62e/dff7Sb0ZrGX91Ie8YhN4j9O2k4kglwzIwAAAABJRU5ErkJggg==", + "tools/pencil" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADnRSTlMA/3/eIF+gtwhJ9ZJtJCsX53kAAAK7SURBVHic7do/cuIwFAbwNwQy26QwVAwNOoKb9HsEZvYCuQHVFnuDnCFVOvq9AN22HCCHSZCC/SQwen++7eQKe6RvfjbfMCNkItsx2xonTh1hic2bdd0WGhi6Dkr8AmKJ4RwIJEYgkhhSIIz4DcQRwyUQRByAKGIYAyFEBsQQAw8EEDMgghjyQDfxAlwGEHHImWGILAZDZCkQYhaCIGYZAGIR4ScWCW5iGeD+XSxv0fu7OAm0EieBRuIdoI14B2gi3gVaiHeBBmIFqCdWgGpiFaglVoFKogCoIwqAKqIIqCGKgAqiECgnCoFiohgoJYqBQqICKCMqgCKiCighqoACohJYD1QCq7fcgA3YgA3YgA3YgA3YgA3YgA3YgA34H4HzYqAbuChGeoH0mA91A+khH+sG0s9ssB9Iu2y0H0gvfDgASD0fDwDGGq5qQQpgrOGmdqtyYKrhuvpliIGphodqXcTAVMN9vS9SYKrhsd5oKTDV8EQCovCP2/5r6Or8oUqUAWMNN/Gj9w/HdMQarklAlAFTDQ9UJ0r/nY813FOdKASmGh6pShRvH+zOo09UJUqBsYar4cy7eUCphpvhzL29kWq4Hs+9GzCphofx3L1FFGu4Zxe8m1ixhkd2wbvNFmt44lecG4G7jrdmgqgAxhpu8ku+zdS+y1pzk6gBxhoeioueDelF2ZobRA0w1fBYXnVs6j9cteaKqAKmGl5Psb8Ysbs9x/7qxsvEJPPLJf3ELOvrL/OJaa9/jcDFzXlP/96NwHGJwib+eOutXzFboowzP/6YO0h8ifI9dXh4NiBbosS57OHZgHyJss0enhHIlyjL7OEZgfMygh/Pv/TABTaOr5QhcXylDInLVsqIuGyljIjLV8qAuHylDIgrauiOy2sIiOM1hMSNNQTFXWoIi0s1BMadawiNI/qNjaNPEJxncF9fFcAAAAAASUVORK5CYII=", + "tools/plasso" : "data:image/png;base64,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", + "tools/pselect" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/qtn3PIGJDkTU78rPAAABQNJREFUeJztmktv1DAQx6ukbHaP026g3JIiXjeiggS3BhCPGwEEHJeKD8BKcOC2RSA48ur3JS/bsT1jJ945gFQfILsb/+LM/GfGmXRn53ycj39k3OIG7nED4Ro3cG/FDISb3MDle2YgPOYGphtmILzhBqac6m6AsM8NBMYlAvcSOyBk3EC+AOyBfDlCAPd+MAPZAlACuXKEBMITbiBTjlBAeMEN5AnAIZAlAIF7iRqQo0hrQI4A1IEMOUIHMhRpA7h9ABrA7XOECVxumIGuIi1OmQZ0FOkwoCMAA4F0AIYCySWGAskiHQykAjAYSOWIcCBRpEng4ooHCE+nAb+kP6yT9IHnCAoYD/2IA/EcQQAX+TC8CCBapAngF4Dr9knmwIo0Dowr2F/5gVgA4sBCT3kkEAlAFHhi1A0SiOeI2IzLpDQCiwaiRTqGZ/oXX80r00A0ABO4pF+gMreBDiCaIyrdtoUVpg4gWqRzDRjb9+ECLpEckWumzW0xuIBYABbLwYcI0YITiOSIAlbDBdoB5QQiRXoN6iIRFvJuoF2k3w5uMsds4gbaNt9VwAhNmx6gZfRIxV6BZk0f0FxiDMfyCM3rPqCZDGK4KBf4GuH5gUYAJnDQHcwr/NHLCzRiayaM8IfY+PmBRvSXfezlxKbKDzSKdB/MEbWnGgHUnVmk3X/UlmoEUJdbAY0Jksq3o3INzZ2nsGnvGNXMSKDmz5+tMwpynzsKOJy92xhvUZHPmeOAA4+2wRzBo+2AgyVGTSFdt4bcBqjuMG4KaU4/WY8EqgCc1/c/J308Hihlt6iBEaXqCUBVpGsHDwtLMFDmiHy5UziaE6OBMgBzWJWXOIAiRxTwXZaBrYBdAIoPHMA2RzAB04eHh0dHHMCXDejup5V1/lTgy/uHV47ufrP3c6HAzHf+VOArbmB4m4AALn3nTwV6S8ZkYMYNPOABvsjFEZWgpgHTTSGPiZcN04CP66orBuGVScA648XyAyHtScCbzZZAfKCbdPVObkQLD/rCJr1CSrsB5qMKfVt61z4jNqV+/yPRKtKAYmcqRkZNmcNeTHe8wViR8gol7brUL2vLUE15OV+YudRXjI0SVifenqA0WSG/Id+j1S5JSl9PUD74nvm90jxRfKSW2E9W22jlFTJrN08ASUU05fvJ6sfEsqo1ThsFfCCa8r2KB7spv7TXzVaktiJ6xW7usKGivEIZ8QJcrv/9hfdhOoWsBt+ohJMRwKjV6CxHb7qdqSlASZvatPXPeXGFedqWsEo4lLTj/pcP2PtPxFbSKykhbQGsb9o2IyKPtc8rCXRPpDvz0m7EINOUtKnHpUps2k9qcRnTkfat8gol7VIu4nNtaf2JAOs2yYRDSXvQHrhjEtEOnFyifbH+hEwcLnKDiDVzVMLJ7B874LE8TgwiFj3KK4S017IbJIgb+RGTmko4hLTfalea60Rs+KS9q/s/uVr7754L6Es4ZtNmUfs6veEAvvNIOzZtMbvt2hn4pR3bsz873/D7Es4chq3dbvx2vveVXsGlPSMlTw2VcDL093LqHxz4pJ1P/RMi5RXMiOK3CcCZTDjpigXolnYIUCWcYx6g8srYl12eMXd5JQTolHYQUHkl4wGqhGNLOwjoknYQUCUcW9pBwIFXyPdY04CnYtrzDQ9QSPtBQDMIHZ1X0NITBmwTDl4cw4CNtG3zbTPOMPNtMyJX5T4f/8v4C9sfTIwhx+h6AAAAAElFTkSuQmCC", + "tools/pshape" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlP+AO4HZ8U7G5SiAHBLPQAAA6lJREFUeJzt2r9u4kAQBvAVAoeUvuSSuy4REn2uSrl+g7iixXmCo0gP4gWONz4HjMe7s7N/ZiZdvhp+ivR9gt1gU+fl9Zj5QpP3sse3xU4VfDdmrQnemz6NHni3/wSXL2rghzlnowU+PF3AWacEWjNkrgO+mjEZY0yDj28AZowxDb6bSdJjTIL3xklyjCnwMkFIcowp8MN4SY0xAV4nCEmNMQFa30uOMQ6+Yi81xig4nWDuGKPge8hLjDEG3oe9+BgjoD9BSGyMERBNEBIZIw3iCUIiY6RBS3uxMZJgcIIQcowUGJ4ghBwjBRIThFBjJEByghBijGGQniCEGGMYjEwQEh5jEIxNEBIeYxC0OR4xxhCYmCAkNMYAmJogJDTGAJicICQwRgxmTBCCx4jAnAlC8BgRmDVBCBqjD+ZNEILG6IO2zMNj9MDsCUKOMTB/ghBvjC5YMEHImgaLJghpKLBsghBnjFOwcIKQTRgsnSBkOsYJaLmeM0YAGROEHDHImSAExjiCrAlC1j7InCCkcUHuBCHXMRrhBCGbKcifIGQYo5FOEDIHUDRByPEKyiYIOY/RyCcIWV9A8QQhzSconyCkH6PRmCBkUxuNCUJmnbGaXj9GozSZaxb6f+EfXXBlfumCB/OoC3amVm1l0Q/baoLzHlRtZdWDqq0celC1ld3nx5diK4vz5+FWD6zO4A898PlLPrE1W9ldvqT+aXm3w7feVgusBvCnFtgOoForzQDePel4s5fr2UapldvxsLTVAasRVGqlHUGlVpoR1Gnl3Mlwgt1rgMvJkfivBlhNQJVW2gmo0kozATVauXRyvfjs5eDSuUkptHLjgAqttA74IAc7B6yfpN6sdkErBeceKG7lxgN/S8GTB4pb6TxQemRa1D5oZeAcgcKD7AqBwlZOCBS20iFQ1srYyQS0EnAeAEWtrAKg6HpxCICig2wXACWtQCdf+S9TSSurICho5RAEBa3sgiC/lUknDrjlghUBsi99zwTIPjI1BMhuZUeA3OvFbU2BWx5YkSDzyNSSoPZPSMyD7HB0DYG8VpxOPHDLAasIyGqljYCsVpoIyGnF7cT/sXVfDi7rGMg4yFZRkNFKGwUZrTRRsLwVrxP0k/q+FPQ6QWBxKzcJsLiVNgEWH2RTjyWUXvpm/vsRaMtA9MwNAgtb8TvBYOH14pQEC1tBzy3h522KjkwL9HYM2hIQPweFwaKD7CoDLGrllAEWtYKfJUs/7VyYb/AbZOQ/D7t8kpmFSS8AAAAASUVORK5CYII=", + "tools/oselect" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAIVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABt0UjBAAAAC3RSTlMA//LQpAccgTFNZyP+yucAAALySURBVHic7do7bxNBFAVgC4Jx6GZtnlUSHhIdCwhaIyRCSYCKykBByxZIlAEhamhCayRA4l/i3TjKxnPuc6awyJzKSrKfdnZed9YZhGUGi2T5XMACOsFBphSwgF6wpGQdsv4z5T8BR7/ublfXdw9yga/q5Zb2cD8LuHnkhTD+lgNsQtCJSnAj9DOZJYPNCTDcTgVHYSXvE8Gzq+AkEfy5CoZpGlhHIHmLKjB6hIvMU8DzALzKgVKiPlmkmomX0dkDIN0tinxHINVmTeJR07b5mR98hEBmtoipIXgrN0hPPzHbEAwz8oL2txyIPfwQO0sAhwR4Mzd4zQuitaHNODcIeyUJRL2iATcp8E5u8Epu8LITvECBqJuTQNTNaSAoctLAaW4QjBsNiHbRw1zMDYKNSrAEEA1ERTZI0LkL0CBcwFLA4NubUWmzzL4LPEODcxe4R4O+6uETDU7xFe2vGBDWSoeJ515nCSCulbpsucCaBuPJrACpfb7NJQ9IT2W0TSnA5wwYLzcKkOlkUN7I4JCoDrvE65cMvmA8DzisOTBeEEXwM+c5QG7MBLTCCuA5Ztq5wLe8ZwZH3JDxgHyPLFJhkIp4gwBk80byjCA/ph0gO+mWMYHCGDSDdFnoBOUuMT7D2g/Ce1e12DJTNC02LV+NBjSs2NxufBzDJsVUmb0Y9uXXKnBLDzYqcKoHxZWry1wNkmfkk5mpQV2fgHMKBTKFei/U0QyATF3di+E0ypVcxzEcwBuNZ3nnUGtAy2sWFUi+WQLRjOux5eioAU0vYTUg+92UA4TvI8nUMjg3gfImb7tBeWBXpidIfJ/QzwPu6vYPVn7EncfaTKgx2FkAlKp/ssEUyB7IQvjAtxaAfK88IT0a5KrNp7RHg3TBXnEeU9tQR4rxb85jwFENPeELcO7g8xJwN/7wHH+S+hJxH+UllQMH7/qtlv+BQAYHwx+Pd0K1c+/+7t+vGk0EHTmtYEnJOmT9Z0oBTwt4hGb5XMAC2j//A3h4W9DVFaS2AAAAAElFTkSuQmCC", + "tools/qselect" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/wvwy54pPXlb5S+ZHgAABFJJREFUeJztmrtzEzEQxj0mcXCpscOjM5PQ43HCo7MhA5RoDEzowpD0GApSOg0ZOjwh/y++s30P6VutdnVFCn8FQ+7xs7TaXa2ka7XStDc9+puIqOvKmP5Zg7xds9TLBoGzDGjeNQec5MDevCle16zUmBkP1sDGzGg3QPO2EV6n4JleI964UwLN/qAB4KICNC/See1hFWjmycDdGq8B3/lWB5pXqUDrAM2HNF7X5aV2escDJnb6ygcmdbozBMD+QA/cBTxjxnrgDAIf6oETCNxX8+5DnumpgQcYaNRA23AL94gGqm0IwiTXYy1wQQDHSp6TWwupIwWHiTGvlTwvt6Y2kAgTfbLxc2sufdwRYaLPhhbyHql5MLemTMzYaRImlBni9b7rgdBpEmobmFt7Z/6Dl9k/mwey/19jIHQaP+j2psYFmmNoFwt4ftB1JsYHwuIC5lbfp61BQBRNKLf6j50bDATVOCpB5l43hhTQcy+UW/3E/9NQQM+/gNP4S4D1r0Jgb1B/FsSd79M7JaSq1dVx/aKfC4FPL/Ibx+7laX7ZyUq+DX2fXj3j+1xngvpsHR6YSFZ2Bvl2Za/55ncvP2ZO5EYeeC83IZwQbGnE9u2yvf2WZ0T03gzYvvJTeRHZnRbNqfd5Dl67wkPVWif7bFQuhmV7arEH87SlelzcuigASx9uVxKsMk+fl4TMiQ/LP5+reE9NvUntwoq6tVN3WDVa1qYi/FTFUac+J+VWu6FdhteNqSuz4rrTqtrDyy55supkbqmqPdr+JJx3tH37ZqTaCTn3eBF7XdlDxK0O4BnzWQ/EtW+PIdJAonDj2kgDieKcsyMJBENc6P1AAaQWYLmOz+RAGwIGAo8CEquHjfpiID0kuei1MQUMDIkKyPQ4sB1A3KS2FdRAywEHMiC1yFa3kNiZ0QPvcTzplsqiaSDjhaFIgcK5uirhJMqPiRAYTF25hLPoVxYo3JZCC6a6HsiA7CCbZ+S72V33WpvlBTbOEJDNXaFSCQGp7bKK6NIGAXmvobMXBD5heYHIQ8AFCwz4NQJaFhhwQwTk3XAsAka44VwEpPapS7mrXgaYlrwAkHfD0EEHALIzVHALHABnLDC0DAVANhsGZygAtBxQmF1bQw4oXOaxc2jIC5HY9Co9HWPTq3Rhy7mhsArh3VC8d2HDPPnmCpMNuZohe6Z2gUle7EcNHpAZZPYYwQOGFxS8BT1gODXw34V4wOCYRNSZLjAYeP0Il3GBIRP2YzZrXKBN5LnAQI/xeQgHpHsc2rgIAKkxPvodh3OBRJj0v0Q2zwPCITm6jsc5wENAO/0hoDnADrCgjOYA/41Gw2X8j0YnJ59O//waqIBbbXUXlEVv+IBGqIgjJJlmWXyN0Z3ykEukqGM4iSIPCuMlO8qM0SJvSdxha5Qkx8FRkhxYx0lwpB4nwaF/pASfJUTKYqD+MyTi046Ej2jiPz6JVuznMVttdef1H+UXTUp3lXy7AAAAAElFTkSuQmCC", + "tools/rect" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlP/AAaP9yvWlf28D3KXXQAAAI5JREFUeJzt2qENAgEAQ9EmXAjIw6BRWAz+FAucQSJYACbA4BmZsAJUkfcG+Au0GcsiKCgoKCgo+ENwvqbkdPwE949WL1ndx2xevV6y3mXb7CW3nLvBZw7d4CKXbnCZqRscujkAAAAAAAAA/tbUzQ39Sb0++tdvCfXjRP3aUT+f9O8x/QOPoKCgoKCg4HfePOIKnncZ9gYAAAAASUVORK5CYII=", + "tools/rselect" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/iyWEiMAAAA9SURBVHicY2AYBVQF/0EASsO5g1EQi9NHBckXHAUjEwzCpDgqSAfBUTAywSBMiqOC9BAchE04bIKjgKoAACuiXrD5nX1PAAAAAElFTkSuQmCC", + "tools/ruler" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAAAsSURBVHicY2AYBaNgFIwY8B8LGBUcFRw8ggwYCkYFKRQcRVRDo2AUjIIRAwAZE3u9DtJG3wAAAABJRU5ErkJggg==", + "tools/sharpen" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA//GYCstmMUUYT9HGbgAAA8NJREFUeJyt2EtOHDEQgOFWnARYGkT2SBGwBIlNdpFv4FXEDucEcIPkBpATZ8rd7vaj/Khy1WJgJM/PdH/jadTLMjZnr4MLR0c9CAfNd+Gg+yYctNeyvTOtZVWU1rIqRmtZFae1rIrVWlTlZCKroiAoqWIgKKniICipYiEoqOJNJFXUGpRTMWtQTsWtQTkVuwbFVDYTORUVglIqJgSlVFwISqnYEBRS2U2kVNQRlFExR1BGZTW5kVNZTR7FVDaTDzGVzUSJqWwm52Iq2z5ZxFS2fbJIqYR9skiphH2ySKmEfbJIqYTvru1kzqvYPehEVPbvrkVIRR1BGRVzBGVU3BGUUbFRUELluJ6cnvwTUFFxUELFxEEJFRcHJVRsEpxXia7x8NRMq6g0OK9i0uDZtIpLg/MqNgvOqkQma3BWReXBWRWTB2dVXB6cVbFFcE4lNtmCcyqqDM6pmDI4p+LK4JyKRYJ/J1QSkxD8NKGisOCMisGCFxMqDguu/8jyVCwa5KukJnuQr6LwIF/F4EG+isODfBVbCXJVMpMjyFVRtSBXxdSCXBVXC3JVbDXIU8lNouAXlkpuEgW/slRykyh4ccNRyU2iIE8lN4mDHJXCJA5yVAqTOMhRKUzi4GeGSmESBzkqhUkSfCOrlCZJkK5SmiRBukppkgTpKqVJEqSrlCZpkKqCmKRBqgpikgapKohJGqSqICZpkKqCmGRBmgpmkgVpKphJFqSpYCZZcCGpYCZ5kKSCmeTBD4IKapIHFUEFNcmD5wQV1CQPUlRQkyJIUEFNiuC4Cm5SBMdVcJPipeMquIm+zdcNq+AmWj9l64ZVcJMTwHu6blSlYnKa+3ThqErFBOYlWTiqUjGBufqZrPTnpq9SM4H5Va7sq9hG8PJPvNLfeO+q1E38QcdLx1QaJjA/oqVjKg0Tf9DxG/Jnp6fSMoG5zdf2VGwnGB/iiErbxAeOHTii0jGBOXbgiErHxM9Len7aKj0TmGMHDqjYgaB+To6nqdI3gdl3YF9lwMQfdPL3WyojJjDhcmDhSUtlxATm+jVa31Kxg8HwYeypjJn4eYjOeV1l0MS/rffjHdRVRk1g7o5zVFcZNYG5fNlfUVexhOC6A/3NxKoKwQTmuatCMIGBHbjeTKypUExg4Nw9wi81FYqJn6fttlVNxVKDpw9jS4VoAnPfVCGa+HloqVBNYK7eH+EHrkI2gblrqFhO8PI3PKIqDBNf9I+YCsdkH0yFY7IPpsIyCYOp2JkgosI0CVOqTJlgKlMmmMqUCaZi54K7yn+5QWE9MWT65gAAAABJRU5ErkJggg==", + "tools/shbrush" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/t8Sg8BxMFAcKotE6AAABUFJREFUeJyt2suP00YYAHBDkk1ynLBpy40A28cNVhuJI+Gh9oi7XRC3tAhVvRVUek4QSOUGqCDx3xJ73jPfyx7PZWVn9vPP87DHn11VULlzTyl18gz8LS5fBHWq6n+ly32+6n+SeGcmnlrs2LoPBPFmKxtQfcNWvhAE3Chf7nKVF3y8dRBPHTOVp+pvLt6oDgNyxLHadgKyxIl61A3IEW+ra92AHHGvvhUCFzJizbWJAS7/quZvJcTDkSXAZTsWPvHE2eFnctwY4FZvvWaJE6ZJDPCHeJP4lxeHX6+wwMV7uz3miDV9Akb0k9+zoYnT9vi3xECWOKFbJAdyxH3741U5kCGO9IVz2QFIEycqGmUSIE20V+LvOgAp4tjOdniywECK6G8VEBED4sRPypetHIgSg3vjoaOz/8OBCHFaq7Acp9MFB8LEWRxPqe/jiBQQIn5eqbQcR11NAXPi/HkWrvnvn6XAhDh6k56uLSd/yoARcY6Ga0P+8l4CDImigBwwacV/7zGnzAPTjv4n7+SwUyYsMOvo6SaLFwybDQ/MxuLojyReMLBnAqC+YQbEahQbw6l32u5h1jxT22qWWM3rIF50cdCH2tEBXzqK2zUOAm6DqnN9CCEwnNF7ty+6wOoDobfCBBgSZ3bXIrouXE6OywAhYnwH0HvpPg6AUCtuo8obvgkNcLlPiTXU/qv4qATwfJoSX7TbyZRQbEALvGVHtyOOgTPWAclnOgs0y7dwujSHShfZrNB2ceNKiRsAA7UrBGwPmhI/HDZuQAEVvgr1YxAgQot2aChBQJAIPVZoQOoGgCBxlbdWTfeKAa4Q4iYfIGb470jg8g5CBB4e9fXVPezAwHN93Jx4KX+8NTMcvgX4STKDiZP8OmWW8vBNygBvVBVCPALaao8TbRc3DQ8Tp8CF70ihRDcGtyjxOnBev2NEPwZxIpQIQonBhRolgqkqhBhOEpQIJtMQogE+rSkinO4DiW4MrulWFBPdJBmRRLgARD9JqmGIL/0xBiG6Lm6OMQTRjcGBiMEYHIYYTJJBiLaLVwQxW+lQRDsGP+JEm8cSEd0YnONEl7mUEP1qBiX61KqAaLv4cAtHiQ99r/FE28VNHIwYFJ5ox2ATByU2JViXkURXGOLyTEh0hSGec/nFiOjioMTDlY1NgXqiXs0gxFMDZFOgAdGsZkCi/ttceuVEu5oBiWsHlBPdagYgPvNAObGpgBEXAVBOvEsQA+AwxBA4FNEBhyKeB/9QRpynwFLiOgOWEYNJMgwRAhYRIWAREQSWEEFgKTEHlhEBYBkRAjritgsRHIMJEc8aAkR4DMZEPBuSE0mgI+7kxFck0OYa8PfXGRHvYl0+tBWIRGRKZIBGQCS9ICIBFOT5ACIBNPWppFdOJIH6QYNMbQbEUx5YXWoHA1XDE5kxqMtlVuiJ9CSRB7TE+xJgdZvrZU9cSIC64+AXrxlRAtSXByZlH666OaBeAnDfohzJgfrF0Zap5YkcUDch8UlBQmSBc3Yqx0TuFZO5haG53JzIvAQzC8cdH1BI1F3CvDjqQqylZywkSl42diJqIJJq7kE0QPajMjGxG5AndgTyxK5AjtgZyBG7A2liDyBN7AOkiL2AFLEfECf2BOLEvkCM2BuIEfsDYWIBECaWACFiEdATPagM6IlWtC4DeqJ5djDJ3/5Av9J5EmwVAIPFWPOxztu0RUuI6uTBr6ocCCSSC4FAIrkMmBNLgSmxGJgSy4ExUbjcoktIZFfyouITBj8OEs9/bXmTfYYQFvO95eOh4jXfDF5c/PYO/u0rQa7h7oqGVTEAAAAASUVORK5CYII=", + "tools/smudge" : "data:image/png;base64,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", + "tools/sponge" : "data:image/png;base64,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", + "tools/transform" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAABVSURBVHic7dbLCQAgDAPQbOD+W7pBBMEPFMGDYJTkUnjHEmgB52hI1pnI3EETQ0RRcHURwdAEGI0q2Eo7bGqy8VsUrKLR2FHwlK9w/2O5i4Kri/hICvTnbL6rQpevAAAAAElFTkSuQmCC", + "tools/zoom" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAHlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3KG9qAAAACnRSTlMA/oNIHAXwxtytrZ5dxAAAA+5JREFUeJztmz1zEzEQhm9sHwylAthOd4kDpMQZCJQmyQToEjIToCN8TegwCcxQms8Wp4C/S2Isne5O0r5a7WRSsO0p7z2rXe1JKyfLXLa5/OfHQffw8/Id5+NIy9d+K2PvBjupenuW3Ezybpre2oGqWXeQIJffq8ud2RHb7fy+S0+pr1xFj96pIk/voU9PqWOO3hO/nlI34vU645BgbxQtuB7SU+pVrF7QYYbTYYcZTgcirC0q0p0JLdiPQXxE6yn1jQ/4YbCVZVtrt9iI1Rn8YirW3ipvFvOx9VfVclUpZz20SLRsvZXqsw1bsQAFh9bfrNQfblgPr2J6HQvCMU3WBHdHkODT8i9eup7fLJ9/hASXiMSwkmoB0bM89uRF6TTk8xUzfNGTFvnUDPkFCJYxLnxDyrwC4pxPKEAbsU/ndhsJYZkIt0nBZ+EQ/7My0N9JQTOFwenBRs1sTIbkzExYepReGxxp3ktNYgv05QHkyKntgwPNi98Qgnq2qUVlFigVFZ2y5LLXJWSRGKdf/JoS3NauhNeKCTK56k0NCYe5hQ2zX11A7+1Telk2gXy5hMakjMqL4Cidr0Cd0wl2DRp1nRbchd6t/XhPC16GZkcLFrRgCxKcxguGl8oYTcMyEcN1bhIvGE5ZvZRHtGBnPrR7voJ6gQJbyVyPPV/Biz+H4mkjntjiS0+8OIiXr+F8lFiBFf8EiH+k9GeU2A+cWq7XQPgzKv6hF9+KGEfCU53BmyX57ZxOBrENp/iW2AwkJnEIvlj+WCF+8AEPXevQqJmJHx7Fj7fiB3DxFoF8E4Nuszw2A7DWknQjKKZVRSfNjMBqph01H9vdSowQb/ehHUS4IYkiVlqmqtoyVTXDEGtNXXNZtrla1wMRHW3nnbzRdo5BhBrjKYghwxCBy4VIxLE0InlBE4tIXSHFI0Y4DSIGnR4wEMMXhUMGYvAqs10pEiBi8LK1ErSFDLtaCV0HVxGVevvzBLlxD1xYO/IK8dx/pe5Y71Bw/Jf+jpKEIGbenyVwEf3mSFQQ0WOO1XnREHNxxOfiiNOLj7gkjbgvjThsCqYhOgTTEJtzmIjoEkxCdAqmIDoFUxDdggmIrignIXoE+Yi7bkE+YssjyEZ01NhERN+Wio3o3UeyEX1HED6i7wjCRtz2CPIRGzu0VETfgYGNWN97/kcUReQK+soiX7AtLehD5At6EPmCbkTgtwNxiFRfPxoxaZfjQiTvPGIRgcu3OMQiSbCJCP76D0dM3L83Eckf7cQiAnfAUYhJae1CTPY4q5XudI+rpTs5xjOzEAsRwXIbIQNYbsZ6EjN4ZvP9Yi/xfzBsxeVP6vBkzvcXqtJVkbl96cQAAAAASUVORK5CYII=", + "tools/corner" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOAAAADgBAMAAADoA3fSAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/xaV1VS6IRbyAAAA2klEQVR4nO3UwU0DMRRF0cgzLuCXMCIpwBINuIQR6b8WRFaQsGDjt+GcBq709O3LBQAAAAAAAAAAAAAAAAAAAAAAgP+upYNbOnhNB890cIR7rcLBng7u6eCRDo50cIaDvcLBLR080sEzHZzhYKtwcEsH93TwTAdHOPh1M9FgTwf3dPBIB0c6OMPBx80kg1s6eE0Hz3RwhIOPjy0Z7OngHg7eZjTYPqqSwf5e0eDbrGSw3auSwT4qGvw+ZyD4c871wac5lwef51wcfJ1zbfD2OufS4G9zZt4h8Befs4IbC/yY1jcAAAAASUVORK5CYII=", + "tools/slice" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAFVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQCkAAAAB3RSTlMA/4Ic5F+tW+as8wAAAuFJREFUeJztmE1u20AMhQ0Z9n7SNGvpBjHgA6Qo0HWNAFnL6P3vUEeypRmJ5JjvcSnu/eEb65Hzs9vhdeiJH0t1fnuPBV7T71Bek1L6Gwk83YBvgbz9rxsw/YsDHr956TXuu1wGYPoZxRtXfKs+CHi881JUGLsHMCiM+zRXSBjPGTAkjNcMGBHGQ86LCOO5AAaE8VoC6TA2Cx4dxtMSSIZxaruoMB7XPC6MFwHIhFFaMRVGacWJCWMnA+Ew7hUeHMazBkTDuGy7rKAwHnQeFkZ9xQkLo7FiKIyrQVOWP4ynYKDcdnO5v7PSdo/yJ/Fi8vzfpLLi3i1or/jFzVMHzVj+zlMHzVDAQDTbDhnZZtsBw8saNNCkMVfcAkBrxcgWZQ4aZFifDB6ynVhtB+3yVtv1AM8aNEAT2yuGtk9jxdipRh802LnLGDTYCURvO/DsqrddiwHVvxA9Z6qNDB//FUX8giIrMvdGUbHHeaIi1MSWIvc6sFYk7slNKyhSX+RFUCTutM3YYaUicwHtxg9aKraU4FqRebnoHpnLFYnINPMSY568urktJkUmMhMkV+x5wUKRaeLsQ8yKTBNnUZkUmcgUYb4rUs9xRbvdFZnILAbCoEi9Ii1G1qDYxglSE0ESZHcRaWPiFIV9iVIUN3dGUdzbCUXlgIQrKucjWFE7wb0GC8Lbp3rERGeXegj+ESyYPoIFwf3JuG1j+4nx5APNf0MQi6EhCMXQeq+AYmg9miExNB9UPoIFkRjaT8tADO1nx+i3byCGtqA/huGP87agP4YVQX8MK4LuGNYE3TGsCXpjWBX0xrAq6IxhVdAbw6qgM4Z1QWcM64K+GD4h6IvhE4KuGD4h+OczVNCHqwo6cTVBN84W9ONMQQRnCEI4XRDEaYIoThHEcaIggZMEKdxakMOtBFncQpDGlYIBuFwwApcJxuAmwSDcQzAMNwrG4QbBSNxNMBS3233F4rbaaquttrrXf2MxALTWF1Y1AAAAAElFTkSuQmCC", + "tools/sselect" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAFVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQCkAAAAB3RSTlMA/xyD5GCvZiOPYAAAA7tJREFUeJztmU124jAQhP0gsNeQZE3eywHwDcIsZg2zmDXk/ocYYrD1V9WtlrSklzIuPnWVZCOGob42h4abUX2+7/sKXt3vrnpr59ypp+DHTfC9p+DxJui+++ltf/Tc676b4HkSdG/oWk2eVse7oLuAizV52j70HLq5Jk/jLIhudq/mPK2cr/xm0lqpXgLBPIy3Qasv10AwDyNprVCbUC8PI2mtUJ+RYNax6VtMvlxjwTSMPPKk1ole2rH7oMGXj1Qw6RiPPKljJhiHEX6LUNtcLw7j7H6pL2cgGIWRuU9qBWYch3EZLPMFzTjG8Y3YU5WgRiwYhNGPlfiyInoBTtCIAl9emKDHwY1glS67oGaccEz1ZcPUnA8jbgSpT6b2U9+5oOqLMOMljPGY7Eu20cT1lgsqvuQbjSoo+wKXna8TEpR8IcturocBZBjVWdSbN4hsnPqCN5qlLgMW5L7IM94NTJD6MoqCJy5IfKEbTTIvcBH7wjcaF23Z6Cr0RVx2AYPM70vaaKLHHvwA8EXcaA6aIPBFmnE0I/yRzBdxo0FvDkllvkgbDXq3kWcxiBtN8sq5jF9yI3xJyy65cR6Wfwqeud4u+ShuRFLSRpN2m42XzjhbBGw8qpHq5b9IcWeTGXPAvFOPLxIB+UYDrGRfFBZfdmDR3y/ID3jaQtT56UKapaToQkYc04WLLMgQYaMmS/aKIEbEt+mWUEQ8L90Shkgar1vCEAlGgSUYkS3WEksOAJHe5dwvjW7cAURqpG7J+r7CYkS+H+uWjHfbYkT+pqtasp7vDxGF7VO1ZJwzFyIKbdIsWfspekRpaWmWjH5ZLIgtJ5GLSIh4qdfz0wwQS5aqChgitpw3B1FZEM3HgxhwQWw6G46W2wOx5cg+2RAmxKbz9TEWnBBb/vbINtXW/1DGVLAlgAiwFTEDbESED/cWRADYhEhekOoRIWADInuDk1917YDV/2zRV8zavYsB6q8ZRkD31Rmw8vkk/Nque55wQLfvDFgXQwGwKobSeUVVDAXAqhiKBypfnQFrYigfLVfEUASsiKEMWBFDGdAew6LD+X6A9hgqgPYYKoDmGGqA5hhqgNYYqoDWGKqAxhiqgNYYqoDGGOqAxhjqgLYYFgDaYlgAaIphAeCfv10BbXIqoFFOAzTLyYB2ORGwRk4ArJLjgJVyDLBWjgDWy0HABjkE2CSXA7bJZYCtcglgs1wM2EEuBOwhFwD2kVsAO8nNgN3k7oD95CbAnnI3wK5yw/Cvr9yznvWsZz3rUf8Bse81q69DDhYAAAAASUVORK5CYII=", + "align/h0" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADpJREFUSMft1KERACAUw9Duv3QxCP4hMaWXyDdAZN2BL+gdCIL9GLigr9GjYNQRCILdGLigUcS9y3AByjBczu6rOJ4AAAAASUVORK5CYII=", + "align/h1" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAAD9JREFUSMdjgAP+D3DmqCClgv+hYFRwVHBUcPgLDsIiaOgK/kcBg1gQ2dGjgqOCo4LDW3AQFkEoYFCU3sNLEAC7t+0vT092rwAAAABJRU5ErkJggg==", + "align/h2" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADtJREFUSMft1bEJADAMA0Hvv7QCIUUCKW2QzX95A0jxSWAG6gSC4Hw0nKCmqCdjjCsQBGej4QTt+KMqXIMKXM6L8LJqAAAAAElFTkSuQmCC", + "align/hG" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAAA9SURBVHicY2AAg/8oFMOo4EgRhILBLjgKqAsGYRRjF0ShRgVHBUcFh7XgICyCRusj2oNBGMWj9dGoIAMDADy/vlAXYw0vAAAAAElFTkSuQmCC", + "align/v0" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADVJREFUSMftzqENAEAMw8Dff+kvCCgpKnIlm0Q6lPeHiHinvpzFYu6KoigCMYmiuMCERzNsBQ5SXM5ajT16AAAAAElFTkSuQmCC", + "align/v1" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAAD9JREFUSMdjGAUjFfyHgkEvCKFGBaksCAvuUcFRQfIEISSIgQCDUXAQBt2o4DAQHIRF+lAUHIRNDpjgKBjhAABYnu0vd1/ipAAAAABJRU5ErkJggg==", + "align/v2" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADNJREFUSMft07EJAAAIA0H3X1qLWFoKRvhvAtcniLzLzh41IAiuoE4GgiB4jsoef5RDhlhaoVzOaTpIBAAAAABJRU5ErkJggg==", + "align/vG" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAAA1SURBVHicY2AYBaNgFIwY8B8IICSCNRgFQU4FI1TWqOCo4KjgMBQchEUQrnJpFIyCUTAyAAA8v75QTRCbbQAAAABJRU5ErkJggg==", + "par/center" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADxJREFUSMft1MEJAEAIA8Hrv2mvgPhQIaCw+5x3yLtSJIFzJPdCwTKyTn8hgUXkPu3pQsEGsk6J/9yNN/ro8VrsBbRb2AAAAABJRU5ErkJggg==", + "par/jall" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAAC5JREFUSMft0qERAAAIxDD2XxoWQKGeu0RWt77ohXiP+DM54s/kiD+TI/5Mjk8MbhM6G2PsedIAAAAASUVORK5CYII=", + "par/jcenter" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADNJREFUSMdjGCrgPxYwKki+4CgYTZ+DWXAUjKbPwSw4CkbT52AWHAU0TqKjgiQIDtnECQDksdpsFfT2ZwAAAABJRU5ErkJggg==", + "par/jleft" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADNJREFUSMdjGCrgPxYwKki+4CgYTZ+DWXAUjKbPwSw4CkbT52AWHAW0TJ+jgiQIDuWUCQCCPtps+DDFCgAAAABJRU5ErkJggg==", + "par/jright" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADRJREFUSMdjGCrgPxYwKki+4CgYTZ+DWXAUjKbPwSw4CkbT52AWHAVAQONUOipIguDQTJ8ARzPabNnvzlgAAAAASUVORK5CYII=", + "par/left" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAADxJREFUSMft1MENAAAEBEH9N00BPJAQkt3nvC8nX9IgsI80u08wjWxzIXWBSeQ9fcP7BAvINoP4z9v4JAPCelrsVzGixgAAAABJRU5ErkJggg==", + "par/right" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAAA7SURBVHic7dAhDgAwDMPA/v/TnTS4BaUhlXzQ0FVLtED0I/LkZKIdkfQuvpOJdkSenEy0I3L6Q5zEFQ4Pd1rsYDTK0QAAAABJRU5ErkJggg==", + "par/lind" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAABHRSTlMA/3+ASBS0bgAAAMJJREFUeJzt10EKAyEMRmEvqWaRhUfIEeZoOVppO8Isyvg2FUr/t/6EIAGxlLNaC0twCetNgoK7IUpQcBMEayso+FV4XOBtg0KjsFFYDwoHhUZho/AcEsBBoVHYKHwPSeCg0ChsFL6GXD7s9RwSQaOwUfgcksFBoVHYKOwUOoVBYULY6YU7hUFhQtjp4jqFQWFC2AuETmFQmBD2eWAFncKgMCHs88AKOoVBYVI4+5U/l+D/QJSg4CYI1lZQcBtECX7qAUpgeWwtR7NGAAAAAElFTkSuQmCC", + "par/rind" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAABHRSTlMA/3+ASBS0bgAAAMhJREFUeJzt17ENAyEQRFG0RASUsSVQCqVRGv3YZ852dHs/QrI8E63ECxY0CSmF6T0+F/yOVxEU3A/jCAruhVFtBQV3wzgfaBQWCp3CAaHdXeoNC4VO4YDQbh/+BIVCp3BAaB3CQqFTOA54VdxV3he0DmGh0CkcEFqHsFDoFA4KJ4WNwkphpnAtSWCjsFKY1wyKOylsFFYKM4XHkgw2CiuFmcLnkhA2CiuFmcI0KWwUVgrzT/y5BP8HxhEU3Auj2goK7oZxBCF8AJvVRYAg9TkgAAAAAElFTkSuQmCC", + "par/flind" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAABHRSTlMA/3+ASBS0bgAAAL5JREFUeJzt0rENxCAQRFGaZCEgoIQtwaVtaSfbZ0uXwE8OEcxP/ZBW1qQj3eWcxnUKK4VGYT4o7BRWCo3C75EAdgorhUbhfSSBncJKoVF4HXnCPOj62CmsFBqF55EMdgorhUZhobBR6BQGhIX+8EahUxgQFjrcRqFTGBCWBGGj0CkMCMvzYAYbhU5hQFieBzPYKHQKg8LRWK/BCgouhErt1Gy473gFBRdApXYKD1ZQcAFUaqdGw/2Zr6Dg/+EHdgSj7Otco54AAAAASUVORK5CYII=", + "par/bind" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAACVBMVEUAAAAAAAAAAACDY+nAAAAAA3RSTlMA/4CE6rqMAAAAq0lEQVR4nO3SMQ6AIBBEUULnQTySxpKjeAnvKyFkwWZ2YpRQzNS/eNlsCI9dm20PaGsLDxguLUwwjC08YdiQmNghMbFDYmKHdIiG9IiG9IiG9IiGdIkV6RMr0idWZCLCSBILkiEWJEMsyESFkSRmJEfMSI6YkYkM40mG2ott5BTiUPtm9KEVKhwQatpM8x7XnlehwgGhps00+mEVKhwQatpMQ4/7eF+FCv8Pb7YbUtgjTuk8AAAAAElFTkSuQmCC", + "par/aind" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAACVBMVEUAAAAAAAAAAACDY+nAAAAAA3RSTlMA/4CE6rqMAAAArklEQVR4nO3SMQ6AIBBEUUPnQTySxpKjeAnvKyG4YGJ2plBCMVOSX7yQnVaw6Z5ChR1CTRtp6HDteBUq7BBq2kijD1ahwg6hpo0073Af56tQYYdQ+2b4w8u3K3RD7Y+d9Yc3N1xquLvhXMPohqGGB4n0iQ3SJzZIn9ggAdGQiGhIRDQkIhoSEgsSEwsSEwsyEmEgiRnJEDOSIWZkpMJAEhOSIyYkR0zISIbheHm8AHEKUti+lQcfAAAAAElFTkSuQmCC", + "type/bold" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP8T1ns2bBtESgAAAkNJREFUeJzt2sFSgzAQBmAG7QMg9Y5o71bwjkLv1rbv/yrWHhz5E/bfuOkUNXvU9JtkE9KwTZalSDGzKORomqYdhk0dDfyCh/e44Mms4oJFUWrIEPDYy9fIYFFuIoNF0ZJhB4NUPEa9Xzsf+/x7Xh+GvnFFCmbZvRc8Rb53yCcO5k4Xv/8TB1B2XHwRwCx7AHFZUXArgo7IB30lg9kOBk27yEBMMu3iNQFxHSzNIHaxs4K4Dm7NIGSZTQsHF9Cgk0Fs7oIZJPHZDEISyTwrQNxA3qwgprmzgthEflgUIC5tOYkKEKe5NIO4Z4qzogG30KSzgnfQ5NEK4p4pTvNPQHHD0YC4ssV1MwtQXIgaENuYwfzXgb42QaBzlowNzj+H8wOxzfyf5eigeT88+45t/k7Bw01nBbexQfyir6zgetzCfhQB0HxYin6cw3UtrhoNiMtQPhIrvi+24wbynGjA9bgBeQvgICZFTqECxDmRU6gAIYXs/ZaCoW/gFIQR0xoBBWFnIK+OHMQOkimh4CIwgwxc9IEZJCCWgWgFQwZXPXp0RqbAvF7tB7fcp6h8ecDp0NTmgkBe1w0DNQkMAZWeGtR6SpBXscPAlj7BAWCp/73CD4Z8OIEJTGACE5jABP4zMKgcmsAEJvAfg9WfB50NNuC17kJgZwSdGuzsQOeuCKmIhoM3RtC5YkSv/JBwrmkpCnBSuBfJjLPiXnWzjdnTQdUNucnYebyi1FXNfP3rfd4x2uFQ11WgNmGNIoEJPDeYIsWF4gNzXiQHsVY9vAAAAABJRU5ErkJggg==", + "type/caps" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP+QI+W4xTrlFwAAAnJJREFUeJzt2s1ymzAQB3CNcR4ADHc7Tu8mcu927dzjJH3/V2mbQR+IXe2ujJtksnsUv/kLCRAfgzFaWlpaWu9VA9Wez7/vt7bIgXCop22By8G6/rUTuzysu53UETBIrqNg3exkjoT1SeZo2K5F7l/ZjW9dV/bvrlt7/xZkI3XGLAJ0TdWPetrIdcZcgLY90DXXmQ0Aq2iAUmd6AEYDXEkdDMP+tDuhM0sQhq5fhQ6B4Rg0QmfuYOgPoBsL12Fwct5xHQbDWFYyh8I+mRyuC/ucQB8wTA7XoTBMTj4wdSisjuMNXIfCcBEcRA6HfrZXIofDO2bgnhvoNzTMjhsisGIGLriB/hromB13VOBm7sB+2NAS7jhyGbhkBl64gQtm4ObDAv1sMwPrTxvYSwOpOexHTgNLAsUnNrE4JIvI/wx0SzGxwPrFgVxg98zAIzfQHT3iJuUvKOom5eeGCFywA91QDszAAxHoh/Kcd8uxY9xv13nXJxtomH/6Cssh8fSV3Jbpp6/B4dC1E6dX+uCAwp+unTgb0mclFPqpIQ5e6jAYHkzzc+1nxjkM+pEQcz1xGLy45pPQIXD6gsR1MAxv1vmRAA6G/pwhRgI4ED56F96ruS6Cw7c7+/jgHdhx3kXTChTUMeHy8FXusrBhdhy7HOxKXAaWORw+lTkMtttCB8H2/DJhbJe5L5c5DdRADdRADdRADdRADdRADfy+gc/zuK8UeJjH3TBwNY+7YWAzj7thYDePi97Upy/nJQ76YHeVi37COc3iwkfZ0Qesche+2OW7ZrtjBNvtlc7a6L+od/lioeFwHfiD2DVOAzWwJFBL6xPUH3MVV6asXlIlAAAAAElFTkSuQmCC", + "type/italic" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP/oTbmFZ57VBwAAAvVJREFUeJztmM1200AMRtM42WNT9kmAPYZ2b6DZkwLv/yoU2lqKmZGu7OHQns63zeSOR5/mR1qtqqqqqqostba6w+Hm+P0D520d4CP3SJlrBrzTe4bsMbDtvhLgZw68+0gAjPAIEXoy6o0H3ASB7VsSxz+SYHaTX5rrH3shfosDE8tq5NfLOPCV/fMuDEz+Q9ybRiQnCVM6Sv34+8CAEvb0FmusGJvjc0s6OTNOtHU/QFJ2R4Ay/HVmROOOONPan3/MA+SzmJjdCjKEBBGEfO3PqQTWE3NlHJzfq+JKcnPmBuctDNm8IbO7qaokAR8AEBxhKCUiQDm8jEHjgQQye08mbzmQGTgOspZxL2RyBIhM9o9MkZhsbNMIEJksZ7CfNsjkDQeyC+gCjZrMbZksgXYPB3D+r9y3RXpu6yyWp8DgAZHJEmj/CkC7XgLtpiEzWeLiZo1/yf9WwBNJsF1+kArh4AGRyYEQqsUY5/8JBfpeaO5AFiKTIytGJp/IoAcRkyPbBD3HZUzoTs6a3IglOx8oqwEfCO54CU92NapmBR8ITM4XlimJyblN/zH0gSrDhvQAtWD0/vdM3qpiOTPluRyTNQ9Vec57QPM6VORtzPmvWqWB8EyTmy+aB/sXhslXe81jZbI2eXKMbM8+jzcv0iY3P89x7SXtzsHWEubB1hLpoj3owqeFeMrkrFjf8FF+//BdoAG78vuHsc9zTY7izJ7u4QZ3hpXQwyui0wjEjUZbsv3L8CIlMJLfQgtKTAatGKKXZ3KkRkd6+ib31eSl+ocmo1a3r+dk8ozbKKFq8nK9PJPtimeGnr7J2Ypnrp6RybiKsyXvpEImy8YrdMkH+oFIoXYbkapCi/CUJ4WyRjwplDXiSZmzRhWNZdJQFY1l0lBCWOjwagsDN6WBasVFTFH7rkwe9hpYYC9POhfLM3vaqxkW8m4nvLZbtui/eIuIzXW6N3X8NA+XhC3IHqtZOCu/ewM4zAFavb0575EawsUhrKr6//oF/0vTiqBv60oAAAAASUVORK5CYII=", + "type/scaps" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP8f3qFs2Lc/NQAAAvNJREFUeJzt2s1y2jAQAGCNGh7AMbm7ItyLDXeaNvdAkvd/lbhEVrWWdrWythOYam+A/Vl/tuQVStWoUaNGjUs0eAxj/H4/GzHQwc85JgNsmvbAJ1ngSJ6FwaY5dMIgV+SDTS8NNk+8SitltjtwotJmrJ4x5m0A37cvXFE9QtCFhpdad2zxZxwcSfALrxn/xHcMVNovY8su4jcUVKDW7CLe4aDaLCniigBBM3KLSIGLiqgpEPQLs4gkCIq4lgBBg3QC4II60yAY9w8sUNGgP+5bCXBBI9IgaETeQ4wGwdPohwR4yu7mBOh3870E6Hczb9wkQP/xxrv5EuDqX4K8kZ0AdQVFwdjvXw/6v4tUWRy8rV4WB6//aSP+gBWfAkQmKX/9JT6NHiVAf6LvBEB/KcJcFNNg/jBMgH6f8EZNAszvExoEq7lOAFzwFkCD4I0UxDAM+2cTKzQFrjDOsZGcCQFqvIAuwgwHAT5iCiniIHwDx0UuOMsR4GV84oFb4K07HJzd4wA0l9yZNmb7awfOeZnneVovEdOjIBr95TKvoCZ/P8IicrypJ6dWsKe6+6jPBPdTCWagnsq4zgOdNwfdwAJ1Ztc3ArpKH/kguFsDcFqo9FxwfwYdGIDK1vkeB+3wai+Z53lGNwRPn188IKBKRAjaRvS7uQy0Sx9/5VgGrqRBfSugf+Z1lvB/Au04XHqn7ILj7J2y9F4OQfuSgD1t8kGbyfLfD8pA26p+IrAItJMKOqdkg5uwT4rAafmDzsu5oF3v4SuHTHCalvG1TQ6o3YYWtfpigjBmb73F4HwDrBQMtugKwTbYRCwDI5u7ReA+78WHBtthtpQqAMmDKljBawO7mwdZTXNbYGqv8uvBozSYSgNng6kcZjaYys1ng6n9jWwwNRA5INgVS2X7OdeFSUw6z6oZoD4BkP67EwfcQI/+I5rbWzmil3xt5kGJrjbR/0QZs33bBd4Y+/doNllpLyV7iBwSs6aIecljKljBBWCNGlcQH/LbN8WtNzjmAAAAAElFTkSuQmCC", + "type/strike" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP8e3WOWxulIxwAAAkBJREFUeJzt2s9SwjAQBvBMgQeIlTtUvKul94p4V5D3fxXbcXDydSD7rV3Hzrh71PZH/jVNtgnBw2NiEXNRd9Gc9ruVFXiOsvmgTQrszW1lC3YkV0oejLFhRA0Yl4SoAmMpizqQq3WoNo9wV/eXqr+xqjavR/xX3DJgCPcDMP21I4pPnPh+Fex+DQpJNGMf6ww4KD9X6VkODHcgvjHgIgsW0CLMaAzzLBjm0IyH8SBWekmAhQAWUMR2PBie0wtuDUBoE2IsimCAOssjRwahW25EMIgg1JnoZxGEflbOi5evgH5uDUBoxAcDEB53eVaUQRgIcjfLIIxE+VkhwLRX5HFDgGtrMO3m0gKcWYMLa3A+eVCe4qYEmlf5n4DmwyZ9UkwmB3MwnRxMJth0PjR5BaQztsVLCt4pFq9RWDq0BiAsblYGoO6VolzbEEtYEYQmJPZnIghLm9YATGvM7PckEGpMNKEIwuqQ2e0JoHZBLIJQQGoPngdh88htwbMg7vS4JEEOLCDtQOYIMuAgZ0JmMQAszoUo+kQLcNx+fgDmgqwwDZY70iPBkkk3KEC+fBzIZdJosD5oPAksa1WqOAvWdX3akxndK6D6ZgcdHAleH9D5cNBBS/ASLF7MhIMOOuiggw7+BrhycHpgaw1S5w7+FJRTwEqQ+L6tA5n0oAokcsA60GIgwhcxi16BHDB1GEQI+KLPnVfJBp7Q6bqlHcUVL3EYmqQURlXthyexvqLRnRL8jkvWOX5UQgcd9PDw8PDQxCdxNPc8B0YSMQAAAABJRU5ErkJggg==", + "type/sub" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP8c3ZRhFMSQiQAAAxZJREFUeJzt2k1T2zAQBmCN4tzrmt790dxLbe4OgXsNzf//K42cGrRu0Ptus8wwg3SN8kQrKfpY27lccskll1xEKVOlP5Xh4fhUW4FLqYbH1hQM5h1JsuCJfKQi58GyHBhRA5Y3hKgCywqLOpBqo3Pt7lZ8y/m2DV9s293vg/yovGNA575LUPzaQYo/OXH/Jnj6NdFIohtDaRLgqv1c0JsU6Doh3jNgkQS96BFqpLdJ0G1FNzJNBKAMmmmiB6AXTRyvB90UV/hmAIpRI+YiBLUxQ1AOy1cIOgiKeXBjAIqYlevi5RpinH8ZgKITfxiAYuLgVRGDYiLgYcagi0cF/1cIMB4VPG8IsLEG42GuLMCNNVhYg9sPD+Il7iOB5iF/EtB82sT/FJPFwRyMFweTBTZeD022gCmqYrFJiT3FYhsVRweLjV4cbmoDULelKM82xBEWgqILifsZBMXRBo8JBuOImfseAkXERBdCUJwOx+tB7YEYgqKB1B08DYrLI3cFT4Ly1sMlCVKgF2kHMkeQAFc5EzKLIUC/NMKHRIvgyMyNIktHeixYPZEeCVZURoQH+fZx4EDnTSmwv68VHgIrJZcC+75/OGqC/RdUfzmDGcxgBj8h2B76nnraRYLnYwnztIsDl2OYSQ42lOelCj7hUGB0tYBnMAqcXuvAoBlQdR9lQHEfRTEzYEg6DK3fzUdQdCFlwOZv151Dr68HpyXQ+bnceD24fxmK8BQNpB04cOm4xga8fbmGhuH5YgEu+R9zsLABX8u7gAaD8o7gxmZiSxAsNzFYQ7DBC6IO3OOkqQoMyw3KcarAAo+JDuyISjGItosQMcw7x+AI6oa9RbWNIrAjohAg+FOFiPFZJAbBjCiYiAUI0oNUxAIEWy4zxqsbfZ2qSY2xfCKWrt9Rx0ORA05GFMYY52D9JMDU+yodMVHXb+ikUkjUJPTP5bq8KXaoi9v2uH4T61yGi28J4gZespbyPw1UgnMD0/8SHRgaCOaMCpyPrortE4JEA1Xg3MDREAwNVO0lCNzHDfRIJor8OXA+zGAGMfgHF14H/+Dc7McAAAAASUVORK5CYII=", + "type/sup" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP8c3pRhFoIu0AAAAxVJREFUeJzt2k1TszAQAGCGwt30406jvVvBO7V6t2r//1+RtAV287mBnfetM9mTQ/FxN0nTdCXLGEIe6/qj4pCusduLLho2Mb94Qqy4xG9xizWPWIghXljA0wiyFN2P4CU+GcASeCw1L9SKkfnueKmZAdzehu5aejUfPPWFPimwnQ8ehqnofhLPHGA/cFsecC82t58WXOASgA+cYDGCwhd1F837+asK0cVYshcc3qjNh2QFlfnqIyeAHenZ6dWktLGgb6dX4Gc86Ba344YYBTq30e6tt86mgI4c1XYD90N5/TAcIsulVL8o5e7niF8SrzZQTXKLrjxhEIY8YtG2Mz+ag3Fwgt1fQ0lahlFVvNaubT2glr9ZdGlJfOEDVUkg3mwv6x96hRfM0YjopwRVsTEQpRfMSjSMWoqFbaoCIC5aS9FWcZYHQHRI0Nbc3pzjMDies1Rs4Cu2OSaAaNbQFFhWNQV01qxe2FjuD4F4Wpb4emu5PwiidTBOgnURkkBU80g8WqeEAsLj6rjunAkSQDSIz+Ci/agZBtHCeQEJ2g/DYRAthOWYoHUPp4AZnJXNkKDrtE4A4ayshwQti5oKbnXwkmA7HYTTvOovmPsMHVzo4AEmmMeDhQ4KFNoJlgCWdw8aW9xdg+wl/xHQGwTQWDZzQfhOcb6F/ysINwfXLhgFwv1w6bgnCjyBW8JNFQK4B7eEv76Hwcg+UhhEh5uKATQ+UuaCcE7Cqyby9EXonAVBdLQh9PaCIKyY0n0MgahiwhAGQXQ6bOeDjgPxdBAlSOqO+kH05ZHWEPaC+FsPrX3rA3PUdiB2rD2g1jMh9pcRmPdJ5KrRgjhy118Qg9yip3pfRI8IroyOyDyQnh8NbPx901iwfqsivBC4iuR8YF3X7+eYYk0w+pcTmMAEJjCBCUxgAhOYwAT+W7BK4P2BHI/BIbC9e5DhCS4MhrvekSClPRgFcjxKiL/RV/M99B8xjscnUQ+Y8N+SYIInBJqP1MQGfkInroVky+9b6DFdlPKsP4l1jYbwlKAtbFYfkzJMYAJTpPh78QvJUwjDMnHmuQAAAABJRU5ErkJggg==", + "type/under" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAAXNSR0IB2cksfwAAABJQTFRFAAAAAAAAAAAAAAAAAAAAAAAA4CsZogAAAAZ0Uk5TAP8f3WWWKA+IJAAAAj5JREFUeJzt2s9SwjAQBvBMhQeolTtEvKul94rlriDv/yoWHWbydSD7LexoHXePQH/kX9NkmxA8PEYWZS7qPpp9t55bgceomg/apMCDuYq2YE9uqVLyYFk2jKgByxkhqsCykkUdyNU6xOUTXNV/Eg8Xxrjc7PCrcsWAITwMwPTfdig+c+L7WbD/Nygk0YyHWGTAQfm5St/kwHAP4hsDTrNgAS3CjMYwyYJhAs24vR7ESs8IsBDAAorYXg+Gl/QHdwYgtAkxFkUwQJ3lkSOD0C23IhhEEOpM9LMIQj8r58XTv4B+bg1AaMRHAxBud3lWlEEYCHI3yyCMRPleIcC0V+RxQ4ALazDt5soCvLEGp9bgZPSgPMWNCTSv8j8BzYdNeqeYTA7mYDo5mEyw6Xxo8ghIZ2yLhxQ8Uyweo7B0aA1AWNzMDUDdI0W5tiGWsCIITUjsz0QQljatAZjWmNnvSSDUmGhCEYTVIbPbE0DtglgEoYDUHjwPwuaR24JnQdzpcUmCHFhA2oHMEWTAQc6EzGIAWBwLUcS4GWRFqP38AMwFWWEarNakR4IVk25QgHz5OJDLpNFgzWU4SbCqVaniLFjX9b4jM7pnQPXFDjrooIMOOuiggw466ODPgnMHxwe21iB17uBXQTkFrASJ99s6kEkPqkAiB6wDLQYivBGz6BXIAVOHQYSAN/rceZVs4Amdvlvaq7jitRyGJimFEWM3PIn1HU33dVRLHaesY1xUQgcd9PD4o5Eb2BcNegcd5MBP2qX9eK19CMoAAAAASUVORK5CYII=", + "lrs/bin" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/gB8KGMVmQ4AAAJFSURBVHicpdexTuNAEAbgyVopHOQyj+DmELrKvR+BgiUUEfgRKNEVwS+RPiUCIaqUSHkJ95SIHgldcbnd2fHasXc8wUyXfMnu2P5t74L2dfOxAVOzp8/mO/D4AL5Oqy7/gXap10N+h049t7mntSPf9RVgW/N1SEFVxCV9ftzv9f3eHZ6pxLEbelY3q/Vq44cHvcA/v+h2/UWOLV/Zcbf6sFboa8M7o5+6W9dudljUx9Ap21GkYela7NebHR1uAaog25ZTyG2DwTLDJ1BCxrDpKsL2mSpAATe1qSUePMuXdG74yU1xrSGXzFnBwZVhxbemwFyRlOHCHHdOsQlOPbEMJ0F+s1zY5s8Caq9o7Bh+9xRvm9heUFvNbeXmdTdGUjOol+YHNx91luG8Cf6vp72pf48b/80UroK3yHGcwvIHnMHFEM8lvhzitcSLIa5A/4DN/V2OZuWeDlxFMuc8T2QueI5lvuXZPNf0+Wie0jOVqVTmgSxmMg9kcW54IGwC27fBQBYFruyLimd9BJecqmN4x3GEnI/kCXIxkvENzGdR4ASZzeIUmQ2bwCkyGzaBM2Q2iwLPkdksCrxGZrPomA1bNcz6YEH2TVbEu1EcEeejeEJchDk+jpks0kKUy6LAU2ImiwKnxEwWBc6ImSzOiZmwCbwmZrIocEXMZFFgXXMZUuV5F+LIc/CCJ56DZzXzHJrcLW7Bryo7ddbiRe/vtLSl/Vhv17TVbe4OX69r/V7wq61+VetZr/z8qtlcNWz2URuLs/bm6j+BMbUibx6xWgAAAABJRU5ErkJggg==", + "lrs/newlayer" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAAA3RSTlMAgH8BTzA4AAAApUlEQVRIx+3UoRHDMBAFUQupDJWalJoygnJBmQ1Yfeyx77ObB5bdUXFX5mO75ubm5ubm8/P/7sOPqtfvFF5V78Cz6hN4VNVzz8SViSsTVyauTFyZuDJxZeLKxJWJKxNXJq5MXJm4MnFl4srElYkrE1cmrkxcmbgycWfiysSViSsTdyauTFyZuDJxZeLCxDOvzDPz2DBxJm9wZZ6ZhzPxzCvzFM7xL3aB/p8IYvJLAAAAAElFTkSuQmCC", + "lrs/folder" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/wAZezFBYccAAACiSURBVHic7dahEcJAFIThnbuJOJEyUkIEjiZuECDwCCghTaSfa4ISTkAHOHDc20xWIZjM++1nVi6yDM5b4wu+PZY8NRxn5gPaBuaT4cR8NhyY94Yj82QYtA3F8p2YGjR3mpPmoJmmL7hqTprx1Nz00hw1o2oeNfeag+ao2fM8z/M2XVEY+TPZAm6Ke7pz1Iij4opc1vVzLfJ1nXf/faGdf85vsX+c5iQpMJEAAAAASUVORK5CYII=", + "lrs/mask" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/wAYaKzkEVgAAADzSURBVHic7ZWxDQIxDEUjThQUcFVGuBFuDwpyIEFBT8MILJEh6BjhlmAECjpGQOgUxSi2fxGqkN8+KbaT7x/jVJmKC8NVf6z2enrJtPHODaOIHx//7CW6mvx1E3A34Z1QOdiTr74I+KidLZ3uAx44Oou7cdFK88X7iA8MthFvtM7Y3hpHNGqNc60vKT5rc3GTzSlea2Nzg3cUp49iKU7v5U7xNgunt+qzsPvSjw8HGAyWd2uW4vRJwIP2FKd2AGYCVgRGBmsAlgisIFpgMji3/iA8QPSA4EKxB0ITRC4IbBT34LNAX41pn9pHVVW+nKqKC8NvfTocjLPIGhQAAAAASUVORK5CYII=", + "lrs/adj" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/wDKNQowm4wAAAKvSURBVHicxZc7buMwEIZ/OJVt+BhpArjMUWSpEGQfwaWwxcKXSJ8yMLDYSuVifQn1Khd7giDAPmYoPoZjki4W2bCwE32eGQ4pzvxEJcb+5/nh/Es+gfj78zNorL6l8d5QYDGkcG0psB4T+BV+bK/x/hTwYrzCP4CEORLGwtzh3pHfz9Lc4tobz/mtY9x5v7Q6/NMhwpPA1afgHco37AKtJW4gsTEfBJ5izM62AQvfcGmuAw7ztrg72ZVBtCYOc7TB4+kK9zY4VGi3ijY4VGi3B9McHCq02KLB4kMCk8d7iy8JTPPZzLhGAlPw9Yy7JO7N3BDth8At8GTwMYkp5KPBUxJXJ1438HcST1gyjicecI87xl0Gt1gwbjOYzEbCfQbXvOpQeYnzfqLMoPISeKLMEG+IxEfaFKi0Be4pcai0BW4pceyyuKPE0WXxjrYUbRbTCzOiyWKa9FMJX/CIYx5PZXzAPQ55fMS2hHtscMnjpoxbLG/hUx53uCvh3T/hGov3xXr8r9gV/fuReV/eC9MhK72pvN83cOGUtLfwsnRCm1t4U6gOXLkKtcWc0HxlMuc7X9dM8chXRcJDoaaaypSvyBR2RNxBr6pithuYZgLVBAVuuCJnOxGtCtXzapfDk+kGkXKQ+EINHqq7i0Y1dyKVmccdd2goZRFww/0dleqSHtsWmxEHs3iAEj2h+7v2nhQmVrjkZI2VPTlRRDZWmCQlFb0LVtakBBmbWFGUknMc0EmqhBh0ajAtJTmel3PXQtQr0aSMNQ+2AfcKc7Qh4E7hV0gZqxS2uQkIjSy9W+NIYUfqnhWyuzyEPD2uOY9I3QvvVW1uKEOMO2f+54U/1c1CK8YvGkebvho1jsydscA+uryQiSPnL2TiOidribtzfa1SuNq/aBrhqn47r87f5ZO/9y6wAK4j/7gAAAAASUVORK5CYII=", + "lrs/makesel" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AQMAAAADqqSRAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAAAuSURBVHicY2Bg+A8CEIoBBOjNH1jwH403yh/l05M/0sFAh/8of2D5Aw8GtP4DABb0HvAz8w7wAAAAAElFTkSuQmCC", + "lrs/makepath" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAFVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQCkAAAAB3RSTlMA/xbkglG1/QcRIQAAA1dJREFUeJztmD1z2zAMhnm05LmsWs/S+WMu+5E5auPMlmNnrhqn//8nlLRkmSQAEvT1LkuwJCfyIYCXMCVCiBtMjXYL+w5n2fpR3wg7ZAxGJvhkDjyR1emYB1993m1rhmDXCQGJp4TDE7l42Ef0wOFLontkjAMbiWpaD2Dy+Oiwr3UwPMFwFUNq5Vl1CnE8BEgO+DYJE+TZvu9iMEGuDy+j85807JB3LmwDetYEHXoyVfRk/iw8LeQgPqB9XWwtFJbdebCp0d4O35PwWEWytyzYQtnaKTscfhiLXjzBOQP9y8z6RKg9Wmn+/4Owo29/KIRbsPyV7sOgAtioVdUELEodrBzALRX0ZWl1T8JmdEGzQnS+ax/u/JWBSe1N8OCSVmu0pVKfiaEm4fjsmhDUjCQcn11/QQfmSv1OwZLKrI1LPZjRtMYX/ZqGifBmSmG/iNCFVh+Rx21armEakpxkyGVthiU9x5UAVmLF0PGiFkIjEWpi94G1ULGCpbW1Dpb3jFMh40yQHxIMYXPoBpMBt0JVwZOSuVHD1HQslEkAN+QJgcG1/6Tl7jIG96kDyLEQluwSQeASyE8bEKzgi23gwNGMLzaMsmEXp4WDKDv1gQ0X4Q+jZVe2LcYgxT4DBvrk1EgTpqgzYJCizigwEGUGDCs5o7RhJWfAc3D+ZYQNj40MteGxwd9nCf3wK6yAxyz/CFvCX37H/kkib5aG+36VyJuF/ZpDUmZ/FpgQoRf0WwGzHhFHMr8LcCct7/hcoud7wzv1e9THnJV0gc8yyTDKpCG+tnvGThtZcWXSX/mR3Ar69jAZ/UHeR65jg5XUFeF8e0h8q3f08mXsJjhOoBNrE6672BEbvYS6jr+NFrr+wXEcXpsvrum9djJGYet6QQXeXjPGYXvnJwLfOFLjsN1r/PLtXUAJ2LYFYC9FBDd6Aj63BZA+zsa5fh7p7uNKXelpP1dTm8LrfcIAN/bxqxeeDccGvX54Ua4h6T3b5+f212WStnsgDz6JwwNdbWunb7RwyOoUg8VK+5Mcq07Ooigsyh7hRlKkWpcmQU2RaVgE+vh90wmmVnHhsOMKV/HsTTroU7iJ/QSwdMhjaj89WB7+TuQ+ogcCOw3/t+ig78lpcTif5IT2Dv8/+B+je7XqrhYPOQAAAABJRU5ErkJggg==", + "lrs/arrow_down" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAACVBMVEUAAAAAAAAAAACDY+nAAAAAAnRSTlMAgJsrThgAAADCSURBVEjH7dChDQMxEAXRDXERqcb1pJoUYZJUeZbJgJE+PHDaoR887VbXdc/t8w/96p3mVSPN33qleW480ZXwteeR6Er4PJcHOuHrzCPQCZ96u2lw08JFg5sWLhpctHHT4KbBTYMnGtw0uGnwQIObBjcNHmlw6IRDg5sGTzQ4tHHT4IkGhzYOnXBo49DGoY0nGhzaOLRx6IBDG4c2Lto4tHHRwqGNizYObfzQCYd249AJhybwTSd8xXlsOuGzuq67sQv6llXHqTZ3eAAAAABJRU5ErkJggg==", + "lrs/arrow_right" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAAA3RSTlMAgH8BTzA4AAAA40lEQVRIx33NoZEDMAwAQZXm0lKiS1ARAiLSv0lYZo8uuPj2CZbmNq/572NOc5vX/ObkNLd5yW9uTnObl/zm5jS3eclvbk5zm5f85uY0t3nJb25Oc5uX/ObmNLd5yW9uTnObl/zm5jS3eclvbk5zm5f85uY0t3nJb25Oc5uX/ObmNLd5zWMu8zUf8gS5zNd8yBPkMl/zIU+Qy3zNhzxBLvM1H/IEuczXfMgT5DJf8yFPkMt8zYc8QS7zNR/yBLnM13zIE+QyX/MhT5DLfM2HPEEu8zUf8gS5zNd8yBOszNf8e/0Piwmj/7MOhPAAAAAASUVORK5CYII=", + "lrs/clipping" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAgMAAAAhHED1AAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5TAP/ce+dRcNAAAAI7SURBVHic7di9TQMxGMZxi1QpwhaMkAKJIWgSkKBwjSgY4ZZgiVSMcEtETEBDxQYhyinkcn6/HpsKnrdN/Bf8IDnbKXH+8sxW7twywAADDDDAAAO/EHja7Gd3mK9QYH18+643368HsGUMMMAAAwwwwAADDDDAAAMMMMAAAwwwwAADDDDAAAMMMMAAAwzAgc9NOceA8NKmnwaWK2juip9ggQUe1V84OC8lwhYKdGVgiayX/jAQwr0QgBCyEIAQBAIIQf7fBBAkAghBJEAQRAIAQft4hhFkAgBBIYgjKARhBP0bKoigEYQRVIIogkoQRLC+pEMIOkEQwSBI6SMQMAhSuvbX28+pSz9gEewRXt2ASRBBMAkCCN6j2kWwCQIIz07ARXjzAg7CuvcCDsKDt95DcAk8BJcgpXkbQUoXVqDcWwljIZR7K2GujICwtyrHQugjAQMhRGAhhAgshBCBhdDHAipCkEBHCBLoCEECHaGPBhSEMIGGECbQEMIEGkIfD4gIAIGMABDICBkJSAgdEhAQwBN0ieA9VSdTImQsUCJ0WKBAgC8RpgggQYmQ0cAUoUMDE4SKe5RzBJhgipDxwDlChwfOEKquksYIFQTnCLkmMEboagIjhMrbtBNCFcEYIdcF5m0EI4TqC8VtG8HpJJxrA4s2gp+TcDXBEcE/ZKgzIAQOGdoMCIFDhjYHhMghQ51tG8GA0EAwIDQQDAh9S2CPAO2tyllie6tyFsj2UppZI0FK743r001r4H/MN7je3XGolvHtAAAAAElFTkSuQmCC", + "lrs/eye" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/+SYFU6oDnW5AAADSElEQVR4nO1YS5biMAzM6wkHyIc9JMw+aWCfHpo9DHD/q0w+2CrJsmOYVb8XrcBxSSXJsi0nySKLLPITJP1+PO7dO8jzvspGyevj/TWbt22GUh/jCZw4dLQfCU//OtARHkN+1arYXn7PGl+5lK0Ul/exPfUgOvVyfqIPAfAMNojW4xzH/Nc81otOg8GyUnQa+BqFzbL1u6RHUYLWRoNdt/9EY3u334uWTvwVwz1xHvGXDPcVFhHqqvIpxZi1CrX9vd+PPj1gSPbK/TrsO/6NAU1fHbPDphMsbjItZ417BituR48NuAzXtPaHAq0NqHY82Omsp+U3aDyQ+YNE5zrri0nAGlgVzhbVaKwPdvCCWWxk/KaQfSljgyvT+v+w48LIFDLG51lvaf+z5GugkwWwec6TpEcrG6vG+MjdxpCMYkr16oLXzrLphMsNJEDQHnLDiQsuZtGt6A8Ru8gjpeRZNst9REzhvDJW0kfF8NOVYQXC/lQ6qekQbOtsMjeYJsOTala9DYBpV3zqLx54fBVOIZQAbiSYS5FI0+tEfNRKZZLcUZwTeBcHxoATuCOwhu2nOqbtRDz9guAPGDE/GgCHaGPqDZgdIUEwZMuA2ZndamCbjdX/gOmz+cVoXzUwqbeVaSdiwL40cGk/W952IvJWT81GAZuJyFs5+fBsI9p2k9qEc5XT15aGzE+8p1xdMLlleRUwEY57xWly2YazhIkQstQF25DQ8mxgIobM4U2aiVUH/mNFO7yVbaZgkUfTLccWitodz6rfNBkmhy7citdrJU+GDB1BYBqPFrihk85SamNr1KYELsmwcM0gGQHT9hKH3RgZtiGk6LCbeH993Oash4UwbuwgFYLWQpAQRXAQTu3GD8VpuJa3mkopeK1A90CnbCE00tw7bDJ2Hiyet7zDwbuK3m6eYIYIK5pWG0Z2j5ITULGCZlg3ny2iJXP2hKEkhO+3/HHjxr5pEeX3u4IeN868yVFzKe/j9fH+nXyfZX/k6b/DjxVGfO8Gp3kobwWZzL856G1/HDqETVJf9zhJ+JEmjJ7BBpnPPS0NcvNg65C/Vs6tRvkYA03cV8BMrvVX4PkxwltOfv9ZbbOqqvevPV4ussgiP1L+AQ8hBe9YslSuAAAAAElFTkSuQmCC", + "lrs/fx" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4AgMAAABECt5BAAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5TAP/UazI/6rwAAAGHSURBVHic7dUxVoNAEAbgNTyLFNDlCBwhrc9DOJBHUqROE47AJTiChZU5gMVegiNQ2HkEd2fYEMM/RF/0+Z4yBcnyATvA7GDMFFP8z0hq8lsizC1Dq3BEHmQLImaINb5lWGqcMqQaLxgajR3sjKmJCsg1lW5LtILq2DKXmGVOomqcsf4C3z3tXmR3H726l0/ZQeXWD9caJzKuFE5lvMEc1TLOMSdhRwV5HnZsIbup9zZ65cnBY2kot5xBDrl2V+U5MsSu5G3/O+AbvihPcg84DmWX+gIb8JwzNn5pbAEvJbPuOMDlySwDTn1GkuMD4EWo6Zm8lDNu5Lb9jV/g7OtcH/9eYoJ8WgLfzHQV/2hq/WPp4fPcXGJ7BS8+NEhQiuUYH+tc480Yz8MSTN4Qx7yu/XGFhQu4Sz2Fa2wWvgwNXKFGeo7vDmh9u7MyyzlI2zxnblzcd1Fq0vayR1Ia1yzUygrysZy2mLuG3X3/Bty15LXBLB8LOmjMp++Nxu5DVTwbnaeY4g/HO3uMDTTW9IgYAAAAAElFTkSuQmCC", + "lrs/chain" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQAgMAAACaKAorAAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5TAP/ec9u8mmAAAAHSSURBVHic7di7ccJAEABQgSIFOFMJKoHAGUX4sGdwcAU4oAQ1cVUQ2CWoCZVAQgmOPNoVOu14fx5DYmujneENnOB2b7mimEV5CWOcukKKxzDFm2TKlNFeeqsqzCIKqJmjFwGlOdoLSwok+EWtKNrZ65ZWvqXo1X446fFqip5Y1FP0zKJEEf9F3Q7BSx9D9gCpiA6YnlUUMa1UdMR0o6IW07WKOkxLFXH5gv4h+ny30Rp2noEq2OgGaqBVGKiHLmCgBLVrFAIgvRBaRHpJHfGD9OKMiPQyPyBqVBQQ9SJKFCmd7iaop4hv0TVFfLNvKOKPjS1F/AFUURRZtKJox6KSoo5F8EVNSDio4fEmJB351Rzx68Yx5IrEMWQYaK5IHGiG0WhEymg0hLjdFrSgHyLXpvNsX1chuErKVZyeMnc1DFfrcTUxVzt0NdaaImUet5p9oujeB1Cg6JfHq+ugdh35LSJrHk/2GOIaaJyjUQ0/rYG2sJMMtIH/JQYqLqfCRt/yBf09pO/xDlO9WlpM9eKMmOplPvbApCLsN8a/fDydzjKCz8hx7+uJniJlHs+hzOM5lHk8hzKP54gscl1Sua67XBdnvis412We61rQdcEoXlV+AZ82MdaHEc2lAAAAAElFTkSuQmCC", + "lrs/link" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQAgMAAACaKAorAAAAAXNSR0IB2cksfwAAAARnQU1BAACxjwv8YQUAAAAMUExURQAAAAAAAAAAAAAAADXpN5YAAAAEdFJOUwD/3nPbvJpgAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABS0lEQVRYw+2Wy23CQBCGV3Di4NxSAiVw4EYTfkjh4AI4uAQ34Sq4UEKaoIQckiaSjL1ez+x4zS+EoiDNf8Crj89i2dess1gsFsvT5yv3OafZPg85jY5i3QSKUYpZlrM0g6PYloNqkBTrOCjUr/VslYu05CiWSdCoLhHbSFCTpNhOgiNJim0lqNSfI3aVoCRJMUjqJCjUMBF7nNQ/LvTVS9+klmLhdec+uPTGGX34ud9wqeaMgYxLfGX14OCSWQWpTUvrIL2nJRckh0ufcgjPc1K0HMeeSmkXS/WM9BpL1Yx0jaVyRurukop/KJX3DgE0mNC0QBN8a6lAK7NFpCbtTBuhTkvTlvI7eP39G2rQ0/dz2pz+LFje5r7nywfGUIkWjp4/Pg4fd45DZQMqQFApg4oiVF6hQo2VfOjyAF1DsAsNdDWyWCwWy9PGuR/zmiTgwYiKmwAAAABJRU5ErkJggg==", + "lrs/lock" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAgMAAAAhHED1AAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/wDMOCLbQLcAAANmSURBVHic7duxbhpBEAbgjV0BovQjuHFkpaK0lJcguECGR0hJEQVegp4yIopSXRmJl7ieMi+A5CYhgvh2Z2b/3b1l45goM5057+ed2dkDe89mGIvJz/Vq/Xkf+xYTuzhfmWN8rU8DPi7MU7wOCxFgYsfHhDAw2hoSX/KBRzreXOxygYcFA0wvF9gaEd/ygAc53vTqLMCbgDFVDuBPIFSFAPAIADwFDIwWCLhtD8zQeHNRtwZACUM5QGCCx8MyQgBngHOAQCADmAMC8Bocot8OGIfGoxwQEMwA5QCAcAaolwCA9kET/kICILSIuAgAiJQAFAEAkRKAIvjAu9h4vwg+EO6CYxHSwPsoYOoksI0DgxQQa6NDyCp6gKzhzZp/LavoAbyG3X093H+nr8gqegDrw+7umBUT6gQwpT9t91SXLXmxSgAbVDC6v67jAF2ErpstSULclSRAF4GsGJmCWAYJkEVgW9dV4TIO3MMJ0CmIW4IEyE6o6OukNnHATVXkOsOwB7hVFE3vcuDrKIFF4AeRHLgsgFGoViQ53ggCcG3g3btm+IoAXBt4d09bBN4IAnBtUEnAFoFvaAHYeYK3UVsEdkkAto/AhxGLLyPAFJf6GLY+VQSwfSR2/SHsCg3aANXQC1tFhgvAtlvtA1ZnK8wB24jeO9ghmgKx+gQA+MF6lgZsnToIGKOLAQB+rm6amfUyB+xSg1V0CbYBBqXAEgHNIrMl4oDdjDUENq0B+KuF24/0KgeazQj7yHVSGhDvPvLyycCsNQAb0ZVoeSowTgJNlcD96F8D4F5ym7UYuCoFBi8OFKdQDCyfD9iCKmUBiz8FXMUB6iuggAIKKKCAAs8IzD+ZdnHzAwL0cC4R5OCMAPBkJxBvAJD6YyqfQu0DsT+p+3HrA9ssoOcBWRmQHCwQO1VAUUkgrwSuCBaYZgIdCWwygUsBZNbQVdECmePtr68NkLsIdhkaIH6ugWLAgfv0CBHXHEgcjIDonxswzQY65wa8/fvAKwUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAgf8POLtjomLg5Q/rioHiE8/iM9fiU9/ic+fik+/is/fsdexLoPj5g+InIIqfwSh+CmT4IQu484HiJ2GKn8UZTlatx//+p0EJDOfr9NBjrMnzSL8AZdCrydT7HRoAAAAASUVORK5CYII=", + "set/front" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/wDROaqwHD0AAAOiSURBVHic3dixbtswEABQQp4cI5+RJYHRyZ9iy4Oh6BM8Gh1S/YT3jEGKIpPHovoJ7RqD7gaKAGkrkkeK5N3xBKNZyikRnsTjSSaPVGuu3f98uv169v8q1j2qoV2dJVi+KtPuOgF+VtC+5eF942BxzsJfyrdPOVg2Iyy6DDyooC0zsNdPenn/86afvOBhpd13/deDlicW6p5f7J9vrm8SDj1fdTCsR+ibgnrMLs8682bcFKx8TuCuEwP3LiUu4GsG9jBQ//wFDYfOFvF9OhACVlHPpu8TCQ9Rz+5GAtbBmCGUOQnbOEQd5IyCwwOW8ZWD7gLDTRKiCfJIwJ1SXXylVGpFwKGj9JIOBsN9OhY9mmsC9ubVonsxbNVNemk75AfDJh20HnaBYalzkbQhYx2Cm+QFmpsbdUSwwtkx4SC4w9nRmVghuNWfStpqdYPgAadRJ3KJ4D79duBuBGucbxMPAVcY7gjY0nBGwCOGmwR+eX66bSbA33ZC/kHBIoAPMHHbKTRqZQjtUhUvVyR8Haf3uxyswoXglIF9CNMPKIDRA/Ejh0vUA9EjSw/DNS1Y13DXB5W0JQP7FC5oWKUuGY6HqOekbw9Rz0nf7qNIx4zG7T4zIsQ4SAeJEOMg3U+BCDEOEn5cVIhxkPBzJUOMgoQJgAwxChKmFDLEKEiYpMgQVThP2mmvpF24LtmJlBlLMBqYmrcc9NMaTPZ7DvoZFZaPnoN+2LAgNRz0w7ZLHDvocdh20dzw8Oizo5fhHQ9XkB27sLPZ8fmBUoHNjs8PFB81D+duLKacaXk4cy/QFEgNDwsXoi656N8BwM6GaIq4TL4h41AWZvJtM+4KTfZr1O20HkvXzIsxr8YXw5kXY16NL6+Z36pty6Bgz7xBHdy4BcjDYFNR5+CVdrBNyUII1MBWcm4rJUK3OZOg3+41AvQbSAGOW9I8DDa5WVh4J8H1R8J8uwT++xj/K9jm4OxDYZ2D80ugMPdcAIVpb4TSROqhNDV7KE72DorLh4PyguRgw7uw4JuwaDrY8nAWwZqH8wjKpQJAufgAKJczACcUSBZOKLksnFDEAew5uEigXGgClEtXgHIxDHBCeW3hhIIdYE/DBYLypgKgvE0BKG98AMpbKQfFzZmD4nbPQXED6aC4JfVQ2uR6KG2bPZQ24iMUtvYjFA4LRigcPwRQONAIzkj7/ANHmD10CWH2GCeCuYOhCOaOmmIIh1cFcXiVQHMc9vxOuvVfbbWqTsr5YWMAAAAASUVORK5CYII=", + "set/union" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/gAicCKdMBIAAALkSURBVHic7dm7kdswEAZgiBwFDOiLVIJKYHCOVIIDS/ZYDpj7giuBTbAEZw6uBDShEhg4uxJMgC8A++9ihzMeJ97sZr45ErtLvGSuXHx7N+bp5/qn4dzdmjHKIQdv3o2yz8BXM0ctw7tZYxDh2wY/SPBmgugF+BLCZwHaEJY8vJsoBha2MaxY2MWw4OAXk0TPwO8pbBj4msKagTaFJYa31PmXBPArhWcIWworCMlY/GgAJGPxo6EQjMWNhkJSFxcnAMGg3bApBIN2w6YQDNoNm8IOwQJAkB2XHwqRM4ZCmB1jHgR+xvBEIEzjmEgCyXcwRUPgJwyPBLYYVgTCwoyl2Q8vGB4I7DAs9sEf71iNUYbwF8ti+CK4MVZ3l90G35SQaQYKrRIybUhh7g0XyHwpFLZaaJUwl+wVKp5spN4KYmoKOMkimC3f0rjMB0WhzUP/cSlecfpc8w0xw1YB/ZTSKaCfpKwCumlP0WLTRKoZi5+amakzDjfZK+oyLR+dwvkFSfMP3RKnKaBfNJkVKA63DCuacVrYVdlxWwVVdtzm46JwfjvTKaDfIFkFdFsuVRrdJk7VZP0INfl2u2Gj+rIc1BSmcVBTmN7BNu+mDbsCTkcARamnQ8Ul6+ZjSh7OB58uC3slXA5nNgcHJVwPkBm4HUkzbjvkyhEcm+W4/of/DFrJlX8VdhIs9sCLBA97oDil1AFsJVjtgeJEegygODU3ARQn+3MAxeXjFEBxQXoEUFzi+gBKi2bQPPIyXETwwsNDBIVi1xEUSnOMoFCaJoJCxk8RFBLZR1CYA64x7DhXJJDNT51ANj/HBLIdeU4g22iPBHL9E/bOBDsMCwJbDCsCuesTApki9gRyl0YUMvdVFMKWbABkbukoRJmMs7jAlsIKQnBsHiDE96cIkmenT14gabUHA+H1MoRJY5xZiO7KMYzK2AgQXPwzkP6UwMDtqukZuOiicr68+ohcfKPprsOefkN3/QNz7BGg/vj3xQAAAABJRU5ErkJggg==", + "set/difference" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5TAf/hiBGx/K0AAAP7SURBVHicxZgxdtswDIZl63nQ4HTyEXQEDVnyfIQMpu2XeNCcZsgRfAkeIUOm5gB5r7qEjtChW+cOdSWRFAHih6z2vb5isqlPIgCCAMEsU+XX29NX/WmUb6aTx+vcdzPI52vcjfHyPs3lNoD7ZhK8NaM8T4I2gvspbm2IvEyAJQWPOpcbJo0KFhys5808NbfloGr3jUlEW50qBU/zVNSVtCmoKLlMOWPOECwkWM+zRbNmI8HdPFsUa3LJ4bhYIHA7z2hsNjAamy0WsBe0iC0CD/O8g/2DOGMkB92IHAlip5ezANcYlFkA+ht5fDZYYVAuzWwQriBaww0GZYzPAvOfb08WgywqPilQCk5xFMxfJzgaZ7dTHAGVqJGg4mgBXvlgDPFq+PdwuVwBXZH8yJS9FacuAteBd1NgX+5dGbUGOsqD/dbzhbkDY7EWYD9z7X623c4E2+EwOjEo0YPAIg/aWOgHUGp5GL3deHDT73WZLnYhHsY9sRmyq1jQXVBxzATl8FPki6NXMR5aqgEUHjp5FeNurJyf0rlP3ov1CBbjGJPw9pmAx+AIAbZ0R6y9gYmSL26hScJYet8mSp7dLFHF7rV9BpRs3FBUsU/2DVDSOYQVB+tfY0runTYssbR+lVoKHtwIy5Kluc/cRESOTqmagpX3AbPm5LSmtnRAjD3m70VSlsJ/FpPb4Qu8IuYGmN2/ukprrPU6E7O9d5KMv/EDZBF3bvyeg2EBVtzoboaag2FJiX9qp9KWgyFIyLnmTI2k1jz6F6gtS1ndSzcUHeljXhwsqlEpastaHlVuxmjx8u5AWQ+te7ahKoZdlyr5mEWPO2AFanbvwecYkbXXXIJDAv4xgo0H7wU4TLr/WNGZu7Fagqjx2cAOiMRicDMGQXPWwvMraPcwCBrIVmkEREtqFVA0uSrYtc0ssKzezeX/GJxoJHN2WJ4N/kdjdIcnO3k2qAVFFotYALcauPg7EG+FQXgSmQ3C7eqEZxuYAJzwbINSCnyEkhScDKU9L1x9lEi9cIeA1BykZSBI9kF4vIDy4SWpQKAgKZ8QJS7IIlFKFM0gRWKmKMNBVonjRGHXHoijQtSJT5UePkaxifLpcSZInt5OpAckfVy5pSlE49/iiKyEkSU2uxVuq7DZVkxUQGuWUnUwhF/P4Z1KCdzbIiUtMLEESi7RNAVQEo3Bt9EsvPFx0hV25NxSXKqs8e3SrRgu8UXvMr0p7o8UQEXWQIYpcNiXyQOr3WKSJhf8pTrRA4479DQQJI2401C9g4+tfZbdGXVmelngOP1e3R0qHy6X13hOhpI0bWcVnH1Xzj858cE/uPiPF0MPzSQ4XjV1B+sr4sjrnLsO+6LM+xuKVUGMXWFsHAAAAABJRU5ErkJggg==", + "set/intersection" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5TAP/PZuW4XZsAAARLSURBVHictVkxctwwDOSJ40KF7OqewCeocIqMn5DCOnucK672pLgn+BN6ggtPMmM/IDPxJ/SEa1yldpGJKIoECCx1l0yCSkctCWBJASDOmJLY96f759fia8IdulE+H0dOuBF5DHfZzfLliOI+AjfLytOCR5akBY8s2XRM9gtA7/LmhzG/+mXHrV/oxT+d+6ey7pp88F7tljTfxOeh626XNCcPmgW//Tv61Zf9bjOWRyu3BeBo1gP9qpjBQsSbcR7GVWJ/LzMFTGrxoiox2XKfvfQFbwbJsCt400tNtVSRTLrKR1bYm0YdF4v3BihSxkzS6tPioNtgFMw1nh2lp4b89NJp7zbgx4JvBI2NNILZPSByhewZtDkj39cauAaM14gKBxg/Q+S23aeTxuDsFu1rDYAOnZQGGL4GTIycaSrW6JBWgtyLt6d7tAkS+DEE5O8aaDPg+Ry4Ny8AyA7AUsbIgC2Fd00aA57zRKCUM+CBA1UiIGC2oF6SIp+b3t89vweg3LEEDC4/mylkA8eTap9Zum8mAeURSsBD8qCH7kSgJW2R9kx3IpzltAjcQaAj84cO+B0Phfc5JoIIzPyOx6xhNq0j53sAbJmmBOQnI34KA7PdRSA/qvPHZTkbdNqYkfPnWnEfCfhAwDkA1Jy1swSksRg+HJ9dJyBjcg5SA/8iqORh3oSwZ7PJKzq95E0IpHmarQhI9oSokOdnS8AdG3sNhBgmfQKmvZnTh1MlhHR7Tkgiwac9JC5CirPikNLWJLdDepSJnBhPPoY0LBM5KzL3yem90YmcEbmLTk9rtzKnKX7qyI6IH4qfmb+1DIfk9nVUsQ0L7HIguX0TjZ4QqlZh3ky/5yLO6upHMD6ECZUuA8ibB0OF5kqXkeTNlaHStdE1BO3N3lAxDGoaOrs7Vl6j0uDAgEPkHZVTicktuwK0IE8l3Vt2qXCohoi67/wBmcM5qlT44U2HbY2A6Co1wLIUXM4wECRvVJ8ZdIEEdeUk6koKqxIDLrkl4HhtfsySTREoi9M/AL6WgFkRYxYukjY7/CcDT1b9P7z+98CrEjC/dBSOWQDeZMBiM6D5OyD8uILUWfUNP9cIvM2AIAAEOcuAKKTAV/jONyvjQHgjisBdBiy1AkRiAaE5Sp9RDIJ9lDw/g/Qxi8hAICEVlii2ShphFLgmB5F8qDQcpRU3MpXYSy9UqUA25aoK7QrdS9B9iSCqO6E7HUFUv0OWXGSS1FTo0qhuTqlLo7o5stCMoq+HsrUUBDSYcM8JTLewe+cAvQPamx646ICRFVJTAyPRGJzt0MZmF5/ikJdB6alxi7BVuh1uOjZSUdb85OO97iTixqjLX/iJ+IurO9kWLXzslhc4oeiBmvlFXP4AusPV3pgPXVEzbxaY96zQUpLaD4/TQzGuH2toCHeSLP1JsNx04dISrpjLJjn5r4SlVpOQ0LzagOaVlIu3x7uvP/G737GyVxO24FNVAAAAAElFTkSuQmCC", + "set/xor" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAAAXNSR0IB2cksfwAAAAxQTFRFAAAAAAAAAAAAAAAANek3lgAAAAR0Uk5T/gBpH+wd2hUAAANbSURBVHic7dk7jpxAEAbgHhABtgjnCCSWVo7IOYID49nAGnOEDTeyuAS5L0FoqS+BnM4RnKzk0FQDM11dfzWIyIEr8s58u3RXF/2yabT49sOYd2/3H43mrp2ZIhm24MW5SY4bsDVL5HF4NfcYovD2gO9j8GK8GCPw1YdPEdj5MNHh1bAYVPjCYaFCy2GqwS8miF6BzyEsFdiGMFdgF8IEw0vo3OAA+FXCCsIXCQsIRV9cbwAUfXG9kRD0hXoj4WcEzwCKcaEoAQSdpm5LCDpN3ZbQIpgCCLJD+ZEQOWMkFFU7Ry8gTOOUSAFB7VBUAsJ8TxkX8BOGmYBwYKahEbDFMD8OawxPAloM02Pwe4fVFIkP/6iMw9eIm+LurnH3gLedUCkGCbudUClDCe1OqLwpEvpVeIvBzvvkV6dDluwRp148eVp+WhVaDkHX5qLgX5zR+zDD5xDKVs6Fy/9AhfI/w459Voa9o3AvV9D2DI2Ue12DgijQ2DsYPCcXmTXLlBL89gmVnZukOv6Z20KE6xdNe2HDE1SgNJGK4h5BI2lqFlNnDxpJk30bwgo0kpYPG8JMvpZuQQrdsgllD6IlTi7kqSxmWjTBCiTfdFqGwVzSi2qmhR0sLLLbtFVoJSxEt2nzUUs498b7wm1nrIRiEN0GqQPQNdJrPG254H6oCN7N6RcNnMdcpXkJnppi8IpfsURS5wyeanOWSLd1VSZ56vf9B7cZVlb8Jz/jNKRGWfHpZGS9JqqQjjH18s/5CNAqcHr4+tXgYK1B8+H30opmA64x15Kxm7DfCdfDWbcFh53wfoDciMeRdMMtD96Eb81O2PyH/z7sYi45Am0MpkdgHYOnI7CNwdyD2iTlojgClYl0jsyD0f136cHovrryoHJgnOPswejGuvcgXOLWGD0YOyR4xaMsw0ukDNY6PDHY6jBnMDI0GYORoSkZjGT8zGAkkSODkVe74dBqLg1gq8E8gGp+sgCqFVkFUC20PoBa/fi1M0OLYSqgdjUhoHZ9IqB2cyOgdmkkYYtgDqByVSYhbGQPIMokz+IK8ZUjgOCgPECI708RFM8On7xCeBmMILxehjAojEqF6K4cQzaMZQSCi38Fyv9KUODjqukJOHZRuVxefUSO32jSdVjyE7rmL+aVUNj25WwjAAAAAElFTkSuQmCC", + "liq/smudge" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMA/4ok6bxZBkuS7AUAAAH2SURBVHic7Zk7bsMwEESNOLZrxZ86uoEF5ADxDazKrXUDFc79QzINvaNmuGMgxb7uAcQQppdfrVYVXcLjQARGYARGYARGYARGYARGYM0lNZgdvhh4djgwmgasLwbeHQ70qcGnw4EpNbg6HBhSg2+HA++pwd7hwFtq8OFwYJsaHOZ2B3aX5zpgHenNKLMO5L/t5HBgYwaFdWDdPdc+60hvfgPrwFf+Ded2B3Kpdrd2B3Z5RTrOzY4MZphZB/Jsqucn68houmQdeJguWQfWl+cuWUcm0yXrQBnmqkvWkTyd6vnEOvBTurw3O1Cqv9p8WEfyjK+nPOvAXyVcmx2RV05ZlKpzFevIayb0vt2Bsvkc2x3pzaCwDjzMoLAObE1lsY6MZpRZByazgrAOPEztsw5sTB2wDmxNA9aBXKoHh78+cJcLy+GvD/z/YygvG3lhy6eefHFQL1/yBVa+Bag3Kfk2Kt/oRzPGrFvK4ac68LEOlOPZqd0t8gOn+kgsP7TLrxXqi4/8aqa+Asivt/IL+Gg6ZN0if8QYTIesW+QPQeUX3NodkD+mqZ/75A+SeS2vn0BZB4ZO/KirfnaWP4zLn+7lHxfknz8GM8asA/JPSPKPXKOpAtYXA88OB+SfMnOD2eFAXow8HoERGIERGIERGIERGIERaDN+AU54LwjSfioWAAAAAElFTkSuQmCC", + "liq/reconstruct" : "data:image/png;base64,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", + "liq/smooth" : "data:image/png;base64,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", + "liq/twirl" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMA/9g3YHqYtN9pj0cAAAOrSURBVHic7ZpNc9owEIaNZfC1pilcgbT0WhOSXJ2m7Tm0nZyhTcu1TlPy94tWli1/CK3T1zPNDHsDi8eS9t3VSsLzeLaIpP1itmaYIOArHNCLifgOB+wTcIIDehsJHAGBPnrMAu1nbyWBJ0BgKIFDIFCN+QZIXKGF46MnMUBPojeVxAQIvEIrkSbxJRAYoFOYB/fKBpwfVJZFxoqPdjOl7RdAoEAHH8UKchkgN4+RQAo+JDBGC7GHzjc+WtkDCVwDgX10qATodUp0AkQGs3cEHoHtrRthI4EBOjnA01fYSemQAIG9TqolII92FvCyHVqKdLJTQYZyiI68Xifbx1YyXN7ez6Qy3v64bno8baea5TYybPin1hXR6hxjeR9VrYoMW2zNxLcaTvbyS6lRzHfyxbSJt7cHs1XKzjWfLbi9vTFGETF9IlI7z9x9+uWPVgtsw60SaQvgDjwXL4peZy3pgzNOarzZ4+7n9rH07W9qSaJxZ9cyb3etpSc+GU+SfMTuKTRow7uykAstyd2YOliatADe1UMtl9Mp/7hP/2Te2PSyGHSqu8oDfrc8vsiejwbMESvgOLE+132cFt5xA0eHZmZhuI2TuqJCuBZbFcAJC+jgeSJXz5CT/Z08HSIRM7e6ecWgEw6QY4HicY7RAhZwwPfxigXUQ3YX1wNWrReYOeKwpSxgnOvw1NFywatGq4nRanIoDF5Y8Bx+SXlA5ZKNe9DMcyyVqU/6WR/X1oYqL7mBasQ36v37eE4s7TKxuoGrbO60eCxEnYndwDxvLQ4RNc8NVCOhvJXqH9XXi/f6kTveSdVqJ6H9sq+gyokxyF/FWBWpbRbExmpg1KJLo7R0R7sovXdjaHxfhp+dLT/cmqUHI7mGpYkRhwsrTn6LtY+VHSzVxpwlhwaZFJ/7diJrCatfeFj7yOqfCo/y9tPQSGn+eBss8kmlChZNJf5D8+9rRj5ZV789r3ZynjB51t3iubntmjfuC5strfokN/FxK7eZs93XVrtT2QHkNRk5GXmRR7lrAgT6jU7+B4PfdsQW1TzZSIZAHv5OS+oaetQ1BesafnYm0IECB8JP9+BA+HXyEfi/AuHChgPhyQGZvtqdCnMsQi8BkbW0eaJN0ate2sm6nACBV+jaJkZXXz10doD//W6ADhX8//kitBApVJDXZLQZRd54x2jd9NC6CdEZUR0nAYHMW54WtkGnhxi9NPvoaO4/E68gYyXuJFbw/xNPgMS0E2k/g0lkK/EvxGqmmaAM3vEAAAAASUVORK5CYII=", + "liq/shrink" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMA/7Pgg08nC1hmBlAAAAVXSURBVHic7VtNcxo5EFUwzFwjyMeV8eKcd4hrz8YOyTW4jPcKWzG+7lRM/Pd3pBHDSHrdGilf3lTewS5mpIfU/VofLSGEj0wqTMGbFkNVYsKVsFCo4q+5EpUq8ao34VYVf8GVWAT7YKHp0L90gbxUJTa9CRsjfqQLjNT7cW8+Y8Qp/X4QZ0JjRKaCfn8RQTgIeGURZ0JjI9oreawJhShZr+jvexlFuGK9oi3yZxThZzZWqoCqAIasVxYB3QNkbPAXocgk6lDCyGJlrbBipDuM94mxO1FpEBsnbSWiW1VsnCiMGDevouNE8NGV4mTjZqy1MsHJxs0wGrIUJxvLT9GbYYqTjZufk2/iIlmBHqIq2rocMlI3SaoRjS/h8LBIUo2ZN1DPiiTV0LrJSW8FUBHqGMWtQo6gJo5EGZqKYFpJlCEtxJM0GRrjA3lsudmGRYkFnKrrRm+gKam6JldERfQy5ABC2SW3pmCBlZ04vCqcwJAIBMqD+It8h0OFD5RRKeQb6iUOFXaW35dSSPme+jYYKidM5D3UDqsJ5Qf8Go/Zz+hlg+LThESvcezpDQAsfy3lgVCewRIw9lZEKOdXskMoz1EnYOwtcCjvC2kRyvHffiE4q2DCT6V0COtue2McDGa0UtpftSwdQjl29QODufS0lF3LDkTR+TC3+w13dK4485uyy3cmskX38/y2U7YChM6CPbPpdJDkV9aj+bK1mtbwFBAe4vHu0qabmBCxbKA57/VzHWXO6KDjUU/z+5s/nHrjtilHp7ecs/U9XNE1W4ovN5deFUsm2ZX3uu6AbsGrxw7d4+4fULAp7WjEb+QRbw9gyvihBhvZF56ENfaukfti4gfZod8plJOZ19uvoeTpdMeBIEiMlyE6hcxTLNW42zBZyxlq52S2jlzS5Xc3pxTbbNm/bRZ07dPTRtKT+t/pjEsdhKG67Uwq0Ukqj9CZMr8BoW37ryMEm3Byf9WfcOM/+tUJP/qPUvl+E2qA4PmZhIsnT/j0bfi/1OFTJNz4j57YePjNCX/ErJdM+F0merQUScnNtYRosZRGyC7n7iPJ8uCC8+3str943D0hgZ5LYnfDyiK8aM9i9gBNM0GyIp1Og6TMr1PoFM5gx++KcE0KkyXobTqdwtwR+wPZvJfr3e7xsd6F1392u7WbTsCNzEGx+bu13r07OYcmqbhbX/rbt+Me3Nt7m30XSnHqJIZOs/jbt0O6a+90d740QYWSsFaWMne2mU3ewck2dFSlCS8c53UJVWtsZ74Rwk5zWNvpZ4BQ7/+sZJqtjzPR/XRu+75Sz1AyzUn3jbo+4LJzOpm2cR4WPmFttgIQ+qmNlXqMEpJ+yvQolAOhmxgi61KbvU824Qu3Z4e6MKkLp7192SE8h8M5PEfeIk9pjIqWEGedtUNxYvwCls8KQ0idBqiqOHU/xRUUI3MWYCUzW7D3RGpGQZ0EmLDFxx/kSWZWCvL0o6k6hV9Dn7WOyDfUyUkOLdsLxMkJ9H0vVFjCMJh7gTg5wcHcByvcFDL2giDOLOEo2QsldieaGHohJwSXdH1HAQeKeZ5yOIoDxZ/3eoM8YkxV9gklD+IgOwjyLD5ViMQBHjcJ8CBvJnFjNgNKhvSNigAoGSbdPlSgD6apGxUBMAfTabpZEUsOkaobUjX0TRwexOClkHCFkx9ThiluHnArDpkwT7F2SknesIcIKZmMkuvVNj6a+WE5+va0qUIOANx9TAIV2ykdzXFeCZi9iI0V3QQm/rexscLfTTZDUUysVIFBOfKHC+HfETRe6S/t5ncBG6ZEESftYTD6t3FGDBcfxA04RVAVI9KI/wGIdk2Ub0oGgAAAAABJRU5ErkJggg==", + "liq/blow" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMA/7KC4FAnC04hTXgAAAVLSURBVHic5VtBd9o4EFZxbF8X4m2vGELPdVnSa0zonpf6kV5N07DX+mVT/n6RLIglj2Y0St5L+vY7kBdb+pBmRqOZkRDCiWh4QGY9TOTD4djdC0Eju761n+by6bsgwgIcy1Y+PQ/hS0vZtbYft4L4EUAYy56j3uNWiP8EEA5AEWohjgMIlbA+OJ4DX0SiAEWoRx6glRQWoZZtgFZUvz+hN2WYVtTMrqA36zCtNM5x/Be2VgqnpKIwreTOXgnkNEgkiLXlDoNCETl1orUCmDyKAdKpQb7MiQaZlmuVo1g71olEHKJmt5KRVYmhxGal1MxbzQkq9zV/NUeoZTT81TxAx6De/sEibFApuV2bE5jVaAnz7KbAe5Rs95Dja6Hg2k1KSJ1tNzFhFw3X3+BmiG04WAdkShF3WzkjhM42xC1hFinXEHG7Fq0hchwYYdetnXIsO6dE5IqkXCgpJTIt++Ref95V88lktVodviE7/JlM55sbqX2mZSur+FxNVJzVx3K6+M5zsRFMZOPKl+/uLz/C8xsftqRyTBTCaFFTdB8ZdBLZ9Otz0ik4KdMvIXQSM3Did3kg3QHZAphtOJ3E0lo29+DwMrkyNrvdfr8X4vCx22028/nkAhKNMcj0C9BgvvnXqb3dBhjA9UmSCWTIhD/eAl1GWt0P1rctF/KTiFAb2eZTdWHO6lK+ujUlcrAq5WyILeiNbDM+jMZU5nshvpl0Ug7K2RDBldrGrpTADMqZMMTa6h5LKY7oRnRxVwcdwtGlbuxNeBLLbQ4Qzn4Yjcc4YWQq7tFQjoTZ5WNjb8Kuad2ahOd1592ZB2E/dngoO4TXRtihCIkdCEh+4vxEODMbN2GEIsk14XursavAYnRWdmE/zBXhpd1YERK7OEgoGcXwU6/x2oPQke8lpbDn60moZA+ESzHUVhHWYYQgCh9CTqriTTh8dkLP3KfwactJwr3acoo3vwmhVyPPKPt/SOi1CF4/YfHqCV9Uhq/fDn8TwtfvD5+T0GvX42xSL0PI3ugpi+CEIusXIRzChPfi7ycQ9gPOuBS9CNsvxoYj2ENq4YyxfYJ2uyJ4X7ZZgB1lN4GEkq/NU6xZH3NhktDM+ts6Q5tJmZlPUGqW6vRR53rXdeedT5VaEXbKCKc6wzEbHXXqTT6EVnr7WGeA8mXVmCgRGKXxh05K78zoiSJGJ+tPjKqP6NZYlu28bflAOIklNeuNM5EU3f+XN8KvMK8twS5fykmmZl1puagBG4MJZ1a9MdNLxK58LeUHUel/M+xjVB/fWsWl9q27lCbEz6ro95h1NgSwnKaKfTe7fYdov7vbVB/B+nZm+RhokEesjkDaXNfCAjhIX4x6LlDi4YLuCSKbubbT2xDKbNqb7VMocTo1cU5xnC7dSySV5zD9Dhcknvv4Qxe2qskKJlpNF5X8O/YmVJuu9A7AEdJCHSFh9yogSL2g3kE5G8bxrfS66DlgIwlrf8JiSIRWKrjw56OrX2tqChYaSkQFJWQLZBW2HPKOg6nSuLIrzgUZZdnIzhzzFgoYWxmIeAtFkJbNXSjkgfQZ065JQ6TO8OEeiCEWTLsmg1jsRhMMPKJjmyEVgLHNkLoZwbcawm647lUCtRv1knmLs8FmxbcaIrXgOi+J3qlYB5QvAgGf6LTwOabrA6l6oPJ1onCbRhGgZO0exuAr7u2dFu57lT5pDAD3vcpBiJL1agYl1QQpWasZ0iWiLhRbx1pRQ2ff/BXapQCyD7yb7PjhgtAiDPmlQauVvqyKQJ247uu3vwuoQwi3oBAjxGsQGIBd4a/xQgwKMSd2vF/smUx3JGjqLwAAAABJRU5ErkJggg==", + "liq/pleft" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA25pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFQ0E4RTZENkRDMzVFMzExQjAzNUUwMDRCNzlEOTUxRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyODlDOUI2RUI1RkIxMUU4QjZDRkZDMjM5OTEyNjQzNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyODlDOUI2REI1RkIxMUU4QjZDRkZDMjM5OTEyNjQzNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplNTUwYTQ0YS0wNGU3LWExNDgtYWU1My03MmQ4NTJiOTA4NDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUNBOEU2RDZEQzM1RTMxMUIwMzVFMDA0Qjc5RDk1MUUiLz4gPC9yZGY6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", + "caps/butt" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAABESURBVHicY2AYBbQB/xFgcAtidfyo4KjgqCDxgvzAPPVhiAhiFAKjghQJDsIoxhAchFlmVHBUcCgKYhYCg1JwFFADAAD0Rf8ADuwmmAAAAABJRU5ErkJggg==", + "caps/round" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/9QXTYZVkUx7AAACX0lEQVR4nO2aTVPCMBCGYz/upsod1N6twL0VvFss//+vaJO0gHYR0ocZRvOenFGf2d1389EkSgUFBQUFnaDF2+ZBn6VjtPhtdh7sONALdwS49MLJwFc/nASMN768YWBce/MGgWN4g8ADXpY36/lc9O4U7fuRr59HsVqle7jVaNpXAfv+yxoAp1TV8SYlwusTzscXr1Wf8BOCU+oF5nUBTph8+wAzihe7hEuI1wX4SPFcBScUT0Vwwm6Wucd4CeuwUgXriFIzOMCUDtDOW1yANmPOYpfxOwcs2EHiuhq0JKYtieiMTdNMQeCMnWdsCcmMTRfegcAC7mrrCdg0xhOyhDFdwpQuYQR3oTE5A3nGZNITYzLpiaJnhkQ0WX/TicBUHCdjgIO/8QRGYtd4AguxazyBlbjEjwDeksBabMOLA3+X+bd25A1PXtcCbH8oQWB8EeDwkvdXgUn3w3UDr7qG1w/Ehx4PPH22Gfyjn8KBtb7AEoAuUu2qN7z58gQWGl6XbzS8c8D3NvJ2zlPyhtNTZnaYgkB+016LNnuqEm32VNuI6KcZ/vFo+gZ1hf4AtwdV5Fgp6CLixyzGFbQT6aMqe3BD5hzROdtjdtJn04ngIbE7uAd7Gz9od1cBINDmPOWANmf8aJwM0d6ZgRcq7lYPv1EBpwg7/Ehfajrp7rb6AyO6ELOSAroqgsSKJvZ39Bhx2W+nmVcOe+8cdF4iwN1LDJ01yLhO9E7ZlngtstT6gNms5iMjPSSeKZyIxyhkvfB89SV/DXo/1JKtWfghZWCLRB/jmcTXW/K5YFBQUNB/0ieGqc/wijSb8gAAAABJRU5ErkJggg==", + "caps/square" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAABDSURBVHicY2AYBVQG/zHAIBXE6vhRwVHBUUGSBfmBeerDEBHEKARGBSkSHIRRjCGIDkYFRwVHBUkTxACDU3AUUBEAAI2qjn9HsJvyAAAAAElFTkSuQmCC", + "joins/bevel" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAABHRSTlMA/3+ASBS0bgAAAKZJREFUeJzt1bENgDAMRFGLjkEYCdEwRJZhH0YjEpIt5Ng+WrhrecUnSESE47jvb1qH83BG4YLCA4RBoodBoodBoodBooM9cfMvOFhP3CHYExsEe+KJOCZmY2IyJiZjYjJNjG+Be5pYQU2soCYW0E6xgHaKBbRTLKCdYgHtQwf30aqPdxQ2FJ4oFMLfQhmPEIQ3DRghIeEHYPIjJXwF5TlCQkLCv8ALIsLdoSRods4AAAAASUVORK5CYII=", + "joins/miter" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAABCSURBVHic7dMxDgAgCEPR3v/SOjmgbCRaw+/4piYUiXTN2OOKaXkQNMI11h/weC6whNcOV0BFA3thHK0xpuVB8A1OgtrNT//QgYEAAAAASUVORK5CYII=", + "joins/round" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAgMAAAD2oY++AAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAABHRSTlMA/9hm4DvZDQAAAR5JREFUeJzt1c0NAUEUwPHHxsFhOSlhS9irKMHBIDgoQQma2D6UoAkluGiCN8Qk+zH8JRLJeu+4+WXe1+yuiIWFRftjeClcQ9TcuJHV4aCZ1WASOa8GzzFXgdHEVRg/sAy7cVeGuX+yur4cc2h5fXzrJFU3B04yhQfgfOY1cPfM5EDf84I4OTm3JS6BLfsSlyizlrhDUEtEmaWAPevN2SCY0hJzWmIGS9SmWYkC9+ebniCY0l76bo6cTmfGYEabHsGm9UqwBeoY98gldDpdOp0OvRIpHWMfvoHSC/OOfNyfkbsphVsGs7CYb8FRuN9v4Cms+nvwWIGRH1LxSygMOoPtg9IcBiF80AgzaNBgC+CLD6nBj6CUw6BBgwb/Bd4AoL3meztL4EcAAAAASUVORK5CYII=", + "rotate" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/4BN2acpkSCoAAACoElEQVR4nO2Zz07DMAyHyzruFLZ7LHgA/t6H2O5MsPd/FbpuSdO0ie3kpwlEfbX26XPitKlXVXPMMcccc8RigQYSmLdowEACAxcNGEhgYCuIBRIYeBSEAgkM7ASRQAIDT4JAIIGBZ0EckMBAKwgDEhjoBFFAAgN7QRCQwEBPEAMkMNAXhAAJDBwIIoAEBg4FAUACAwPBciCFwPqlDZygjdX2kEcNBQex0zNjgk70Hil4snxECnbxBRXsJLGCbaylZcsE21gJiWJgs8aWLCfKFZsPtGLziVZcwRVlRSsUG1HvjBS3u0Mb39sJ4G2Woks8f4+IJkfRS9UPQe4uR3GQq9/LVzHIvg6SmwzFMPvmJ3N6cZQeEDOOyzjtVy3bFu46t9fWzF04/b2W1cxdia+1NbOX9r5oYc3cZ4WnqH67cPmNVnE63ysKF5H9eHSrKFxE9vN2qV1E7gO8VnYiPyJwNd8IgdwQw9UsexFU7JjF1SzdFXYQ5A60+AbKjKqeLNDoFKNZt4gbMTA97nOLKN5mbiBpF1F6+CpuZGpbX3hVtL+JJ6/UfcOMnd2uKIDJwbjbFc2nUHJ0r2/EKv3ngt1m6fOmi9TfH/aBs9EAU2EPn6Kz02H7RtHZ6ViigfbVpzkqlwXaztacvcsC3VH5R0B7mFWTl78N3M/AGaiP39/YFojilT9thGMn8XeBdDJmwIpyQaGiQlCkqBEUKaoEBYo6QYGiUpBV1AqyimpBRlEvyChmCCYVcwSTilmCCcU8wYRipmBUMVcwqpgtGFHMF4woFghOKpYITioWCU4olglOKBYKjhRLBUeKxYKBYrlgoGgAQF8RIThQNBBgr4gR9BQNCGgVUYJO0cCAJ0Wc4FnRAIFHRaRgp2igwIqwgq2iSSR/AFEvvdtaHTqdAAAAAElFTkSuQmCC", + "reload" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/+mgFlSmU7P1AAAC9ElEQVR4nO2ZzZaiMBCFOafbBwiM+1HovWi753TrXofm/V+lQYSkqu6NwdUsrJWgn7cqP5VKkmXETt1hv3X5tjz8NOw3xM6HjZstPy7Bz3snbQH+vXHGyp8k9P2fRQfxzxRWu0zodntMZ3sL6VX/fEnz2dJ1/7hWcBtjA8/fhsdCst9RtqcnT+vbk3Qa9JG0ovHCzgk4GvBolReW8COnZ8fvwiH82OnJ8drCCU4P9jkLB/AqSbh3vJmEA7jmv5dWzp8WtZa2ubWShQH8jLCLCJfH7nTu2j1vSCrsU8f58ADWwnLmn4FfHn5TbwuVsVaYHr+8KlbnCNIZaHDlhiXat2++IvHOcYNGBz5ViIUjwTbXPVkYA2EPr8VcRAFnqGVGWCaBD8aCCa+95sIYFm0dEV6hmMOGiAmjBhMh6xUkMNhVIuQdZdEAlSHnzRJhJ0MhgysjSV2+5V5/AdaJDuBe46Qu2ot7DYWdeM07ucbw1X9m86k3nEHD/4yMEAjn4Wve1gxOChnHXARwzlnc2pWHo/UhqO3ysokAL3vZy172sv/R0FY9ms79ccQHW0i4+TUvZ0sYtaAMydniSS0oQ4rF8DWEERuBw0LwD4Z5zGHl9RfDaTXVDsK8cBb1YgNhLhyWfH1sSLhJ8noNYV6cCK8rBEcKQVHYXxAcqYquKjgrzNmV3o4YOHVjtQNwbGMVCt+6RMOR0lcI36JLby+5VaggnLYFHgeSgVnUMl+N0VkYO66OYXcMzsHRrNob3WMDMKD1YcV93iHY0PqIZpp3EJZn0u+tzpJTm2JYHCyZNWXONAwej7ROXQuWo7kzOUzNp7gnYD+KnhBuLBw5FZcW5Nbp1TrttFZOnOndhWywjYUjfxJOPfoUKW4WxvcX2uRKNAtnSefMcrp64RTHVZrZeOHHx9R6+ay9cPboyNdssa9OtGCUNvlJ36NErkHsZY25waE0YK3h7k66cspQ6rBHx9xM0lp4Sycu+A7JspP6cLW4Ga4WO6r6C9LVFP30/VNlAAAAAElFTkSuQmCC", + "cross" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAgMAAAAhHED1AAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAABHRSTlMA/8ky3+Rv8AAABVtJREFUeJyt289x22gMxmGNdNLs0F1oz7nw4Nk6mN0Z70EF+JAS1IT6UAlugunAtxQRSdYfit+LFz+slkcM/A3xxJZIAFks/rfrj0ryXyL250fhgJ8ieX/gP78a2uTl8M4P6ETyenjjB/QieTN8/8AHjCJ5P4i6gms1tMnLYwwjdCJ5fYxhhF4kb44xjDCK5CMBRjgRzJOX5xhE6ETy+hyDCL1I3pxjEGEUyWcCiPBF8Ji8vMQQQieS15cYQuhF8uYSQwijSL4QIIQrwTR5eYsBhE4kr28xgNCL5HsMIIwi+R7LEe4E9+RpLEXoRPI0liL0InkaSxFGkTyNZQjTcq/Jj7EEoRPJj7EEoRfJj7EEYS+SHwgShOXQJq9mMYuwFsndLGYRNiK5n8Uswl4kzwgswpzglDwnsAhzglPySxMzCHOCU3J7qEGYEwzDv+IOYoSWYPixWLWnhgjt3Q7Hu/3kCC3B38foK0dQBIsCgiRYFBA0QQFBExQQNAFHCAg4QkSAESICjBARUISQgCLEBBAhJoAIMQFDMAQMwREgBEeAEBwBQbAEBMETAARPABA8QY6QEOQIGUGKkBGkCBlBhiAI5n8sHoF8hVsE9VwwvyyCvT2AAAg8AnuKMQiEwCIQAoeACBwCfZALERiBQWAEMQIkiBH4s2yAQAlCBEoQIWCCCKHyOC8ROEGAwAk0QoFAI5TeaBRChUAiVAgkQoVAIpQIFEJz+QZDi9BcvsUBEHyTJUfI2jwpQtZoShGyVleKkDXbMoS83Zcg5A3HBCFveSYIedPVI5C2r0UgjWeLQFrfFoE03x0Ca/8bBDaAMAhsBGIQ2BAmRqBjoBCBDqJCBDoKCxHoMC5C4OPAAIEPJAMEPhINEPhQViMUJqIaoTCT1QiFqbBGKMylJUKFQCJUCCRChaBt+Q/zfsF/uINt6QBh8E/l5+W/QuUA+XuwKxwgfxO3hQPk30IBIfhr5AcEnwc7fEDwibTFBwSfiRgh/FSmB4TfCzt4QPjNtIUHhN+NEMF8O7MDzPPBDh1gnlC26ADzjIQQ7FMaOcA+J+7AAfZJdQsOsM/KACF5Ws8PSN4XdukByRvL9jkCgJC+tT1JkCOkb64ZQvrunCCAt/cnCTIE0MHwCKCHYhFQF+dJAo+AOlkOQfTS2pBBUN08cVMlgoOIxQiqoynuKkaQPdUCgu7qFhB0X7mAoDvbBYSgt44Rou4+RojmCxghmnBghHDGAhHiKQ9EiOdMECGedEEEM2tDCG7ahxDcvBEhuIknQrAzV4Dgp74Awc+dAYKffAOEZPaeImTT/xQh2z9IEbINiBQh3cFoEx72B/ItkPYWHzYY8j0UkfFhz593jcQ9TrsyYBfHIpBtIItA9pEsAtmIsghoJ8sgsK0wg8D20gwC24wzCHA3L0Sg24EhAt1PDBHohmSIgHc0AwS+JRog8D3VAIFvygYIhV1diVDZFpYIlX1liVDZL5AI7YaDaaK3CO9izcQ00VuEg9jyMHOEBuFU7hzBzREahFO5cwQ7R5gjnMvdixhFOJe7ETGI8FXuWsQgwle5SxGDCJdy9yLGEC7lbkQMIVzLXYtYdD0gXMtdilh4TRFu5e5FLLp6Ve5GxKJrMoG6l7sWseia/J+PNxEEA7VRlTuKWHTdEQ4iCGaKN4RpuZ2IRdet3jcRRDPFa73vIohmitd6DyKIxqqdKrfDBLd630QQjlVHVe6ICa71HkQQTpY7VW6HCS71zstdcYKveptyPwuT5V6V+1oYrneq3JfCcH2lyl3tC8P1UZX7WRiu96rc18J+QafKfRGx6FrVdgnE9evZA749e8D9+g2w4Fwzf7ERbQAAAABJRU5ErkJggg==", + "checkmark" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAgMAAAAhHED1AAAADFBMVEUAAAAAAAAAAAAAAAA16TeWAAAABHRSTlMA/95wQrXL2gAAA6VJREFUeJzt27uN3DAQBmBhN3Igd7ElMDDgNnh7gDdgARdcCWpi+3AJakJwBc6dOLek067ImeFoHoltcLLDSf+Jn0WJGtBd16pVq1atWrVq1eo/ql/O8883Z0B/dQaEOPgCpphc559jfHUF9DG+uAJCjD6EaQ5IjvNnAh9CvwS8jPaAhSDG7/aAaQ14M5+/EsT4zRzQfwTE0RoQtoB3a8C0BVin9EYQo3VKPwjMCOEZkGwB0zPAdjc/CaxTeicwTumQBSRLwJQFWBAyAhtCTmCa0qEIMEzpexGgn9KnWJY64JM34OINuDsDIIH6kQAJ1A8lSKB+LEKCUXl+I2gEfyNB0gZAgkF5PiRQvxQggfq11AgaQSPoGkHXCLpG0P0rBFx3TkLAduckBGx3TkLwhVkwiQh+Mks2EcGdWTFJCE7cmk1CsFzlWDlfRLBcZe0zWDQRlqusfQZDAuq49Sprn8GQgLrS9Sor7T1EQB12qUYvt1hZ5IXeq4NbbrFjAq69d5YQ9MzoPksIAhMuIpiY4SkIyHQNAXmXiwj2YQ7M7xiCfZiJ+R1DsA8TTTQRQXazIwQRQT7fBwtBPt8hgoSgmO8AARFQj+5ivgMESEA+N8tHXokACcgnd/nIKxEgAfnuKIdZIOgJAIKIoAfH5AgiggAOyhFEBBM4KEMQEaCADEFEgIaQIYgIEGKGICIoO90FgoyAQZAR4JE+EaBObQmD/tADAV5abRGFhvpawaku4yD2hoD+eSoEVQQpQRVBSkAg3HQEGOGqIyAQRhUBgfCuIujwSvCmI8Br0auOAK+G56M1BHgxOl+vioBA0BEQCIhg4AMQwm/w89HXNkKAdfi1DRFgpaMAiKAkIBB0BIcIgoYDj3BIcIRwSHCAIOm5sAiinguHkCQBHMIgCWAQZG0nBkHYdpp8BMRaR0dAPEZ1BMSDXElQR0jSgBrCIA2oIMibjxUERfORRkjyABphkAeQCJr+K4mg6r9SCEkTQCEMmgC01tG2oNGCT92Chgs+dQsaLfi0LWiEoO3C15b+8oIISRsAEQZtAEDQ71cCCIYdU+UbzrBdqXzDGTZMlS2ZUR9QvOZNWyBzBNMmzBzBtA00b82NloAMwbgL9OIjyBGMO2FPToIdwbwR9uIj2BHMm4FPToIHgn0v8IZg3428IZi3Aj8QRnvAiuDa3B+ifS/yWr2P4GOtM3oC5rWO8/83BB/BguAiWBBGX0D3w3l+99Ub0KpVq1b6+gOHPSRKOIZnzgAAAABJRU5ErkJggg==", + "pos" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/9cTVpQaovGbAAABlklEQVR4nO2ZQY6DMAxFKzU9gKv2AKgXGEViH25QNPe/ywwwUCAuE/ttushf0jy5+gTbsk+nI4V0+POxupufPTfXLzccRR7+wCLu0Bf51dMJdwPstCzIqOSC4wS7LBvsGuSy7C+wL3Q/w3c7G2RRMsPdCza/rdkul2VRVjJatg5sDn2RjWwXvNvCJsuC7JQMcNzDBsu2dhktywJbQvc5bL/gA2WGKlzhCn8C3JbA3zp7bkrgN9ksZgc1WM9moSmDr0mBO+WgBmvlo1UPqs8yz8Y8XwhnnsU3B9VnO89CY4F3nk0ltRTeetaKDV57NlfFcnjl2VwVy+GXZ6Gxw4tnSwNigGfPWvHAk2d5D1Gm0TOlhyjTY+WWPXTat2sW3Qh8Z38bGcZeFbok7HqyDwN9kiwZoDTEEiBLvSjps3KDCh0rsay4o7aCNTSolcqlwcWqcIUr/BFwL5nKhyxovIMGS2ikxYZpaIzHBohodImGpmxciwbFbESNhuNsLI8WAmgVwZYgaP3CFj9o5YSWXWzNhhZ8/60WfwDkFH1iPYe5kwAAAABJRU5ErkJggg==", + "trsp3" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgAQMAAACxAfVuAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMA/1uRIrUAAABBSURBVHic7dOxDQAwCANB77900pAIiwWM9F+hEwUN0pbOKBTfsf9oEAzCDqotEExBgxpAMAU7SBEvA4KGVibu6AIz1Bo76RZnXwAAAABJRU5ErkJggg==", + "prsS" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAMAAAC8EZcfAAAAYFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6T+iNAAAAIHRSTlMA/wPvc+T3aI9c0Nk1HLS5DEokl1AtFMVEsIQ9qH2/n7HM4CkAAAJPSURBVHic7dpplqsgEAVggyjO82yM+99lm+H1M2mixoDw434LyLmnICVSGgYAAAAAAAAAAAAAAAAAAMCxqjJ1qTNGtW+Zp5Ppt12RqM40SbJ+inWuLfv0l31OleUqU9aNF9/kxHriHRwxDFyat95qrpkoPCJYFRQ0j3zeOq4yG4nBSNgwp/V2BfuPyUiWpczZWTK5CUmZ0jz2xQT75YpIlk3JLpbgZA928E20JHC7r/fZCqvaFa3qmRNLKtqL8eOqHRbtYXPHJlnRRYdGu/PJprLltdy9tmC515CAjZ6qaHfvS5i5jrq6zRTcwtHokye7VPFruFKjcDfzc03IWr3CXdHfdLRWnYXrvsbEvagO8o49vaQQpqAHb9YboeJet4Iaeuc75Ybog6ZgFyPQr7fM+VOHaVWHWGJe20yjZw+8se99uh91OBpw/XuUVFTPv7M5exgHuYYd23o+zfSObhnrP+fBoNOqM56552kaa/OfGXgBJ0nq6FHIpVdPLU6wK9cLyl9QvOV8j5CDui3ZbQh4C9kPair5yRUXKdn56C65ZYWfhW5+5CNx3z1rkg7xMettfjHXKY8o5bsuvbmUzdDK3JWWkMFYWHSyFlzEPfqDlNuwSFy+G1JOKQXW0pQyECNTLS9iUsoch4m405YxDHtWNXTcP0r5tsNsdd2Ye2YXdP2nRap6ln/y/zF5d9PyhSkdN8WMDxlov43ZsHxx0T015XuRlAV3UGq3yj6q4CJZ4w759bsU27b8SI/PUgAAAAAAAAAAAAAAAAAAAAAA1PsBWvwp5tsQqmEAAAAASUVORK5CYII=", + "prsO" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAMAAAC8EZcfAAAAYFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6T+iNAAAAIHRSTlMA4ewH1Ro9uxAk9MstR/ujXHgzxE5qsXGAjpWHnKpVYyj9Yl4AAANQSURBVHic7ZrZmqIwEEZZtGVAUVzbkeX937KD0N1CKklViHMz/3mC81VqSyCKAAAAAAAAAAAAAAAAAAAAAAAAgCdpmmXrnj8DW8Wx56Nn13NWtG17UHRdd1HcFFVVfSoej8dd8VdR1/Ve0TTNtWfTc1IUPauBeGR12le7lGU36H0Lbp2CHUOwmQieCMGkJ653dr3syUTQHcFRsOJH0CioKCyKo59U8PIrWA2CDzKCG5Zgnu/XDj/pEV+0CI6CtfiIn4J5TAYxTWcBfI3gVhNsbUWiC14FEVRcaMGUEjREsB0NySKhj9hexRPB/Eb6SQStbUYX5BfJIFjOY/jityQHjUUiFsx3ut9CwZsmKCqSeCpYJmujIFEkdA4aq/hOFslMsLALlhvNb264OAd928xo2GmC5BGHadTSCPaCcWYI4PIITkddo/XBghBM5kdclp9hBfUIGnOQ6oNaDqo6mYdQIiicJPIq7rnQguxJImjU0iIZBFecI/YpkmmbaTyrWHHkHrG+LJx/Z7GxSER9kIpgeffPQeHC6peD8zMOVsWuCDLbjGIdMIJvKJKybANGMOg++C34sIziYJPEY6P+MbyGmCTGa2dtujQxJ4miCLEsdNo+yKpiVpHE3usWvQ8aBd0bNR3BJLDggqcPOoIlJRhsoxYJciIoycGW0QdF61YyCeE0B1NbBC1V3PJHnfhWR1axNAddF3f/lwV7H2TlIGcWB2jUD+qIPfdBwUbNr+JD4EnCvNXxBbfuNmNZWN+/zdB9mjhiqyD3XmzPQbIP7m1F7NMHrQurR5EcuC8L3AdM6714JshYFvIsclexexYbi2RxBJsFF3f60sR8WbDl4Ouo+6DvxdKN2pWDjbawMqu4mL/NSBq1dR9k9UHD69aL4TniHLFokgQddaeIJRju+U2yUecvGagbciPoevpYNknu0WJB4RFLNuq8XGWRbmg8Yr8vTUtyMNlGkW64uA9KXrfsgm00Z3GROB+PJBf3TvMjviZ6VDHzdcsVwUSP32D4vgiKnj7iI+ln+KAtEgzyMbExfdCmfwn410Wycfy1oP1UIWrUkhdW6ojj+sOq9+MoatT6uuXzusX8LQUAAAAAAAAAAAAAAAAAAAAAAAAAAID/gS9w473uUmHmvgAAAABJRU5ErkJggg==", + "zoomIn" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAACwBAMAAABdmfltAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/+UUmE52sBY+AAAE+UlEQVR4nNWb21bqMBCGu6w8AAXvkY33Knof3HgPW3z/V9lARfPPIZmcWMu56+nr9M80mTaTrrNY/7ndLpf3w3K53X4+mi6xUA9v91PPhtV7DXZ/WE6ZLYvR/eGeY89ul6Ff32TsyVYf+dwXxd0vp/9mYvt/IezJHrLk6AMyfMuRQbZwc8g2bjrZyk0l27mJ5Gg8+PZg576kcKdTczxPgu8Ft2Fn4/abNO50OrfJnCTwaCaZEwUezSBznyjwaENcjAwhThYV4zbL4aO5iBDJEXGxSGRktdxowfbLa7nRgu33rF61ff9YP/br18NWvfefdIchkTimGckuyw6vmHovMlp1WXRYTCDkdEN1WXJYG+PFzEBxWYrhQc1KXgWyEsu3wpmBnnYi+OHEM/mJ4R5cGA/mtvNiI4NAlq5gTRfPzXgLCs3HY80wLLA+Vog41nSWfIHnH46ds08UeDQm8x27Nz3DmCzQfpZpQZUwjuj8raLNR5Sw5iBcDKIFVSIhHyORQbQgStgd5i47OEqUSHCYuQxaECVSHGYugxZEiSSHmcvOO4T9RJrDzGU/4DAYxc4vZHvtciKxUwmKoZKeyOoBzy5HpWOqYyixPCSGwCoAJZabLgieyCLjkyhNFwSja99aosRKchAGoxZO3KsEcRiMWlx82xuUiIBRi0t3ARJrmV0EDE89jPt6UZ9EMGoxygltp2aMETBGluNPwUZZIxgb6g/ftcgF33D3oEHVHjMGBpHPoQXq6N8RMXDHMHArVeI4GBQ9PTgEhf5JFQVDDLiOqO7yweDg4rjjiT5CJhjes1mH2gzqZXEwtN6prfxoCwyjcTAF+TealYB9TQcSxosSsB8Fx0CGMHYlYAiLHYIDKVAcTFz07xP6lxEHg6gOlAnlVnFwh61VEbwB8JO3pXdBJvDeQ83IVhEYffTBizLwDYA39cB+gM0B7K4BnhrNBN6Vgf1Xbw5RXRE8XAf8WAb2B6ffCPZPKgTDNZ3lpCxwRSn8a35j410FXPXNa9YJXQXsOt0EELUrjSB7b2tRD9xwlH7ytirmFTNymyIwPnyz3O22HhjTWHgPa+bHjTL6Hb1PAZh+G7T5auqwLat9553CYE+2s8G+h3cd+6DMB9NPXPitUOvrf9GRD0qXD2YcCL9af1hOTw6BXOmf0PgKb9ieLLDv35zdqtJ/t/HBQZxFLhiCa2wqaM46/zbdeRcEYJ2/sV+CCn9ok8Eg8eUFhqeo8cf7TtpZ4x/9xTmcrqgwq+C+9qLw5fMgPwEAz1E+c/NDsMywBMHy/IptTigIlmeEqMiGSjBi+vUb5Y5Gwyf2G+lZPWIy9MuXkkwfl83yOu8QmfQsmpfGJtrjsZKZdOx4S6bSAxPpRZP/oan/rqRcgThMQyq7wIKWV9D3lpaE5Naw8NeWaBEq5PONVt3wwZiW3WTWCTn+TPSUrMomqQNjRV45tViSgBN6Uk71mKgfK6RLr3eT+0Ve+pdcoefEE4VixRBZqCnUgl8or0yrgtRiXyoITanb1AdLsSLUXmmqv6xy0e3qnbkr1saGRnelTNhWzRvqXdTCZkP9cTgdaVWK3a54XKq8tZkLc9sV6LdbUtBsEUS7ZRsZkWHNqJOXxpgX3bRazNNu+VG7BVPNlni1W5TWbhldu4V/7ZYqds0WV3btloO2W8DaKUtuy7Ejuski4bOt/WXNa9Ml/wE5YCpbayJoEAAAAABJRU5ErkJggg==", + "zoomOut" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAACwBAMAAABdmfltAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABnRSTlMA/90TkEkQ3c9eAAAEwElEQVR4nNVbSVbjMBDVw+kD2IG9CbAPBPaCDvu4O7n/VRrHhKgGOTVIr1/+ztNX6VdpsFQKQYLmsP1Yrdp2tXrcHtaiTySs+4/7NkH3+FmCu9kD1m9uNzVLW4D67YOnHfH4186bM/dktJG2+TNHO+LJJEczI8OPHAZmCa+FuXmX8LbtrZJZyqtllulgUONiPKR4kvO+anjb9reUdzHbLii6KONtlLxfzDKZVQJPEMmsFHiCQGa9ECMEYhiEGHFRjIWNt23jBSHETRnjQtM2eW7CrP9snpsw67+X7Ffbz8Nm3WwO+2227Ae9wWAi8TXNUJvMG0wHzcwgmzWZN5gbMflxNmsyZ3CXcfYrZ0TGZM7gLjsreePe5k1mGl23y/GG8IthjuybtNHN8bLMt+x7Sl6WmfuCuu5iJ0s7AMZ91HWCYYFEHeM+4jrJTIR2hpG8MygFnkBkviNl4zdmupQU2DNEixuDEEeDsBjYIPw8ynhplKJQxkoo5mMoMpAWKCZknvs2GdkUwdPBbDAxGcQFUkJjMDEZaIGUUBlMTI7JIxSNKoNJYKQBB4ON7fzmkP28yddFBKTkOvNAOI1OgHx/Nuw5q5EQ0EfngIMaKV03ArrvR2RYE7XrqGknLaHEBiWwFpG9a1ACa3GybXArgbQ4ee+eK00JUOuOq0a0EUM/7eg9feuYACMr0lqQUVYK4KgHequ3Et9Q84BDTcE2AnjqGFpAHavEAcbWkYYWZQOpOAgKYxSPADEQA1I92omBgX1AnbHZd0jSZYDR1tl5offGeEtFd/iOEqUFLT3EqaYdGqF7DzGIgjXUPHqIQVjs8KUDyMSU2NGgAxI1AmVc0QbDoAfErmiD8daDIDH38hOGhGqJrlyANqbEvY/4BhC/1yG+BcTRR7wQEbdCZInT4Nv5iNOm11058dpHnHYW10fcAgInMfgmSF4yEReUohrxdUfFNTbptNssSPwfOno38ZBc9T5iOJhWI35OrgrOK5aoGBdg5avN3cA01kectrWK82MwDy83o9/hchwAPx1rPA93AP8bpL4s9p83xteArs1ILbwL5IfSDvyLC34oS/399wE5M9qJCQ8oqdQKy1hzsNhUaE1oasL0jgnUvqGI94CiU/8LxOmtxCC4JlctaFkGgHpHWokyq7HfgjIrtGrAtWKuFiVWvO+4myXW6E/GccvgSvDL8VD4AvsgPwEA6uHfuTkzPHu1gEqc24J7T4jfEcIbhe79vOR7uLkVswwZwBqnTnrJPhEB2pVKiTY9fbu8MXmERHLtS0MXDfCZZycddryerfSZjXTX5v/c1n8giRv2/AocUjjVJHIcrMHoQ9xucUqINYeFNtvhQskZ4KwbOhjjBCRjnlCkdcKvmDKbuA6MJHlZcrE4AWlamiF7jNWPJGzp8934fpGm/qkz9CL7IpOsqMwpzI09THqlLgsyF/tsfqUibzM/WLIprPJM03xj5XNYpbmxc6N7Jk1Yls0717tkE5sF+cfz05Faqdj1kserpbvXS9Cvd6Sg2iGIesc26h000R+NER+6qXWYp97xo3oHpqod8VIcSlP/FcrU0PPWO/hX76hiqHa4MtQ7DlrvAGuO2k87UVc5JHzEJj3WvBF98g8n+QTj6NOXVAAAAABJRU5ErkJggg==", + "intro" : "data:image/svg+xml;base64," + btoa('') +}; +var FNTS = { + "subsetNames": [ + "Latin-1", + "Latin Ext. A", + "Greek", + "Cyrillic", + "Hebrew", + "Arabic", + "Hangul", + "Chi-Jap-Kor", + "Tibetan", + "Devanagari", + "Thai", + "Khmer", + "Vietnamese" + ], + "cats": [ + "Blackletter", + "Calligraphic", + "Comic", + "Dingbat", + "Display", + "Grunge", + "Handdrawn", + "Monospaced", + "Novelty", + "Pixel", + "Programming", + "Retro", + "Sans Serif", + "Script", + "Serif", + "Slab Serif", + "Stencil", + "Typewriter" + ], + "list": [ + "!Paul Maul,Regular,a,1,6,", + ",Bold,,,,", + "1942 report,1942 report,a,0,17,", + "20 db,Regular,a,8,4,", + "2Dumb,,a,1,8,", + "3Dumb,,3dumb,,,", + "ABeeZee,Italic,,,12,", + ",Regular,,,,", + "Aaargh,Normal,AaarghNormal,0,,", + "Abel,Regular,,1,,", + "Abhaya Libre,Bold,,,14,", + ",ExtraBold,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Abril Fatface,Regular,,3,4,", + "Acknowledgement,Medium,a,1,,", + "Aclonica,Regular,,3,12,a", + "Acme,,,1,,", + "Action Man,,a,,2,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Action Man Extended,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Action Man Shaded,Regular,a,,,", + ",Italic,,,,", + "Actor,Regular,,,12,a", + "Adamina,,,,14,a", + "Adhesive Nr. Seven,,AdhesiveNrSevenBanners,0,3,", + "Advent Pro,Bold,,7,12,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Afta sans,Regular,a,1,,", + ",Italic,,,,", + "Afta serif,Regular,a,,14,", + ",Italic,,,,", + "After Shok,Regular,a,0,4,", + "Aguafina Script,,,1,13,", + "Aileron,Black,,3,12,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + ",UltraLight,,,,", + ",UltraLight Italic,,,,", + "Air America,Regular,,1,4,", + "Airstream,,a,,11,", + "Akronim,,,,4,a", + "Aladin,,,,6,a", + "Alata,,,4099,12,", + "Alatsi,,,,,", + "Aldrich,,,1,,a", + "Alef,Bold,,19,,", + ",Regular,,,,", + "Alegreya,Black,,4111,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + "Alegreya SC,Black,,,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + "Alegreya Sans,Black,,,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Alegreya Sans SC,Black,,,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Aleo,Bold,,3,14,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "Alex Brush,,,1,13,", + "Alfa Slab One,,,4099,4,a", + "Alice,,,9,14,", + "Alike,,,1,,a", + "Alike Angular,,,,,a", + "Allan,Bold,,,4,a", + ",Regular,,,,a", + "Allerta,,,,12,a", + "Allerta Stencil,,,,,a", + "Allura,,,3,6,a", + "Almarai,Bold,,33,12,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Regular,,,,a", + "Almendra,Bold,,1,4,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,3,,", + "Almendra Display,,,1,,", + "Almendra SC,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Alpha Echo,,a,,,", + "Amadeus,,,,,", + "Amagro,bold,,,14,", + "Amarante,Regular,,3,4,a", + "Amaranth,Bold,,1,12,a", + ",Bold Italic,,,,", + ",Italic,,,,a", + ",Regular,,,,a", + "Amatic,Bold,,3,6,", + "Amatic SC,,,4123,,a", + ",Regular,,,,a", + "Amble,Bold,,3,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Condensed,,,,", + ",Light Condensed Italic,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + "Amerika,,a,13,4,", + "Amerika Alternates,,a,0,,", + "Amerika Sans,,a,1,,", + "Amethysta,,,,14,a", + "Amiko,Bold,,515,12,", + ",Regular,,,,", + ",SemiBold,,,,", + "Amiri,Bold,,35,14,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Amita,Bold,,515,13,", + ",Regular,,,,", + "Anagram,,a,1,11,", + "Anaheim,,,3,12,a", + "Andada,Bold,,4099,14,", + ",Bold Italic,,3,,", + ",Italic,,,,", + ",Regular,,,,", + "Andada SC,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Andika,,,4107,12,a", + "Andika New Basic,Bold,,4099,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Angkor,,,2048,4,a", + "Annie Use Your Telescope,,,3,6,a", + "Anonymous,,a,1,7,", + "Anonymous Pro,,a,15,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,a", + "Antic,,,1,12,a", + "Antic Didone,,,,14,", + "Antic Sans,,a,,,", + "Antic Slab,,a,,,", + ",,,,,a", + "Anton,,,4099,12,a", + "Antonio,Bold,,3,4,", + ",Light,,,,", + ",Regular,,,,", + "AnuDaw,,a,0,,", + ",Italic,AnuDawItalic,,,", + "AquilineTwo,Regular,a,1,,", + "Arapey,Italic,,,14,", + ",Regular,,,,", + "Arbutus,,a,3,4,", + ",,,,,a", + "Arbutus Slab,,,,15,", + "Archistico,Bold,,0,4,", + ",Normal,,,,", + "Architects Daughter,Regular,a,3,6,", + ",,,,,a", + "Archivo,Bold,,4099,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Black,ArchivoBlack-Regular,3,,a", + "Archivo Narrow,Bold,,4099,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Arcon,Regular,,3,,", + ",Rounded-Regular,,,,", + "Aref Ruqaa,Bold,,33,14,a", + ",Regular,,,,a", + "Arima Koshi,Black,,4099,12,", + ",Bold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",Semi Bold,,,,", + ",Thin,,,,", + "Arima Madurai,Black,,,,", + ",Bold,,,,", + ",ExtraBold,,,4,a", + ",ExtraLight,,,12,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",Semi Bold,,,,", + ",Thin,,,,", + "Arimo,Regular,a,4127,,", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Arizonia,Regular,,1,13,", + "ArmWrestler,Bold,,,4,", + "Armalite Rifle,Regular,a,,16,", + "Armata,,,3,12,", + "Arsenal,Bold,,4105,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Artifika,Medium,,1,14,", + ",Regular,,,,a", + "Arvo,,a,,15,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Arya,Bold,,515,12,a", + ",Regular,,,,a", + "Asap,Bold,,4099,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Symbol,,1,,", + "Asap Condensed,Bold,,4099,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Asar,Regular,,515,14,a", + "Asset,,,1,,", + "Assistant,Bold,,17,12,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,a", + ",Regular,,,,", + ",SemiBold,,,,", + "Astloch,Bold,,1,4,a", + ",Regular,,,,a", + "Asul,Bold,,,12,a", + ",Regular,,,,a", + "Athiti,Bold,,5123,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Atma,Bold,,1,4,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Atomic Age,Regular,,3,,", + "Aubrey,,,1,,a", + "Audiowide,,,3,,a", + "Aurulent Sans,Bold,,1,12,", + ",BoldItalic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Aurulent Sans Mono,,,,,", + "Autour One,,,3,4,a", + "Avara,Bold,,1,14,", + ",Bold Italic,,,,", + "Average,Regular,,,,a", + "Average Sans,,,3,12,a", + "Averia Gruesa Libre,,,1,4,a", + "Averia Libre,Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "Averia Sans Libre,Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "Averia Serif Libre,Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "Azoft Sans,,a,4107,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "B612,Bold,,5,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "B612 Mono,Bold,,,7,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "BP Diet,UltraBlack,,4,4,", + ",UltraBlack Italic,,,,", + "BPdots,Regular,a,5,,", + ",Bold,,,,", + ",Light,,,,", + ",Condensed,BPdotsCondensed,,,", + ",CondensedDiamond,BPdotsCondensedDiamond,,,", + ",CondensedSquare,BPdotsCondensedSquare,,,", + ",Diamond,BPdotsDiamond,,,", + ",Diamond Bold,BPdotsDiamond-Bold,,,", + ",Diamond Light,BPdotsDiamond-Light,,,", + ",Minus,BPdotsMinus,,,", + ",Minus Bold,BPdotsMinus-Bold,,,", + ",Plus,BPdotsPlus,,,", + ",Plus Bold,BPdotsPlus-Bold,,,", + ",Squares,BPdotsSquares,,,", + ",Squares Bold,BPdotsSquares-Bold,,,", + ",Squares Light,BPdotsSquares-Light,,,", + ",Unicase,BPdotsUnicase,,,", + ",Unicase Bold,BPdotsUnicase-Bold,,,", + ",Unicase Light,BPdotsUnicase-Light,,,", + ",UnicaseDiamond,BPdotsUnicaseDiamond,,,", + ",UnicaseDiamond Bold,BPdotsUnicaseDiamond-Bold,,,", + ",UnicaseDiamond Light,BPdotsUnicaseDiamond-Light,,,", + ",UnicaseMinus,BPdotsUnicaseMinus,,,", + ",UnicaseMinus Bold,BPdotsUnicaseMinus-Bold,,,", + ",UnicasePlus,BPdotsUnicasePlus,,,", + ",UnicasePlus Bold,BPdotsUnicasePlus-Bold,,,", + ",UnicaseSquare,BPdotsUnicaseSquare,,,", + ",UnicaseSquare Bold,BPdotsUnicaseSquare-Bold,,,", + ",UnicaseSquare Light,BPdotsUnicaseSquare-Light,,,", + ",UnicaseVertical,BPdotsUnicaseVertical,,,", + ",UnicaseVertical Bold,BPdotsUnicaseVertical-Bold,,,", + ",Vertical,BPdotsVertical,,,", + ",Vertical Bold,BPdotsVertical-Bold,,,", + "BPmono,Regular,a,4,7,", + ",Bold,,,,", + ",Italic,,,,", + "BPreplay,Regular,a,,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "BPscript,Regular,a,,11,", + "Bad Script,,,9,6,a", + "Bahiana,,,3,4,a", + "Bahianita,,,4099,,a", + "Bai Jamjuree,Bold,,5123,12,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Baloo,Regular,a,4611,4,", + ",2 Bold,Baloo2-Bold,,,a", + ",2 ExtraBold,Baloo2-ExtraBold,,,a", + ",2 Medium,Baloo2-Medium,,,a", + ",2,Baloo2-Regular,,,a", + ",2 SemiBold,Baloo2-SemiBold,,,a", + ",Bhai 2 Bold,BalooBhai2-Bold,4099,,a", + ",Bhai 2 ExtraBold,BalooBhai2-ExtraBold,,,a", + ",Bhai 2 Medium,BalooBhai2-Medium,,,a", + ",Bhai 2,BalooBhai2-Regular,,,a", + ",Bhai 2 SemiBold,BalooBhai2-SemiBold,,,a", + ",Bhaina 2 Bold,BalooBhaina2-Bold,,,a", + ",Bhaina 2 ExtraBold,BalooBhaina2-ExtraBold,,,a", + ",Bhaina 2 Medium,BalooBhaina2-Medium,,,a", + ",Bhaina 2,BalooBhaina2-Regular,,,a", + ",Bhaina 2 SemiBold,BalooBhaina2-SemiBold,,,a", + ",Chettan 2 Bold,BalooChettan2-Bold,,,a", + ",Chettan 2 ExtraBold,BalooChettan2-ExtraBold,,,a", + ",Chettan 2 Medium,BalooChettan2-Medium,,,a", + ",Chettan 2,BalooChettan2-Regular,,,a", + ",Chettan 2 SemiBold,BalooChettan2-SemiBold,,,a", + ",Da 2 Bold,BalooDa2-Bold,,,a", + ",Da 2 ExtraBold,BalooDa2-ExtraBold,,,a", + ",Da 2 Medium,BalooDa2-Medium,,,a", + ",Da 2,BalooDa2-Regular,,,a", + ",Da 2 SemiBold,BalooDa2-SemiBold,,,a", + ",Paaji 2 Bold,BalooPaaji2-Bold,,,a", + ",Paaji 2 ExtraBold,BalooPaaji2-ExtraBold,,,a", + ",Paaji 2 Medium,BalooPaaji2-Medium,,,a", + ",Paaji 2,BalooPaaji2-Regular,,,a", + ",Paaji 2 SemiBold,BalooPaaji2-SemiBold,,,a", + ",Tamma 2 Bold,BalooTamma2-Bold,,,a", + ",Tamma 2 ExtraBold,BalooTamma2-ExtraBold,,,a", + ",Tamma 2 Medium,BalooTamma2-Medium,,,a", + ",Tamma 2,BalooTamma2-Regular,,,a", + ",Tamma 2 SemiBold,BalooTamma2-SemiBold,,,a", + ",Tammudu 2 Bold,BalooTammudu2-Bold,,,a", + ",Tammudu 2 ExtraBold,BalooTammudu2-ExtraBold,,,a", + ",Tammudu 2 Medium,BalooTammudu2-Medium,,,a", + ",Tammudu 2,BalooTammudu2-Regular,,,a", + ",Tammudu 2 SemiBold,BalooTammudu2-SemiBold,,,a", + ",Thambi 2 Bold,BalooThambi2-Bold,,,a", + ",Thambi 2 ExtraBold,BalooThambi2-ExtraBold,,,a", + ",Thambi 2 Medium,BalooThambi2-Medium,,,a", + ",Thambi 2,BalooThambi2-Regular,,,a", + ",Thambi 2 SemiBold,BalooThambi2-SemiBold,,,a", + "Balsamiq Sans,Bold,,11,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Balthazar,,,1,14,a", + "Bangers,,,4099,4,a", + "Banksia,,a,1,,", + ", Black,BanksiaBlack,,,", + ", Bold,BanksiaBold,,,", + "Barlow,Black,,4099,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Barlow Condensed,Black,,,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Barlow Semi Condensed,Black,,,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Barriecito,Regular,,,4,a", + "Barrio,,,3,,a", + "Basic,,,,12,", + "Baskervville,Italic,,,14,a", + ",Regular,,,,a", + "Battambang,Bold,,2048,4,a", + ",Regular,,,,a", + "Baumans,,,1,,a", + "Bayon,,,2048,,a", + "Be Vietnam,Bold,,4097,12,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Bearpaw,Regular,a,0,4,", + "Bebas,,,,,", + "Bebas Kai,,a,3,12,", + "Bebas Neue,,,,4,a", + ",Thin,,11,12,ex/bebas_neue/BebasNeue Thin.otf", + ",Bold,BebasNeueBold,,,ex/bebas_neue/BebasNeue Bold.otf", + ",Book,BebasNeueBook,,,ex/bebas_neue/BebasNeue Book.otf", + ",Light,BebasNeueLight,,,ex/bebas_neue/BebasNeue Light.otf", + ",Regular,BebasNeueRegular,,,ex/bebas_neue/BebasNeue Regular.otf", + "Belgrano,,,1,14,a", + "Bellefair,,,19,,", + "Belleza,,,1,12,a", + "Belligerent Madness,,a,0,6,", + "Bellota,Bold,,4107,4,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "Bellota Text,Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "BenchNine,Bold,,3,12,a", + ",Light,,,,a", + ",Regular,,,,a", + "Benne,,,,14,", + "Bentham,,,,,a", + ",,BenthamRegular,,,", + "Berkshire Swash,,,,13,", + "Beth Ellen,,,1,6,a", + "Beth Ellen 2,,BethEllen2Regular,,,", + "Bevan,,a,3,4,", + ",,,4099,,a", + "Big Shoulders Display,Black,,,12,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Big Shoulders Inline Display,Black,,,4,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Big Shoulders Inline Text,Black,,,,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Big Shoulders Stencil Display,Black,,,,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Big Shoulders Stencil Text,Black,,,,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Big Shoulders Text,Black,,,12,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Bigelow Rules,Regular,,3,4,", + "Bigshot One,,,1,,a", + "Bilbo,,,,6,a", + "Bilbo Swash Caps,,,,,a", + "BioRhyme,Bold,,3,15,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Regular,,,,", + "BioRhyme Expanded,Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Regular,,,,", + "Biryani,Black,,515,12,a", + ",Bold,,,,", + ",DemiBold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,a", + ",Heavy,,,,", + ",Light,,,,", + ",Regular,,,,", + ",SemiBold,,,,a", + ",UltraLight,,,,", + "Bitstream Vera Sans,Bold,,1,,", + ",Bold Oblique,,,,", + ",Oblique,,,,", + ",Roman,,,,", + "Bitstream Vera Sans Mono,Bold,,,7,", + ",Bold Oblique,BitstreamVeraSansMono-BoldOb,,,", + ",Oblique,,,,", + ",Roman,,,,", + "Bitstream Vera Serif,Bold,,,15,", + ",Roman,,,,", + "Bitter,Black,,4107,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Black And White Picture,Regular,,64,12,a", + "Black Han Sans,,,0,,a", + "Black Jack,,a,1,13,", + "Black Ops One,,,3,16,", + "Black Rose,,a,1,4,", + "Blackout,2 AM,,0,,", + ",Midnight,,,,", + "Blazium,Regular,a,3,8,", + "Blinker,Black,,,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Blokletters Balpen,Balpen,Blokletters-Balpen,1,6,", + "Blokletters Potlood,Potlood,Blokletters-Potlood,,,", + "Blokletters Viltstift,Viltstift,Blokletters-Viltstift,,,", + "Bloody,Normal,a,0,8,", + "Bluu Next,Bold,,1,14,", + ",Bold Italic,,,,", + ",Titling,,,,", + "Bodoni Moda 11pt,Black,,3,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "BodoniXT,Regular,a,1,,", + "Bodonitown,,a,,15,", + "Boisu,Fill,,3,4,", + ",Full,,,,", + ",Stroke,,,,", + "Bokor,Regular,,2048,,a", + "Bombay Black Unicode,Bombay Black Unicode,Bombay-Black-Unicode,32,12,ex/Bombay Black Unicode.ttf", + "Bonbon,Regular,,1,6,a", + "BonvenoCF,Light,,3,12,", + "Boogaloo,Regular,,1,4,", + "Boston Traffic,,a,0,16,", + "Bowlby One,,a,1,4,", + ",,,,,a", + "Bowlby One SC,,,,,", + "Boycott,,a,0,,", + "Brawler,,a,1,14,", + ",,,,,a", + "Bree Serif,,,3,15,", + "Brizel,,a,,6,", + "Brushstroke Plain,Plain,Brushstroke-Plain,0,4,", + "Bubblegum Sans,Regular,,1,,a", + "Bubbler One,,a,,12,", + ",,,,,a", + "Buda,Light,,,4,a", + "Buenard,Bold,,3,14,a", + ",Regular,,,,a", + "Bungee,Hairline,,4099,12,", + ",Inline,,,,", + ",Outline,,,,", + ",Regular,,,,", + ",Shade,,,,", + "Bungee Hairline,Regular,,,4,a", + "Bungee Inline,,,,,a", + "Bungee Layers,Inline,,,12,", + ",Outline,,,,", + ",Regular,,,,", + ",Shade,,,,", + "Bungee Layers Rotated,Inline,,3,,", + ",Outline,,,,", + ",Regular,,,,", + ",Shade,,,,", + "Bungee Outline,Regular,,4099,4,a", + "Bungee Shade,,,,,a", + "Butcherman,,,3,,a", + "Butterfly Kids,,,1,6,a", + "CMU Bright,Oblique,,13,12,", + ",Roman,,,,", + ",SemiBold,,,,", + ",SemiBoldOblique,,,,", + "CMU Classical Serif,Italic,,,,", + "CMU Concrete,Bold,,,,", + ",BoldItalic,,,,", + ",Italic,,,,", + ",Roman,,,,", + "CMU Sans Serif,Medium,a,,,", + ",Bold,,,,", + ",BoldOblique,,,,", + "CMU Sans Serif Demi Condensed,DemiCondensed,CMUSansSerif-DemiCondensed,,,", + "CMU Sans Serif,Oblique,,,,", + "CMU Serif,Bold,,,,", + ",BoldItalic,,,,", + ",Extra BoldSlanted,CMUSerif-BoldSlanted,,,", + ",Italic,,,,", + ",Roman,,15,,", + ",Extra RomanSlanted,CMUSerif-RomanSlanted,13,,", + "CMU Serif Upright Italic,UprightItalic,CMUSerif-UprightItalic,,,", + "CMU Typewriter Text,Bold,CMUTypewriter-Bold,,,", + ",BoldItalic,CMUTypewriter-BoldItalic,,,", + ",Italic,CMUTypewriter-Italic,,,", + ",Light,CMUTypewriter-Light,,,", + ",LightOblique,CMUTypewriter-LightOblique,,,", + ",Regular,CMUTypewriter-Regular,,,", + "CMU Typewriter Text Variable Width,Medium,CMUTypewriterVariable,9,,", + ",Italic,CMUTypewriterVariable-Italic,,,", + "Cabin,Bold,,4099,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Cabin Condensed,Bold,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "CabinSketch,Regular,a,1,4,", + "Cabin Sketch,Bold,,,,a", + ",Regular,,,,a", + "Cadman,,a,7,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Caesar Dressing,Regular,a,1,4,a", + "Cagliostro,,,,,", + "Cairo,Black,,35,12,a", + ",Bold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Caladea,Bold,,3,14,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Calistoga,,,4099,,", + "Calligraffiti,,a,1,1,", + "Calligraffitti,,,,6,a", + "Cambay,Bold,,515,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Cambo,,,1,14,a", + "CamingoCode,Bold,,3,7,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Candal,,a,1,12,a", + "Candela,Bold,,,,", + ",Bold Italic,Candela-Bold-Italic,,,", + ",Book,,,,", + ",Book Italic,Candela-Book-Italic,,,", + "Cantarell,Bold,,3,,", + ",BoldOblique,,,,", + ",Oblique,,,,", + ",Regular,,,,", + "Cantata One,,,,14,a", + "CantoraOne,,,,12,a", + "Capriola,,,,,a", + "Capsuula,,a,,,", + "Capture it,,a,13,16,", + "Capture it 2,,a,0,,", + "CarbonType,,a,,17,", + "Cardo,Bold,,23,14,", + ",Italic,,,,", + ",Regular,,,,", + "Carlito,,a,4111,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Carme,Regular,a,1,,a", + "Caroni,,,3,6,", + "Carousel,,a,1,4,", + "Carrington,,a,,13,", + "Carrois Gothic,,,,12,", + "Carrois Gothic SC,,,,,", + "Carter One,,a,,4,a", + "Cascadia Code,,a,0,7,", + "Caslon Calligraphic Initials,,a,,4,", + "Caslon Initials,,a,,,", + "Castoro,Italic,,3,14,a", + ",Regular,,,,a", + "Catamaran,Black,,1,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Caudex,Regular,a,7,14,a", + ",Bold,,4103,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Caveat,Bold,,11,6,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Caveat Brush,Regular,,3,13,", + "Caviar Dreams,,a,15,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Cedarville Cursive,Regular,Cedarville-Cursive,3,6,a", + "Ceviche One,,,1,4,a", + "Chakra Petch,Bold,,5123,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Changa,Bold,,35,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",One,ChangaOne,1,4,a", + ",One Italic,ChangaOne-Italic,,,a", + "Chango,Regular,,,,a", + "Chantelli Antiqua,,Chantelli-Antiqua,,1,", + "ChanticleerRoman,,a,,14,", + "Charis SIL,,a,4107,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Charm,Bold,,5123,6,a", + ",Regular,,,,a", + "Charmonman,Bold,,,,a", + ",Regular,,,,a", + "Chathura,Bold,,0,12,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Regular,,,,", + ",Thin,,,,", + "Chau Philomene One,Italic,,1,,a", + ",Regular,,,,a", + "Chela One,,,,4,", + "Chelsea Market,,,,,a", + "Chenla,,a,2048,,a", + "Cherry Cream Soda,,,1,,a", + "Cherry Swash,Bold,,,,", + ",Regular,,,,", + "Chewy,,,,,a", + "Chicle,,,,,a", + "Chilanka,,,,6,a", + "Chivo,Black,,4099,12,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Chomsky,Regular,a,3,0,", + "Chonburi,,,5123,4,a", + "ChunkFive,,,3,,", + "ChunkFive Print,,a,0,,", + "Cicle,Fina,CicleFina,1,12,", + ",Fina Italic,CicleFinaItalic,,,", + ",Gordita,CicleGordita,,,", + ",Gordita Italic,CicleGorditaItalic,,,", + ",Semi,CicleSemi,,,", + ",Semi Italic,CicleSemiItalic,,,", + ",Shadow,CicleShadow,,,", + "Cinzel,Black,,3,14,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Cinzel Decorative,Black,,,4,a", + ",Bold,,,,a", + ",Regular,,,,a", + "Clear Sans,,a,4111,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Thin,,,,", + "Clicker Script,Regular,,3,6,a", + "Clutchee,,a,0,4,", + "Coda,ExtraBold,,3,,a", + ",Heavy,,1,,", + ",Regular,,3,,a", + "Coda Caption,ExtraBold,,,12,a", + "Codystar,Regular,a,1,8,", + ",Light,,,,", + "Coiny,Regular,,4099,4,", + "Colaborate,Bold,,1,12,", + "ColaborateLight,Regular,Colaborate-Light,,,", + "Colaborate,Medium,,,,", + ",Regular,,,,", + ",Thin,,,,", + "College,Regular,a,0,4,", + ",Bold,CollegeBold,,,", + "College Condensed,Regular,a,,,", + "College Semi-condensed,,CollegeSemiCondensed,,,", + "CombiNumerals Ltd,,a,,3,", + "Combo,,,3,4,a", + "Comfortaa,,a,7,12,", + ",Bold,,4111,4,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,7,12,", + "Comic Neue,Bold,,1,6,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "Comic Relief,,a,15,2,", + "Comic Zine OT,,a,1,8,", + "Coming Soon,,,,6,a", + "Commando,Commando,a,0,4,", + "Comme,Bold,,3,12,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Heavy,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Commissioner,Black,,4111,,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Communist,Regular,a,0,14,", + ",Italic,CommunistItalic,,,", + ",Sans,CommunistSans,,,", + ",SansBold,CommunistSansBold,,,", + "Compagnon,Bold,,1,4,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Roman,,,,", + "Comprehension,SemiBold,,,14,", + "Concert One,Regular,,,12,", + "Condiment,,,,6,a", + "Content,,a,2048,4,a", + ",Bold,,,,a", + "Contra,Regular,a,1,14,", + ",Italic,,,,", + "Contrail One,Regular,,,4,a", + "Convergence,,,,12,a", + "Cookie,,,,13,", + "Cooper Hewitt,Bold,,3,12,", + ",Bold Italic,,,,", + ",Book,,,,", + ",Book Italic,,,,", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Semibold,,,,", + ",Semibold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Copse,Regular,a,1,14,a", + "Copystruct,Bold,CopystructBold,0,4,", + ",Normal,CopystructNormal,,,", + "Corben,Bold,,3,,a", + ",Regular,,,,a", + "Cormorant,Bold,,4107,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Cormorant Garamond,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Cormorant Infant,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,a", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,a", + "Cormorant SC,Bold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Cormorant Unicase,Bold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,a", + ",Semibold,,,,", + "Cormorant Upright,Bold,,4099,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Costura,Bold,,0,8,", + ",DemiBold,,,,", + ",Regular,Costura-Light,,,", + "Courgette,,,3,13,", + "Courier Prime,,a,,17,", + ",Bold,,,7,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Courier Prime Code,Italic,,,12,", + ",Regular,,,,", + "Courier Prime Sans,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Cousine,,a,4127,7,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,a", + "Coustard,Black,,3,14,a", + ",Regular,,,,a", + "Covered By Your Grace,,a,,6,a", + "Cowboy Hippie Pro,,a,,4,", + "Crafty Girls,,,1,6,a", + "Creepster,,,,4,a", + "Crete Round,Italic,,3,15,", + ",Regular,,,,", + "Crimson,Bold,,4103,14,", + ",BoldItalic,,4099,,", + ",Italic,,4111,,", + ",Roman,,,,", + ",Semibold,,3,,", + ",SemiboldItalic,,,,", + "Crimson Pro,Black,,4099,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Crimson Text,Bold,,,,a", + ",Bold Italic,,3,,a", + ",Italic,,,,a", + ",Regular,,4111,,a", + ",SemiBold,,3,,a", + ",SemiBold Italic,,,,a", + "Croissant One,Regular,,,4,", + "Crushed,,,,,a", + "Cuprum,Bold,,4105,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Cute Font,Regular,,0,4,a", + "Cutive,,,3,14,a", + "Cutive Mono,,,,7,a", + "D-DIN,,a,1,12,", + ",DIN-Bold,D-DIN-Bold,,,", + ",DIN-Italic,D-DIN-Italic,,,", + "D-DIN Condensed,Regular,a,,,", + ",DINCondensed-Bold,D-DINCondensed-Bold,,,", + "D-DIN Exp,Regular,a,,,", + ",DINExp-Bold,D-DINExp-Bold,,,", + ",DINExp-Italic,D-DINExp-Italic,,,", + "DISCO,Regular,a,0,,", + "DJ Gross,Normal,DJ-Gross,1,6,", + "DM Mono,Italic,,3,7,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + "DM Sans,Bold,,,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + "DM Serif Display,Italic,,1,14,a", + ",Regular,,,,a", + "DM Serif Text,Italic,,,,a", + ",Regular,,,,a", + "DPSDbeyond,,a,4,4,", + "DX아기사랑B,Bold,DXLBaB-KSCpc-EUC-H,12,11,ex/DXLBaB-KSCpc-EUC-H.ttf", + "Daela,,,1,4,", + ",Book,,,,", + ",Italic,,,,", + "Damion,Regular,a,,6,a", + "Dancing Script,Bold,,4099,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Dancing Script OT,Regular,a,1,13,", + "Dangrek,,a,2048,4,a", + "Daniel,Black,,1,6,", + ",Bold,,,,", + ",Regular,,,,", + "Darker Grotesque,Black,,4099,12,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Datalegreya,Dot,,,,", + ",Gradient,,,,", + ",Thin,,,,", + "David Libre,Bold,,4115,14,a", + ",Medium,,,,a", + ",Regular,,,,a", + "Davys,,,0,3,", + "Dawning of a New Day,,a,1,6,a", + "DayPosterBlack,,a,,11,", + "Days,,a,8,4,", + "Days One,,,9,12,a", + "DeStencilNF,,a,1,16,", + "De Valencia,,,0,7,", + "Dearest,,a,1,0,", + "Dearest Open,,a,,,", + "Dearest Outline,,a,,,", + "Dehuti,Bold,,4111,14,", + ",Bold-Italic,,,,", + ",Book,,,,", + ",Italic,,,,", + "Dehuti Alt,Bold,,,,", + ",Bold-Italic,,,,", + ",Book,,,,", + ",Italic,,,,", + "DejaVu Sans,Book,a,4159,12,", + ",Bold,,,,", + ",Bold Oblique,,4127,,", + ",ExtraLight,,4111,,", + ",Oblique,,4127,,", + ",Condensed,DejaVuSansCondensed,4159,,", + ",Condensed Bold,DejaVuSansCondensed-Bold,,,", + ",Condensed Bold Oblique,DejaVuSansCondensed-BoldOblique,4127,,", + ",Condensed Oblique,DejaVuSansCondensed-Oblique,,,", + "DejaVu Sans Mono,Book,a,47,,", + ",Bold,,,,", + ",Bold Oblique,,15,,", + ",Oblique,,,,", + "DejaVu Serif,Book,a,4111,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Condensed,DejaVuSerifCondensed,,,", + ",Condensed Bold,DejaVuSerifCondensed-Bold,,,", + ",Condensed Bold Italic,DejaVuSerifCondensed-BoldItalic,,,", + ",Condensed Italic,DejaVuSerifCondensed-Italic,,,", + "Dekko,Regular,a,515,6,a", + "Delius,,,1,2,", + "Delius Swash Caps,,,,,", + "Delius Unicase,Bold,,,,", + ",Regular,,,,", + "Della Respira,,,,14,a", + "Denk One,,,,12,a", + "Destroy,,a,0,4,", + "Desyrel,,a,1,6,", + "Deutsch Gothic,Normal,Deutsch-Gothic,0,0,", + "Devonshire,Regular,,3,6,a", + "Devroye,,a,1,14,", + ",Extra,DevroyeExtra,0,,", + ",Regular SCOSF,DevroyeSCOSF,1,,", + ",Regular Unicode,DevroyeUnicode,15,,", + "Dhurjati,Regular,a,0,12,a", + "Didact Gothic,,,15,,", + "Digory Doodles,,Digory_Doodles_PS,0,13,", + "Diner,Fatt,,,11,", + ",Obese,,,,", + ",Regular,,,,", + ",Skinny,,,,", + "Diplomata,Regular,,1,4,", + "Diplomata SC,,,,,a", + "Distant Galaxy,,a,0,8,", + "District,,a,,4,", + "Dited,,a,8,,", + "Do Hyeon,,,0,12,a", + "Dobkin,Plain,,,13,", + "Dokdo,Regular,,,6,a", + "Domine,Bold,,3,14,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Donegal One,Regular,,,,a", + "Doppio One,,,,12,a", + "Dorsa,,,1,,a", + "Dosis,Bold,,4099,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Dr Sugiyama,Regular,,1,6,a", + "DrawveticaMini,Medium,a,,,", + "Droid Sans,Regular,a,4111,12,", + ",Bold,,,,", + "Droid Sans Fallback,Regular,a,192,10,ex/DroidSansFallback.ttf", + "Droid Sans Mono,,a,4111,7,", + "Droid Serif,,a,,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Dubiel,,,1,,", + "DubielPlain,Regular,a,,,", + "Dubtronic,Solid,,0,4,", + "Dubtronic Inline,Regular,a,,,", + "Duplexide,,a,,,", + "Duru Sans,,,3,12,", + "Dustismo,,a,,,", + ", Bold,DustismoBold,,,", + ", Bold Italic,DustismoBoldItalic,,,", + ", Italic,DustismoItalic,,,", + "Dustismo Roman,Regular,a,7,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Dutch Initials,normal,a,0,4,", + "DymaxionScript,Regular,a,1,11,", + "Dynalight,,,3,4,a", + "EB Garamond,Bold,,4111,14,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",08 Italic,EBGaramond08-Italic,4103,,", + ",08 Regular,EBGaramond08-Regular,4111,,", + "EB Garamond 12 All SC,AllSC,EBGaramond12-AllSC,11,,", + "EB Garamond,12 Italic,EBGaramond12-Italic,4111,,", + ",12 Regular,EBGaramond12-Regular,,,", + "EB Garamond Initials,Regular,a,0,,", + ",Fill1,EBGaramondInitialsF1,,,", + ",Fill2,EBGaramondInitialsF2,,,", + "EB Garamond SC,08 Regular,EBGaramondSC08-Regular,4111,,", + ",12 Regular,EBGaramondSC12-Regular,,,", + "Eagle Lake,Regular,,3,6,a", + "EastMarket,,a,1,11,", + "East Sea Dokdo,,,0,6,a", + "Eater,,,3,4,a", + "Economica,Bold,,1,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Eczar,Bold,,513,14,", + ",ExtraBold,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Edo,Regular,a,1,4,", + "El Messiri,Bold,,41,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Electrolize,Regular,,1,12,a", + "ElliotSix,,a,0,6,", + "Elsie,Black,,1,4,a", + ",Regular,,,14,", + ",Black,ElsieBlack-Regular,,,", + "Elsie Swash Caps,,,,4,a", + ",Regular,,,14,", + ",Black,ElsieSwashCapsBlack-Regular,,,", + "Emblema One,Regular,,3,4,a", + "EmbossedBlack,Normal,,0,0,", + "EmbossedBlackWide,,,,,", + "Emilys Candy,Regular,,1,4,a", + "Encode Sans,Black,,4099,12,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Encode Sans Condensed,Black,,,,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Encode Sans Expanded,Black,,,,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Encode Sans SemiCondensed,Black,,,,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Encode Sans SemiExpanded,Black,,,,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Engagement,Regular,,3,6,a", + "England Hand DB,,a,1,13,", + "Englebert,,,3,12,a", + "Engry,,a,8,14,", + "Enigmatic,,a,1,12,", + ",Bold,EnigmaticBold,,,", + ",Italic,EnigmaticItalic,,,", + "Enriqueta,Bold,,3,14,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Entypo,Regular,a,0,3,", + "Epilogue,Black,,4099,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Eraser,Regular,,0,6,", + "Erica One,,,1,4,a", + "Esteban,,a,,14,a", + "Euphoria Script,,,,6,a", + "Ewert,,,,4,a", + "Existence,Light,,3,12,", + ",Stencil Light,,,,", + ",Unicase Light,,,,", + "Exo,Black,,4099,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Exo 2,Black,,4107,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Expletus Sans,Regular,a,1,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "FFF Tusj,Bold,,,4,", + "FORQUE,Regular,a,0,11,", + "Fahkwang,Bold,,5123,12,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Familiar Pro,Bold,,3,,", + "FancyPants,Regular,a,0,11,", + "Fantasque Sans Mono,Bold,,15,7,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Fanwood,,a,3,14,", + ",Italic,,,,", + "Fanwood Text,,,,,a", + ",Regular,,,,a", + "Farro,Bold,,,12,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + "Farsan,,,4099,4,", + "Fascinate,,,3,,", + "Fascinate Inline,,,,,", + "Faster One,,,1,,", + "Fasthand,,,2048,14,a", + "Fauna One,,a,1,,a", + "Faustina,Bold,,4099,15,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Faux Snow BRK,Regular,a,0,3,", + "Federant,,,1,4,a", + "Federo,,,,12,a", + "Felipa,,,,1,", + "Fengardo Neue,,a,,12,", + ",Black,,,,", + "Fenix,Regular,a,,14,a", + "Finger Paint,,,,4,", + "Fira Code,Bold,,15,7,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Retina,,,12,", + ",SemiBold,,,7,a", + "Fira Mono,Bold,,,,", + ",Medium,,,,", + ",Regular,,,,", + "Fira Sans,Black,,4111,12,a", + ",Black Italic,,,,a", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Book,,,,", + ",Book Italic,,,,", + ",Eight,,,,", + ",Eight Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Four,,,,", + ",Four Italic,,,,", + ",Hair,,,,", + ",Hair Italic,,,,", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + ",Two,,,,", + ",Two Italic,,,,", + ",Ultra,,,,", + ",Ultra Italic,,,,", + ",UltraLight,,,,", + ",UltraLight Italic,,,,", + "Fira Sans Compressed,Bold,,,,", + ",Bold Italic,,,,", + ",Book,,,,", + ",Book Italic,,,,", + ",Eight,,,,", + ",Eight Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Four,,,,", + ",Four Italic,,,,", + ",Hair,,,,", + ",Hair Italic,,,,", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + ",Two,,,,", + ",Two Italic,,,,", + ",UltraLight,,,,", + ",UltraLight Italic,,,,", + "Fira Sans Condensed,Black,,,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",Book,,3,,", + ",Book Italic,,,,", + ",Eight,,,,", + ",Eight Italic,,,,", + ",ExtraBold,,4111,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Extrabold Italic,,3,,", + ",Four,,,,", + ",Four Italic,,,,", + ",Hair,,,,", + ",Hair Italic,,,,", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Italic,,4111,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Semibold Italic,,3,,", + ",Thin,,4111,,a", + ",Thin Italic,,,,a", + ",Two,,3,,", + ",Two Italic,,,,", + ",Ultra,,,,", + ",Ultra Italic,,,,", + ",UltraLight,,,,", + ",UltraLight Italic,,,,", + "Fira Sans Extra Condensed,Black,,4111,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Firecat,Medium,FirecatMedium,0,8,", + "FjallaOne,Regular,a,1,4,", + "Fjalla One,,,,12,a", + "Fjord,One,,,14,", + "Flamenco,Light,,,4,a", + ",Regular,,,,a", + "Flavors,,a,,8,", + ",,,,4,a", + "Floralia,,a,0,3,", + "Florante at Laura,,a,,1,", + ",Italic,FloranteatLauraItalic,,,", + "Flux Architect,Regular,Flux-Architect,,6,", + ",Bold,Flux-Architect-Bold,,,", + ",Bold Italic,Flux-Architect-BoldItalic,,,", + ",Italic,Flux-Architect-Italic,,,", + "Foglihten,Regular,a,3,4,", + "FoglihtenBlackPcs,BlackPcs,a,11,,", + "FoglihtenNo01,Regular,a,3,,", + "FoglihtenNo03,,a,,,", + "FoglihtenNo07,,a,,,", + "Folks,Bold,,1,12,", + ",Heavy,,,,", + ",Light,,,,", + ",Regular,Folks-Normal,,,", + "Fondamento,Italic,,3,6,a", + ",Regular,,,,a", + "Font Awesome 5 Brands,,FontAwesome5BrandsRegular,0,3,", + "Font Awesome 5 Free,,FontAwesome5FreeRegular,,,", + ",Solid,FontAwesome5FreeSolid,,,", + "Fontdiner Swanky,Regular,,1,4,a", + "FontleroyBrown,,a,,11,", + "FortySecondStreetHB,,a,,,", + "Forum,,a,11,14,", + "Francois One,,a,3,4,", + ",,,4099,12,a", + "Frank Ruhl Libre,Black,,17,14,a", + ",Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + "Fraunces,Black,,4099,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Freckle Face,Regular,,3,4,a", + "Fredericka the Great,,,1,,a", + "Fredoka One,,,,12,", + "Fredoka dingbats,,a,0,,", + "FreeMono,,a,4159,,", + ",Bold,FreeMonoBold,4127,,", + ",Bold Oblique,FreeMonoBoldOblique,,,", + ",Oblique,FreeMonoOblique,,,", + "FreeSans,Regular,a,4639,,", + ",Bold,FreeSansBold,,,", + ",Bold Oblique,FreeSansBoldOblique,4127,,", + ",Oblique,FreeSansOblique,,,", + "FreeSerif,Regular,a,5695,,", + ",Bold,FreeSerifBold,,,", + ",Bold Italic,FreeSerifBoldItalic,5151,,", + ",Italic,FreeSerifItalic,,,", + "Freebooter Script,Regular,a,1,13,", + "Freebooter Script - Alts,,a,0,,", + "Freehand,,a,2048,4,a", + "Frente H1,,,0,6,", + "Fresca,,,1,12,a", + "Frijole,,a,,4,a", + "Fruktur,,,3,,a", + "Fugaz One,,,1,,a", + "Fulbo,Argenta,,19,,", + ",Champagne,,,,", + ",Premier,,,,", + ",Retro,,,,", + ",Tano,,,,", + "Furore,Regular,a,8,,", + "FuturaRenner,Light,,1,12,", + ",Regular,,,,", + "GEIST RND,,a,0,4,", + "GFS Didot,,,4103,14,a", + "GFS Neohellenic,Bold,,,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Gabriela,,,9,14,a", + "Gaegu,Bold,,0,6,", + ",Light,,,,", + ",Regular,,,,", + "Gafata,,,1,12,", + "Galada,,,,4,a", + "Galatia SIL,,a,5,14,", + ",Bold,,,,", + "Galdeano,Regular,,1,12,a", + "Galindo,,,3,4,a", + "Gamja Flower,,,64,6,a", + "Gandhi Sans,Bold,,1,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Gandhi Serif,Bold,,,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Garogier,,a,4,,", + "Garton,Medium,GartonMedium,0,,", + "Gaspar,Regular,a,,15,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Gayathri,Bold,,1,12,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Gelasio,Regular,a,4099,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Gentium Basic,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Gentium Book Basic,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Genzsch Et Heyse,Regular,a,0,0,", + "Genzsch Et Heyse Alternate,,a,,,", + "Geo,Medium,a,1,4,", + ",Oblique,,,12,a", + ",Regular,,,,a", + ",Oblique,GeoOblique,,4,", + "Geometry Soft Pro,Bold N,,3,,", + "Geostar,Regular,,1,,a", + "Geostar Fill,,,,,a", + "Germania One,,,,0,", + "Gesso,,a,0,4,", + "Giant Head OT,,a,1,,", + "Giant Head Two OT,,a,,,", + "Gidole,,,7,12,", + "Gidugu,,a,3,,a", + "Gilda Display,,,1,14,a", + "Girassol,,,3,,", + "Give You Glory,,a,,6,a", + "Glacial Indifference,Bold,,1,12,", + ",Italic,,,,", + ",Regular,,,,", + "Gladifilthefte,Gladifilthefte,a,,4,", + "Glass Antiqua,Regular,,3,,a", + "Glegoo,Bold,,515,15,", + ",Regular,,,,", + "Gloria Hallelujah,,a,3,6,", + "Go,Bold,,15,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Medium,GoMedium,,,", + ",Medium Italic,GoMedium-Italic,,,", + "Go Mono,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Go,Regular,GoRegular,,,", + "Go Smallcaps,,a,,,", + ",Italic,,,,", + "Goblin,Regular,a,1,4,", + "Goblin One,,a,,,a", + "Gochi Hand,,,,6,a", + "Goldman,Bold,,4099,4,a", + ",Regular,,,,a", + "Gondola SD,,a,1,1,", + "Gondola SD - Swash,,a,,,", + "Gong!,Normal,GongNormal,0,6,", + "Gorditas,Bold,,1,4,", + ",Regular,,,,", + "Gothic A1,Black,,4175,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Gothic Ultra OT,Regular,a,1,1,", + "Gotu,,,4611,12,a", + "Goudy Bookletter 1911,,a,3,14,", + "Sorts Mill Goudy,,GoudyStM,,,", + ",Italic,GoudyStM-Italic,,,", + "Gputeks,Bold,,11,4,", + ",Regular,,,,", + "Graduate,,,1,,", + "Grand Hotel,,,3,13,", + "Grandstander,Black,,4099,4,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Gravitas One,Regular,a,1,,", + "GreatLakesNF,,a,,,", + "Great Vibes,,,3,13,", + "Grenze,Black,,4099,14,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Grenze Gotisch,Black,,,4,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "GreyscaleBasic,Regular,a,1,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Griffin,Regular,a,,4,", + "GriffosFont,,a,,14,", + "GriffosSCapsFont,,a,,,", + "Griffy,,,,4,a", + "Gruppo,,a,,,a", + "GrutchShaded,,a,,,", + "Gudea,,a,,12,", + ",Bold,,,,", + ",Italic,,,,a", + "Gugi,Regular,,0,4,a", + "Gupter,Bold,,1,14,a", + ",Medium,,,,a", + ",Regular,,,,a", + "Gurajada,,a,3,,a", + "HK Grotesk,Black,,4099,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Bold Legacy,,3,,", + ",Bold Legacy Italic,,,,", + ",ExtraBold,,4099,,", + ",Italic,,,,", + ",Legacy Italic,,3,,", + ",Light,,4099,,", + ",Light Italic,,,,", + ",Light Legacy,,3,,", + ",Light Legacy Italic,,,,", + ",Medium,,4099,,", + ",Medium Italic,,,,", + ",Medium Legacy,,3,,", + ",Medium Legacy Italic,,,,", + ",Regular,,4099,,", + ",Regular Legacy,,3,,", + ",SemiBold,,4099,,", + ",SemiBold Italic,,,,", + ",SemiBold Legacy,,3,,", + ",SemiBold Legacy Italic,,,,", + "HVD Bodedo,Medium,,1,4,", + "HVD Comic Serif Pro,Regular,a,3,,", + "HVD Edding 780,Normal,,1,6,", + "HVD Peace,Regular,a,3,16,", + "HVD Poster,,a,1,4,", + ",Clean,HVDPosterClean,,,", + "HVD Rowdy,Regular,a,,5,", + "HVD Steinzeit,,a,,8,", + ",Fill In,,,,", + "Habibi,Regular,,3,14,", + "Hachi Maru Pop,,,141,6,a", + "Hack,Bold,,15,7,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Halant,Bold,,513,14,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "HamburgerHeaven,Regular,a,1,11,", + "Hammersmith One,,a,,4,", + ",,,3,12,a", + "Hanalei,,,,4,", + "Hanalei Fill,,,,,a", + "Handlee,,,1,13,", + "Hanuman,Bold,,2048,14,a", + ",Regular,,,,a", + "Happy Monkey,,,1,2,", + "Happy Times at the IKOB,Italic,,,14,", + ",Regular,,,,", + "Harmattan,Bold,,33,12,a", + ",Regular,,,,a", + "Harting,Plain,,0,17,", + "Hattori Hanzo,Light,,8,12,", + ",Light Italic,,,,", + "Headhunter,Regular,,0,8,", + "HeadlandOne,,,3,14,a", + "Heavy Data,,a,1,8,", + "Heebo,Black,,17,12,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,a", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,a", + ",Thin,,,,", + "Helmet Neue,Regular,,3,,", + "Helsinki,,a,1,2,", + "Henny Penny,,,,4,a", + "HenryMorganHand,,a,0,13,", + "Hepta Slab,Black,,4099,14,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Herr Von Muellerhoff,Regular,,1,6,a", + "Hetilica,Bold,,0,,", + "Heuristica,,,4107,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Heydings Icons,,Heydings-Icons,0,3,", + "Hi Melody,,,64,6,a", + "Hind,Bold,,513,12,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Hind Guntur,Bold,,1,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Hind Madurai,Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Hind Siliguri,Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Hind Vadodara,Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Holtwood One SC,Regular,a,,14,a", + "Holy-Ravioli,,a,0,11,", + "Homemade Apple,,a,1,13,", + ",,,,6,a", + "Homenaje,,,,12,a", + "Hominis,Normal,a,0,4,", + "Hornswoggled,,a,1,,", + "IBM Plex Mono,Regular,a,4107,12,", + ",Bold,,,,", + ",Bold Italic,,,7,a", + ",ExtraLight,,,12,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Text,,,,", + ",Text Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "IBM Plex Sans,Regular,a,4111,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Text,,4107,,", + ",Text Italic,,,,", + ",Thin,,4111,,a", + ",Thin Italic,,,,a", + "IBM Plex Sans Condensed,Regular,IBMPlexSansCond,4099,,a", + ",Bold,IBMPlexSansCond-Bold,,,a", + ",Bold Italic,IBMPlexSansCond-BoldItalic,,,a", + ",ExtraLight,IBMPlexSansCond-ExtraLight,,,a", + ",ExtraLight Italic,IBMPlexSansCond-ExtraLightItalic,,,a", + ",Italic,IBMPlexSansCond-Italic,,,a", + ",Light,IBMPlexSansCond-Light,,,a", + ",Light Italic,IBMPlexSansCond-LightItalic,,,a", + ",Medium,IBMPlexSansCond-Medium,,,a", + ",Medium Italic,IBMPlexSansCond-MediumItalic,,,a", + ",SemiBold,IBMPlexSansCond-SemiBold,,,a", + ",SemiBold Italic,IBMPlexSansCond-SemiBoldItalic,,,a", + ",Thin,IBMPlexSansCond-Thin,,,a", + ",Thin Italic,IBMPlexSansCond-ThinItalic,,,a", + "IBM Plex Serif,Regular,a,4107,14,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Text,,,12,", + ",Text Italic,,,,", + ",Thin,,,14,a", + ",Thin Italic,,,,a", + "IM FELL DW,Pica Italic,IM_FELL_DW_Pica_Italic,3,,a", + ",Pica PRO Italic,IM_FELL_DW_Pica_PRO_Italic,,,", + ",Pica PRO,IM_FELL_DW_Pica_PRO_Roman,,,", + ",Pica,IM_FELL_DW_Pica_Roman,,,a", + ",Pica SC,IM_FELL_DW_Pica_SC,1,,a", + "IM FELL Double,Pica Italic,IM_FELL_Double_Pica_Italic,3,,a", + ",Pica PRO Italic,IM_FELL_Double_Pica_PRO_Italic,,,", + ",Pica PRO,IM_FELL_Double_Pica_PRO_Roman,,,", + ",Pica,IM_FELL_Double_Pica_Roman,,,a", + ",Pica SC,IM_FELL_Double_Pica_SC,1,,a", + "IM FELL English,Italic,IM_FELL_English_Italic,3,,a", + ",PRO Italic,IM_FELL_English_PRO_Italic,,4,", + ",PRO,IM_FELL_English_PRO_Roman,,,", + ",Regular,IM_FELL_English_Roman,,14,a", + ",SC,IM_FELL_English_SC,1,,a", + "IM FELL FLOWERS,1,IM_FELL_FLOWERS_1,0,3,", + ",2,IM_FELL_FLOWERS_2,,,", + "IM FELL French Canon,Italic,IM_FELL_French_Canon_Italic,3,14,a", + ",PRO Italic,IM_FELL_French_Canon_PRO_Italic,,,", + ",PRO,IM_FELL_French_Canon_PRO_Roman,,,", + ",Regular,IM_FELL_French_Canon_Roman,,,a", + ",SC,IM_FELL_French_Canon_SC,1,,a", + "IM FELL Great Primer,Italic,IM_FELL_Great_Primer_Italic,3,,a", + ",PRO Italic,IM_FELL_Great_Primer_PRO_Italic,,,", + ",PRO,IM_FELL_Great_Primer_PRO_Roman,,,", + ",Regular,IM_FELL_Great_Primer_Roman,,,a", + ",SC,IM_FELL_Great_Primer_SC,1,,a", + "Ibarra Real Nova,Bold,,3,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Iceberg,Regular,,1,4,a", + "Iceland,,,,,a", + "Imbue 10pt,Black,,4099,14,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Immortal,Regular,a,1,,", + "Immortal - Alternates,,a,0,,", + "Impact Label,,a,1,8,", + "Impact Label Reversed,,a,,,", + "Imprima,,,,12,a", + "IncisedBlack,Normal,,0,0,", + "IncisedBlackWide,,,,,", + "Inconsolata,Medium,a,1,7,", + ",Black,,4099,,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Inder,Regular,,3,12,", + "Indie Flower,,a,,6,", + "Indigo Outline Font,,,1,4,", + "Indigo,,IndigoRegular-Regular,,,", + "Indubitably,,a,,11,", + "Infini,Bold,,3,12,", + ",Italic,,,,", + ",Regular,,,,", + "Infini Picto,Bold,,0,,", + "Inika,Regular,a,1,14,a", + ",Bold,,,,a", + "Inknut Antiqua,Black,,515,,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Inria Sans,Bold,,3,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + "Inria Serif,Bold,,,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + "Inter,Black,,4111,12,a", + ",Bold,,,,a", + ",Bold Italic,,,,", + ",ExtraBold,,,,a", + ",Extra Bold Italic,,,,", + ",ExtraLight,,,,a", + ",Extra Light BETA,,,,", + ",Extra Light Italic BETA,,,,", + ",Italic,,,,", + ",Light,,,,a", + ",Light BETA,,,,", + ",Light Italic BETA,,,,", + ",Medium,,,,a", + ",Medium Italic,,,,", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Semi Bold Italic,,,,", + ",Thin,,,,a", + ",Thin BETA,,,,", + ",Thin Italic BETA,,,,", + "Inter UI,Black Italic,,,,", + "Intruder Alert,Regular,a,9,4,", + "Irish Grover,,,1,,a", + "Istok,Bold,,11,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Istok Web,Bold,,,,a", + ",BoldItalic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Italiana,,,1,,", + "Italianno,,,3,13,", + "Itim,,,5123,6,a", + "JMYZK-LZT,嘉木杨字库--兰札体,JMYZK-LZT---,256,10,ex/tib/S12/Lanydza.ttf", + "JMYZK-WDT-MOD,?-Ö,JMYZKWDTMOD,,,ex/tib/S12/Wartu.ttf", + "JUICE,Bold Bold,JUICEBold-Bold,0,4,", + ",Bold Italic,JUICEBoldItalic,,,", + ",Italic Italic,JUICEItalic-Italic,,,", + ",Light,JUICELight,,,", + ",Light Italic Italic,JUICELightItalic-Italic,,,", + ",Regular,JUICERegular,,,", + "Jacques Francois,,,1,14,", + "Jacques Francois Shadow,,,,4,a", + "Jaldi,Bold,,4611,12,a", + ",Regular,,,,a", + "Jameel Noori Nastaleeq,,Jameel-Noori-Nastaleeq,33,,ex/Jameel_Noori_Nastaleeq.ttf", + "Jellee,Bold,Jellee-Roman,1,,", + "Jenriv Titling,,,3,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + "JetBrains Mono,Bold,,4111,7,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Jim Nightshade,Regular,,3,6,a", + "Jinky,,a,1,,", + "Jockey One,,,3,12,", + "Jolly Lodger,,a,1,4,a", + "Jomhuria,,,35,,", + "Jomolhari,,a,257,10,ex/tib/S12/Jomolhari.ttf", + ",,,,14,a", + "Josefin Sans,Bold,,4099,12,", + ",Bold Italic,,,,", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Josefin Slab,Regular,a,1,15,", + ",Bold,,,14,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Jost,Black,,11,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Joti One,Regular,,3,4,a", + "Journal,,a,1,6,", + "jr!hand,,Jrhand,,,", + "Jua,,,0,12,a", + "Judson,Medium,a,4099,14,", + ",Bold,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + ",Bold,JudsonBold,,,", + ",Italic,JudsonItalic,,,", + "Julee,Regular,,1,6,a", + "Julius Sans One,,,,12,", + "Junction,Bold,,,,", + ",Light,,,,", + ",Regular,,,,", + "Junge,,,,14,a", + "JungleFever,,a,,4,", + "Junicode,,a,4099,14,", + ",Bold,,3,,", + ",BoldCondensed,,,,", + ",Bold Italic,,,,", + ",BoldItalicCondensed,,,,", + ",Italic,,4099,,", + ",ItalicCondensed,,4103,,", + ",RegularCondensed,,,,", + "Jura,Bold,,4111,12,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Book,JuraBook,,4,", + ",DemiBold,JuraDemiBold,,,", + ",Light,JuraLight,,,", + ",Medium,JuraMedium,,,", + "Just Another Hand,Regular,,3,6,", + "Just Me Again Down Here,,a,,,a", + "JustOldFashion,,a,1,4,", + "K2D,Bold,,5123,12,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "KJV1611,Regular,a,15,0,", + "Kadwa,Bold,,515,14,a", + ",Regular,,,,a", + "Kalam,Bold,,513,6,", + ",Light,,,,", + ",Regular,,,,", + "Kalocsai Flowers,,a,0,3,", + "Kameron,,a,1,14,", + ",Bold,,,,", + "Kanit,Black,,5123,12,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Kantumruy,Bold,,2048,,a", + ",Light,,,,a", + ",Regular,,,,a", + "Karatula,Bold,KaratulaBold,0,2,", + ",BoldItalic,KaratulaBoldItalic,,,", + ",Italic,KaratulaItalic,,,", + ",Normal,KaratulaNormal,,,", + "Karla,Bold,,3,12,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Karma,Bold,,515,14,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Karmilla,Bold,,3,12,", + ",Regular,,,,", + "Karnivore,,a,1,4,", + ",Bold,,,,", + ",Black,KarnivoreBlack,,,", + "Karnivore Digit,Regular,a,,,", + "Karnivore Lite,,a,,,", + "Karnivore Tecca,,a,,,", + "Katibeh,,,35,,a", + "Kaushan Script,,,3,13,", + "Kavivanar,,,,12,", + "Kavoon,,,1,4,a", + "Kdam Thmor,,a,2048,,a", + "Keania One,,,1,,a", + "Kells SD,,a,,1,", + "Kelly Slab,,,11,4,a", + "KelmscottRoman,,a,1,11,", + "Kelvinch,,a,4111,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Kenia,Regular,,1,4,a", + "Khand,Bold,,513,12,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,a", + ",Semibold,,,,", + "Khmer,Regular,a,2048,4,a", + "Khula,Bold,,512,12,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Regular,,,,", + ",SemiBold,,,,a", + ",Semibold,,,,", + "Kingthings Calligraphica Italic,Calligraphica,Kingthings-Calligraphica-Italic,0,1,", + "Kingthings Calligraphica,Light Light,Kingthings-Calligraphica-Light,,,", + "Kingthings Flourishes,Regular,Kingthings-Flourishes,,3,", + "Kingthings Gothique,,Kingthings-Gothique,,0,", + "Kingthings Italique,,Kingthings-Italique,,,", + "Kingthings Spikeless,,Kingthings-Spikeless,,,", + "Kingthings Versalis,,Kingthings-Versalis,,8,", + "Kingthings Wrote,,Kingthings-Wrote,,13,", + "Kingthings Xstitch,,Kingthings-Xstitch,,4,", + "Kingthings Calligraphica 2,,a,1,1,", + "Kingthings Exeter,,a,0,,", + "Kingthings Foundation,,a,,,", + "Kingthings Petrock,,a,1,,", + ",Light,KingthingsPetrockLight,,,", + "Kingthings Printingkit,Regular,a,0,4,", + "Kingthings Trypewriter 2,,a,1,17,", + "Kirang Haerang,,,0,4,", + "Kite One,,,1,12,a", + "Knewave,,,,4,a", + "Know Your Product,,a,,16,", + "KoHo,Bold,,5123,12,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Kodchasan,Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Komika Axis,Regular,a,1,2,", + "Komika Display,,a,,,", + ",Bold,,,,", + "Komika Display Kaps,Regular,a,,,", + ",Bold,,,,", + "Komika Hand,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Komika Parch,Regular,a,,,", + "Komika Text,,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Komika Text Kaps,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Komika Text Tight,Regular,a,,,", + ",Italic,,,,", + "Komika Title,Regular,a,,,", + "Komika Title - Axis,,a,,,", + "Komika Title - Kaps,,a,,,", + "Komika Title - Paint,,a,,,", + "Komika Title - Wide,,a,,,", + "Kontrapunkt,Bold,KontrapunktBold,,15,", + ",Light,KontrapunktLight,,,", + ",Light Italic,KontrapunktLightItalic,,,", + "Kotta One,Regular,,,14,", + "Koulen,,a,2048,4,a", + "Kranky,,,1,,a", + "Kreon,Bold,,3,14,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Kristi,Medium,a,1,6,", + ",Regular,,,,a", + "Krona One,,,3,12,", + "Krub,Bold,,5123,,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Kufam,Black,,4131,4,a", + ",Black Italic,,4099,,a", + ",Bold,,4131,,a", + ",Bold Italic,,4099,,a", + ",ExtraBold,,4131,,a", + ",ExtraBold Italic,,4099,,a", + ",Italic,,,,a", + ",Medium,,4131,,a", + ",Medium Italic,,4099,,a", + ",Regular,,4131,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,4099,,a", + "Kulim Park,Bold,,3,12,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Kumar One,Regular,,1,4,a", + "Kumar One Outline,,,,,a", + "Kumbh Sans,Bold,,3,12,a", + ",Light,,,,a", + ",Regular,,,,a", + "Kurale,,,523,14,", + "LIBRARY 3 AM,,a,9,4,", + "LIBRARY 3 AM soft,,a,,,", + "Latin Modern Mono,10 Italic,LMMono10-Italic,4099,17,", + ",10 Regular,LMMono10-Regular,,,", + ",Caps 10 Oblique,LMMonoCaps10-Oblique,,,", + ",Caps 10 Regular,LMMonoCaps10-Regular,,,", + ",Light 10 Bold,LMMonoLt10-Bold,,,", + ",Light 10 Bold Oblique,LMMonoLt10-BoldOblique,,,", + ",Light 10 Oblique,LMMonoLt10-Oblique,,,", + ",Light 10 Regular,LMMonoLt10-Regular,,,", + ",Light Cond 10 Oblique,LMMonoLtCond10-Oblique,,,", + ",Light Cond 10 Regular,LMMonoLtCond10-Regular,,,", + ",Prop 10 Oblique,LMMonoProp10-Oblique,,,", + ",Prop 10 Regular,LMMonoProp10-Regular,,,", + ",Prop Light 10 Bold,LMMonoPropLt10-Bold,,,", + ",Prop Light 10 BoldOblique,LMMonoPropLt10-BoldOblique,,,", + ",Prop Light 10 Oblique,LMMonoPropLt10-Oblique,,,", + ",Prop Light 10 Regular,LMMonoPropLt10-Regular,,,", + ",Slanted 10 Regular,LMMonoSlant10-Regular,,,", + "Latin Modern Roman,10 Bold,LMRoman10-Bold,,14,", + ",10 Bold Italic,LMRoman10-BoldItalic,,,", + ",10 Italic,LMRoman10-Italic,,,", + ",10 Regular,LMRoman10-Regular,,,", + ",Caps 10 Oblique,LMRomanCaps10-Oblique,,,", + ",Caps 10 Regular,LMRomanCaps10-Regular,,,", + ",Demi 10 Oblique,LMRomanDemi10-Oblique,,,", + ",Demi 10 Regular,LMRomanDemi10-Regular,,,", + ",Dunhill 10 Oblique,LMRomanDunh10-Oblique,,,", + ",Dunhill 10 Regular,LMRomanDunh10-Regular,,,", + ",Slanted 10 Bold,LMRomanSlant10-Bold,,,", + ",Slanted 10 Regular,LMRomanSlant10-Regular,,,", + "Latin Modern Sans,10 Bold,LMSans10-Bold,,12,", + ",10 Bold Oblique,LMSans10-BoldOblique,,,", + ",10 Oblique,LMSans10-Oblique,,,", + ",10 Regular,LMSans10-Regular,,,", + ",Demi Cond 10 Oblique,LMSansDemiCond10-Oblique,,,", + ",Demi Cond 10 Regular,LMSansDemiCond10-Regular,,,", + "La Belle Aurore,Regular,a,3,6,a", + "Labor Union,,,11,14,", + ",Small,,,,", + "Lack,Italic,,15,12,", + "Lack Line,,Lack-Line-Italic,,,", + ",Regular,Lack-Line-Regular,,,", + "Lack,,,,,", + "Laconic,Bold,,1,4,", + ",Light,,,,", + ",Regular,,,,", + ",Shadow,,,,", + "Lacquer,Regular,,,,a", + "Lacuna,Italic,LacunaItalic,,12,", + ",Regular,LacunaRegular,,,", + "Laila,Bold,,513,14,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "LakeshoreDrive,Regular,a,1,11,", + "Lakki Reddy,,a,,6,a", + "Lalezar,,,4131,4,", + "Lancelot,,a,1,,a", + "Landliebe,,a,0,13,", + "Lane - Narrow,,a,1,4,", + "Lane - Posh,,a,,,", + "Lane - Upper,,a,,,", + "Langar,,,3,,a", + "Langdon,,a,0,,", + "Lapsus Pro,Bold,,15,,", + "Lateef,Regular,a,33,6,a", + "Latinia,,Latinia-Normal,1,14,", + ",Black,LatiniaBlack,,,", + "Lato,,,4111,12,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Hairline,,,,", + ",Hairline Italic,,,,", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",Semibold,,,,", + ",Semibold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "La unica,Regular,a,1,4,", + "Leafy glade,,a,0,8,", + "Leafyshade,,a,,,", + "League Gothic,Condensed Italic,,3,4,", + ",Condensed Regular,,,,", + ",Italic,,,,", + ",Regular,,,,", + "League Script,League Script,a,1,6,a", + ",Thin League Script,LeagueScriptThin-LeagueScript,,13,", + ",Regular,LeagueScriptThin-Regular,,,", + "League Spartan,Bold,,,12,", + "Leander,Regular,a,,4,", + "LeckerliOne,,a,,6,", + "Leckerli One,,,,,a", + "Ledger,,,11,14,a", + "Lekton,Bold,,3,7,", + ",Italic,,1,,", + ",Regular,,3,,", + "Lemiesz,,a,0,11,", + "Lemon,,,1,4,a", + "LemonChicken,,a,0,11,", + "Lemonada,Bold,,4131,4,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Lexend Deca,Regular,,4099,12,a", + "Lexend Exa,,,,,a", + "Lexend Giga,,,,,a", + "Lexend Mega,,,,,a", + "Lexend Peta,,,,,a", + "Lexend Tera,,,,,a", + "Lexend Zetta,,,,,a", + "Liberation Mono,,a,4127,7,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Liberation Sans,Regular,a,,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Liberation Serif,Regular,a,,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Libertinus Keyboard,Regular,,19,,", + "Libertinus Math,,,4127,,", + "Libertinus Mono,,,4099,,", + "Libertinus Sans,Bold,,4127,,", + ",Italic,,,,", + ",Regular,,,,", + "Libertinus Serif,Bold,,,,", + ",Bold Italic,,4111,,", + ",Italic,,4127,,", + ",Regular,,,,", + ",Semibold,,,,", + ",Semibold Italic,,,,", + "Libertinus Serif Display,Regular,,31,,", + "Libertinus Serif Initials,,,16,,", + "Libre Barcode,128,LibreBarcode128-Regular,0,4,a", + ",128 Text,LibreBarcode128Text-Regular,,,a", + ",39,LibreBarcode39-Regular,,,a", + ",39 Extended,LibreBarcode39Extended-Regular,,,a", + ",39 Extended Text,LibreBarcode39ExtendedText-Regular,,,a", + ",39 Text,LibreBarcode39Text-Regular,,,a", + ",EAN13 Text,LibreBarcodeEAN13Text-Regular,,,a", + "Libre Baskerville,Bold,,3,14,", + ",Italic,,,,", + ",Regular,,,,", + "Libre Caslon,Display,LibreCaslonDisplay-Regular,,,", + ",Text Bold,LibreCaslonText-Bold,,,", + ",Text Italic,LibreCaslonText-Italic,,,", + ",Text,LibreCaslonText-Regular,,,", + "Libre Franklin,Black,,4099,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Life Savers,Bold,,3,6,", + ",ExtraBold,,,4,a", + ",Regular,,,6,", + "Lilac Malaria,,a,1,4,", + "Lilita One,,a,,,a", + "Lilly,,a,,6,", + "Lily Script One,,,,4,a", + "Limelight,,a,,11,", + ",,,3,4,a", + "Linux Biolinum O,,LinBiolinumO,4127,14,", + ",Bold,LinBiolinumOB,,,", + ",Italic,LinBiolinumOI,,,", + "Linux Libertine Display O,Regular,LinLibertineDisplayO,31,,", + "Linux Libertine Initials O,Initials,LinLibertineIO,16,,", + "Linux Libertine Mono O,Mono,LinLibertineMO,4099,,", + "Linux Libertine O,Regular,LinLibertineO,4127,,", + ",Bold,LinLibertineOB,,,", + ",Bold Italic,LinLibertineOBI,4103,,", + ",Italic,LinLibertineOI,4127,,", + ",Semibold,LinLibertineOZ,,,", + ",Semibold Italic,LinLibertineOZI,,,", + "Linden Hill,Regular,a,3,15,", + ",Italic,,,14,a", + ",Regular,,,,a", + "Linguistics Pro,Bold,,4111,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Lintsec,,a,0,16,", + "Literata,Black,,4111,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Book Bold,LiterataBook-Bold,,,", + ",Book Bold Italic,LiterataBook-BoldItalic,,,", + ",Book Italic,LiterataBook-Italic,,,", + ",Book Medium,LiterataBook-Medium,,,", + ",Book Medium Italic,LiterataBook-MediumItalic,,,", + ",Book,LiterataBook-Regular,,,", + ",Book SemiBold,LiterataBook-SemiBold,,,", + ",Book SemiBold Italic,LiterataBook-SemiBoldItalic,,,", + "Little Trouble Girl BV,Regular,a,1,4,", + "Liu Jian Mao Cao,,,128,6,a", + "Livvic,Black,,4099,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Loaded,Regular,a,0,4,", + "Lobster,,,4107,,a", + "Lobster 1.3,,a,1,13,", + "Lobster,Two,LobsterTwo,,,", + ",Two Bold,LobsterTwo-Bold,,,", + ",Two Bold Italic,LobsterTwo-BoldItalic,,,", + ",Two Italic,LobsterTwo-Italic,,,", + "Londrina,Outline,LondrinaOutline-Regular,,4,", + ",Shadow,LondrinaShadow-Regular,,,", + ",Sketch,LondrinaSketch-Regular,,,a", + ",Sketche,LondrinaSketche-Regular,,,", + ",Solid Black,LondrinaSolid-Black,,,a", + ",Solid Light,LondrinaSolid-Light,,,a", + ",Solid,LondrinaSolid-Regular,,,", + ",Solid Thin,LondrinaSolid-Thin,,,a", + "Long Cang,Regular,,128,6,a", + "Lora,Bold,,4107,14,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Love Ya Like A Sister,Regular,,3,4,a", + "Loved by the King,,a,,6,a", + "Lovers Quarrel,,,1,,a", + "Lucien Schoenschriftv CAT,,a,3,13,", + "Luckiest Guy,,,,4,", + "Luiss Sans,Bold,,,12,", + ",Bold Italic,,,,", + ",Regular,,,,", + ",Thin Italic,,,,", + ",Thin Sans,,,,", + ",italic,,,,", + "Luiss Serif,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Lunchtype22,,Lunchtype,1,,", + "Lunchtype25,Condensed Light,Lunchtype-CondensedLight,,,", + ",Condensed Medium,Lunchtype-CondensedMedium,,,", + ",Condensed Regular,Lunchtype-CondensedRegular,,,", + "Lunchtype24,Expanded Light,Lunchtype-ExpandedLight,,,", + ",Expanded Medium,Lunchtype-ExpandedMedium,,,", + ",Expanded Regular,Lunchtype-ExpandedRegular,,,", + "Lunchtype23,Italic,Lunchtype-Italic,,,", + "Lunchtype22,Light,Lunchtype-Light,,,", + "Lunchtype23,Light Italic,Lunchtype-LightItalic,,,", + "Lunchtype22,Medium,Lunchtype-Medium,,,", + "Lunchtype23,Medium Italic,Lunchtype-MediumItalic,,,", + "Lusitana,Regular,a,,14,a", + ",Bold,,,,a", + "Lustria,Regular,,,,a", + "Luxi Mono,,a,3,7,", + ",Bold,,,,", + ",Bold Oblique,,,,", + ",Oblique,,,,", + "Luxi Sans,Regular,a,,12,", + ",Bold,,,,", + ",Bold Oblique,,,,", + ",Oblique,,,,", + "Luxi Serif,Regular,a,,14,", + ",Bold,,,,", + ",Bold Oblique,,,,", + ",Oblique,,,,", + "Ma Shan Zheng,Regular,,128,6,a", + "Macondo,,,1,4,", + "Macondo Swash Caps,,,,,", + "Mada,Black,,33,12,a", + ",Bold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "MadisonSquare,Incised,MadisonSquareIncised,1,11,", + "Magenta,Regular,a,,4,", + "Magra,,a,3,12,", + ",Bold,,,,", + "Maiden Orange,Regular,,,4,", + "Maitree,,a,5123,14,a", + ",Bold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",SemiBold,,,,a", + "Major Mono Display,Regular,,4099,7,a", + "Major Snafu,,a,1,16,", + "Mako,,a,,12,", + "Mali,Bold,,5123,6,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Mallanna,Regular,a,0,12,a", + "Mandali,,a,,,a", + "Manjari,Bold,,1,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Manrope,Bold,,4111,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Mansalva,Regular,,1,6,a", + "Manuale,Bold,,4099,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Marcellus,Regular,,3,,a", + "Marcellus SC,,,,,a", + "Marck Script,,,11,6,a", + "Margarine,,,3,4,a", + "Markazi Text,Bold,,4131,14,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Marko One,Regular,,1,,a", + "Marmelad,,,9,12,a", + "Martel,Bold,,515,15,", + ",DemiBold,,,,", + ",ExtraBold,,,,", + ",Heavy,,,,", + ",Light,,,,", + ",Regular,,,,", + ",UltraLight,,,,", + "Martel Sans,Black,,,12,a", + ",Bold,,,,", + ",DemiBold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,a", + ",Heavy,,,,", + ",Light,,,,", + ",Regular,,,,", + ",SemiBold,,,,a", + ",UltraLight,,,,", + "Marvel,Bold,,1,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Matchbook,Matchbook,a,,4,", + "Mate,Italic,,,14,a", + ",Regular,,,,a", + "Mate SC,,,,,a", + "Mathlete,Bulky,,,6,", + ",Bulky Slant,,,,", + ",Skinny,,,,", + ",Skinny Slant,,,,", + "Matiz,Regular,a,0,4,", + "Maven Pro,Black,,4099,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Black,MavenProBlack,1,,", + ",Bold,MavenProBold,,,", + ",Medium,MavenProMedium,,,", + ",Regular,MavenProRegular,,,", + "McLaren,,,3,4,a", + "Meddon,,a,,6,a", + "MedievalSharp,,a,,4,a", + "Medio,,a,0,14,", + "Medula One,,,1,4,a", + "Meera Inimai,,,,12,a", + "Megrim,Medium,a,3,4,a", + "Meie Script,Regular,,1,6,a", + "Membra,,a,3,8,", + "Merienda,Bold,,1,13,", + ",Regular,Merienda-Regular_0_wt,,,", + "Merienda One,,,,6,a", + "Merriweather,Black,,4107,14,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + "Merriweather Sans,Bold,,4099,12,a", + ",Bold Italic,,,,a", + ",Book,,3,,", + ",BookItalic,,,,", + ",ExtraBold Italic,MerriweatherSans-ExtraBldItalic,,,", + ",ExtraBold,,4099,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Metal,Regular,a,2048,4,a", + "Metal Mania,,,1,,a", + "Metamorphous,,a,3,14,", + "Metro,,a,8,4,", + "Metrophobic,,a,1,12,", + ",,,4099,,a", + "Miama,,a,3,13,", + "Michroma,,a,,12,", + "Mikodacs,,a,11,4,", + "MikodacsPCS,,a,,,", + "Millennia,,a,1,,", + "Milonga,,,3,,a", + "Miltonian,,,1,,a", + "Miltonian Tattoo,,,,,a", + "Mina,Bold,,3,12,a", + ",Regular,,,,a", + "Minecrafter Alt,,a,0,2,ex/pu/Minecrafter_Alt.ttf", + "Minipax,,a,3,15,", + ",Bold,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",Semi Bold,,,,", + "Miniver,Regular,a,1,4,a", + "Minotaur,Phatte,,0,11,", + "MinstrelPosterWHG,Regular,a,1,,", + "Miriam Libre,Bold,,19,12,a", + ",Regular,,,,a", + "Mirza,Bold,,35,4,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Miss Fajardose,Regular,,1,6,a", + "Mitr,Bold,,5123,12,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Modak,Regular,a,513,4,", + "Modern Antiqua,,,3,14,", + "Modern Pictograms,Normal,a,0,3,", + "Mogra,Regular,,1,4,a", + "Mohave,Bold,,3,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + "Moinho,,a,1,6,", + "Molengo,,a,,12,", + ",,,,,a", + "Molle,,,,6,a", + "Molot,,a,8,12,", + "Mom´sTypewriter,,MomsTypewriter,0,17,", + "Monda,Bold,,3,12,a", + ",Regular,,,,a", + "Monlam Uni Chouk,,a,1280,10,ex/tib/Monlam Uni Chouk.ttf", + "Monlam Uni Choukmatik,,a,,,ex/tib/Monlam Uni ChoukMatik.ttf", + "Monlam Uni Dutsa1,,a,,,ex/tib/Monlam Uni Dutsa1.ttf", + "Monlam Uni Dutsa2,,a,,,ex/tib/Monlam Uni Dutsa2.ttf", + "Monlam Uni OuChan1,,a,,,ex/tib/Monlam Uni OuChan1.ttf", + "Monlam Uni OuChan2,,a,,,ex/tib/Monlam Uni OuChan2.ttf", + "Monlam Uni OuChan3,,a,,,ex/tib/Monlam Uni OuChan3.ttf", + "Monlam Uni OuChan4,,a,,,ex/tib/Monlam Uni OuChan4.ttf", + "Monlam Uni OuChan5,,a,,,ex/tib/Monlam Uni OuChan5.ttf", + "Monlam Uni PayTsik,,a,,,ex/tib/Monlam Uni PayTsik.ttf", + "Monlam Uni Sans Serif,,a,,,ex/tib/Monlam Uni Sans Serif.ttf", + "Monlam Uni TikTong,,a,,,ex/tib/Monlam Uni TikTong.ttf", + "Monlam Uni Tikrang,,a,,,ex/tib/Monlam Uni Tikrang.ttf", + "Monofett,,a,3,4,a", + "MonospaceTypewriter,,a,1,7,", + "Monoton,,,3,4,", + "Monsieur La Doulaise,,,1,6,a", + "Montaga,,,,14,a", + "Montez,,,3,6,", + "Montserrat,Black,,4107,12,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Montserrat Alternates,Black,,,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Montserrat Subrayada,Bold,,1,,a", + ",Regular,,,,a", + "MothproofScript,,a,0,1,", + "MotoyaLCedar,W3 mono,MotoyaLCedar-W3-90ms-RKSJ-H,140,12,a", + "MotoyaLMaru,,MotoyaLMaru-W3-90ms-RKSJ-H,,,a", + "Moul,Regular,a,2048,4,a", + "Moul Pali,,a,,,a", + "Mountains of Christmas,Bold,,1,,a", + ",Regular,,,,a", + "Mouse Memoirs,,,3,12,a", + "Mplus 1p,Black,,4255,,a", + ",Bold Bold,Mplus1p-Bold,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Mr Bedfort,Regular,,1,6,a", + "Mr Dafoe,,,,,a", + "Mr De Haviland,,,,,a", + "Mrs Saint Delafield,,,,,a", + "Mrs Sheppards,,,,,a", + "Mukta,Bold,,515,12,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Mukta Mahee,Bold,,3,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Mukta Malar,Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Mukta Vaani,Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Muli,Regular,a,,,", + ",Bold,,,,", + ",BoldItalic,,,,", + ",ExtraLight,,,,", + ",ExtraLightItalic,,,,", + ",RegularItalic,Muli-Italic,,,", + ",Light,,,,", + ",LightItalic,,,,", + ",SemiBoldItalic,Muli-Semi-BoldItalic,,,", + ",SemiBold,,,,", + "Mulish,Black,,4099,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Munson,Regular,a,15,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "MuseoModerno,Black,,4099,4,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Mutlu, Ornamental,MutluOrnamental,1,13,", + "My Underwood,Regular,a,0,17,", + "Myndraine,,a,1,12,", + "Mystery Quest,,a,,4,a", + "NTR,,a,0,12,a", + "Nanum Brush Script,,NanumBrush,76,6,a", + "NanumGothic,,a,205,12,", + ",Bold,NanumGothicBold,,,", + "NanumGothicCoding,Regular,a,76,7,a", + ",Bold,,,,a", + "NanumGothic,ExtraBold,NanumGothicExtraBold,205,12,", + "NanumMyeongjo,Regular,a,76,14,a", + ",Bold,NanumMyeongjoBold,,,a", + ",ExtraBold,NanumMyeongjoExtraBold,,,a", + "Nanum Pen,Regular,a,,6,a", + "Nautilus Pompilius,,a,8,13,", + "Negotiate,Free,NegotiateFree,3,12,", + "NeoRetroDraw,Regular,a,0,4,", + "NeoRetroFill,,a,,,", + "NeoRetroShadow,,a,,,", + "Neris,Black,,11,12,", + ",Black Italic,,,,", + ",Bold Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Nerko One,Regular,,3,6,a", + "Nervous Rex,,a,0,4,", + "Neucha,,a,9,6,a", + "Neumann,,a,11,14,", + "Neuton,Bold,,3,,", + ",ExtraBold,,1,,a", + ",ExtraLight,,,,a", + ",Extrabold,,,,", + ",Extralight,,,,", + ",ExtralightItalic,,,,", + ",Italic,,,,a", + ",Light,,3,,", + ",Regular,,,,", + "Neuton SC,SC-Bold,Neuton-SC-Bold,1,,", + ",SC-Extrabold,Neuton-SC-Extrabold,,,", + ",SC-Extralight,Neuton-SC-Extralight,,,", + ",SC-Light,Neuton-SC-Light,,,", + ",SC-Regular,Neuton-SC-Regular,,,", + "Neuton Cursive,Regular,,,,", + "New Athena Unicode,,a,15,,", + "New Cicle,Fina,,1,12,", + ",Fina Italic,,,,", + ",Gordita,,,,", + ",Gordita Italic,,,,", + ",Semi,,,,", + ",Semi Italic,,,,", + "NewRocker,Regular,,3,0,", + "News Cycle,,a,15,12,a", + ",Bold,,3,,a", + "Newt Serif,Regular,a,,14,", + ",Italic,,,,", + ",Bold,NewtSerifBold,,,", + ",Bold Italic,NewtSerifBold-Italic,,,", + "Newt Serif Demi,Regular,a,,,", + ",Italic,,,,", + "Newt Serif,Light,NewtSerifLight,,,", + ",Light Italic,NewtSerifLight-Italic,,,", + "Niconne,Regular,,1,13,", + "Nimbus Mono,Bold,,15,7,", + ",Bold Oblique,,,,", + ",Regular Oblique,NimbusMono-Oblique,,,", + ",Regular,,,,", + "Nimbus Roman No9 L,Bold,NimbusRomNo9L-Med,,14,", + ",Bold Italic,NimbusRomNo9L-MedIta,,,", + ",Regular,NimbusRomNo9L-Reg,,,", + ",Regular Italic,NimbusRomNo9L-RegIta,,,", + "Nimbus Sans L,Bold,NimbusSanL-Bol,,12,", + ",Bold Italic,NimbusSanL-BolIta,,,", + ",Regular,NimbusSanL-Reg,,,", + ",Regular Italic,NimbusSanL-RegIta,,,", + "Niramit,Bold,,5123,,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Nixie One,Regular,,1,15,", + "Nobile,Bold,,9,12,", + ",Bold Italic,,11,,", + ",Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,9,,", + "Nokora,Bold,,2048,14,a", + ",Regular,,,,a", + "Norican,,,1,6,a", + "Norwester,,,0,4,", + "Nosifer,,,3,,a", + "Nosifer Caps,,,,,", + "NotCourierSans,,a,4107,7,", + ",Bold,,,,", + "NotMaryKate,Regular,a,1,11,", + "Notable,,,,12,a", + "Note this,,a,,6,", + "Nothing You Could Do,,a,,,a", + "Notice,Notice2,Notice2Std,0,3,", + ",Notice3,Notice3Std,,,", + ",Notice,NoticeStd,,,", + "Noticia Text,Bold,,4099,15,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Noto Mono,,a,4111,10,", + "Noto Sans,,a,4623,12,a", + ",Black,,4111,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Condensed,,,,", + ",Condensed Black,,,,", + ",Condensed Black Italic,,,,", + ",Condensed Bold,,,,", + ",Condensed Bold Italic,,,,", + ",Condensed ExtraBold,,,,", + ",Condensed ExtraBold Italic,,,,", + ",Condensed ExtraLight,,,,", + ",Condensed ExtraLight Italic,,,,", + ",Condensed Italic,,,,", + ",Condensed Light,,,,", + ",Condensed Light Italic,,,,", + ",Condensed Medium,,,,", + ",Condensed Medium Italic,,,,", + ",Condensed SemiBold,,,,", + ",Condensed SemiBold Italic,,,,", + ",Condensed Thin,,,,", + ",Condensed Thin Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraCondensed,,,,", + ",ExtraCondensed Black,,,,", + ",ExtraCondensed Black Italic,,,,", + ",ExtraCondensed Bold,,,,", + ",ExtraCondensed Bold Italic,,,,", + ",ExtraCondensed ExtraBold,,,,", + ",ExtraCondensed ExtraBold Italic,,,,", + ",ExtraCondensed ExtraLight,,,,", + ",ExtraCondensed ExtraLight Italic,,,,", + ",ExtraCondensed Italic,,,,", + ",ExtraCondensed Light,,,,", + ",ExtraCondensed Light Italic,,,,", + ",ExtraCondensed Medium,,,,", + ",ExtraCondensed Medium Italic,,,,", + ",ExtraCondensed SemiBold,,,,", + ",ExtraCondensed SemiBold Italic,,,,", + ",ExtraCondensed Thin,,,,", + ",ExtraCondensed Thin Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",SemiCondensed,,,,", + ",SemiCondensed Black,,,,", + ",SemiCondensed Black Italic,,,,", + ",SemiCondensed Bold,,,,", + ",SemiCondensed Bold Italic,,,,", + ",SemiCondensed ExtraBold,,,,", + ",SemiCondensed ExtraBold Italic,,,,", + ",SemiCondensed ExtraLight,,,,", + ",SemiCondensed ExtraLight Italic,,,,", + ",SemiCondensed Italic,,,,", + ",SemiCondensed Light,,,,", + ",SemiCondensed Light Italic,,,,", + ",SemiCondensed Medium,,,,", + ",SemiCondensed Medium Italic,,,,", + ",SemiCondensed SemiBold,,,,", + ",SemiCondensed SemiBold Italic,,,,", + ",SemiCondensed Thin,,,,", + ",SemiCondensed Thin Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Noto Sans HK,Black,,4237,,a", + ",Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Noto Sans JP,Black,,,,a", + ",Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Noto Sans KR,Black,,4301,,a", + ",Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Noto Sans SC,Black,,4237,,a", + ",Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Noto Sans TC,Black,,,,a", + ",Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Noto Sans Tibetan,Regular,a,256,10,ex/tib/NotoSansTibetan-Regular.ttf", + "Noto Serif,,a,4111,14,", + ",Black,,,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Condensed,,,,", + ",Condensed Black,,,,", + ",Condensed Black Italic,,,,", + ",Condensed Bold,,,,", + ",Condensed Bold Italic,,,,", + ",Condensed ExtraBold,,,,", + ",Condensed ExtraBold Italic,,,,", + ",Condensed ExtraLight,,,,", + ",Condensed ExtraLight Italic,,,,", + ",Condensed Italic,,,,", + ",Condensed Light,,,,", + ",Condensed Light Italic,,,,", + ",Condensed Medium,,,,", + ",Condensed Medium Italic,,,,", + ",Condensed SemiBold,,,,", + ",Condensed SemiBold Italic,,,,", + ",Condensed Thin,,,,", + ",Condensed Thin Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraCondensed,,,,", + ",ExtraCondensed Black,,,,", + ",ExtraCondensed Black Italic,,,,", + ",ExtraCondensed Bold,,,,", + ",ExtraCondensed Bold Italic,,,,", + ",ExtraCondensed ExtraBold,,,,", + ",ExtraCondensed ExtraBold Italic,,,,", + ",ExtraCondensed ExtraLight,,,,", + ",ExtraCondensed ExtraLight Italic,,,,", + ",ExtraCondensed Italic,,,,", + ",ExtraCondensed Light,,,,", + ",ExtraCondensed Light Italic,,,,", + ",ExtraCondensed Medium,,,,", + ",ExtraCondensed Medium Italic,,,,", + ",ExtraCondensed SemiBold,,,,", + ",ExtraCondensed SemiBold Italic,,,,", + ",ExtraCondensed Thin,,,,", + ",ExtraCondensed Thin Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",SemiCondensed,,,,", + ",SemiCondensed Black,,,,", + ",SemiCondensed Black Italic,,,,", + ",SemiCondensed Bold,,,,", + ",SemiCondensed Bold Italic,,,,", + ",SemiCondensed ExtraBold,,,,", + ",SemiCondensed ExtraBold Italic,,,,", + ",SemiCondensed ExtraLight,,,,", + ",SemiCondensed ExtraLight Italic,,,,", + ",SemiCondensed Italic,,,,", + ",SemiCondensed Light,,,,", + ",SemiCondensed Light Italic,,,,", + ",SemiCondensed Medium,,,,", + ",SemiCondensed Medium Italic,,,,", + ",SemiCondensed SemiBold,,,,", + ",SemiCondensed SemiBold Italic,,,,", + ",SemiCondensed Thin,,,,", + ",SemiCondensed Thin Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Noto Serif JP,Black,,4237,,a", + ",Bold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Noto Serif KR,Black,,4301,,a", + ",Bold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Noto Serif SC,Black,,4237,,a", + ",Bold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Noto Serif TC,Black,,,,a", + ",Bold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Nova Cut,Book,a,3,4,a", + "Nova Flat,,a,,,a", + "NovaMono,Regular,a,7,7,a", + "Nova Oval,Book,a,3,4,a", + "Nova Round,,a,,,a", + "Nova Script,Regular,,,,a", + "Nova Slim,Book,a,,,a", + "Nova Square,,a,,,a", + "Numans,Regular,,1,12,", + "Nunito,Black,,4107,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,3,,", + ",Regular,,4107,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Nunito Sans,Black,,4099,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Nymphette,Regular,a,0,3,", + "OSP-DIN,DIN,a,,4,", + "Odibee Sans,Regular,,1,,a", + "OdorMeanChey,,a,2048,,a", + "Office Code Pro,Bold,,3,12,", + ",Bold Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",Regular Italic,,,,", + "Office Code Pro D,Bold,,,,", + ",Bold Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + ",Regular Italic,,,,", + "Offside,Regular,,1,4,a", + "Old Stamper,,a,0,,", + "Old Standard TT,Bold,,15,14,", + ",Italic,,,,", + ",Regular,,,,", + "Oldenburg,,,3,4,a", + "Oleo Script,Bold,,1,13,", + ",Regular,,,,", + "Oleo Script Swash Caps,Bold,,,4,a", + ",Regular,,,,a", + "Open Sans,,a,4111,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + "Open Sans Condensed,Bold,OpenSans-CondensedBold,,,", + "Open Sans,Condensed Light,,,,", + ",Condensed Light Italic,,,,", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Extrabold,,,,", + ",Extrabold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Semibold,,,,", + ",Semibold Italic,,,,", + "Open Sans Condensed,Bold,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + "Open Sans,,OpenSansLight-Italic,,,", + "Oranienbaum,Regular,,11,14,", + "Orbitron,Black,,1,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Light,,,4,", + ",Medium,,,12,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Oregano,Italic,,3,4,a", + ",Regular,,,,a", + "Orienta,,,1,12,a", + "Origicide,,a,,4,", + "Original Surfer,,,3,,a", + "Orkney,Bold,,,12,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + "Orotund,Heavy,,0,4,", + "Orotund Capitals,,,,,", + "Ostrich Sans,Black,,,,", + ",Bold,,,,", + ",Heavy,,3,,", + ",Light,,0,,", + ",Medium,,3,,", + "Ostrich Sans Dashed,,,0,,", + "Ostrich Sans Inline,Italic,,1,,", + ",Regular,,,,", + "Ostrich Sans Rounded,Medium,,0,,", + "Oswald,Bold,,4107,12,a", + ",Bold Italic,,11,4,", + ",Demi-Bold,Oswald-Demi-BoldItalic,,,", + ",DemiBold,,,,", + ",Extra-Light,Oswald-Extra-LightItalic,,,", + ",ExtraLight,,4107,12,a", + ",Heavy,,11,4,", + ",Heavy Italic,,,,", + ",Light,,4107,12,a", + ",Light Italic,,11,4,", + ",Medium,,4107,12,a", + ",Medium Italic,,11,4,", + ",Regular,,4107,12,a", + ",Regular Italic,,11,4,", + ",SemiBold,,4107,12,a", + "Oswald Stencil,Bold,,1,4,", + "Otama.ep,Regular,Otama-ep,,14,", + "Outgunned,,a,0,3,", + "Overlock,Black,,1,12,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Overlock SC,,,,4,a", + "Overpass,Black,,3,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Overpass Mono,Bold,,,7,a", + ",Light,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Over the Rainbow,Regular,a,,6,", + "Ovo,,a,1,14,", + "Oxanium,Bold,,,12,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Oxygen,Regular,a,15,,", + ",Bold,,11,,", + ",Bold Italic,,,,", + ",Italic,,15,,", + ",Light,,3,,a", + ",Regular,,,,a", + "Oxygen Mono,,,1,7,", + "PT Mono,,,11,,", + "PT Root UI,Bold,,,12,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + "PT Sans,Bold,,,,a", + ",Bold Italic,,,,a", + "PT Sans Caption,Regular,PTSans-Caption,,,a", + ",Bold,PTSans-CaptionBold,,,a", + "PT Sans,Italic,,,,a", + "PT Sans Narrow,Regular,PTSans-Narrow,,,a", + ",Bold,PTSans-NarrowBold,,,a", + "PT Sans,Regular,,,,a", + "PT Serif,Bold,,,15,", + ",Bold Italic,,,,", + "PT Serif Caption,Regular,PTSerif-Caption,,,", + ",Italic,PTSerif-CaptionItalic,,,", + "PT Serif,,,,,", + ",Regular,,,,", + "Pacifico,,a,1,13,", + ",,,4107,6,a", + "Padauk,Bold,,0,12,a", + ",Regular,,,,a", + "Paete Round,,a,,2,", + ",Bold,PaeteRoundBold,,,", + ",BoldItalic,PaeteRoundBoldItalic,,,", + ",Italic,PaeteRoundItalic,,,", + "Paint the Sky,Regular,,1,4,", + "Palanquin,Bold,,513,12,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Palanquin Dark,Bold,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Palitoon,Regular,,1,6,", + "PaloAlto,Heavy,a,,12,", + ",Heavy Italic,PaloAlto-Italic,,,", + "Panefresco,1wt Italic,Panefresco1wt-Italic,3,,", + ",1wt,Panefresco1wt-Regular,,,", + ",250wt Italic,Panefresco250wt-Italic,,,", + ",250wt,Panefresco250wt-Regular,,,", + ",400wt Italic,Panefresco400wt-Italic,,,", + ",400wt,Panefresco400wt-Regular,,,", + ",500wt Italic,Panefresco500wt-Italic,,,", + ",500wt,Panefresco500wt-Regular,,,", + ",600wt Italic,Panefresco600wt-Italic,,,", + ",600wt,Panefresco600wt-Regular,,,", + ",750wt Italic,Panefresco750wt-Italic,,,", + ",750wt,Panefresco750wt-Regular,,,", + ",800wt Italic,Panefresco800wt-Italic,,,", + ",800wt,Panefresco800wt-Regular,,,", + ",999wt Italic,Panefresco999wt-Italic,,,", + ",999wt,Panefresco999wt-Regular,,,", + "Pangolin,Regular,,4107,6,a", + "Paprika,,,1,4,", + "Parisienne,,,3,13,", + "Passero One,,,1,4,a", + "Passion One,Black,,,12,", + ",Bold,,,,", + "Passion,,PassionOne-Regular,,,", + "Pathway Gothic One,Regular,,,,a", + "Patrick Hand,,,4099,6,a", + "Patrick Hand SC,,,,,a", + "Pattaya,,,5131,12,a", + "Patua One,,,1,15,", + "Pavanam,,,3,12,a", + "Paytone One,,,4099,,a", + "Peace Sans,,a,9,,", + "Pecita,Book,a,4111,6,", + "Peddana,Regular,a,0,14,a", + "Peralta,,,3,15,", + "Permanent Marker,,a,1,6,", + ",,,,,a", + "PermianSansTypeface,,a,11,12,", + ",Bold,,,,", + ",Italic,,,,", + "PermianSerifTypeface,Regular,a,,14,", + ",Bold,,,,", + ",Italic,,,,", + "PermianSlabSerifTypeface,Regular,a,,15,", + ",Bold,,,,", + ",Italic,,,,", + "Perspective Sans,Regular,a,1,12,", + ",Black,PerspectiveSansBlack,,,", + ",Black Italic,PerspectiveSansBlackItalic,,,", + ",Bold,PerspectiveSansBold,,,", + ",Bold Italic,PerspectiveSansBoldItalic,,,", + ",Italic,PerspectiveSansItalic,,,", + "Petit Formal Script,Regular,,3,6,a", + "Petrona,Black,,4099,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Philosopher,Regular,a,9,12,", + ",Bold,,4105,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Piazzolla,Black,,4111,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Piedra,Regular,,1,4,a", + "Pincoyablack,Black,,,,", + "Pinyon Script,Regular,a,,6,a", + "Pirata One,,,3,4,a", + "PixieFont,,a,0,,", + "PlainBlack,Normal,,,0,", + "PlainBlackWide,,,,,", + "Plasma Drip (BRK),Regular,a,,8,", + "Plasma Drip [Empty] (BRK),,a,,,", + "Plaster,,,3,4,a", + "Play,,a,15,12,", + ",Bold,,4111,,a", + ",Regular,,,,a", + "Playball,,,1,4,a", + "Playfair Display,Black,,4107,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Playfair Display SC,Black,,,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Playtime With Hot Toddies,,a,1,6,", + "PlaytimeWithHotToddies3D,,a,,,", + "PlaytimeWithHotToddiesOblique,,a,,,", + "Pleasantly Plump,Normal,Pleasantly-Plump,0,4,", + "Plexifont BV,Regular,a,,8,", + "Plug-NickelBlack,,a,1,11,", + "Podkova,,a,,15,", + ",Bold,,4107,14,a", + ",ExtraBold,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "PoetsenOne,Regular,,3,4,", + "Poiret One,,,11,,", + "Poller One,,,1,,a", + "Polsku,,a,,,", + "Poly,Italic,,3,14,", + ",Regular,,,,", + "Pompiere ,,,1,6,", + "Pontano Sans,,,3,12,a", + "Poor Story,,,64,4,a", + "Poppins,Black,,515,12,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Port Lligat Sans,Regular,,1,,a", + "Port Lligat Slab,,,,14,a", + "Portcullion,Bold,,0,0,", + "Porter Sans Block,Block,a,1,4,", + "Post No Bills Colombo,Bold,,,16,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Potta One,Regular,,4227,4,a", + "Pragati Narrow,Bold,,515,12,", + ",Regular,,,,", + "Prata,,,4105,14,", + "Preah Vihear,,a,2048,4,a", + "Press Start 2P,,,15,,a", + "Pribambas,,,8,2,ex/pu/Pribambas-Regular.ttf", + "Pridi,Bold,,5123,14,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Princess Sofia,Regular,a,1,13,", + "Print,Bold,PrintBold,,12,", + "Print Clearly,Regular,a,,,", + "Print Dashed,,a,,,", + "Printers Ornaments One,,a,0,3,", + "ProFontWindows,,a,1,12,", + "Prociono,,,3,14,a", + "Proclamate,Heavy Heavy,ProclamateHeavy-Heavy,0,0,", + "Proclamate Incised,Heavy,,,,", + "Proclamate,Light Light,ProclamateLight-Light,,,", + "Promocyja,Medium,a,3,13,", + "Prompt,Black,,5123,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Prosto One,Regular,,9,4,a", + "Proza Libre,Bold,,1,12,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Public Sans,Black,,4099,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Puritan,Bold,,1,,", + ",BoldItalic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Purple Purse,,,3,4,", + "Pusab,,a,1,,", + "Qikki Reg,,a,0,2,", + "Qomolangma-Art,,a,257,10,ex/tib/Q17/Q-Art.ttf", + "Qomolangma-Betsu,,a,,,ex/tib/Q17/Q-Betsu.ttf", + "Qomolangma-Chuyig,,a,,,ex/tib/Q17/Q-Chuyig.ttf", + "Qomolangma-Drutsa,,a,,,ex/tib/Q17/Q-Drutsa.ttf", + "Qomolangma-Dunhuang,,a,,,ex/tib/Q17/Q-Dunhuang.ttf", + "Qomolangma-Edict,,a,,,ex/tib/Q17/Q-Edict.ttf", + "Qomolangma-Horyig,,a,,,ex/tib/Q17/Q-Horyig.ttf", + "Qomolangma-Subtitle,,a,,,ex/tib/Q17/Q-Subtitle.ttf", + "Qomolangma-Title,,a,,,ex/tib/Q17/Q-Title.ttf", + "Qomolangma-Tsumachu,,a,,,ex/tib/Q17/Q-Tsumachu.ttf", + "Qomolangma-Tsuring,,a,,,ex/tib/Q17/Q-Tsuring.ttf", + "Qomolangma-Tsutong,,a,,,ex/tib/Q17/Q-Tsutong.ttf", + "Qomolangma-Uchen Sarchen,,Qomolangma-Uchen-Sarchen,,,ex/tib/Q17/Q-UchenSarchen.ttf", + "Qomolangma-Uchen Sarchung,,Qomolangma-Uchen-Sarchung,,,ex/tib/Q17/Q-UchenSarchung.ttf", + "Qomolangma-Uchen Suring,,Qomolangma-Uchen-Suring,,,ex/tib/Q17/Q-UchenSuring.ttf", + "Qomolangma-Uchen Sutung,,Qomolangma-Uchen-Sutung,,,ex/tib/Q17/Q-UchenSutung.ttf", + "Qomolangma-Woodblock,,a,,,ex/tib/Q17/Q-Woodblock.ttf", + "Quaerite Regnum Dei,,a,0,0,", + "Quando,,,3,14,a", + "Quantico,Bold,,1,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Quattrocento,,a,,14,a", + ",Bold,,,,a", + "Quattrocento Roman,Regular,a,,,", + "Quattrocento Sans,,a,,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Questrial,Regular,,4099,,a", + "Quick End Jerk,,a,0,4,", + "Quicksand,Bold,,4099,12,a", + ",Bold Italic,,1,,", + ",Italic,,,,", + ",Light,,4099,,a", + ",Light Italic,,1,,", + ",Medium,,4099,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Dash,QuicksandDash-Regular,0,,", + "QuigleyWiggly,Regular,a,1,13,", + "Quintessential,,,3,,", + "QumpellkaNo12,,a,,,", + "Qwigley,,,1,,", + "Racing Sans One,,,3,4,a", + "Radley,,a,,14,", + ",Italic,,1,,a", + ",Regular,,3,,a", + "Railway,,a,,12,", + ",RegularAlternate,RailwayAlternate,0,,", + "Rajdhani,Bold,,515,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,a", + ",Semibold,,,,", + "Rakkas,Regular,,33,4,a", + "Raleway,Black,,4107,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Raleway Dots ,Regular,,3,4,", + "Ramabhadra,,a,0,12,a", + "Ramaraja,,a,,14,a", + "Rambla,Bold,,1,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Rammetto One,,,,4,a", + "Ranchers,,,3,,", + "Rancho,,a,1,13,", + ",,,,6,a", + "Ranga,Bold,,513,4,", + ",Regular,,,,", + "Rapscallion,,a,0,0,", + "Rasa,Bold,,3,14,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Rationale,Regular,,1,12,a", + "Rationale One,,,,4,", + "Ravi Prakash,,,0,,a", + "Rawengulk,Bold,RawengulkBold,3,15,", + ",Demibold,RawengulkDemibold,,,", + ",Light,RawengulkLight,,,", + "RawengulkPcs,Regular,a,,,", + "Rawengulk,,RawengulkRegular,,,", + "RawengulkSans,,a,,12,", + "Rawengulk,Ultralight,RawengulkUltralight,,15,", + "Rechtman,Plain,,0,13,", + "Recursive,Black,,4099,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Red Hat Display,Black,,3,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + "Red Hat Text,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + "Red Rose,Bold,,4099,4,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Redressed,Regular,a,3,6,", + ",,,,,a", + "Reem Kufi,,,33,12,a", + "Reenie Beanie,,a,1,6,a", + "Resagnicto,,a,3,12,", + ",Bold,ResagnictoBold,,,", + ",Italic,ResagnictoItalic,,,", + "Resagokr,Regular,a,11,,", + ",Bold,ResagokrBold,,,", + ",Light,ResagokrLight,,,", + "Reswysokr,Regular,a,3,4,", + "Revalia,,,1,,a", + "Rhodium Libre,,,513,14,a", + "Ribeye,,,3,4,a", + "Ribeye Marrow,,,,,a", + "Riesling,,a,1,11,", + "Righteous,,,3,4,a", + "Risque,,,,,a", + "Ritaglio,,a,0,8,", + "Roboto,Black,,4111,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Roboto Condensed,Bold,,,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + "Roboto Mono,Bold,,,7,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Roboto Slab,Black,,,14,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Rochester,Regular,a,1,13,", + ",,,,6,a", + "Rock Salt,,a,,,", + ",,,,,a", + "Rokkitt,Black,,4099,15,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Roman SD,Regular,a,1,1,", + "Romanesco,,,3,4,", + "Ropa Sans,Italic,,1,12,a", + ",Regular,,,,a", + "Rosario,Bold,,4099,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Rosarivo,Italic,,1,14,a", + ",Regular,,,,a", + "Rothenburg Decorative,Normal,,0,0,", + "Rothman,Plain,,,4,", + "Rouge Script,Regular,,1,13,", + "Rounded Mplus 1c,Black,,4255,12,a", + ",Bold Bold,RoundedMplus1c-Bold,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Route 159,Bold,,3,,", + ",Bold Italic,,,,", + ",Heavy,,,,", + ",Heavy Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",UltraLight,,,,", + ",UltraLight Italic,,,,", + "Rowdies,Bold,,4099,4,a", + ",Light,,,,a", + ",Regular,,,,a", + "Rozha One,,a,513,15,", + ",,,515,14,a", + "Rubik,Black,,27,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Rubik Mono One,Regular,,11,,a", + "Ruda,,a,1,,", + ",Black,,4107,,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Rufina,Bold,,1,14,a", + ",Regular,,,,a", + "Ruge Boogie,,,,6,a", + "Ruluko,,a,,12,a", + "Rum Raisin,,,3,,a", + "Ruslan Display,,a,11,4,a", + "Russo One,,,,12,a", + "Ruthie,,,1,6,a", + "Rye,,,,4,", + "SF Arch Rival,,a,,2,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "SF Arch Rival Extended,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "SF Archery,Black,SFArcheryBlack,,4,", + ",Black Oblique,SFArcheryBlack-Oblique,,,", + "SF Archery Black SC,Regular,a,,,", + ",Oblique,,,,", + "SF Burlington Script,Regular,a,,13,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "SF Cartoonist Hand,Regular,a,,2,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "SF Cartoonist Hand SC,Regular,a,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "SF Collegiate,Regular,a,0,4,", + "SF Collegiate Solid,,a,,,", + "SF Shai Fontai,,a,1,8,", + "SF Shai Fontai Distressed,,a,,,", + "SF Shai Fontai Extended,,a,,,", + "SF Slapstick Comic,,a,,4,", + "SF Speakeasy,,a,,11,", + ",Oblique,,,,", + "SF Toontime,Regular,a,,2,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "SF Toontime Blotch,Regular,a,,,", + ",Italic,,,,", + "SF Wasabi,Regular,a,,8,", + "SF Wasabi Condensed,,a,,,", + "SF Wonder Comic,,a,,2,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "SF Wonder Comic Blotch,Regular,a,,,", + ",Italic,,,,", + "SF Wonder Comic Inline,Regular,a,,,", + ",Italic,,,,", + "Sacramento,Regular,,3,6,a", + "Sahitya,Bold,,515,14,a", + ",Regular,,,,a", + "Sail,,,1,13,", + "Saira,Black,,4099,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Saira Condensed,Black,,,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Saira ExtraCondensed,Black,,,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Saira SemiCondensed,Black,,,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Saira Stencil One,Regular,,,4,a", + "Salaryman,,a,0,,", + "Salsa,,,1,,", + "Samba,,a,,12,", + "Sanchez,Italic,,3,14,a", + ",Regular,,,,a", + "Sancreek,,,,4,a", + "Sansation,Bold,,15,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light Light,Sansation-Light,,,", + ",Light Light Italic,Sansation-LightItalic,,,", + ",Regular,,,,", + "Sansita,Black,,4099,4,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + "Sansita Swashed,Black,,,,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Sansumi,Regular,Sansumi-Bold,1,12,", + ",ExtraBold,,,,", + "Santana,Regular,a,,4,", + ",Black,,,,", + "Santana-BlackCondensed,Regular,a,,,", + "Santana,Bold,,,,", + "Santana-RegularCondensed,Regular,a,,,", + "Sarabun,Bold,,5123,12,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Sarala,Bold,,515,,a", + ",Regular,,,,a", + "Sarina,,,3,13,", + "Sarpanch,Black,,513,4,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Sary Soft,ExtraLight,,1,12,", + ",Light,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Satisfy,Regular,,,13,", + "Sawarabi Gothic,Medium,,139,12,", + ",Regular,,,,a", + "Sawarabi Mincho,Medium,,131,,", + ",Regular,,,,a", + "Scada,Bold,,11,,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "Scheherazade,Bold,,33,14,", + ",Regular,,,,", + "Schoolbell,,a,1,8,", + ",,,,6,a", + "Scope One,,,3,14,a", + "Scratch,,a,1,6,", + "Scriptina,,a,,13,", + "Scriptina - Alternates,,a,0,,", + "Scriptina Pro,,a,3,,", + "Sears Tower,,a,1,17,", + "SeasideResortNF,,a,,11,", + "Seaweed Script,,,,4,a", + "Secular One,,,19,12,a", + "Sedgwick Ave,,,4099,4,", + "Sedgwick Ave Display,,,,,", + "Sedgwick Co,,a,0,,", + "Selawik,Bold,,3,12,", + ",Light,,,,", + ",Regular,,,,", + ",Semibold,,,,", + ",Semilight,,,,", + "Selima,Regular,a,1,13,", + "Sen,Bold,,3,12,a", + ",ExtraBold,,,,a", + ",Regular,,,,a", + "Seshat,,,1,14,", + "Sesquipedalian,,a,0,11,", + "Sevillana,,,1,13,", + "Seymour One,Book,a,11,12,a", + "Shadows Into,Light,ShadowsIntoLight,3,6,a", + "Shadows Into Light,Two,ShadowsIntoLightTwo-Regular,,,a", + "ShangriLaNF,Regular,a,1,4,", + "ShangriLaNFSmallCaps,,a,,,", + "Shangshung Sgoba-KhraChen,,Shangshung-Sgoba-KhraChen,257,10,ex/tib/S12/Shangshung-sgoba-khrachen.ttf", + "Shangshung Sgoba-KhraChung,,Shangshung-Sgoba-KhraChung,,,ex/tib/S12/Shangshung-sgoba-khrachung.ttf", + "Shanti,,a,1,12,", + "Share,Bold,,,,", + "Share-BoldExp,Regular,a,,,", + "Share,Bold Italic,,,,", + "Share-BoldItalicExp,Regular,a,,,", + "Share-BoldItalicOSF,,a,,,", + "Share-BoldOSF,,a,,,", + "Share,Italic,,,,", + "Share-ItalicExp,Regular,a,,,", + "Share-ItalicOSF,,a,,,", + "Share,,,,,", + "Share-RegularExp,,a,,,", + "Share-RegularOSF,,a,,,", + "Share-Tech,,a,,,", + "Share-TechExp,,a,,,", + "Share-TechMono,,a,,,", + "Share-TechMonoExp,,a,,,", + "Share Tech,,,,,a", + "Share Tech Mono,,,,7,a", + "Shojumaru,,,3,8,", + "Short Stack,,a,1,6,", + "Shrikhand,,,,14,", + "Siemreap,,a,2048,4,a", + "Sigmar,,a,3,,", + "Sigmar One,,,4099,,a", + "Signika,Bold,,,12,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Semibold,,1,,", + "Signika Negative,Bold,,,,a", + ",Light,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Silkscreen,Normal,a,0,9,", + ",Bold,,,,", + "Silkscreen Expanded,Normal,Silkscreen-Expanded,,,", + ",Bold,Silkscreen-ExpandedBold,,,", + "Simonetta,Black,,1,14,", + ",Black Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Simpel,Medium,,3,12,", + "Single Day,Regular,,64,4,a", + "Sinkin Sans,100 Thin,,3,12,", + ",100 Thin Italic,,,,", + ",200 X Light,,,,", + ",200 X Light Italic,,,,", + ",300 Light,,,,", + ",300 Light Italic,,,,", + ",400 Italic,,,,", + ",400 Regular,,,,", + ",500 Medium,,,,", + ",500 Medium Italic,,,,", + ",600 SemiBold,,,,", + ",600 SemiBold Italic,,,,", + ",700 Bold,,,,", + ",700 Bold Italic,,,,", + ",800 Black,,,,", + ",800 Black Italic,,,,", + ",900 X Black,,,,", + ",900 X Black Italic,,,,", + "Sintony,Regular,a,1,,a", + ",Bold,,,,a", + ",Regular,,,,", + "SirinStencil,,,,4,a", + "Six Caps,,a,3,,", + "Sjonarbok Classic,,Sjonarbok-Classic,0,8,", + "Skranji,,a,1,4,", + ",Bold,,,,", + "Slabo 13px,Regular,,3,15,", + "Slabo 27px,,,,,", + "Slackey,,,1,4,a", + "Slim Jim,,a,,12,", + "Sling,Normal,a,0,14,", + ",Bold,,,,", + ",Light,,,,", + "Slukoni,Medium,,,4,", + "Smokum,Regular,,3,,", + "Smythe,,a,1,,a", + "Snickles,,a,0,6,", + "Sniglet,ExtraBold,,1,4,", + ",Regular,,,,", + "Snippet,,a,,12,a", + "Snowburst One,,,,4,a", + "Sofadi One,,,,,", + "Sofia,,,,6,a", + "Solveig,Bold,SolveigBold,3,12,", + ",Bold Italic,SolveigBold-Italic,,,", + "Solveig Demi,Bold,SolveigDemiBold,,,", + ",Bold Italic,SolveigDemiBold-Italic,,,", + "Solveig Display,Regular,a,,,", + ",Italic,,,,", + "Solveig Text,Regular,a,,,", + ",Italic,,,,", + "Solway,Bold,,1,15,", + ",ExtraBold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + "Some Time Later,,a,31,4,", + "Song Myung,,,0,14,a", + "Sonsie One,,a,3,4,", + ",,,,,a", + "Sora,Bold,,,12,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Soria,Soria,,0,14,", + "Sorts Mill Goudy,Italic,,3,,a", + ",Regular,,,,a", + "SouciSans,,a,1,4,", + "SoukouMincho,,a,140,14,", + "Source Code Pro,Black,,4111,7,a", + ",Black Italic,SourceCodePro-BlackIt,4099,,a", + ",Bold,,4111,,a", + ",Bold Italic,SourceCodePro-BoldIt,4099,,a", + ",ExtraLight,,4111,,a", + ",ExtraLight Italic,SourceCodePro-ExtraLightIt,4099,,a", + ",Italic,SourceCodePro-It,,,a", + ",Light,,4111,,a", + ",Light Italic,SourceCodePro-LightIt,4099,,a", + ",Medium,,4111,,a", + ",Medium Italic,SourceCodePro-MediumIt,4099,,a", + ",Regular,,4111,,a", + ",Semibold,,,,a", + ",Semibold Italic,SourceCodePro-SemiboldIt,4099,,a", + "Source Han Sans,Bold,,4301,12,ex/shs/SourceHanSans-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSans-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSans-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSans-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSans-Medium.ttc", + ",Normal,,,,ex/shs/SourceHanSans-Normal.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans HC,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSans-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSans-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSans-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSans-Medium.ttc", + ",Normal,,,,ex/shs/SourceHanSans-Normal.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans HW,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans HW HC,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans HW K,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans HW SC,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans HW TC,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans K,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSans-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSans-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSans-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSans-Medium.ttc", + ",Normal,,,,ex/shs/SourceHanSans-Normal.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans SC,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSans-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSans-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSans-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSans-Medium.ttc", + ",Normal,,,,ex/shs/SourceHanSans-Normal.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Sans TC,Bold,,,,ex/shs/SourceHanSans-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSans-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSans-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSans-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSans-Medium.ttc", + ",Normal,,,,ex/shs/SourceHanSans-Normal.ttc", + ",Regular,,,,ex/shs/SourceHanSans-Regular.ttc", + "Source Han Serif,Bold,,,,ex/shs/SourceHanSerif-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSerif-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSerif-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSerif-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSerif-Medium.ttc", + ",Regular,,,,ex/shs/SourceHanSerif-Regular.ttc", + ",SemiBold,,,,ex/shs/SourceHanSerif-SemiBold.ttc", + "Source Han Serif K,Bold,,,,ex/shs/SourceHanSerif-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSerif-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSerif-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSerif-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSerif-Medium.ttc", + ",Regular,,,,ex/shs/SourceHanSerif-Regular.ttc", + ",SemiBold,,,,ex/shs/SourceHanSerif-SemiBold.ttc", + "Source Han Serif SC,Bold,,,,ex/shs/SourceHanSerif-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSerif-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSerif-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSerif-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSerif-Medium.ttc", + ",Regular,,,,ex/shs/SourceHanSerif-Regular.ttc", + ",SemiBold,,,,ex/shs/SourceHanSerif-SemiBold.ttc", + "Source Han Serif TC,Bold,,,,ex/shs/SourceHanSerif-Bold.ttc", + ",ExtraLight,,,,ex/shs/SourceHanSerif-ExtraLight.ttc", + ",Heavy,,,,ex/shs/SourceHanSerif-Heavy.ttc", + ",Light,,,,ex/shs/SourceHanSerif-Light.ttc", + ",Medium,,,,ex/shs/SourceHanSerif-Medium.ttc", + ",Regular,,,,ex/shs/SourceHanSerif-Regular.ttc", + ",SemiBold,,,,ex/shs/SourceHanSerif-SemiBold.ttc", + "Source Sans Pro,Black,,4111,,", + ",Black Italic,SourceSansPro-BlackIt,4099,,", + ",,,,,a", + ",Bold,,4111,,", + ",Bold Italic,SourceSansPro-BoldIt,4099,,", + ",,,,,a", + ",ExtraLight,,4111,,", + ",ExtraLight Italic,SourceSansPro-ExtraLightIt,4099,,", + ",,,,,a", + ",Italic,SourceSansPro-It,,,", + ",,,,,a", + ",Light,,4111,,", + ",Light Italic,SourceSansPro-LightIt,4099,,", + ",,,,,a", + ",Regular,,4111,,", + ",SemiBold,,,,a", + ",SemiBold Italic,,4099,,a", + ",Semibold,,4111,,", + ",Semibold Italic,SourceSansPro-SemiboldIt,4099,,", + "Source Serif Pro,Black,,4111,14,a", + ",Black Italic,SourceSerifPro-BlackIt,,,a", + ",Bold,,,,a", + ",Bold Italic,SourceSerifPro-BoldIt,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,SourceSerifPro-ExtraLightIt,,,a", + ",Italic,SourceSerifPro-It,,,a", + ",Light,,,,a", + ",Light Italic,SourceSerifPro-LightIt,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,SourceSerifPro-SemiBoldIt,,,a", + ",Semibold,,,,", + ",Semibold Italic,SourceSerifPro-SemiboldIt,3,,", + "Space Comics,Regular,a,0,2,ex/pu/Space Comics.ttf", + "Space Grotesk,Bold,,4099,12,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Space Mono,Bold,,,7,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Spartan,Black,,3,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Spartan MB,Black,,,,", + ",Bold,,,,", + ",ExtraBold,,,,", + ",ExtraLight,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",Thin,,,,", + "Special Elite,Regular,,,17,", + "Spectral,Bold,,4107,14,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Spectral SC,Bold,,,,", + ",Bold Italic,,,,", + ",ExtraBold,,,,", + ",ExtraBold Italic,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Spicy Rice,Regular,,3,4,a", + "Spilt Ink,,a,0,8,", + "Spin Cycle 3D OT,,a,1,4,", + "Spin Cycle OT,,a,,,", + "Spinnaker,,,,12,a", + "Spirax,,,,4,", + "Sporting Grotesque,Bold,,5,12,", + ",Regular,,,,", + "Sportrop,,,3,4,", + "Sprat,,a,1,14,", + ",Condensed Black,,,,", + ",Condensed Bold,,,,", + ",Condensed Light,,,,", + ",Condensed Medium,,,,", + ",Condensed Thin,,,,", + ",Condesed Regular,,,,", + ",Extended Black,,,,", + ",Extended Bold,,,,", + ",Extended Light,,,,", + ",Extended Medium,,,,", + ",Extended Thin,,,,", + ",Extended regular,,,,", + ",Regular,,,,", + ",Regular Black,,,,", + ",Regular Bold,,,,", + ",Regular Medium,,,,", + ",Regular Thin,,,,", + ",Regular light,,,,", + "Squada One,Regular,,,4,", + "Sree Krushnadevaraya,,a,0,14,a", + "Sriracha,,,5123,6,a", + "Srisakdi,Bold,,,4,a", + ",Regular,,,,a", + "St Marie,Thin,,3,15,", + "Staatliches,Regular,,,4,a", + "Stalemate,,,,6,a", + "Stalinist One,,,9,4,a", + "Stardos Stencil,Bold,,1,16,", + ",Regular,,,,", + "StateFace,,,0,3,", + "Stilu,Bold,,1,12,", + ",Bold Oblique,,,,", + ",Light,,,,", + ",Light Oblique,,,,", + ",Oblique,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Oblique,,,,", + "Stint Ultra Condensed,Regular,,3,4,a", + "Stint Ultra Expanded,,,,,a", + "Stoke,Light,,,14,a", + ",Regular,,,,a", + "Strait,,,1,12,a", + "Studebaker,,a,0,11,", + "Stylish,,,64,12,", + "Subjectivity,Black,,3,,", + ",Black Slanted,,,,", + ",Bold,,,,", + ",Bold Slanted,,,,", + ",Extra Bold,,,,", + ",Extra Bold Slanted,,,,", + ",Light,,,,", + ",Light Slanted,,,,", + ",Medium,,,,", + ",Medium Slanted,,,,", + ",Regular,,,,", + ",Regular Slanted,,,,", + ",Super,,,,", + ",Super Slanted,,,,", + ",Thin,,,,", + ",Thin Slanted,,,,", + "Sue Ellen Francisco ,Regular,a,1,6,a", + "Suez One,,,19,14,a", + "Suit Icons,,SuitIconsRegular,1,3,", + "Sulphur Point,Bold,,,12,a", + ",Light,,,,a", + ",Regular,,,,a", + "Sumana,Bold,,513,14,a", + ",Regular,,,,a", + "Sunflower,Bold,,0,12,a", + ",Light,,,,a", + ",Medium,,,,a", + "Sunshiney,Regular,,1,6,a", + "Supermercado,,,3,4,", + "Sura,Bold,,512,14,a", + ",Regular,,,,a", + "Suranna,,a,0,,a", + "Suravaram,,a,,,a", + "Surface,Medium,,1,12,", + "Suwannaphum,Regular,,2048,4,a", + "Swanky and Moo Moo,,a,3,6,a", + "Symbol Signs,Basis set,,0,3,", + "Syncopate,Bold,,3,4,", + ",Regular,,,,", + "Syne,Bold,,,12,a", + ",Extra,,,,", + ",ExtraBold,,,,a", + ",Italic,,,,", + ",Medium,,,,a", + ",Mono,,,,", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Syne Mono,Regular,,,7,a", + "Syne Tactile,,,,4,a", + "Synthetique OT,,a,1,,", + "TCRC Youtso Unicode,,a,256,10,ex/tib/S12/TCRC Youtso Uni.ttf", + "210 Sunflower,Light,TTSunflowerL,12,,ex/sunflower.ttf", + "Tagapagsalaysay Caps (Narrator),Regular,TagapagsalaysayCapsNarrator,0,2,", + ",Bold,TagapagsalaysayCapsNarratorBold,,,", + ",BoldItalic,TagapagsalaysayCapsNarratorBoldItalic,,,", + ",Italic,TagapagsalaysayCapsNarratorItalic,,,", + "Tajawal,Black,,1,12,a", + ",Bold,,,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + "Tangerine,,a,,13,", + ",Bold,,,,", + ",Regular,,,6,a", + "Tanohe Sans,,a,3,12,", + ",Black,,,,", + ",Black Italic,,,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + "Taprom,Regular,a,2048,4,a", + "TarponMotel,,a,1,12,", + "Tauri,,TauriRegular,,,a", + "Taviraj,Black,,5123,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "TeX Gyre Adventor,Bold,,4111,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "TeX Gyre Bonum,Bold,,,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "TeX Gyre Cursor,Bold,,,7,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "TeX Gyre Heros,Bold,,,12,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "TeX Gyre Heros Cn,Bold,TeXGyreHerosCondensed-Bold,,,", + ",Bold Italic,TeXGyreHerosCondensed-BoldItalic,,,", + ",Italic,TeXGyreHerosCondensed-Italic,,,", + ",Regular,TeXGyreHerosCondensed-Regular,,,", + "TeX Gyre Pagella,Bold,,,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "TeX Gyre Schola,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "TeX Gyre Termes,Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Techna Sans,,,1,12,", + "Technique BRK,Normal,a,0,4,", + "Technique OL BRK,,a,,,", + "Tecnico,Fino,TecnicoFino,4,12,", + ",FinoInclinado,TecnicoFinoInclinado,,,", + ",Grueso,TecnicoGrueso,,,", + ",GruesoInclinado,TecnicoGruesoInclinado,,,", + "Teko,Bold,,513,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Telex,Regular,,1,,", + "Tenali Ramakrishna,,a,0,,a", + "Tenderness,,a,,,", + "Tenor Sans,,a,11,,a", + "Teutonic No1,DemiBold,,0,0,", + "Teutonic No2,,,,,", + "Teutonic No3,,,,,", + "Teutonic No4,,,,,", + "Text Me One,Regular,,1,12,a", + "Texturina 12pt,Black,,4099,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Thasadith,Bold,,5123,12,a", + ",Bold Italic,,,,a", + ",Italic,,,,a", + ",Regular,,,,a", + "The Girl Next Door,,a,3,6,a", + "Theano Didot,,,7,14,", + "Theano Modern,,,,,", + "Theano Old Style,,,,,", + "The script of Zhangzhung Smar,,a,257,10,ex/tib/S12/Shangzhung-Smar.ttf", + "Tibetan Machine Uni,,a,259,,ex/tib/S12/TibetanMachineUni.ttf", + "TibetanYigchung,,TibetanSambhotaYigchung,256,,ex/tib/S12/SambhotaYigchung.ttf", + "TibetanTsugRing,,a,,,ex/tib/S12/SambhotaTsugRing.otf", + "Tienne,,a,1,15,", + ",Black,,,14,a", + ",Bold,,,15,", + ",Heavy,,,,", + ",Regular,,,14,a", + "Tillana,Bold,,513,6,", + ",ExtraBold,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Timmana,Regular,a,0,12,a", + "Tinet,,a,1,6,", + "Tinos,,a,4127,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,a", + "Tiresias Infofont,,a,1,12,", + ",Italic,TiresiasInfofontItalic,,,", + "Titan One,Regular,a,3,4,", + "Titillium,Black,,,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Bold Upright,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Light Upright,,,,", + ",Regular,,,,", + ",Regular Italic,,,,", + ",Regular Upright,,,,", + ",Semibold,,,,", + ",Semibold Italic,,,,", + ",Semibold Upright,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + ",Thin Upright,,,,", + "Titillium Web,Black,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + "Tiza,Regular,a,1,4,", + "Tomorrow,Black,,4099,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Top Secret,Bold,,0,16,", + "Trade Winds,Regular,a,1,4,", + "TrashHand,,a,,6,", + "Trendy University,,a,0,16,", + "Trickster,,,3,0,", + "Trirong,Black,,5123,14,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Italic,,,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "Trispace,Bold,,4099,12,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",Thin,,,,a", + "Trocchi,Regular,a,3,15,", + ",Bold,,0,,", + ",Regular,,3,14,a", + "Trochut,,a,1,4,a", + ",Bold,,,,a", + ",Italic,,,,a", + "TroglodyteNF,Regular,a,,11,", + "Troika,,a,15,4,", + "True Crimes,,a,0,11,", + "Trump Town Pro,,a,3,4,", + "Trykker,,,,14,", + "Tuffy,,a,15,12,", + ",Bold,,,,", + ",Bold-Italic,,,,", + ",Italic,,,,", + "Tulia,Regular,a,1,15,", + ",Bold,,,,", + ",Italic,,,,", + "Tulpen One,Regular,,,4,", + "Turret Road,Bold,,3,,a", + ",ExtraBold,,,,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + "TypeMyMusic,Notation,,0,3,", + "TypoSlabserif,Light,,1,15,", + "Ubuntu,Regular,a,15,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,a", + "Ubuntu-Title,Title,a,0,4,", + "Ubuntu Condensed,Regular,,15,12,", + "Ubuntu Mono,Bold,,,7,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Ubuntu Titling,Bold,,1,4,", + "UglyQua,Regular,a,,,", + ",Italic,,,,", + "Ultra,Regular,a,3,,", + ",,,,14,a", + "Umbrage,,a,1,4,", + "UnB Office,,a,15,12,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,1,,", + "UnB Pro,Black,,3,,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Light,,,,", + ",Regular,,,,", + ",Regular Italic,,,,", + "Uncial Antiqua,Regular,,,4,a", + "Underdog,,,11,,a", + "Underwood Champion,,a,1,17,", + "Unica One,,,3,4,a", + "UnifrakturCook,Bold,,1,,a", + "UnifrakturMaguntia,Book,a,3,0,", + ",16 Book,UnifrakturMaguntia16,0,,", + ",17 Book,UnifrakturMaguntia17,,,", + ",18 Book,UnifrakturMaguntia18,,,", + ",19 Book,UnifrakturMaguntia19,,,", + ",20 Book,UnifrakturMaguntia20,,,", + ",21 Book,UnifrakturMaguntia21,3,,", + "Unkempt,Bold,,1,4,a", + ",Regular,,,,a", + "Unlock,,,,,a", + "Unna,Bold,,4099,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,,", + "UpperEastSide,,a,1,11,", + "Utility,BoldCondensed,UtilityBoldCondensed,0,4,", + "VAG-HandWritten,VAG-HandWritten,a,4,6,", + "VG5000,Regular,,1,12,", + "VT323,,,4099,9,", + "VTC Letterer Pro,,a,0,2,", + "VTF Victorianna,Thin,VTFVictoriannaThin,1,15,", + ",Thin Italic,VTF_VictoriannaThin_italic,,,", + "Vampiro One,Regular,,,13,", + "VanBerger,Stencil,,,16,", + "Vanilla,Regular,a,0,4,", + "Varela,,a,4099,12,", + "Varela Round,,a,1,,", + ",,,4115,,a", + "Varta,Bold,,4099,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Vast Shadow,Regular,,1,4,", + "Veggieburger,,a,,,", + ",Bold,,,,", + ",Light,,,,", + "Vegur,Bold,,,12,", + ",Light,,,,", + ",Regular,,,,", + "Verily Serif Mono,Book,a,,14,", + "Versa,Versa,,3,4,", + "Vesper Libre,Bold,,513,14,", + ",Heavy,,,,", + ",Medium,,,,", + ",Regular,,,,", + "Veteran Typewriter,,a,0,17,", + "Viaoda Libre,,,4107,4,a", + "Vibes,,,33,,a", + "Vibur,Medium,a,1,13,", + "Victor Mono,Bold,,4111,12,", + ",Bold Italic,,,,", + ",Bold Oblique,,,,", + ",ExtraLight,,,,", + ",ExtraLight Italic,,,,", + ",ExtraLight Oblique,,,,", + ",Italic,,,,", + ",Light,,,,", + ",Light Italic,,,,", + ",Light Oblique,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Medium Oblique,,,,", + ",Oblique,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + ",SemiBold Oblique,,,,", + ",Thin,,,,", + ",Thin Italic,,,,", + ",Thin Oblique,,,,", + "Vidaloka ,Regular,,1,4,", + "Viga,,,,12,", + "Virgo 01,,a,,4,", + "Vladivostok,Bold,,11,12,", + ",Regular,,,,", + "Voces,,,3,4,a", + "Volkhov,Bold,,1,14,", + ",Bold Italic,,,,", + ",Italic,,,,", + ",Regular,,,,", + "Vollkorn,Black,,4111,,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Semibold,,,,", + ",Semibold Italic,,,,", + "Vollkorn SC,Black,,4107,,a", + ",Bold,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Voltaire,Regular,a,1,4,", + "WC Mano Negra Bta,,a,,6,", + ",Bold,,,,", + "WC ROUGHTRAD Bta,Regular,a,,4,", + "WC Rhesus,A Bta,WCRhesusABta,,3,", + ",B Bta Italic,WCRhesusBBta,,,", + "WC Sold Out,A Bta,WCSoldOutABta,0,,", + ",B Bta,WCSoldOutBBta,,,", + ",C Bta,WCSoldOutCBta,7,,", + "WC Wunderbach,Bta DemiBold,WCWunderbachBta-DemiBold,1,16,", + ",Mix Bta,WCWunderbachMixBta,,,", + ",Rough Bta,WCWunderbachRoughBta,,,", + ",Rounded,WCWunderbachRounded,,,", + "Wagnasty,Regular,a,0,6,", + "Waiting for the Sunrise,,a,3,,a", + "Walkway,Black,WalkwayBlack,1,12,", + ",Bold,WalkwayBold,,,", + ",Oblique,WalkwayOblique,,,", + ",Oblique Black,WalkwayObliqueBlack,,,", + ",Oblique Bold,WalkwayObliqueBold,,,", + ",Oblique SemiBold,WalkwayObliqueSemiBold,,,", + ",Oblique UltraBold,WalkwayObliqueUltraBold,,,", + ",SemiBold,WalkwaySemiBold,,,", + ",UltraBold,WalkwayUltraBold,,,", + "Walleye,Regular,a,15,14,", + ",Bold,,,,", + ",Bold Italic,,,,", + ",Italic,,,,", + "Wallpoet,Regular,a,1,4,a", + "Walter Turncoat,,a,,13,", + ",,,,6,a", + "Wangdi,Medium,,257,10,ex/tib/S12/Wangdi.ttf", + "Warnes,Regular,,1,4,a", + "Water Street,,a,0,,", + "Water Street Detour,,a,,,", + "WebHostingHub-Glyphs,,a,,3,", + "Web Serveroff,,a,11,12,", + ",Italic,,,,", + "Web Symbols,Regular,,0,3,", + "Wellfleet,,,3,4,", + "Wendy One,,,1,12,a", + "White Rabbit,,a,0,,", + "Whitehall,,a,1,4,", + "Windsong,,a,,13,", + "WinterthurCondensed,,a,,12,", + ",Italic,WinterthurCondensedOblique,,,", + "Wire One,Regular,a,,,a", + "WoodenNickelBlack,,a,,11,", + "Work Sans,Black,,4099,12,a", + ",Black Italic,,,,a", + ",Bold,,,,a", + ",Bold Italic,,,,a", + ",ExtraBold,,,,a", + ",ExtraBold Italic,,,,a", + ",ExtraLight,,,,a", + ",ExtraLight Italic,,,,a", + ",Hairline,,3,,", + ",Italic,,4099,,a", + ",Light,,,,a", + ",Light Italic,,,,a", + ",Medium,,,,a", + ",Medium Italic,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + ",SemiBold Italic,,,,a", + ",Thin,,,,a", + ",Thin Italic,,,,a", + "XTashi,Regular,a,259,10,ex/tib/S12/XTashi.ttf", + "Xanh Mono,Italic,,4099,7,a", + ",Regular,,,,a", + "Xenophone,,a,1,4,", + "Yanone Kaffeesatz,Bold,,4107,12,a", + ",ExtraLight,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",SemiBold,,,,a", + "Yantramanav,Black,,513,,a", + ",Bold,,,,a", + ",Light,,,,a", + ",Medium,,,,a", + ",Regular,,,,a", + ",Thin,,,,a", + "Yataghan,Regular,a,1,4,", + "Yatra One,,,513,,a", + "Yellow Magician,,a,1,,", + "Yellowtail,,a,3,6,", + ",,,,,a", + "Yeon Sung,,,0,4,a", + "Yeseva One,,a,11,,", + ",,,4107,,a", + "Yesteryear,,,3,6,a", + "Yew Basturd,Bold,YewBasturdBold,0,2,", + ",BoldItalic,YewBasturdBoldItalic,,,", + ",Italic,YewBasturdItalic,,,", + ",Normal,YewBasturdNormal,,,", + "Yokawerad,Regular,a,11,14,", + "YoungSerif,,,3,,", + "Yrsa,Bold,,,,", + ",Light,,,,", + ",Medium,,,,", + ",Regular,,,,", + ",SemiBold,,,,", + "Yukarimobile,Regular,a,1,4,", + "Yusei Magic,,,129,12,a", + "ZCOOL KuaiLe,,,128,4,a", + "ZCOOL QingKe HuangYou,,,,,a", + "ZCOOL XiaoWei,,,,14,a", + "Zambajoun,,a,0,8,", + "Zantroke,,a,11,15,", + "Zenda,,a,0,0,", + "Zero & Zero Is,,Zero&Zero-Is,,4,", + "Zeyada,,a,3,6,a", + "Zhi Mang Xing,,,128,,a", + "Zilla Slab,Bold,,3,15,", + ",Bold Italic,,,,", + ",Italic,,,14,a", + ",Light,,,15,", + ",Light Italic,,,,", + ",Medium,,,,", + ",Medium Italic,,,,", + ",Regular,,,14,a", + ",Regular Italic,,,15,", + ",SemiBold,,,,", + ",SemiBold Italic,,,,", + "Zilla Slab Highlight,Bold,,,,", + ",Regular,,,,", + "Zilla Slab,,ZillaSlabRegular,,,", + "Znikomit,,a,11,14,", + "ZnikomitNo24,,a,,4,", + "exotica,Medium,,0,,", + "Heydings Controls,Regular,font3933,,3,", + "iA Writer Duospace,Bold,,4099,12,", + ",BoldItalic,,,,", + ",Regular,,,,", + ",RegularItalic,,,,", + "itsadzoke,Regular,a,3,4,", + ",S01,itsadzokeS01,,,", + "kawoszeh,Medium,a,,14,", + "konstytucyja,,a,,13,", + "mirror 82,Regular,a,9,12,", + "M+ 1c,black,mplus-1c-black,128,,", + ",bold,mplus-1c-bold,,,", + ",heavy,mplus-1c-heavy,,,", + ",light,mplus-1c-light,,,", + ",medium,mplus-1c-medium,,,", + ",regular,mplus-1c-regular,,,", + ",thin,mplus-1c-thin,,,", + "M+ 1m,bold,mplus-1m-bold,,7,", + ",light,mplus-1m-light,,,", + ",medium,mplus-1m-medium,,,", + ",regular,mplus-1m-regular,,,", + ",thin,mplus-1m-thin,,,", + "odstemplik,Regular,a,3,13,", + ",Bold,odstemplikBold,,,", + "okolaks,,okolaksBold,11,14,", + ",BoldItalic,okolaksBoldItalic,,,", + ",Regular,okolaksRegular,,,", + ",RegularItalic,okolaksRegularItalic,,,", + "saxMono,Regular,a,3,7,", + "spinwerad,Bold,spinweradBold,,14,", + "spinweradC,,spinweradCBold,,," + ] +}; +var LNG = { + "langs": [ + { + "name": "English", + "code": "en", + "table": 0 + }, + { + "name": "Česky", + "code": "cs", + "table": 1 + }, + { + "name": "Español", + "code": "es", + "table": 2 + }, + { + "name": "Deutsch", + "code": "de", + "table": 3 + }, + { + "name": "Français", + "code": "fr", + "table": 4 + }, + { + "name": "Ελληνικά", + "code": "el", + "table": 5 + }, + { + "name": "العربية", + "code": "ar", + "table": 6 + }, + { + "name": "Português", + "code": "pt", + "table": 7 + }, + { + "name": "Русский", + "code": "ru", + "table": 8 + }, + { + "name": "Українська", + "code": "uk", + "table": 9 + }, + { + "name": "עברית", + "code": "he", + "table": 10 + }, + { + "name": "Hrvatski", + "code": "hr", + "table": 11 + }, + { + "name": "Italiano", + "code": "it", + "table": 12 + }, + { + "name": "Română", + "code": "ro", + "table": 13 + }, + { + "name": "Nederlands", + "code": "nl", + "table": 14 + }, + { + "name": "Svenska", + "code": "sv", + "table": 15 + }, + { + "name": "Dansk", + "code": "da", + "table": 16 + }, + { + "name": "Suomi", + "code": "fi", + "table": 17 + }, + { + "name": "Slovenščina", + "code": "sl", + "table": 18 + }, + { + "name": "Türkçe", + "code": "tr", + "table": 19 + }, + { + "name": "Polski", + "code": "pl", + "table": 20 + }, + { + "name": "Bahasa Indonesia", + "code": "id", + "table": 21 + }, + { + "name": "简化字 中文", + "code": "zh-CN", + "table": 22 + }, + { + "name": "正體字 中文", + "code": "zh-HK", + "table": 23 + }, + { + "name": "ภาษาไทย", + "code": "th", + "table": 24 + }, + { + "name": "日本語", + "code": "ja", + "table": 25 + }, + { + "name": "한국어", + "code": "ko", + "table": 26 + }, + { + "name": "Português do Brasil", + "code": "pt-BR", + "table": 27 + }, + { + "name": "Magyar", + "code": "hu", + "table": 28 + }, + { + "name": "Slovenčina", + "code": "sk", + "table": 29 + }, + { + "name": "Tiếng Việt", + "code": "vi", + "table": 30 + }, + { + "name": "Български език", + "code": "bg", + "table": 31 + }, + { + "name": "Српски језик", + "code": "sr", + "table": 32 + }, + { + "name": "Shqip", + "code": "sq", + "table": 33 + }, + { + "name": "தமிழ்", + "code": "ta", + "table": 34 + }, + { + "name": "བོད་ཡིག", + "code": "bo", + "table": 35 + }, + { + "name": "Català", + "code": "ca", + "table": 36 + }, + { + "name": "Norsk", + "code": "no", + "table": 37 + }, + { + "name": "Eesti", + "code": "et", + "table": 38 + }, + { + "name": "Lietuvių", + "code": "lt", + "table": 39 + } + ], + "tables": [ + "[File;Edit;Image;Layer;Folder;Select;Filter;View::noun (Top Menu);Window;Language;Log In;Log Out;Create translation::Click it to get to www.Photopea.com/translate;[Account;Terms of Service;Back;About::\"About a program\" - the orange button at the top;Report a bug;Learn];More;Theme;Use WebGL;[Photopea: advanced image editor::The header at the top of the page;Free online editor supporting PSD, XCF, Sketch, XD and CDR formats.::Will be at the top of the page;Create a new image or open existing files from your computer. Save your work as PSD (File - Save as PSD) or as JPG / PNG / SVG (File - Export as).::Will be at the top of the page;Suggest new features at our or . Our goal is to create .::Parts between < and > will become links.;Sponsor links open in a new window.;This feature is not available.;Install Photopea]];[Open::verb;Publish online;Save::verb;Save as PSD;Print::Press to print on a printer;Open from URL;Open From Computer;Connect With Google Drive;Export as;Export Layers;Script;Open & Place::Open a document and insert it into a current document;Close;Local Storage;File Info];[Step Forward::In history of changes;Step Backward::In history of changes;Clear::Verb, press to clear the selected area;Fill::Verb, press to fill the selected area;Transform::Transform the image;Rotate;Flip VAR0::VAR0 will be replaced with Horizontally/Vertically;Scale VAR0::VAR0 will be replaced with Horizontally/Vertically;Undo / Redo;Perspective;[Auto-Blend::Auto-Blend layers together;Auto-Align::Auto-Align layers against each other];Fade;Apply Image];Adjustments;[Brightness/Contrast;Levels::Levels adjustment;Curves::Curves adjustment;Exposure;Vibrance;Hue/Saturation;Color Balance;Black & White;Photo Filter;Channel Mixer;Color Lookup;Invert;Posterize;Threshold;Gradient Map;Selective Color;[Auto Tone;Auto Contrast;Auto Color];Replace Color];[Cut;Copy;Paste::like \"insert\", not like \"toothpaste\";New;Delete;Enable;Disable;Copy Merged::Copy not from a layer, but from all layers (all merged together);Apply::Apply Mask - \"combine\" it with a layer;Again::Repeat the same aciton one more time;Update::A verb];[Duplicate Layer;New Adjustment Layer;Raster Mask;Vector Mask;Add (Reveal All)::Add a mask;[Add (Hide All)::Add a mask;Reveal Selection;Hide Selection;From Transparency];[Clipping Mask;Quick Mask Mode];Convert to Smart Object;Rasterize::Convert Text layer/vector layer to pixels;Group Layers::Put selected layers into a new group;Merge Down::Merge a layer with one below it;Merge Up::Merge a layer with one above it;[Merge Layers::Merge selected layers;Flatten Image::Merge all layers in a document into one];New Layer;Enable Raster Mask;Disable Raster Mask;Enable Vector Mask;Disable Vector Mask;Enable Clipping Mask;Disable Clipping Mask;New Folder;Add Raster Mask;Delete Raster Mask;Add Vector Mask;Delete Vector Mask;Link Raster Mask;Unlink Raster Mask;Link Vector Mask;Unlink Vector Mask;Enable Layer Effects;Disable Layer Effects;Delete Layer;Layer Opacity Change;Blending Change;Rasterize Layer Style;Layer Order::Name of the step, when reordering layers;[Creating Smart Object;Updating Smart Object;Placing Smart Object;Source (Smart Object);Stack Mode::the mode of combining (stacking) multiple images into one];Name Change;Color Change;Edit Adjustment Layer;Convert to Shape;Enable Filter Mask;Disable Filter Mask;Enable Smart Filters;Disable Smart Filters;Add Filter Mask;Delete Filter Mask;Clear Smart Filters;[[Color Fill;Gradient Fill;Pattern Fill;Content Aware];New Fill Layer;Modify Fill Layer];Layer Via Copy;Filter Mask;Delete Layer Style;Move Smart Filter;Delete Smart Filter;[Link Layers;Unlink Layers];Arrange::Arrange layers;[Bring to Front;Bring Forward;Send Backward;Send to Back];[This layer is Locked.;Lock Change;Lock::verb - lock this, lock that];Animation];[All::As in Select - All;Deselect;Inverse;Modify;Expand::Expand Selection;Contract;Feather::Feather (blur) a Selection;Move Selection;Color Range;Border::The border of a Selection;Transform Selection;Refine Edge::A tool for improving the edge of a selection;Heal Selection;Magic Cut];[Zoom In;Zoom Out;Guides::Vertical and horizontal lines over the image, to help us be more precise;Rulers;Grid;Snap::When moving objects, they will \"stick\" to other objects, guides, etc.;Snap To;Document Bounds;Pixel Grid;Paths::Elements of vector graphics;Snap to Pixels;[Slices;Slice Options];Show::A verb: to show.];[History::History of steps;Layers;Properties;Brush::A brush tool;Character::= a Letter (like a, b, c, ...);Paragraph;Info;Layer Comps::Compositions of layers;Swatches::Gallery of colors;Actions;Histogram::Usually the same in other languages;Navigator;Tool Presets;Glyphs];[Brush Tool;Clone Tool;Crop Tool;Eraser Tool;Ellipse Select;Eyedropper::A tool to pick color from the image;Gradient Tool;Hand Tool::To move (pan) across the image area;Type Tool;Lasso Select;Magnetic Lasso Select;Move Tool;Magic Wand;Paint Bucket Tool;Polygonal Lasso Select;Rectangle Select;Free Transform;Zoom Tool;Blur Tool;Sharpen Tool;Smudge Tool;Dodge Tool::Make Brighter;Burn Tool::Make Darker;Sponge Tool::Desaturate;Spot Healing Brush Tool;Healing Brush Tool;Patch Tool::Cut from one place and put to another place;Path Select::a tool to select / move paths;Direct Select::a tool to select / move knots of paths;Pen;Free Pen::Draw freely with this pen;Custom Shape;Rectangle;Ellipse;Parametric Shape;Line;Ruler::A ruler tool to measure distances;Quick Selection;Pencil Tool;Perspective Crop;Slice Tool;Slice Select Tool;Color Replacement;Red Eye Tool;Object Selection;Background Eraser;Puppet Warp;Rotate View;Content-Aware Scale;Content-Aware Move Tool];[Take a picture::Press the button to take a picture;Color Picker;Contour Editor;Canvas Size;Duplicate Into ...;Gradient Editor;Layer Style;New Project;Save for web;Warp;Image Size;Vectorize Bitmap::Convert raster pixels into vector paths;[Trim::cut away an empty area around the object;Crop::(verb) Crop the image;Reveal All];Keyboard Shortcuts;Add Guides;[Clear Guides;Guides from Layer]];[Opacity;Effects;Brightness;[Contrast;Use Legacy];Channel::Color Channel;Exposure;Offset;Gamma correction;Hue;Saturation;Lightness;Colorize;Range;Vibrance;[Size;Interpolation;Nearest Neighbor;Bilinear];Angle;Roundness;Hardness;Spacing;[Blend Mode;Blend If::Specifies a tonal range for blending];Sample Size;Contour;Style;[Reverse;Relative::When ON, you only write a number, which will be added to the original value;Anchor::To which side the object should be anchored];Tolerance;Contiguous;Fill::Noun, the content (filling) of something.;Use global angle;Distance;Spread::Spread the effected area;Noise::add random image noise;Knock out drop shadow::No drop shadow behind the object;Technique;Direction;Depth;Soften;Mode::One of possible modes of the effect;Gradient::from one color to another;Scale::scale the content - 10% or even 200%;Align with layer;Position::Position of the effect;Width;Height;Destination;Type;Foreground;Background;Custom::Color: not foreground or background, but a custom color;Name::Name of something;Create;Format;Keep Aspect Ratio;[Quality;Pages];Duplicate;Move::When you move layers, the Move step will be added to History;Smart Filters;Radius;Amount::Strength of the effect (0 ... 100);Distribution;[Uniform::uniform random distribution;Gaussian];Monochromatic;Cell Size::Mosaic filter creates \"cells\";Pattern;Flow::A brush has the opacity and the flow;Strength;Protect Detail;Fill Type;Texture;Jitter::Add Noise in Outer Glow;Edge::The inner glow is either from the center, or from the Edge;Source;Target;Channels;Mask::A noun, e.g. a vector mask or a raster mask ;Density;Aligned;[Path;Shape;Pixels;Inches;Centimeters;Millimeters;Percent];Shapes;Sides;Preferences;[Length;Ratio;Any::Any ratio of a rectangle;Grid Type;Isometric;Grid Gap;Ruler Units];Reduce noise;Colors;Distances;Rate::Liquify filter: Rate of modification;Auto-Select::Move tool option: click the object to select its layer;Find;Define New;[Photo;Screen::computer screen;Mobile::Mobile device;Ads::Advertisement;Print::A noun];[Free::Not Restricted / Not Limited;Fixed Ratio;Fixed Size];Help;[Live Shape::Shape, that can be reconstructed from parameters at any time;Edit Live Shape;Same Radii::all radiuses of a rectangle should be the same];Fuzziness;[Polygon;Star;Spiral;Square];[Corner Radius;Inner Radius]];[Color;[None::No Color;Red;Orange;Yellow;Green;Blue;Purple;Gray;White;Transparent;Black;Cyan::A color;Magenta::A color;Neutral::Apply to neutral colors];Total;Absolute;Preserve Luminosity];[Drop Shadow;Inner Shadow;Outer Glow;Inner Glow;Bevel and Emboss;Color Overlay;Gradient Overlay;Pattern Overlay;Satin;Stroke::Thick line around an object;Blending Options;Select Pixels];[Tip Shape;Tip Dynamics;Scatter::dont put brush exactly, but randomly around the target spot;Color Dynamics;[Size Jitter::change the size randomly;Minimal Diameter;Angle Jitter::change the angle randomly;Roundness Jitter::change the roundness randomly;Minimal Roundness];[Position Jitter;Count::The number of brush tips;Count Jitter];[Foreground/Background Jitter;Hue Jitter;Saturation Jitter;Brightness Jitter];[Select clone source by holding Alt (or K) and clicking on the image.;Mark Foreground with White, Background with Black, and the unknown area with Gray.;Layer is not editable.;Text Layer must be rasterized first;Smart Object must be rasterized first;Select multiple layers;Straighten Layer::Will rotate the layer, so that the horizon is horizontal;Open a document first.;Close the current window first.;Current Tool Only::Tool Presets only for the current tool];[Record::To record actions;New Action Set;New Action];[Stylus Pressure controls Opacity;Stylus Pressure controls Size];[Normal::One of Blend Modes (when empty, English version will be used);Dissolve::One of Blend Modes (when empty, English version will be used);Darken::...;Multiply::...;Color Burn::...;Linear Burn::...;Darker Color::...;Lighten;Screen;Color Dodge;Linear Dodge;Lighter Color;Overlay;Soft Light;Hard Light;Vivid Light;Linear Light;Pin Light;Hard Mix;Difference;Exclusion;Subtract;Divide;Hue;Saturation;Color;Luminosity;Pass Through::Blend Mode only for Folders]];[Leading::Text style - vertical distance between lines;Tracking::Text style - horizontal spacing between characters;Baseline shift::Move the bottom line of the text;[Convert to Point Text;Convert to Paragraph Text]];[All Layers;Current Layer;Selection;Current & Below::Current layers and all layers below it];[Replace::The new thing replaces the old one;Unite;Subtract;Intersect;Exclude;Merge];[[Linear;Radial;Angle;Reflected;Diamond;Shape Burst];[Softer;Precise];[Outer Bevel;Inner Bevel;Emboss;Pillow Emboss;Stroke Emboss;Stroke Width::The thickness of the stroke line (contour)];[Smooth::A verb: to smooth something;Chisel Hard;Chisel Soft;Smoothness];[Up;Down];[Outside;Center;Inside;From Center::Draw an object from the center];[Shadows;Midtones;Highlights];[Desaturate;Saturate];[Small;Medium;Large];[Caps;Corners;Dashes]];[Choose the object under the cursor;Transform controls;Pixel to Pixel::Zoom the image to 100% (1 image pixel = 1 screen pixel);Fit The Area;[Align Left Edges;Center Horizontally;Align Right Edges;Align Top Edges;Center Vertically;Align Bottom Edges;Equal Gaps::Equal spacing between objects]];[Place into::Place the new photo into:;Current Project;New Project;Resolution;Added into the current project.;A new project was created.;Access to the camera was denied.];[Orientation::Vertical or horizontal;Bend::Text warping: bend the text to a wave, etc.;Horizontal Distortion;Vertical Distortion;[Horizontal;Vertical;Horizontally;Vertically];[None::No Warp;Arc;Arc Lower;Arc Upper;Arch;Bulge;Shell Lower;Shell Upper;Flag;Wave;Fish;Rise;Fish Eye;Inflate;Squeeze;Twist;Custom];[Font;is not available;Will be rendered using;There is unsaved work in::File name will be added after this;Do you really want to close it?];[Swap Colors;Default: White and Black]];[loaded::File was loaded;added::Font was added;Move Guide;Delete Guide;Add Guide;Loading;Load VAR0::Keep VAR0 in a phrase, it will be replaced with a Noun when used];[Filter Gallery;[[Liquify::A filter;[Smudge::Draw over image to spread colors along your stroke;Reconstruct::Recover to original state;Smoothen::Make the effect more smooth;Twirl::Rotate in a spiral;Shrink::Make smaller;Blow::Make bigger;Push Left::ush colors to the left along the stroke;Freeze;Unfreeze]];[Lens Correction]];Blur::A noun;[Average::Average filter - fills the image with an average color;Blur:: A verb;Blur More;Box Blur;Gaussian Blur;Lens Blur;Motion Blur;Radial Blur;Shape Blur;Smart Blur;Surface Blur];Distort;[Displace::Filter: move parts of image according to the brightness from another image;Pinch::Blow or shring around the center;Polar Coordinates;Ripple::Add tiny waves to the image;Shear;Spherize;Wave];Noise::Filetr => Noise;[Add Noise;Despeckle;Dust & Scratches;Median];Pixelate;[Color Halftone;Crystallize;Facet;Fragment;Mezzotint;Mosaic;Pointillize];Render;[Clouds;Difference Clouds;Lens Flare];Sharpen;[Sharpen;Sharpen Edges;Sharpen More;Smart Sharpen;Unsharp Mask];Stylize;[Diffuse;Emboss;Extrude;Find Edges;Oil Paint];Other;[Custom::A Custom kernel of the convolution;High Pass;Maximum;Minimum;Offset::Filter: shift the image horizontally and vertically;Repeat::Filter: Repeat the image many times];[Undefined Area;Set to Transparent;Repeat Edge Pixels;Wrap Around;Last Filter;Preview]];[Templates;[Font Filter;Keywords;Randomize];[With Symbols;With Photo];[Thumbnails;List]]", + "[Soubor;Úpravy;Obraz;Vrstva;Složka;Výběr;Filtr;Zobrazení;Okno;Jazyk;Přihlášení;Odhlášení;Přeložit;[Účet;Podmínky služby;Zpět;O programu;Nahlas chybu;Nauč se];Více;Motiv vzhledu;Použít WebGL;[Photopea: pokročilý grafický editor;Bezplatný online editor podporující formáty PSD, XCF, Sketch, XD, CDR a další.;Vytvořte nový obrázek nebo otevřete existující soubory z počítače. Uložte práci jako PSD (Soubor - Uložit jako PSD) nebo jako JPG / PNG / SVG (Soubor - Uložit jako).;Navrhněte nové funkce na našem nebo . Naším cílem je vytvořit .;Odkazy sponzorů se otevřou v novém okně.;Tato funkce není dostupná.;Nainstalovat Photopea]];[Otevřít;Zveřejnit online;Uložit;Uložit jako PSD;Tisk;Otevřít z URL;Otevřít z počítače;Spojit s Google Drive;Uložit jako;Exportovat vrstvy;Skript;Otevřít a Umístit;Zavřít;Místní Úložiště;O Souboru];[Krok vpřed;Krok zpět;Vyčistit;Vyplnit;Transformace;Natočit;Překlopit VAR0;Roztáhnout VAR0;Vpřed / Zpět;Perspektivní;[Automaticky prolnout;Automaticky zarovnat];Zeslabit;Aplikovat Obraz];Úpravy;[Jas/Kontrast;Úrovně;Křivky;Expozice;Živost;Odstín/Sytost;Vyvážení barev;Černobílé;Fotografický filtr;Míchání kanálů;Vyhledání Barev;Invertovat;Posterizovat;Práh;Mapa na přechod;Selektivní barva;[Auto Tón;Auto Kontrast;Auto Barvy];Nahradit barvu];[Vyjmout;Kopírovat;Vložit;Nový;Smazat;Zapnout;Vypnout;Kopírovat z celku;Aplikovat;Znovu;Obnovit];[Duplikovat vrstvu;Nová vrstva úprav;Rastrová maska;Vektorová maska;Přidat (zobrazit vše);[Přidat (skrýt vše);Odhalit Výběr;Skrýt Výběr;Podle Průhlednosti];[Maska Ořezu;Režim Rychlá Maska];Převést na Smart Object;Rastrovat;Seskupit vrstvy;Sloučit dolů;Sloučit nahoru;[Sloučit vrstvy;Sloučit Vše];Nová vrstva;Zapnout rastrovou masku;Vypnout rastrovou masku;Zapnout vektorovou masku;Vypnout vektorovou masku;Zapnout ořezovou masku;Vypnout ořezovou masku;Nová složka;Přidat rastrovou masku;Smazat rastrovou masku;Přidat vektorovou masku;Smazat vektorovou masku;Připojit rastrovou masku;Odpojit rastrovou masku;Připojit vektorovou masku;Odpojit vektorovou masku;Zapnout efekty vrstvy;Vypnout efekty vrstvy;Smazat vrstvu;Změna průhlednost vrstvy;Změna režimu prolnutí;Rastrovat styl vrstvy;Pořadí vrstev;[Vytváření Smart Object;Aktualizace Smart Object;Vkládání Smart Object;Zdroj (Smart Object);Režim balíčku];Změna názvu;Změna barvy;Změna vrstvy úprav;Převést na tvar;Zapnout masku filtrů;Vypnout masku filtrů;Zapnout chytré filtry;Vypnout chytré filtry;Přidat masku filtrů;Smazat masku filtrů;Smazat chytré filtry;[[Vyplnění jednolitou barvou;Vyplnění přechodem;Vyplnění vzorkem;Podle Obsahu];Nová krycí vrstva;Úprava krycí vrstvy];Vrstva zkopírováním;Maska filtru;Smazat styl vrstvy;Přesun smart filtru;Smazat smart filtr;[Propojit vrstvy;Zrušit propojení vrstev];Uspořádat;[Poslat na Začátek;Poslat Dopředu;Poslat Dozadu;Poslat na Konec];[Vrstva je Zamčená.;Změna Zámku;Zamkni];Animace];[Vše;Odznačit;Invertovat;Upravit;Rozšířit;Zúžit;Změkčit okraj;Posunout výběr;Barevný rozsah;Okraj;Transformovat výběr;Zpřesnit okraje;Opravit výběr;Kouzelný Ořez];[Přiblížit;Oddálit;Vodítka;Pravítka;Mřížka;Přichytávat;Přichytávat k;Okraj dokumentu;Pixelová mřížka;Cesty;Přichytávat k pixelům;[Řezy;Parametry Řezu];Zobrazit];[Historie;Vrstvy;Vlastnosti;Štětec;Znak;Odstavec;Info;Kompozice;Vzorky;Akce;Histogram;Navigátor;Konfigurace Nástroje;Znaky];[Štětec;Klonovací razítko;Ořez;Guma;Eliptický výběr;Kapátko;Přechod;Ručička;Vodorovný text;Laso;Magnetické laso;Přesun;Kouzelná hůlka;Kyblík barvy;Mnohoúhelníkové laso;Obdélníkový výběr;Volná transformace;Lupa;Rozostření;Zostření;Rozmazání;Zesvětlení;Ztmavení;Houba;potřísnění;Retušovací štětec;Záplata;Výběr cesty;Přímý výběr;Pero;Pero od ruky;Jiný tvar;Obdélník;Elipsa;Tvar s parametry;Čára;Pravítko;Rychlý výběr;Tužka;Perspektivní ořez;Nástroj řez;Nástroj výběr řezu;Nahradit Barvu;Červené oči;Výběr objektů;Mazání pozadí;Pokřivení Loutky;Natočit Obraz;Transformace s ohledem na obsah;Přesun podle obsahu];[Vyfotit;Výběr barvy;Editor kontur;Velikost plátna;Duplikovat do…;Editor přechodu;Styl vrstvy;Nový projekt;Uložit pro web;Pokřivení;Velikost obrazu;Vektorizovat bitmapu;[Oříznout podle;Oříznout;Odhalit Vše];Klávesové zkratky;Přidat Vodítka;[Odstranit vodítka;Vodítka podle vrstvy]];[Krytí;Efekty;Jas;[Kontrast;Použít kompatibilitu];Kanál;Expozice;Posun;Gama korekce;Odstín;Sytost;Světlost;Obarvit;Rozsah;Živost;[Velikost;Interpolace;Nejbližší soused;Bilineární];Úhel;Zaoblení;Tvrdost;Mezery;[Režim prolnutí;Prolnout když];Velikost vzorku;Kontura;Styl;[Otočit;Relativní;Ukotvit];Tolerance;Souvislé;Výplň;Použít globální úhel;Vzdálenost;Rozšíření;Šum;Vyseknout vržený stín;Metoda;Směr;Hloubka;Změkčit;Režim;Přechod;Velikost;Zarovnat s vrstvou;Poloha;Šířka;Výška;Cíl;Typ;Popředí;Pozadí;Vlastní;Název;Vytvořit;Formát;Zachovat poměr stran;[Kvalita;Stránky];Duplikovat;Přesun;Chytré filtry;Poloměr;Míra;Distribuce;[Rovnoměrná;Gaussovská];Monochromatický;Velikost buňky;Vzorek;Hustota;Síla;Zachovat detaily;Typ výplně;Textura;Šum;Hrana;Zdroj;Cíl;Kanály;Maska;Hustota;Zarovnaný;[Cesta;Tvar;Pixely;Palce;Centimetry;Milimetry;Procenta];Tvary;Strany;Předvolby;[Délka;Poměr;Libovolný;Typ mřížky;Isometrický;Velikost mřížky;Jednotky pravítek];Redukovat šum;Barvy;Vzdálenosti;Míra;Auto-výběr;Najít;Definovat nový;[Foto;Obrazovka;Mobil;Reklamy;Tisk];[Volný;Pevný poměr;Pevná velikost];Nápověda;[Živý Tvar;Úprava Živého Tvaru;Stejné Poloměry];Rozmazanost;[Mnohoúhelník;Hvězda;Spirála;Čtverec];[Poloměr Rohů;Vnitřní Poloměr]];[Barva;[Žádná;Červená;Oranžová;Žlutá;Zelená;Modrá;Fialová;Šedá;Bílá;Průhledná;Černá;Azurová;Purpurová;Neutrální];Celkem;Absolutní;Zachovat světlost];[Vržený stín;Vnitřní stín;Vnější záře;Vnitřní záře;Úkos a reliéf;Překrytí barvou;Překrytí přechodem;Překrytí vzorkem;Satén;Vytažení;Možnosti prolnutí;Vybrat Pixely];[Tvar špičky;Dynamika špičky;Rozptyl;Dynamika barvy;[Kolísání velikosti;Minimální průměr;Kolísání úhlu;Kolísání zaoblení;Minimální zaoblení];[Rozptyl polohy;Počet;Kolísání počtu];[Kolísání popředí/pozadí;Kolísání odstínu;Kolísání sytosti;Kolísání jasu];[Zvolte zdroj klonování přidržením Alt a kliknutím do obrazu.;Označte popředí Bílou, pozadí Černou a neznámou oblast Šedou.;Vrstvu nelze upravovat.;Textovou vrstvu je nejprve třeba rasterizovat;Smart Object je nejprve třeba rasterizovat;Vyberte několik vrstev;Vyrovnat Vrstvu;Nejdříve otevřete dokument.;Nejdříve zavřete aktuální okno.;Jen současný nástroj];[Nahrát;Nová skupina akci;Nová akce];[Přítlak pera mění Průhlednost;Přítlak pera mění hrúbku];[Normální;Rozpustit;Ztmavit;Násobit;Ztmavit barvy;Lineárně ztmavit;Tmavší barva;Zesvětlit;Závoj;Zesvětlit barvy;Lineárně zesvětlit;Světlejší barva;Překrýt;Měkké světlo;Tvrdé světlo;Jasné světlo;Lineární světlo;Bodové světlo;Tvrdé míchání;Rozdíl;Vyloučit;Odečíst;Rozdělit;Odstín;Sytost;Barva;Světlost;Projít skrz]];[Proklad;Prostrkání;Posun účaří;[Převést na Bodový text;Převést na Odstavcový text]];[Všechny vrstvy;Stávající vrstva;Výběr;Vrstva a ty pod ní];[Nahradit;Spojit;Odečtení;Průnik;XOR;Spojit];[[Lineární;Kruhový;Úhlový;Zrcadlený;Diamant;Podle tvaru];[Měkčí;Přesná];[Vnější úkos;Vnitřní úkos;Reliéf;Poduškový reliéf;Reliéfní tah;Tloušťka vytažení];[Vyhladit;Tvrdá;Měkká;Hladkost];[Nahoru;Dolů];[Vně;Na střed;Uvnitř;Ze Středu];[Stíny;Střední tóny;Světla];[Snížit Sytost;Zvýšit Sytost];[Malý;Střední;Velký];[Zakončení;Rohy;Čárky]];[Vybrat objekt pod kurzorem;Ovládací prvky transformace;Skutečné pixely;Přizpůsobit obrazovce;[Zarovnat levé hrany;Vodorovně na střed;Zarovnat pravé hrany;Zarovnat horní hrany;Svisle na střed;Zarovnat spodní hrany;Stejné mezery]];[Vložit do;Současný projekt;Nový projekt;Rozlišení;Přidáno do současného projektu.;Nový projekt vytvořen.;Nepovolen přístup ke kameře.];[Orientace;Prohnutí;Vodorovná deformace;Svislá deformace;[Vodorovně;Svisle;Vodorovně;Svisle];[Žádné;Oblouk;Dolní oblouk;Horní oblouk;Klenba;Vyboulení;Mušle dolů;Mušle nahoru;Vlajka;Vlna;Ryba;Vyvýšení;Rybí oko;Nafouknutí;Zmáčknutí;Zkroucení;Vlastní];[Písmo;není dostupný;Pro vykreslení se použije;Máte neuloženou práci v;Opravdu to chcete zavřít?];[Prohodit barvy;Základní: černobílá]];[načten;přidány;Posun vodítka;Smazání vodítka;Přidání vodítka;Načítání;Načíst VAR0];[Galerie filtrů;[[Zkapalnit;[Rozmazat;Obnovit;Vyhladit;Zatočit;Smrsknout;Nafouknout;Posun doleva;Zmrazit;Rozmrazit]];[Korekce Čočky Objektivu]];Rozostření;[Průměr;Rozostřit;Rozostřit více;Hranolové rozostření;Gaussovské rozostření;Rozostření čočkou;Rozostření pohybem;Kruhové rozostření;Rozostření tvarem;Chytré rozostření;Rozostření povrchu];Zkreslení;[Pokřivit;Štípnout;Polární Souřadnice;Zvlnit;Střihnout;Zakulatit;Vlna];Šum;[Přidat šum;Vyhladit;Prach a škrábance;Medián];Pixelizace;[Barevné půltónování;Krystalizace;Faseta;Fragment;Mezzotinta;Mozaika;Vytečkovat];Vykreslit;[Mraky;Mraky: Rozdíl;Odlesk Objektivu];Zaostřit;[Zaostřit;Zaostřit hrany;Zaostřit více;Chytré zaostření;Maska zaostření];Stylizace;[Difúze;Reliéf;Vytáhnout;Najít hrany;Olejová Malba];Ostatní;[Vlastní;Výšky;Maximum;Minimum;Posun;Opakovat];[Oblast okolo;Zprůhlednit;Zopakovat pixely na hraně;Zopakovat obrázek;Poslední Filtr;Náhled]];[Šablony;[Filtr Písma;Klíčová slova;Zamíchat];[Se symboly;S fotkou];[Miniatury;Seznam]]", + "[Archivo;Editar;Imagen;Capa;Carpeta;Seleccionar;Filtro;Visualizar;Ventana;Idioma;Iniciar sesión;Cerrar sesión;Crear traducción;[Cuenta;Términos del Servicio;Atrás;Acerca de;Reportar un error;Aprender];Más;Tema;Usar WebGL;[Photopea: Editor Avanzado de Imágenes;Editor en línea gratuito que admite formatos PSD, XCF, Sketch, XD y CDR.;Crea una nueva imagen o abre archivos existentes desde tu computadora. Guarde tu trabajo como PSD (Archivo - Guardar como PSD) o como JPG / PNG / SVG (Archivo - Exportar como).;Sugiere nuevas funciones en nuestro o . Nuestro objetivo es crear .;Enlaces de los patrocinadores se abren en una nueva ventana.;Esta característica no está disponible.;Instalar Photopea]];[Abrir;Publicar en línea;Guardar;Guardar como PSD;Imprimir;Abrir desde URL;Abrir desde computadora;Conectar con Google Drive;Exportar como;Exportar Capas;Script;Abrir y Colocar;Cerrar;Almacenamiento Local;Informarción del archivo];[Paso Adelante;Paso Atrás;Limpiar;Rellenar;Transformar;Rotar;Voltear VAR0;Escalar VAR0;Deshacer / Rehacer;Perspectiva;[Fusionar automáticamente;Alinear automáticamente];Transición;Aplicar imagen];Ajustes;[Brillo/Contraste;Niveles;Curvas;Exposición;Intensidad de color;Tono/Saturación;Balance de Color;Blanco y Negro;Filtro de Foto;Mezclador de Canales;Búsqueda de Color;Invertir;Posterizar;Umbral;Mapa de degradado;Color Selectivo;[Tono Automático;Contraste Automático;Color Automático];Reemplazar Color];[Cortar;Copiar;Pegar;Nuevo;Eliminar;Activar;Desactivar;Copiar combinado;Aplicar;Otra vez;Actualizar];[Duplicar capa;Nueva capa de ajuste;Máscara ráster;Máscara vectorial;Añadir (Mostrar todo);[Añadir (Ocultar todo);Descubrir selección;Ocultar selección;A partir de transparencia];[Máscara de recorte;Máscara rápida];Convertir a Objeto Inteligente;Rasterizar;Agrupar capas;Combinar hacia abajo;Combinar hacia arriba;[Combinar capas;Acoplar imagen];Nueva capa;Activar máscara ráster;Desactivar máscara ráster;Activar máscara vectorial;Desactivar máscara vectorial;Activar máscara de recorte;Desactivar máscara de recorte;Nueva carpeta;Añadir máscara ráster;Eliminar máscara ráster;Añadir máscara vectorial;Eliminar máscara vectorial;Enlazar máscara ráster;Desenlazar máscara ráster;Enlazar máscara vectorial;Desenlazar máscara vectorial;Activar efectos de capa;Desactivar efectos de capa;Eliminar capa;Cambio de opacidad de capa;Cambio de modo de fusión;Rasterizar el estilo de capa;Orden de capas;[Crear Objeto Inteligente;Actualizar Objeto Inteligente;Colocar Objeto Inteligente;Fuente (Objeto Inteligente);Modo de apilamiento];Cambio de nombre;Cambio de color;Editar capa de ajuste;Convertir a figura;Activar máscara de filtro;Desactivar máscara de filtro;Activar filtros inteligentes;Desactivar filtros inteligentes;Añadir máscara de filtro;Eliminar máscara de filtro;Limpiar filtros inteligentes;[[Relleno de color sólido;Relleno de degradado;Relleno de patrón;Según el contenido];Nueva capa de relleno;Modificar la capa de relleno];Capa a través de la copia;Máscara de filtro;Eliminar estilo de capa;Mover filtro inteligente;Eliminar filtro inteligente;[Enlazar capas;Desenlazar capas];Organizar;[Traer al frente;Hacia delante;Hacia atrás;Enviar detrás];[Esta capa está bloqueada.;Cambio de bloqueo;Bloquear];Animación];[Todo;Deseleccionar;Invertir;Modificar;Expandir;Contraer;Calar;Mover selección;Gama de colores;Borde;Transformar selección;Perfeccionar borde;Sanar selección;Corte mágico];[Aumentar;Reducir;Guías;Reglas;Cuadrícula;Pegarse;Pegarse a;Límites de documentos;Cuadrícula de píxeles;Trazados;Pegarse a píxeles;[Sectores;Opciones de sector];Mostrar];[Historial;Capas;Propiedades;Pincel;Carácter;Párrafo;Info;Composiciones de capas;Muestras;Acciones;Histograma;Navegador;Herramientas preestablecidas;Glifos];[Herramienta Pincel;Clonar;Recortar;Borrador;Selección elíptica;Gotero;Degradado;Herramienta Mano;Texto;Selección de lazo;Selección de lazo magnético;Mover;Varita mágica;Bote de pintura;Selección de lazo poligonal;Selección rectangular;Transformación libre;Herramienta Zoom;Herramienta de desenfoque;Sacapuntas;Herramienta de borrado;Herramienta de esquivado;Herramienta de grabación;Herramienta Esponja;Pincel corrector de punto;Pincel corrector;Herramienta Parche;Selección de trazado;Selección directa;Pluma;Pluma libre;Forma personalizada;Rectangulo;Elipse;Forma paramétrica;Línea;Regla;Selección rápida;Herramienta Lápiz;Recorte con perspectiva;Sector;Seleccionar sector;Sustitución de color;Pincel de ojos rojos;Selección de objeto;Borrador de fondos;Deformación de posición libre;Rotar vista;Escala según el contenido;Herramienta Movimiento con detección de contenido];[Tomar una foto;Elegir color;Editor de contorno;Tamaño de lienzo;Duplicar en …;Editor de degradado;Estilo de capa;Nuevo proyecto;Guardar para web;Deformar;Tamaño de la imagen;Vectorizar mapa de bits;[Cortar;Recortar;Mostrar todo];Atajos de teclado;Añadir guías;[Borrar guías;Guías de capa]];[Opacidad;Efectos;Brillo;[Contraste;Usar heredado];Canal;Exposición;Desplazamiento;Corrección gamma;Tono;Saturación;Luminosidad;Colorear;Rango;Vibración;[Tamaño;Interpolación;Por aproximación;Bilineal];Ángulo;Redondez;Dureza;Espaciar;[Modo de fusión;Fusionar si es];Tamaño de muestra;Contorno;Estilo;[Revertir;Relativo;Ancla];Tolerancia;Contiguo;Relleno;Usar ángulo global;Distancia;Dispersión;Ruido;Ocultar sombra paralela;Técnica;Dirección;Profundidad;Suavizar;Modo;Degradado;Escalar;Alinear con capa;Posición;⬌ Ancho;⬍ Alto;Destinación;Tipo;Primer plano;Fondo;Personalizado;Nombre;Crear;Formato;Mantener relación de aspecto;[Calidad;Páginas];Duplicar;Mover;Filtros inteligentes;Radio;Cantidad;Distribución;[Uniforme;Desenfoque gaussiano];Monocromático;Tamaño de la celda;Motivo;Flujo;Fuerza;Proteger detalle;Tipo de relleno;Textura;Variación;Borde;Fuente;Destino;Canales;Máscara;Densidad;Alineado;[Trazado;Forma;Píxeles;Pulgada;Centímetros;Milímetros;Porcentaje];Formas;Lados;Preferencias;[Longitud;Proporción;Cualquiera;Tipo de cuadrícula;Isometrico;Espaciado de cuadrícula;Unidad de regla];Reducir ruido;Colores;Distancias;Velocidad;Seleccion automatica;Buscar;Definir nuevo;[Foto;Pantalla;Móvil;Anuncios;Impresión];[Liberar;Proporcion fija;Tamaño fijo];Ayuda;[Forma dinamica;Editar forma dinamica;Mismo radio];Tolerancia;[Polígono;Estrella;Espiral;Cuadrado];[Radio de esquina;Radio interior]];[Color;[Ninguno;Rojo;Naranja;Amarillo;Verde;Azul;Violeta;Gris;Blanco;Transparente;Negro;Cian;Magenta;Neutro];Total;Absoluto;Conservar luminosidad];[Sombra paralela;Sombra interior;Resplandor exterior;Resplandor interior;Bisel y relieve;Superposición de colores;Superposición de degradado;Superposición de motivo;Satinar;Contorno;Opciones de fusión;Seleccionar píxeles];[Forma de la punta;Dinámica de punta;Dispersión;Dinámica de color;[Variación del tamaño;Diámetro Mínimo;Variación del ángulo;Variación de la redondez;Redondez Mínima];[Variación de la posición;Cuenta;Variación de la cuenta];[Variación frontal/de fondo;Variación del tono;Variación de la saturación;Variación del brillo];[Selecciona la fuente de clonado manteniendo Alt (o K) y dando clic sobre la imagen;Marcar el area de enfrente como blanca, la del fondo como negra y el area desconocida como gris;Esta capa no es editable;Hay que rasterizar la capa de texto antes;Hay que rasterizar el objeto inteligente antes;Seleccionar múltiples capas;Enderezar la capa;Abra un documento primero.;Cierre la ventana actual primero.;Solo herramienta actual];[Grabar;Nuevo conjunto de acciones;Nueva accion];[La presión de stylus controla la opacidad;La presión de stylus controla el tamaño];[Normal;Disolver;Oscurecer;Multiplicar;Subexponer color;Subexposición lineal;Color más oscuro;Aclarar;Trama;Sobreexponer color;Sobreexposición lineal;Color más claro;Superponer;Luz suave;Luz fuerte;Luz intensa;Luz lineal;Luz focal;Mezcla definida;Diferencia;Exclusión;Restar;Dividir;Tono;Saturación;Color;Luminosidad;Pass Through]];[Interlineado;Rastrear;Desplazamiento vertical;[Convertir a escritura de caracteres;Convertir a escritura de párrafo]];[Todas las capas;Capa actual;Selección;Actual y anteriores];[Reemplazar;Unión;Diferencia;Intersecar;Excluir;Combinar];[[Lineal;Radial;Ángulo;Reflejado;Diamante;Explosión de forma];[Más suave;Precisar];[Bisel Externo;Bisel Interno;Relieve;Relieve tipo Almohada;Relieve del Trazo;Anchura de trazo];[Suavizar;Cincel Duro;Cincel Suave;Suavizado];[Arriba;Abajo];[Afuera;Centrado;Adentro;Desde el centro];[Sombras;Tonos medios;Altas luces];[Desaturar;Saturar];[Pequeño;Mediano;Largo];[Tapas;Esquinas;Guiones]];[Selecciona el objeto bajo el cursor;Controles de transformación;Píxel por píxel;Ajustar al área;[Alinear bordes izquierdos;Centrar horizontalmente;Alinear bordes derechos;Alinear bordes superiores;Centrar verticalmente;Alinear bordes inferiores;Mismo espaciado]];[Insertar en;Proyecto actual;Nuevo proyecto;Resolución;Añadido al proyecto actual.;Se ha creado un nuevo proyecto.;El acceso a la cámara fue denegado.];[Orientación;Curvar;Distorsión horizontal;Distorsión vertical;[Horizontal;Vertical;horizontalmente;verticalmente];[Ninguno;Arco;Arco Inferior;Arco Superior;Bóveda;Abombar;Caparazón hacia abajo;Caparazón hacia arriba;Bandera;Onda;Pez;Elevar;Ojo de pez;Inflar;Estrechar;Torcer;Personalizado];[Fuente;no está disponible;Se renderizará utilizando;Hay trabajo no guardado en;¿Realmente quieres cerrarlo?];[Intercambiar Colores;Predefinido: Blanco y Negro]];[cargado;agregado;Mover Guía;Eliminar guía;Añadir guía;Cargando;Cargar VAR0];[Galería de filtros;[[Licuar;[Manchar;Reconstruir;Suavizar;Molinete;Achicar;Expandir;Empurrar para a Esquerda;Congelar;Descongelar]];[Corrección del lente]];Desenfoque;[Promediar;Desenfocar;Desenfocar más;Desenfoque de rectángulo;Desenfoque Gaussiano;Desenfoque de lente;Desenfoque de movimiento;Desenfoque radial;Desenfoque de forma;Desenfoque suavizado;Desenfoque de superficie];Filtros de distorsión;[Desplazar;Encoger;Coordenadas polares;Rizo;Distorsionar;Esferizar;Onda];Filtros de ruido;[Añadir ruido;ARICHIVOS;Polvo y Rascaduras;Mediana];Filtros para pixelizar;[Medios tonos de color;Cristalizar;Faceta;Fragmentos;Grabado mezzotinto;Mosaico;Puntillismo];Hacer;[Nubes;Nubes de diferencia;Destello];Filtros de enfoque;[Afilar;Agudizar los bordes;Afilar más;Afilado inteligente;];Estilizar;[Difusión;Realzar;Extrusión;Encontrar bordes;Pintura al óleo];Otros filtros;[Personalizado;Paso alto;Máximo;Mínimo;Compensar;Repetir];[Área indefinida;Establecer como transparente;Repita los píxeles de los bordes;Envolver alrededor;Último filtro;Previsualizar]];[Plantillas;[Filtro de fuente;Palabras clave;Aleatorizar];[Con símbolos;Con foto];[Miniaturas;Lista]]", + "[Datei;Bearbeiten;Bild;Ebene;Ordner;Auswahl;Filter;Ansicht;Fenster;Sprache;Anmelden;Abmelden;Übersetzung erstellen;[Konto;Nutzungsbedingungen;Zurück;Über;Fehler melden;Lernen];Mehr;Farbschema;WebGL verwenden;[Photopea: Fortschrittliche Bildbearbeitung;Kostenloses Online-Bildbearbeitungsprogramm mit Unterstützung für PSD-, XCF-, Sketch-, XD- und CDR-Formate.;Erstellen Sie ein neues Bild oder öffnen Sie vorhandene Dateien von Ihrem Computer. Sichern Sie Ihre Arbeit als PSD (Datei - Speichern als PSD) oder als JPG / PNG / SVG (Datei - Exportieren als).;Vorschläge für neue Funktionen gerne über oder . Unser Ziel ist es, zu schaffen.;Sponsorenlinks werden in neuem Fenster geöffnet.;Diese Funktion ist nicht verfügbar.;Photopea installieren]];[Öffnen;Online veröffentlichen;Speichern;Speichern als PSD;Drucken;Von URL öffnen;Vom Computer öffnen;Mit Google Drive verbinden;Exportieren als;Ebenen exportieren;Skripten;Öffnen & einfügen;Schließen;Lokaler Speicher;Datei-Informationen];[Schritt vorwärts;Schritt rückwärts;Löschen;Füllen;Transformieren;Drehen;VAR0 spiegeln;VAR0 skalieren;Rückgängig / Wiederholen;Perspektive;[Automatisch überblenden;Automatisch ausrichten];Verblassen;Bildberechnungen];Anpassungen;[Helligkeit/Kontrast;Tonwertkorrektur;Gradationskurven;Belichtung;Dynamik;Farbton/Sättigung;Farbbalance;Schwarzweiß;Fotofilter;Kanalmixer;Farbfinder;Umkehren;Tontrennung;Schwellwert;Verlaufsumsetzung;Selektive Farbkorrektur;[Auto-Farbton;Auto-Kontrast;Auto-Farbe];Farbe ersetzen];[Ausschneiden;Kopieren;Einfügen;Neu;Löschen;Aktivieren;Deaktivieren;Vereint kopieren;Anwenden;Erneut;Aktualisieren];[Ebene duplizieren;Neue Einstellungsebene;Rastermaske;Vektormaske;Hinzufügen (alle einblenden);[Hinzufügen (alle ausblenden);Auswahl einblenden;Auswahl ausblenden;Von Transparenz];[Schnittmaske;Maskierungsmodus];In Smartobjekt konvertieren;Rastern;Ebenen gruppieren;Abwärts vereinen;Aufwärts vereinen;[Ebenen vereinen;Auf Hintergrundebene reduzieren];Neue Ebene;Rastermaske aktivieren;Rastermaske deaktivieren;Vektormaske aktivieren;Vektormaske deaktivieren;Schnittmaske aktivieren;Schnittmaske deaktivieren;Neuer Ordner;Rastermaske hinzufügen;Rastermaske entfernen;Vektormaske hinzufügen;Vektormaske entfernen;Rastermaske verbinden;Rastermaske trennen;Vektormaske verbinden;Vektormaske trennen;Ebeneneffekte aktivieren;Ebeneneffekte deaktivieren;Ebene löschen;Deckkraftänderung der Ebene;Mischmodus-Änderung;Ebenenstil rastern;Ebenenreihenfolge;[Smartobjekt erstellen;Smartobjekt aktualisieren;Smartobjekt platzieren;Quelle (Smartobjekt);Stapelmodus];Namensänderung;Farbänderung;Einstellungsebene bearbeiten;In Form umwandeln;Filtermaske aktivieren;Filtermaske deaktivieren;Smartfilter aktivieren;Smartfilter deaktivieren;Filtermaske hinzufügen;Filtermaske entfernen;Smartfilter löschen;[[Volltonfüllung;Verlaufsfüllung;Musterfüllung;Inhaltsbasiert];Neue Füllebene;Füllebene verändern];Ebene aus Kopie;Filtermaske;Ebenenstil löschen;Smartfilter verschieben;Smartfilter löschen;[Ebenen verbinden;Ebenenverbindung aufheben];Anordnen;[In den Vordergrund;Schrittweise nach vorne;Schrittweise nach hinten;In den Hintergrund];[Diese Ebene ist fixiert;Fixierungsänderung;Fixieren];Animation];[Alles;Auswahl aufheben;Umkehren;Auswahl verändern;Erweitern;Verkleinern;Weiche Kante;Auswahl verschieben;Farbbereich;Rand;Auswahl transformieren;Kante verbessern;Auswahl reparieren;Magic Cut];[Einzoomen;Auszoomen;Hilfslinien;Lineale;Raster;Ausrichten;Ausrichten an;Dokumentbegrenzungen;Pixelraster;Pfade;An Pixeln ausrichten;[Slices;Slice-Optionen];Einblenden];[Protokoll;Ebenen;Eigenschaften;Pinsel;Zeichen;Absatz;Info;Ebenenkompositionen;Farbfelder;Aktionen;Histogramm;Navigator;Werkzeugvorgaben;Glyphen];[Pinsel-Werkzeug;Kopierstempel-Werkzeug;Freisteller;Radiergummi;Ellipsen-Auswahl;Pipette;Verlaufswerkzeug;Hand-Werkzeug;Text-Werkzeug;Lasso-Auswahl;Magnetlasso-Auswahl;Verschieben-Werkzeug;Zauberstab-Werkzeug;Füllwerkzeug;Polygonlasso-Auswahl;Rechteck-Auswahl;Frei transformieren;Zoom-Werkzeug;Weichzeichner;Scharfzeichner;Wischfinger-Werkzeug;Abwedler;Nachbelichter;Schwamm-Werkzeug;Bereichsreparatur-Pinsel;Reparatur-Pinsel;Ausbessern-Werkzeug;Pfad-Auswahl;Direkt-Auswahl;Stift;Freihand-Stift;Eigene Form;Rechteck;Ellipse;Parametrische Form;Linie;Lineal;Schnell-Auswahl;Bleistift-Werkzeug;Perspektivischer Freisteller;Slice-Werkzeug;Slice-Auswahlwerkzeug;Farbe-ersetzen-Werkzeug;Rote-Augen-Werkzeug;Objektauswahl;Hintergrund-Radiergummi;Formgitter;Ansichtdrehung;Inhaltsbasiert skalieren;Inhaltsbasiert verschieben];[Foto aufnehmen;Farbwähler;Konturen-Editor;Arbeitsfläche;Duplizieren in …;Verlaufseditor;Ebenenstil;Neues Projekt;Für Web speichern;Verkrümmen;Bildgröße;Bitmap vektorisieren;[Zuschneiden;Freistellen;Alle einblenden];Tastaturkürzel;Hilfslinien hinzufügen;[Hilfslinien löschen;Hilfslinien aus Ebene]];[Deckkraft;Effekte;Helligkeit;[Kontrast;Altes Verfahren verwenden];Kanal;Belichtung;Versatz;Gammakorrektur;Farbton;Sättigung;Helligkeit;Färben;Bereich;Dynamik;[Größe;Interpolation;Pixelwiederholung;Bilinear];Winkel;Rundheit;Härte;Abstand;[Modus;Farbbereich];Aufnahmebereich;Kontur;Stil;[Umkehren;Relativ;Anker];Toleranz;Benachbart;Füllung;Globaler Winkel;Distanz;Überfüllen;Rauschen;Schlagschatten aussparen;Technik;Richtung;Tiefe;Weichz.;Modus;Farbverlauf;Skalieren;An Ebene ausrichten;Position;Breite;Höhe;Ziel;Typ;Vordergrund;Hintergrund;Benutzerdefiniert;Name;Erstellen;Format;Seitenverhältnis beibehalten;[Qualität;Seiten];Duplizieren;Verschiebung;Smartfilter;Radius;Stärke;Verteilung;[Gleichmäßig;Gauß];Monochrom;Zellengröße;Muster;Fluss;Stärke;Detail schützen;Füllart;Stuktur;Jitter;Kante;Quelle;Ziel;Kanäle;Maske;Dichte;Ausgerichtet;[Pfad;Form;Pixel;Zoll;Zentimeter;Millimeter;Prozent];Formen;Seiten;Einstellungen;[Länge;Verhältnis;Beliebig;Rasterart;Isometrisch;Rasterweite;Linealeinheiten];Rauschen reduzieren;Farben;Distanzen;Geschwindigkeit;Auto-Auswahl;Suchen;Neu festlegen;[Foto;Bildschirm;Mobiltelefon;Online-Werbung;Druck];[Normal;Festes Verhältnis;Feste Größe];Hilfe;[Liveform;Liveform bearbeiten;Gleiche Radien];Toleranz;[Polygon;Stern;Spirale;Quadratisch];[Eckenradius;Innenradius]];[Farbe;[Ohne;Rot;Orange;Gelb;Grün;Blau;Lila;Grau;Weiß;Transparent;Schwarz;Cyan;Magenta;Neutral];Gesamt;Absolut;Luminanz erhalten];[Schlagschatten;Schatten nach innen;Schein nach außen;Schein nach innen;Abgeflachte Kante und Relief;Farbüberlagerung;Verlaufsüberlagerung;Musterüberlagerung;Glanz;Kontur;Mischoptionen;Pixel auswählen];[Spitzenform;Spitzendynamik;Streuung;Farbdynamik;[Größen-Jitter;Mindestdurchmesser;Winkel-Jitter;Rundheit-Jitter;Minimale Rundheit];[Positions-Jitter;Anzahl;Anzahl-Jitter];[Vorder-/Hintergrund-Jitter;Farbton-Jitter;Sättigungs-Jitter;Helligkeits-Jitter];[Die zu klonende Quelle mit Alt (oder K) plus Klick auf das Bild auswählen.;Den Vordergrund mit Weiß, den Hintergrund mit Schwarz und die unbekannte Fläche mit Grau markieren.;Ebene ist nicht veränderbar.;Textebene muss zuerst gerastert werden.;Smartobjekt muss zuerst gerastert werden.;Bitte mehrere Ebenen auswählen;Ebene gerade ausrichten;Es ist noch kein Dokument geöffnet.;Das aktuelle Fenster muss zuerst geschlossen werden.;Nur aktuelles Werkzeug];[Aufzeichnen;Neues Aktionsset;Neue Aktion];[Stiftandruck steuert Deckkraft;Stiftandruck steuert Größe];[Normal;Sprenkeln;Abdunkeln;Multiplizieren;Farbig nachbel.;Linear nachbel.;Dunklere Farbe;Aufhellen;Negativ multipl.;Farbig abwedeln;Linear abwedeln;Hellere Farbe;Überlagern;Weiches Licht;Hartes Licht;Strahlendes Licht;Lineares Licht;Lichtpunkt;Hart mischen;Differenz;Ausschluss;Subtrahieren;Dividieren;Farbton;Sättigung;Farbe;Luminanz;Hindurchwirken]];[Zeilenabstand;Zeichenabstand;Grundlinienversatz;[In Punkttext konvertieren;In Absatztext konvertieren]];[Alle Ebenen;Aktuelle Ebene;Auswahl;Aktuelle und darunter];[Ersetzen;Vereinen;Subtrahieren;Schnittmenge;Ausschließen;Vereinen];[[Linear;Radial;Winkel;Reflektiert;Raute;Shape Burst];[Weicher;Präzise];[Abgeflachte Kante außen;Abgeflachte Kante innen;Relief;Relief an allen Kanten;Reliefkontur;Konturstärke];[Abrunden;Hart meißeln;Weich meißeln;Glättung];[Nach oben;Nach unten];[Außerhalb;Mittig;Innerhalb;Vom Mittelpunkt aus];[Tiefen;Mitteltöne;Lichter];[Sättigung verringern;Sättigung erhöhen];[Klein;Mittel;Groß];[Enden;Ecken;Striche]];[Das Objekt unter dem Cursor auswählen;Transformationsstrg.;Pixel für Pixel;Ganzes Bild;[Linke Kanten ausrichten;Waagerecht zentrieren;Rechte Kanten ausrichten;Obere Kanten ausrichten;Senkrecht zentrieren;Untere Kanten ausrichten;Gleichmäßige Abstände]];[Einfügen in;Aktuelles Projekt;Neues Projekt;Auflösung;Zum aktuellen Projekt hinzugefügt.;Ein neues Projekt wurde erstellt.;Der Zugriff auf die Kamera wurde verweigert.];[Ausrichtung;Biegung;Horizontale Verzerrung;Vertikale Verzerrung;[Horizontal;Vertikal;Horizontal;Vertikal];[Ohne;Bogen;Bogen unten;Bogen oben;Wölbung;Wulst;Muschel unten;Muschel oben;Flagge;Welle;Fisch;Ansteigend;Linse;Aufblasen;Stauchen;Strudel;Benutzerdefiniert];[Schrift;ist nicht verfügbar;Wird gerendert mit;Es gibt ungesicherte Änderungen in;Wollen Sie es wirklich schließen?];[Farben tauschen;Standard: Weiß und Schwarz]];[geladen;hinzugefügt;Hilfslinie verschieben;Hilfslinie löschen;Hilfslinie hinzufügen;Laden;VAR0 laden];[Filtergalerie;[[Verflüssigen;[Verschmieren;Rekonstruieren;Glätten;Strudel;Schrumpfen;Aufblasen;Nach links schieben;Fixieren;Lösen]];[Objektivkorrektur]];Weichzeichnen;[Durchschnitt;Weichzeichnen;Stark weichzeichnen;Feld weichzeichnen;Gaußscher Weichzeichner;Tiefenschärfe abmildern;Bewegungsunschärfe;Radialer Weichzeichner;Form weichzeichnen;Selektiver Weichzeichner;Matter machen];Verzerrungsfilter;[Versetzen;Distorsion;Polarkoordinaten;Kräuseln;Verbiegen;Wölben;Schwingungen];Rauschfilter;[Rauschen hinzufügen;Rauschen entfernen;Staub und Kratzer;Median];Vergröberungsfilter;[Farbraster;Kristallisieren;Facetteneffekt;Verwackelungseffekt;Mezzotint;Mosaik;Punktieren];Renderfilter;[Wolken;Differenzwolken;Blendenflecke];Scharfzeichnen;[Scharfzeichnen;Kanten schärfen;Stark scharfzeichnen;Selektiver Scharfzeichner;Unscharf maskieren];Stilisierungsfilter;[Korneffekt;Relief;Extrudieren;Konturen finden;Ölgemälde];Andere Filter;[Angepasst;Hochpass;Maximum;Minimum;Verschiebungseffekt;Wiederholen];[Undefin. Bereich;Auf transparent setzen;Kantenpixel wiederholen;Umfließen;Letzter Filter;Vorschau]];[Vorlagen;[Schrift-Filter;Schlüsselwörter;Neu mischen];[Mit Symbolen;Mit Foto];[Miniaturen;bangla]]", + "[Fichier;Édition;Image;Calque;Dossier;Sélection;Filtre;Affichage;Fenêtre;Langue;Se connecter;Se déconnecter;Créer une traduction;[Compte;Conditions d'utilisation;Retour;À propos;Signaler un bug;Apprendre];Plus;Thème;Utiliser WebGL;[Photopea: éditeur d'image avancé;Éditeur en ligne gratuit prenant en charge les formats PSD, XCF, Sketch, XD et CDR.;Créez une nouvelle image ou ouvrez des fichiers existants à partir de votre ordinateur. Enregistrez votre travail au format PSD (Fichier - Enregistrer en tant que PSD) ou JPG / PNG / SVG (Fichier - Exporter en tant que).;Suggérez de nouvelles fonctionnalités sur notre ou . Notre objectif est de créer .;Liens des sponsors s'ouvrent dans une nouvelle fenêtre.;Cette fonctionnalité n'est pas disponible.;Installer Photopea]];[Ouvrir;Publier en ligne;Enregistrer;Enregistrer en tant que PSD;Imprimer;Ouvrir depuis une URL;Ouvrir depuis l'ordinateur;Se connecter avec Google Drive;Exporter en tant que;Exporter les calques;Script;Ouvrir & placer;Fermer;Stockage local;];[Étape suivante;Étape précédente;Effacer;Remplir;Transformer;Rotation;Retourner VAR0;Echelle VAR0;Annuler / Restaurer;Point de vue;[Fusion automatique;Alignement automatique];Atténuer;Appliquer une image];Ajustements;[Luminosité/contraste;Niveaux;Courbes;Exposition;Vibrance;Teinte/saturation;Balance de couleur;Noir et blanc;Filtre photo;Mélangeur de canaux;Recherche de Couleur;Inverser;Postériser;Seuil;Courbe de transfert de dégradé;Couleur sélective;[Tonalité automatique;Contraste automatique;Couleur automatique];Remplacer couleur];[Couper;Copier;Coller;Nouveau;Supprimer;Activer;Désactiver;Copie fusionnée;Appliquer;De nouveau;Mettre à jour];[Dupliquer le calque;Nouveau calque d'ajustement;Masque raster;Masque vectoriel;Ajouter (Tout montrer);[Ajouter (Tout cacher);Faire apparaître la sélection;Masquer la sélection;D’après la transparence];[Masque d'écrêtage;Mode Masque];Convertir en objet dynamique;Rastériser;Grouper les calques;Fusionner vers le bas;Fusionner vers le haut;[Fusionner les calques;Aplatir l’image];Nouveau calque;Activer le masque raster;Désactiver le masque raster;Activer le masque vectoriel;Désactiver le masque vectoriel;Activer le masque d'écrêtage;Désactiver le masque d'écrêtage;Nouveau dossier;Ajouter un masque raster;Supprimer un masque raster;Ajouter un masque vectoriel;Supprimer un masque vectoriel;Lier le masque raster;Délier le masque raster;Lier le masque vectoriel;Délier le masque vectoriel;Activer les effets de calque;Désactiver les effets de calque;Supprimer le calque;Modifier l'opacité du calque;Modifier le Mode de fusion;Rastériser le style de calque;Ordre des calques;[Créer un objet dynamique;Mettre à jour un objet dynamique;Placer un objet dynamique;Source (objet dynamique);Mode empilage];Modifier le nom;Changer la Couleur;Modifier le calque de réglages;Convertir en forme;Activer le masque filtrant;Désactiver le masque filtrant;Activer les filtres dynamiques;Désactiver les filtres dynamiques;Ajouter un masque filtrant;Supprimer le masque filtrant;Effacer les filtres dynamiques;[[Remplissage couleur unie;Remplissage en dégradé;Remplissage à partir d’un motif;Contenu pris en compte];Nouveau calque de remplissage;Modifier la calque de remplisage];Calque par copie;Masque filtrant;Supprimer le style de calque;Déplacer filtre dynamique;Supprimer filtre dynamique;[Lier les calques;Délier les calques];Arranger;[Premier plan;En avant;En arrière;Arrière plan];[Le calque est verrouillé;Changement de vérouillage;Verrouiller];];[Tout;Désélectionner;Inverser;Modifier;Étendre;Contracter;Plume;Déplacer la sélection;Intervalle de couleur;Contour;Transformer la sélection;Améliorer le contour;Reconstruire la sélection;];[Zoom avant;Zoom arrière;Repères;Règles;Grille;Capturer;Capturer vers;Limites du document;Grille de pixels;Tracés;Capturer vers pixels;[Tranches;Option de tranche];Afficher];[Historique;Calques;Propriétés;Pinceau;Caractères;Paragraphes;Informations;Compositions de calques;Nuancier;Actions;Histogramme;Navigation;Outils prédéfinis;Glyphes];[Outil Pinceau;Outil Duplication;Outil Recadrage;Outil Gomme;Sélection en ellipse;Pipette;Outil Dégradé;Outil Main;Outil Texte;Sélection avec lasso;Sélection avec lasso magnétique;Outil Déplacement;Baguette magique;Outil Pot de peinture;Sélection avec lasso polygonal;Sélection en rectangle;Transformation libre;Outil Zoom;Outil de Flou;Outil de netteté;Outil doigt;Outil densité -;Outil densité +;Outil éponge;Outil correcteur de tons directs;Pinceau correcteur;Outil tampon;Sélectionner le tracé;Sélection directe;Crayon;Crayon libre;Forme personnalisée;Rectangle;Ellipse;Forme parametrique;Ligne;Règle;Sélection rapide;Crayon;Correction de perspective par recadrage;Tranche;Sélection de tranche;Remplacement de couleur;Œil rouge;Sélection de l'objet;Gomme d’arrière-plan;Déformation de la marionnette;Rotation de l’affichage;Echelle basée sur le contenu;Déplacement basé sur le contenu];[Prendre une photo;Sélecteur de couleur;Éditeur de contour;Taille de la zone de travail;Dupliquer vers …;Editeur de dégradé;Style de calque;Nouveau projet;Enregistrer pour le Web;Déformation;Taille de l'image;Vectoriser Bitmap;[Rognage;Recadrage;Tout montrer];Raccourcis clavier;Ajouter les repères;[Effacer les repères;Repères à partir de calque]];[Opacité;Effets;Luminosité;[Contraste;Utiliser l’ancien algorithme];Canal;Exposition;Décalage;Correction Gamma;Teinte;Saturation;Luminosité;Colorisation;Gamme;Eclat;[Taille;Interpolation;Au plus proche;Bilinéaire];Angle;Rondeur;Dureté;Espacement;[Mode;Comparaison];Taille de l'échantillon;Contour;Style;[Inverser;Relative;Position];Tolérance;Contigu;Remplir;Utilisez angle global;Distance;Propager;Bruit;Ombre portée;Technique;Direction;Profondeur;Adoucir;Mode;Dégradé;Echelle;Aligner avec la calque;Position;Largeur;Hauteur;Destination;Type;Premier plan;Arrière plan;Personnalisé;Nom;Créer;Format;Garder les proportions;[Qualité;Pages];Dupliquer;Déplacer;Filtres dynamiques;Angle;Taux;Répartition;[Uniforme;Gaussien];Monochrome;Taille de la cellule;Motif;Flux;Dureté;Protéger les détails;Type de remplissage;Texture;Instabilité;Contour;Source;Cible;Canaux;Masque;Densité;Aligné;[Tracé;Forme;Pixels;Pouces;Centimètres;Millimètres;Pourcent];Formes;Côtés;Préférences;[Longueur;Ratio;Tous;Type de grille;Isométrique;Écart de grille;Unités de la règle];Réduire le bruit;Couleurs;Distances;Pas;Sélection automatique;Trouver;Définir nouveau;[Photo;Écran;Mobile;Annonces;Impression];[Libre;Ratio fixe;Taille fixe];Aide;[Forme dynamique;Modifier la forme dynamique;Même rayon];Tolérance;[Polygone;Étoile;Spirale;Carré];[Rayon de l’angle;Rayon intérieur]];[Couleur;[Aucun;Rouge;Orange;Jaune;Vert;Bleu;Violet;Gris;Blanc;Transparent;Noir;Cyan;Magenta;Neutre];Total;Absolu;Conserver la luminosité];[Ombre portée;Ombre interne;Lueur externe;Lueur interne;Biseautage & estampage;Incrustation couleur;Incrustation en dégradé;Incrustation de motif;Satin;Contour;Options de fusion;Sélectionner les pixels];[Forme de la pointe;Dynamique de forme;Diffusion;Dynamique de la couleur;[Variation de la taille;Diamètre minimal;Variation de l'angle;Variation de l'arrondi;Arrondi minimal];[Variation de la position;Nombre;Variation numérique];[Variation premier plan/arrière plan;Variation de teinte;Variation de la saturation;Variation de la luminosité];[Sélectionner la source de duplication en maintenant la touche Alt (ou K) et en cliquant sur l'image;Marquer premier plan en blanc, arrière-plan en noir, et zone inconnue en gris.;Calque non modifiable;Calque texte doit être rastérisé en premier;Smart Object doit être rastérisé en premier;Sélectionner plusieurs calques;Redresser le calque;Ouvrir d'abord un document.;Fermez d'abord la fenêtre actuelle.;Outil sélectionné uniquement];[Enregistrer;Nouveau ensemble d'actions;Nouvelle action];[La pression du stylo contrôle l'opacité;La pression du stylo contrôle la taille];[Normal;Fondu;Obscurcir;Produit;Densité couleur +;Densité linéaire +;Couleur plus foncée;Eclaircir;Superposition;Densité couleur -;Densité linéaire -;Couleur plus claire;Incrustation;Lumière tamisée;Lumière crue;Lumière vive;Lumière linéaire;Lumière ponctuelle;Mélange maximal;Différence;Exclusion;Soustraire;Division;Teinte;Saturation;Couleur;Luminosité;Transfert]];[Interlignage;Crénage;Décalage vertical;[Convertir en texte de point;Convertir en texte de paragraphe]];[Tous les calques;Calque actif;Sélection;Actif et inférieurs];[Remplacer;Union;Différence;Intersection;OU Exclusif;Fusionner];[[Linéaire;Radial;Angle;Reflété;Diamant;Éclater la forme];[Tamisé;Précis];[Biseau externe;Biseau interne;Estampage;Estampage Oreiller;Estampage de contour;Largeur du contour];[Lisser;Burin dur;Burin mou;Lissage];[Haut;Bas];[Extérieur;Centre;Interieur;A partir du centre];[Tons foncés;Tons moyens;Tons clairs];[Désaturer;Saturer];[Petit;Moyen;Grand];[Extrémités;Angles;Tirets]];[Choisir l'objet sous le pointeur;Contrôles de transformation;Pixel à pixel;Ajuster à la zone;[Aligner sur le côté gauche;Centrer horizontalement;Aligner sur le côté droit;Aligner en haut;Centrer verticalement;Aligner en bas;Écarts égaux]];[Insérer dans;Projet Actuel;Nouveau projet;Resolution;Ajouté dans le projet actuel/courant.;Un nouveau projet a été créé.;L'accès à la caméra à été refusé.];[Orientation;Inflexion;Déformation horizontale;Déformation verticale;[Horizontal;Vertical;horizontalement;verticalement];[Sans;Arc;Arc Inférieur;Arc Supérieur;Voûte;Bosse;Coque inférieure;Coque supérieure;Marqueur;Vague;Poisson;Elever;Fish Eye;Gonfler;Comprimer;Tordre;Personnalisé];[Police;n'est pas disponible;Va être rendu avec;Il y a du travail non sauvegardé dans;Voulez-vous vraiment le fermer?];[Echanger couleurs;Défaut : Blanc et Noir]];[chargé;ajouté;Déplacement de repère;Suppression du repère;Ajout d'un repère;Chargement;Charger VAR0];[Galerie de filtres;[[Liquéfier;[Étaler;Reconstruire;Lisser;Tourbillon;Diminuer;Augmenter;Décaler à gauche;Figer;Libérer]];[Correction de l'objectif]];Flou;[Moyenne;Flou;Plus flou;Flou par moyenne;Flou gaussien;Flou de l’objectif;Flou directionnel;Flou radial;Flou de forme;Flou optimisé;Flou de surface];Déformation;[Dispersion;Contraction;Coordonnées polaires;Ondulation;Cisaillement;Sphérisation;Onde];Bruit;[Ajout de bruit;Flou intérieur;Antipoussière;Median];Pixellisation;[Demi-teintes couleur;Cristallisation;Facettes;Fragmentation;Mezzo-tinto;Mosaïque;Pointillisme];Rendu;[Nuages;Nuages par différence;Halo];Netteté;[Plus net;Contours plus nets;Encore plus net;Netteté optimisée;Accentuation];Stylisation;[Diffusion;Estampage;Extrusion;Tracé des contours;Peinture à l'huile];Filtres divers;[Personnalisé;Passe-haut;Maximum;Minimum;Décalage;Répéter];[Zone indéfinie;Définir à transparent;Répéter les pixels des bords;Envelopper autour;Dernier filtre;Aperçu]];[Modèles;[Filtre de police;Mots clés;Mélanger aléatoirement];[Avec Symboles;Avec Photo];[Vignettes;Liste]]", + "[Αρχείο;Επεξεργασία;Εικόνα;Επίπεδο;Φάκελος;Επιλογή;Φίλτρα;Προβολή;Παράθυρο;Γλώσσα;Σύνδεση;Αποσύνδεση;Δημιουργία μετάφρασης;[Λογαριασμός;Όροι Χρήσης;Πίσω;Σχετικά;Αναφορά σφάλματος;Εκπαίδευση];Περισσότερα;Θέμα;Χρήση WebGL;[Photopea: προηγμένη επεξεργασία εικόνας;Δωρεάν online επεξεργαστή που υποστηρίζει PSD, XCF, Sketch, XD και CDR.;Δημιουργήστε μια νέα εικόνα ή ανοίξτε τα υπάρχοντα αρχεία από τον υπολογιστή σας. Αποθηκεύστε την εργασία σας ως PSD (Αρχείο - Αποθήκευση ως PSD) ή ως JPG / PNG / SVG (Αρχείο - Εξαγωγή ως).;Προτείνετε νέες λειτουργίες στο ή στο . Στόχος μας είναι να δημιουργήσουμε <το πιο εξελιγμένο και οικονομικό πρόγραμμα επεξεργασίας φωτογραφιών>.;Οι σύνδεσμοι του σπόνσορα ανοίγουν σε νέο παράθυρο.;;Εγκατάσταση εφαρμογής Photopea]];[Άνοιγμα;Δημοσίευσε online;Αποθήκευση;Αποθήκευση ως PSD;Εκτύπωση;Άνοιγμα από URL;Άνοιγμα από υπολογιστή;Σύνδεση με Google Drive;Εξαγωγή ως;Εξαγωγή επίπεδων;Σενάριο;Άνοιγμα & Τοποθέτηση;Κλείσιμο;Τοπική αποθήκευση;];[Βήμα εμπρός;Βήμα πίσω;Απαλοιφή;Γεμίζω;Μετασχηματισμός;Περιστροφή;VAR0 αναστροφή;VAR0 κλίμακα;Αναίρεση / Επανάληψη;Προοπτική;[Αυτόματη ανάμειξη;];Ξεθώριασμα;];Ρυθμίσεις;[Φωτεινότητα/αντίθεση;Στάθμες;Καμπύλες;Έκθεση;ζωηράδα χρώματος;Απόχρωση/κορεσμός;Ισορροπία χρώματος;Ασπρόμαυρο;Φίλτρο φωτογραφίας;Μείκτης καναλιού;Χρωματικές συνθέσεις;Αντιστροφή;Πόστερ;Κατώφλι;Τονική διαβάθμιση;Επιλεγμένο χρώμα;[Αυτόματος τόνος;Αυτόματη αντίθεση;Αυτόματο χρώμα];Αντικατάσταση χρώματος];[Αποκοπή;Αντιγραφή;Επικόληση;Νέο;Διαγραφή;Ενεργοποίησε;Απενεργοποίησε;Αντιγραφή συγχωνευμένη;Εφαρμογή;Επανάληψη;Ενημέρωση];[Διπλασιάσμός επίπεδο;Νέο επίπεδο ρύθμισης;Μάσκα ράστερ;Διανυσματική μάσκα;Προσθήκη (Δείξε όλα);[Προσθήκη (Κρύψε όλα);Αποκάλυψη επιλογής;Απόκρυψη επιλογής;Από τη διαφάνεια];[Μάσκα αποκοπής;Quick Mask];Μετατροπή σε Έξυπνο αντικείμενο;Ραστεροποιήσετε;Στρώματα επίπεδων;Συγχώνευση κάτω;Συγχώνευση πάνω;[Συγχώνευση επίπεδων;Ισοπέδωση εικόνας];Νέο επίπεδο;Ενεργοποίηση μάσκας ράστερ;Απενεργοποίηση μάσκας ράστερ;Ενεργοποίηση διανυσματικής μάσκας;Απενεργοποίηση διανυσματικής μάσκας;Ενεργοποίηση μάσκα αποκοπής;Απενεργοποίηση μάσκα αποκοπής;Νέος φάκελος;Προσθήκη μάσκας ράστερ;Διαγραφή μάσκας ράστερ;Προσθήκη διανυσματικής μάσκας;Διαγραφή διανυσματικής μάσκας;Σύνδεση μάσκας ράστερ;Αποσύνδεση μάσκας ράστερ;Σύνδεση διανυσματικής μάσκας;Αποσύνδεση διανυσματικής μάσκας;Ενεργοποίηση των εφέ επιπέδου;Απενεργοποίηση των εφέ επιπέδου;Διαγραφή επίπεδο;Αδιαφάνεια επιπέδου αλλαγή;Ανάμιξης αλλαγή;Ραστεροποιήσετε στυλ επιπέδου;Διάταξη επιπέδων;[Δημιουργία Έξυπνου αντικειμένου;Ενημέρωση Έξυπνου αντικειμένου;Τοποθέτηση Έξυπνου αντικειμένου;Προέλευση (Έξυπνο αντικείμενο);];Ονομα αλλαγή;Χρώμα αλλαγή;Επεξεργασία επιπέδου ρύθμισης;Μετατροπή σε σχήμα;Ενεργοποίηση μάσκας φίλτρου;Απενεργοποίηση μάσκας φίλτρου;Ενεργοποίηση έξυπνων φίλτρων;Απενεργοποίηση έξυπνων φίλτρων;Προσθήκη μάσκας φίλτρου;Διαγραφή μάσκας φίλτρου;Απαλοιφή έξυπνων φίλτρων;[[Γέμισμα σταθερού χρώματος;Γέμισμα ντεγκραντέ;Γέμισμα με μοτίβο;Με βάση το περιεχόμενο];Νέο επίπεδο γεμίσματος;Τροποποίηση επίπεδο γεμίσματος];Επίπεδο μέσω αντιγραφή;Μάσκα φίλτρου;Διαγραφή στυλ επιπέδου;Μετακίνηση έξυπνου φίλτρου;Διαγραφή έξυπνου φίλτρου;[Σύνδεση επίπεδων;Αποσύνδεση επίπεδων];Διάταξη;[Μεταφορά σε πρώτο πλάνο;Μεταφορά ένα επίπεδο εμπρός;Μεταφορά ένα επίπεδο πίσω;Μεταφορά στο φόντο];[Αυτό το επίπεδο είναι κλειδωμένο.;Κλείδωμα αλλαγή;];];[Όλα;Αποεπιλογή;Αντιστροφή;Τροποποίηση;Επέκταση;Συρρίκνωση;Άμβλυνση;Μετακίνηση επιλογής;Χρωματικό εύρος;Όριο;Μετατροπή επιλογής;Εξομάλυνση Άκρων;Διόρθωση επιλογής;];[Μεγένθυνε;Σμίκρυνση;Οδηγοί;Χάρακες;Πλέγμα;Προσκόλληση;Προσκόλληση σε;Όρια εγγράφου;Πλέγμα pixel;Διαδρομές;Προσκόλληση σε pixel;[Slices;Επιλογές slice];Προβολή];[Ιστορικό;Επίπεδα;Ιδιότητες;Βούρτσα;Χαρακτήρας;Παράγραφος;Πληροφορίες;Επίπεδα Comps;Δείγματα;Ενέργειες;Ιστόγραμμα;Περιήγηση;Προεπιλογές εργαλείων;];[Βούρτσα;Εργαλείο αντιγραφής;Περικοπή;Γόμα;Ελλειπτικό μαρκάρίσμα;Σταγονόμετρο;Ντεγκραντέ;Χέρι;Κείμενο;Λάσο;Μαγνητικό λάσο;Μετακίνηση;Μαγικό ραβδί;Κάδος γεμίσματος;Πολυγωνικό λάσο;Ορθογωνικό μαρκάρίσμα;Δωρεάν μετασχηματισμός;Ζουμ;Θόλωμα;Όξυνση;Μουτζούρωμα;Φωτισμός;Κάψιμο;Σπόγγος;Πινέλο διόρθωσης σημείου;Πινέλο διόρθωσης;Μπάλωμα;Επιλογή διαδρομής;Απευθείας διαδρομή;Πένα;Πένα ελεύθερης σχεδίασης;Προσαρμοσμένο σχήμα;Ορθογώνιο;Ελλειψη;Παραμετρικό σχήμα;Γραμμή;Χάρακας;Γρήγορη επιλογή;Μολύβι;Προοπτική περικοπή;Slice;Επιλογή slice;Αντικατάσταση χρώματος;Εργαλείο για κόκκινα μάτια;Επιλογή αντικειμένου;Γόμα παρασκηνίου;;;;];[Πάρε μια φωτογραφία;Επιλογέας χρώματος;Επεξεργαστής περιγράμματος;Μέγεθος καμβά;Διπλότυπο σε...;Επεξεργαστή ντεγκραντέ;Στυλ επιπέδου;Νέο έργο;Αποθήκευση για ιστό;Στρέβλωση;Μέγεθος εικόνας;Μετατροπή σε διάνυσμα;[Ψαλίδιση;Περικοπή;];Συντομεύσεις πληκτρολογίου;Προσθήκη οδηγών;[Απαλοιφή οδηγών;Οδηγοί από Διαφάνειες]];[Αδιαφάνεια;Εφέ;Φωτεινότητα;[Αντίθεση;Χρήση κληρονομιά];Κανάλι;θέση;Αντιστάθμιση;Διόρθωση Γάμμα;Απόχρωση;Κορεσμός;Ελαφρότητα;Τίντα;Εύρος;ζώνη;[Μέγεθος;Παρεμβολή;Πλησιέστερη γειτονική;Διγραμμική];Γωνία;Στρογγυλότητα;Σκληρότητα;Απόσταση;[Τρόπος ανάμειξης;Συνδυάστε αν];Μέγεθος δείγματος;Τύπος περιγράμματος;Στυλ;[Αναστροφή;Σχετική;Σημείο αναφοράς];Ανοχή;Συνεχόμενο;Γέμισμα;Χρήση καθολικής γωνίας;Απόσταση;Άπλωμα;Θόρυβος;Απωθεί την προσπίπτουσα σκιά;Τεχνική;Κατεύθυνση;Βάθος;Απάλυνση;Κατάσταση;Ντεγκραντέ;Κλίμακα;Στοίχιση με επιπέδο;θέση;Πλάτος;Ύψος;Προορισμός;Τύπος;Προσκήνιο;Παρασκηνίου;Προσαρμοσμένο;Ονομα;Δημιουργία;Μορφή;Σταθερή αναλογία;[Ποιότητα;Σελίδες];Διπλασιάσμός;Μετακίνηση;Έξυπνα φίλτρα;Ακτίνα;Ποσότητα;Διανομή;[Ομοιόμορφη;Γκαουσιανό];Μονοχρωματικό;Μέγεθος κελιού;Μοτίβου;Ροή;Δύναμη;Προστασία λεπτομέρειας;Τύπος γέμισης;Υφή;Τρέμουλο;Γωνία;Προέλευση;Στόχος;Κανάλια;Μάσκα;Πυκνότητα;Ευθυγραμμισμένος;[Διαδρομή;Σχήμα;Pixel;Ίντσες;Εκατοστά;Χιλιοστά;Ποσοστό];Σχήματα;Πλευρές;Προτιμήσεις;[Μήκος;Αναλογία;Οποιοδήποτε;Τύπος πλέγματος;Ισομετρική;Απόσταση πλέγματος;Μονάδες χάρακα];Μείωση θορύβου;Χρώματα;Αποστάσεις;Ρυθμός;Αυτόματη επιλογή;Αναζήτηση;Καθορίζω;[Φωτογραφία;Οθόνη;Κινητό;Διαφημίσεις;Εκτύπωση];[Κανονικό;Σταθερή αναλογία;Σταθερό μέγεθος];Βοήθεια;[Ζωντανή Σχήμα;Επεξεργασία Ζωντανού Σχήματος;Ίδια ακτίνα];Ασάφεια;[Πολύγωνο;Αστέρι;Σπειροειδής;Τετράγωνο];[Ακτίνα γωνίας;Εσωτερική ακτίνα]];[Χρώμα;[Καμία;Κόκκινο;Πορτοκαλί;Κίτρινο;Πράσινο;Μπλε;Μωβ;Γκρι;Λευκό;Διάφανο;Μαύρο;Κυανό;Ματζέντα;Ουδέτερος];Σύνολο;Απόλυτος;Διατήρηση φωτεινότητας];[Πίπτουσα σκιά;Εσωτερική σκίαση;Εξωτερική λάμψη;Εσωτερική λάμψη;Λοξοτομή και ανάγλυφο;Επικάλυψη χρώματος;Επικάλυψη ντεγκραντέ;Επικάλυψη μοτίβου;Σατέν;Περίγραμμα;Επιλογές ανάμειξης;Επιλέξτε pixels];[Σχήμα άκρου;Δυναμικό άκρου;Διασπορά;Δυναμικό χρώμα;[Μέγεθος τρέμουλο;Ελάχιστη διάμετρος;Γωνία τρέμουλο;Στρογγυλότητα τρέμουλο;Ελάχιστη στρογγυλότητα];[θέση τρέμουλο;Μέτρημα;Μέτρημα τρέμουλο];[Προσκήνιο/παρασκηνίου τρέμουλο;Απόχρωση τρέμουλο;Κορεσμός τρέμουλο;Φωτεινότητα τρέμουλο];[Επιλέξτε την πηγή κλώνου κρατώντας Alt (ή K) και κάνοντας κλικ στην εικόνα.;Επισημάνετε το προσκήνιο με λευκό, το παρασκηνίο με μαύρο και την άγνωστη περιοχή με γκρι.;Το επίπεδο δεν επιδέχεται επεξεργασία;Το επίπεδο κειμένου πρέπει πρώτα να είναι ραστεροποιημένο;Έξυπνο αντικείμενο πρέπει πρώτα να είναι ραστεροποιημένο.;Επιλέξτε πολλαπλά επιπέδα;Αποστρέβλωση επίπεδο;Ανοίξτε πρώτα ένα έγγραφο.;Κλείστε πρώτα το παρόν παράθυρο.;Μόνο παρόν εργαλείο];[Καταγραφή;Νέο σύνολο ενεργειών;Νέα ενέργεια];[Η πίεση πένας ελέγχει την αδιαφάνεια;Η πίεση πένας ελέγχει το μέγεθος];[Κανονικό;Διάχυση;Σκοτείνιασμα;Πολλαπλασιασμός;Κάψιμο χρώματος;Γραμμικό κάψιμο;Σκουρότερο χρώμα;Φωτισμός;Οθόνη;Φωτισμός χρώματος;Γραμμικός φωτισμός;Ανοιχτότερο χρώμα;Υπέρθεση;Απαλό φως;Σκληρό φως;Έντονο φως;Γραμμικός φωτισμός;Σημειακό φως;Σκληρή μείξη;Διαφορά;Αποκλεισμός;Αφαίρεση;Διαίρεση;Απόχρωση;Κορεσμός;Χρώμα;Φωτεινότητα;Διέλευση]];[Διάκενο γραμμής;Διάκενο γραμμάτων;Γραμμή βάσης;[Μετατροπή σε σημειακό κείμενο;Μετατροπή σε κείμενο παραγράφου]];[Όλα τα επίπεδα;Παρόν επίπεδο;Επιλογή;Παρόν και προηγούμενο];[Αντικατάσταση;Πρόσθεση;Αφαίρεση;Τομή συνόλων;XOR;Συγχώνευση];[[Γραμμικός;Ακτινικό;Γωνία;Αντικατοπτρισμένο;Διαμάντι;Σχήμα βούρτσας];[Απαλή;Ακριβείς];[Εξωτερική λοξοτομή;Εσωτερική λοξοτομή;Ανάγλυφο;Σφράγισμα;Ανάγλυφο περίγραμμα;Πλάτος γραμμής];[Ομαλοποίηση;Σκληρό chisel;Μαλακό chisel;Ομαλότητα];[Πάνω;Κάτω];[Εκτός;Κέντρο;Εντός;Από το κέντρο];[Σκιές;Μεσαίοι τόνοι;Τονισμοί];[Αποκορεσμός;Αύξηση κορεσμού];[Μικρό;Μεσαίο;Μεγάλο];[Άκρα;Γωνίες;Παύλες]];[Επιλογή του αντικειμένου κάτω από το δρομέα;Έλεγχοι μετασχηματισμού;1:1;Προσαρμογή στο παράθυρο;[Στοίχιση αριστερά άκρα;Οριζόντια κέντρα;Στοίχιση δεξιά άκρα;Στοίχιση επάνω άκρα;Κατακόρυφα κέντρα;Στοίχιση κάτω άκρα;Ίση απόσταση]];[Τοποθέτηση σε;Παρόν έργο;Νέο έργο;Ανάλυση;Προστέθηκε στο παρόν έργο.;Δημιουργήθηκε ένα νέο έργο.;Η πρόσβαση στην κάμερα απορρίφθηκε.];[Προσανατολισμός;Κάμψη;Οριζόντια παραμόρφωση;Κατακόρυφη παραμόρφωση;[Οριζόντια;Κάθετη;Οριζόντια;Κάθετη];[Κανένα;Arc;Arc Lower;Arc Upper;Arch;Bulge;Shell Lower;Shell Upper;Flag;Wave;Fish;Rise;Fish Eye;Inflate;Squeeze;Twist;Προσαρμοσμένο];[Γραμματοσειρά;δεν είναι διαθέσιμη;Θα παρασχεθεί με χρήση του;Υπάρχει μη αποθηκευμένη εργασία στο;Θέλετε πραγματικά να το κλείσετε;];[Ανταλλάξουν χρωμάτων;Προεπιλογή: Λευκό και μαύρο]];[φορτωμένο;προστέθηκε;Μετακίνηση οδηγός;Διαγραφή οδηγός;Προσθήκη οδηγός;Φόρτωση;Φόρτωση VAR0];[Συλλογή φίλτρων;[[Ρευστοποίηση;[Μουτζούρα;Ανοικοδομώ;Ομαλοποίηση;Συστροφή;Συρρίκνωση;Φουσκώνουν;Ώθηση αριστερά;Πάγωμα;Ξεπάγωμα]];[Διόρθωση φακού]];Θολούρα;[Μέσος;Θολούρα;Περισσότερο θόλωμα;Θόλωμα πλαισίου;Γκαουσιανό θόλωμα;Θόλωση φακού;Θόλωμα κίνησης;Ακτινικό θόλωμα;Θόλωμα σχήματος;Έξυπνο θόλωμα;Θόλωμα επιφάνειας];Παραμόρφωση;[Μετατόπιση;Καμπή;Πολικές συντεταγμένες;Κυματισμός;Στρέβλωση;Σφαιροποίηση;Κύμα];Θόρυβος;[Προσθήκη θορύβου;Αποκηλίδωση;Σκόνη & αμυχές;Διάμεσος];Κουκκιδοποίηση;[Μεσαίοι χρωματικοί τόνοι;Κρυσταλλοποίηση;Όψη;Τμήμα;Τρόπος χαλκογραφίας;Μωσαϊκό;Σημειοποίηση];Απόδοση;[Σύννεφα;Σύννεφα διαφοράς;Αναλαμπή φακού];Όξυνση;[Όξυνση;Όξυνση άκρων;Περισσότερη όξυνση;Έξυπνη όξυνση;Μάσκα όξυνσης];Στυλιζάρισμα;[Διάχυση;Aνάγλυφο;Εξώθηση;Εύρεση άκρων;];Άλλο;[Προσαρμοσμένη;Υψιπερατό;Μέγιστο;Ελάχιστο;Αντιστάθμιση;Επανάληψη];[Απροσδιόριστη περιοχή;Ορισμός σε διαφανή;Επανάληψη pixel άκρων;Αναδίπλωση γύρω;Τελευταίο φίλτρο;Προεπισκόπηση]];[Πρότυπα;[Φίλτρο γραμματοσειράς;Λέξεις-κλειδιά;Τυχαία];[Με σύμβολα;Με φωτογραφία];[Μικρογραφίες;Λίστα]]", + "[ملف;تحرير;صورة;طبقة;مجلد;تحديد;مرشح;عرض;نافذة;اللغة;تسجيل الدخول;تسجيل الخروج;إنشاء ترجمة;[الحساب;سياسة الخصوصية;الخلف;نبذة;تبليغ عن خطأ برمجي;تعلم];المزيد;شكل;استخدام WebGL;[Photopea: محرر صور متقدم;محرر أونلاين مجاني يدعم PSD, XCF, Sketch, XD و CDR;إنشاء صورة جديدة أو فتح ملف متواجد على الحاسوب. حفظ العمل كـ (PSDملف - حفظ كـ) PSD أو كـ (ملف - تصدير كـ) JPG / PNG / SVG;إقترح خاصيات جديدة على or . هدفنا هو <تطوير محرر صور أكثر تقدما و في المتناول>;الروابط الإعلانية تنفتح في نافذة جديدة;هاته الخاصية غير متوفرة;تثبيت برنامج فوتوبيا]];[فتح;نشر على الويب;حفظ;حفظ كملف PSD;طباعة;فتح من رابط URL;فتح ملف من الحاسب;جلب ملفات من جوجل درايف;تصدير كـ;تصدير الطبقة;الاسکریپت;فتح والصاق;إغلاق;التخزين المحلي;معلومات الملف];[للأمام;للخلف;مسح;ملء;تدوير / تحويل;تدوير;إقلب VAR0;مقياس VAR0;رجوع;منظور;[دمج تلقائي;توسيط آلي];تلاشي;تطبيق الصورة];تعديلات;[الإضاءة;مستويات;مُنحنيات;تعريض;حيويتها;صبغة اللون/تشبع;توازن الالوان;ابيض واسود;فلتر صور;خلاط القنوات;بحث عن لون;عكس;تتال;عتبة;خريطة التدرج;لون انتقائي;[نغمة تلقائية;تبيان تلقائى;تلوين تلقائي];استبدال اللون];[قطع;نسخ;لصق;جديد;حذف;تفعيل;تعطيل;نسخ مدمج;تطبيق;مرة أخرى;تحديث];[نسخ الطبقة;طبقة تعديل جديدة;قناع النقطية;قناع الفيكتور;اضافة(اظهار الجميع);[اضافة (اخفاء الجميع);كشف التحديد;اخفاء التحديد;من الشفافية];[قناع التشذيب;العربية];حول إلى عنصر ذكي;دمج;تجميع الطبقات;دمج للاسفل;دمج للاعلى;[دمج الطبقات;تسطيح الصورة];طبقة جديدة;تمكين قناع النقطية;تعطيل قناع النقطية;تمكين قناع المتجهات;تعطيل قناع المتجهات;تمكين قناع القصاصة;تعطيل قناع القصاصة;مجلد جديد;إضافة قناع تنقيطي;(Swimming);إضافة قناع فيكتور;حذف قناع فيكتور;ربط القناع النقطي;عدم ربط القناع النقطي;ربط قناع فيكتور;عدم ربط قناع فيكتور;تفعيل تأثيرات الطبقة;تعطيل تأثيرات الطبقة;حذف الطبقة;تغيير شفافية الطبقة;تغيير المزج;تنقيط نمط الطبقة;ترتيب الطبقة;[انشاء عنصر ذكي;تحديث عنصر ذكي;وضع هدف ذكي;مصدر )عنصر ذكي(;وضع التجميع];تغيير الاسم;تغيير اللون;تعديل تنظيم الطبقة;تحويل إلى شكل;تفعيل قناع الفلتر;الغاء قناع الفلتر;تفعيل الفلتر الذكي;الغاء تفعيل الفلاتر الذكية;اضافة قناع للفلتر;مسح فلتر القناع;فلاتر نقية وذكية;[[تلوين مصمت;تلوين متدرج;الملء النمطي;إدراك بالمحتوى];ملئ لون جديد;تعديل طبقة التلوين];طبقة عبر النسخ;وجه الفلترة;حذف استايل الطبقة;تحريك الفلتر الذكي;حذف الفلتر;[ربط الطبقات;فك ارتباط الطبقات];ترتيب الطبقات;[جلب للمقدمة;إرسال للخلف;إرسال للوراء;إرسال للخلف];[الطبقة مقفلة;إغلاق التعديلات;قفل];تحريك];[الكل;إلغاء;قلب;تعديل;توسيع;انكماش;ترييش;تحريك المحدد;مدى اللون;حد;خيار التحول;تحسين الحواف;معالجة التحديد;المقص السحري];[تقريب;تكبير;الخطوط الإرشادية;مساطر;شبكة;لقطة;التقط إلى;حدود المستند;شبكة بيكسل (عند التكبير);مسارات;الإلتصاق بالبكسل;[شرائح;العربية];إظهار];[السجل;الطبقات;خصائص;فرشة;حرف;فقرة;معلومات;تراكيب الطبقات;معرض الألوان;العربيه;الرسم البياني;متصفح;مُسْبَقات الأداة;حروف];[أداة الفرشة;اداة النسخ;أداة القطع;اداة الممحاة;اختر الإهليلج;قطارة;أداة التدريج;أداة اليد;اداة الكتابة;اختيار بالوهق;اختيار بالوهق الجاذب;اداة التحريك;عصا سحرية;أداة دلو الدهن;اختيار بالوهق الكثير الضلع;اختيار مستطيل;تحول حر;أداة التكبير;اداة الضبابية;اداة الحدة;اداة الطمس;اداة التفادي;اداة الحرق;اداة الاسفنجه;فرشاة معالجة البقع;فرشاة المعالجة;أداة التصحيح;اختيار المسار;اختيار تلقائي;قلم;قلم حر;هاي;مستطيل;بيضاوي;شكل حدودي;خط;مسطرة;تحديد سريع;اداة القلم;قص منظوري;أداة القطع:التشريح;أداة انتقاء الشرائح;استبدال اللون;أداة العين الحمراء;اختار العينة;ممحاة الخلفية;تعديل الوضعية;تدويرالمنظور;موازنة المحتوى;أداة تحريك المحتوى];[لون;لاقط اللون;محرر الحدود;حجم الاطار;التكرار داخل...;محرر التدرج اللوني;نمط الطبقه;مشروع جديد;حفظ للويب;إلتواء;حجم الصورة;تحويل الى صورة متجهة;[قص;قص;عرض الكل];اختصارات لوحة المفاتيح;إضافة خطوط إرشاد;[إزالة أداة التوجيه;أداة توجيه من الطبقة]];[الشفافية;تأثيرات;السطوع;[التباين;إستخدام النظم القديمة];قناة;التعريض;الازاحة;تعديل جاما;صبغة اللون;تشبع;الاضاءة;تلوين;مدى;حيوية;[الحجم;إسقاط;أقرب جوار;شبه خطيه];زاوية;استدارة;الحدة;مباعدة;[وضع الدمج;دمج إذا];حجم العينة;هله;تصميم;[عكسي;نسبي;إرساء];التباين;التلامس;ملء;استخدام زاوية شامله;منانت;انتشار;ضجيج;عدم عرض التظليل;تقنية;اتجاه;عمق;تنعيم;الوضع;ميل;مقياس;محاذاة مع طبقة;مركز;العرض;الطول;المكان المقصود;النوع;المقدمة;خلفية;محدد;اسم;إنشاء;التنسيق;إبقاء نسبة القياس;[الجودة;صفحات];تكرار;نقل;الفلاتر الذكية;نصف القطر;كمية;التوزيع;[منتظم;تمويه];أحادي اللون;حجم الخلية;نمط;تدفق;سَمِيك;حماية التفاصيل;نوع الملء;النقش;تقطع;حافة;المصدر;هدف;قنوات;قناع;كثافة;الانحياز;[مسار;شكل;بكسل;بوصات;سنتيمترات;ملليمترات;بالمئة];الأشكال;الجوانب;التفضيلات;[الطول;النسبة;أيّ;نوع الشبكة;متساوي القياس;فراغ الشبكة;وحدات المسطرة];تقليل التشويش;ألوان;المسافات;معدل التعديل;تحديد تلقائي;بحث;تعريف جديد;[صورة;شاشة;هاتف ذكي;اعلانات;اطبع];[مجاني;نسبة ثابتة;حجم ثابت];مساعدة;[شكل حي;تحرير شكل حي;نفس الشعاع];ضبابي;[متعدد الأضلاع;نجم;حلزوني;مربع];[شعاع الزاوية;الشعاع الداخلي]];[لون;[لا شيء;أحمر;برتقالي;أصفر;اخضر;ازرق;أرجواني;الرمادي;أبيض;شفاف;أسود;السيان;ماجنتا;محايدة];مجموع;مطلق;الحفاظ على اللمعان];[الظل الساقط;التظليل الداخلي;التوهج الخارجي;التوهج الداخلي;تشطيب وزخرفة;تراكيب الالوان;تأثير تدريج لوني;نمط تراكب;صقيل;جرة قلم;خيارات المزج;تحديد النقاط];[شكل التلميح;ديناميكية التلميحات;بعثرة;ديناميكية اللون;[حجم الغضب;الحد الأدنى من القطر;زاوية القطع;القطع الدائري;الحد الأدنى من الاستدارة];[وضع القطع;عَدّ;عد القطع];[مقدمة\\خلفية القطع;درجة ألوان القطع;تشبع القطع;سطوع القطع];[حدد مصدر النسخ عن طريق الضغط على Alt (أو K) والنقر فوق الصورة;تحديد الواجهة بالأبيض, الخلفية بالأسود, و المساحة المجهولة بالرمادي;الطبقة لايمكن تعديلها;يجب أولا أن تحول طبقة الكتابة الى صورة نقطية;يجب تحويل الغرض الذكي لبكسل أولاً;حدد طبقات متعددة;استقامة طبقة;.افتح مستند أولاً;أغلق النافذة الحالية أولا;الأداة الحالية فقط];[تسجيل;مجموعة عمل جديدة;عمل جديد];[ضغط القلم يتحكم في العتامة;ضغط القلم يتحكم في الحجم];[عادي;Dissolve;Darken;Multiply;Color Burn;Linear Burn;Darker Color;Lighten;Screen;Color Dodge;Linear Dodge;Lighter Color;Overlay;Soft Light;Hard Light;Vivid Light;Linear Light;Pin Light;Hard Mix;Difference;Exclusion;Subtract;Divide;Hue;Saturation;اللون;Luminosity;المرور من خلال]];[تقديم;تتبع;التحول الأساسي;[تحويل إلى نقطة النص;تحويل إلى نقطة الفقرة]];[إجمالي المحتوى;الطبقة الحالية;التحديد;الحالي والأسفل];[إستبدال;جمع;خصم;تقاطع;استبعاد;دمج];[[خطي;شعاعي;زاوية;منعكس;ماسي;شكل انفجار];[انعم;تدقيق];[الحافة الخارجية;الحافة الداخلية;منقوش;وسادة منقوشة;ضرب الوسادة;ضربة عرض];[ناعم;إزميل معقد;إزميل سهل;النعومة];[أعلى;أسفل];[خارج;وسط;داخل;من الوسط];[الظلال;الدرجات اللونية المتوسطة;تسليط الضوء];[تشبع;نقع];[صغير;وسط;كبير];[غطاء الشىء;الزوايا;شرطات]];[اختر الشكل تحت المؤشر;ضوابط التحول;بكسل إلي بكسل;تناسب المنطقة;[محاذاة الحواف اليسرى;منتصف أفقي;hd;محاذاة أعلى الحواف;ر;محاذاة الحواف السفلية;فراغات متساوية]];[ادخل في;المشروع الحالي;مشروع جديد;دقة;يضاف إلى المشروع الحالي;تم إنشاء مشروع جديد;تم منع الدخول للكاميرا];[الاتجاه;انحناء;تشويه أفقي;تشويه عمودي;[أفقي;عمودي;أفقياً;عموديا];[لا شيء;قوس;قوس السفلى;قوس الاعلى;قوس;انتفاخ;صدف أسفلي;صدف علوي;علم;موج;تصيد;ترتفع;عين السمكة;تضخيم;كبس;لف;مخصوص];[خط;غير متوفر;سيتم تقديم باستخدام;هناك عمل غير محفوظ في;هل تريد حقًا إغلاقه؟];[مبادلة الالوان;الإفتراضى: ابيض واسود]];[تم التحميل;اضافة;دليل التحريك;دليل المسح;دليل الإضافة;جاري التحميل;VAR0تحميل الــ];[معرض الفلاتر;[[تذويب;[فرك;إعادة البناء;تنعيم;لف;تقليص;تكبير;إدفع لليسار;تجميد;إزالة التجميد]];[تصحيح العدسة]];التشويش;[متوسط;ضباب;أكثر ضباباً;صندوق الضباب;التمويه الضبابي;ضبابية العدسة;ضبابية الحركة;ضبابية التدوير;ضبابية الشكل;الضباب الذكي;تنعيم الأسطح];تشويه;[إزاحة;قَرْص;الإحداثيات القطبية;تموجات;مستعرض;تكوير;موجة];ضجيج;[إضافة ضجيج;إزالة البقع;غبار و خدوش;التوسيط];التهيئة النقطية;[الألوان النصفية;تبلور;تصغير الأسطح;تجزئة;نقش تظليلي;فسيفساء;تنقيط];تحويل;[غيوم;غيوم الإختلاف;لمعة العدسة];حدة;[حدة;حدة الحواف;أكثر حدة;الحدة الذكية;قناة التوضيح];تحديد الاسلوب;[تفكيك;بروز;إطلاق;اوجد الحواف;تلوين زيتى];غير ذلك;[مخصوص;مرشح ترددات عالية;اقصى قيمة;ادنى قيمة;إزاحة;تكرار];[منطقة غير معرفة;اجعله شفاف;كرر نقاط الحافة;الإلتفاف حول;آخِر مرشح;عرض]];[قوالب جاهزة;[مرشح الخط;الكلمات الرئيسية;عشوائية];[مع الرموز;مع الصورة];[صورة مصغّرة;قائمة]]", + "[Arquivo;Editar;Imagem;Camada;Pasta;Selecionar;Filtro;Visualizar;Janela;Idioma;Entrar;Sair;Criar tradução;[Conta;Termos de Uso;Voltar;Sobre;Reportar um erro;Aprender];Mais;Tema;Usar WebGL;[Photopea: Editor de imagem avançado;Editor online gratuito que suporta os formatos PSD, XCF, Sketch, XD e CDR.;Crie uma nova imagem ou abra arquivos existentes no seu computador. Salve o seu trabalho como PSD (Arquivo - Gravar como PSD) ou como JPG / PNG / SVG (Arquivo - Exportar como).;Sugira novas funções no nosso ou . O nosso objetivo é criar .;Os links de patrocinadores são abertos numa nova janela.;Este recurso não está disponível.;Instale Photopea]];[Abrir;Publicar Online;Gravar;Gravar como PSD;Imprimir;Abrir de URL;Abrir do computador;Conectar com Google Drive;Exportar como;Exportar Camadas;Script;Abrir e colocar;Fechar;Armazenamento local;Informação do Ficheiro];[Avançar;Retroceder;Limpar;Preencher;Transformar;Rodar;Espelhar VAR0;Escalar VAR0;Anular / Refazer;Perspetiva;[Misturar automaticamente;Alinhar automaticamente];Desvanecer;Aplicar Imagem];Ajustamentos;[Brilho/Contraste;Níveis;Curvas;Exposição;Vibração;Matiz/Saturação;Balanço de Cores;Preto e branco;Filtro fotográfico;Misturador de Canais;Procura de Cor;Inverter;Posterizar;Limite;Mapa de gradiente;Cor Seletiva;[Tom automático;Contraste automático;Cor automática];Substituir cor];[Cortar;Copiar;Colar;Novo(a);Apagar;Ativar;Desativar;Copiar Mesclado;Aplicar;Novamente;Atualizar];[Duplicar Camada;Nova Camada de Ajustamento;Máscara de rasterização;Máscara de vetor;Adicionar (Revelar Tudo);[Adicionar (Esconder Tudo);Revelar seleção;Ocultar seleção;Da transparência];[Máscara de recorte;Modo de máscara rápido];Converter para Objeto inteligente;Rasterizar;Agrupar camadas;Mesclar para baixo;Mesclar para cima;[Mesclar camadas;Achatar imagem];Nova Camada;Ativar máscara de rasterização;Desativar máscara de rasterização;Ativar máscara de vetor;Desativar máscara de vetor;Ativar máscara de recorte;Desativar máscara de recorte;Nova Pasta;Adicionar máscara de rasterização;Apagar máscara de rasterização;Adicionar máscara de vetor;Apagar máscara de vetor;Conectar máscara de rasterização;Desconectar máscara de rasterização;Conectar máscara de vetor;Desconectar máscara de vetor;Ativar efeitos de camada;Desativar efeitos de camada;Apagar Camada;Mudança de Opacidade da Camada;Mudança de Mistura;Rasterizar Estilo de Camada;Ordem de Camadas;[A Criar Objeto inteligente;A Atualizar Objeto inteligente;A Colocar Objeto inteligente;Fonte (Objeto inteligente);Modo de pilha];Mudança de Nome;Mudança de Cor;Editar Camada de Ajustamento;Converter para Forma;Ativar máscara de filtro;Desativar máscara de filtro;Ativar Filtros Inteligentes;Desativar Filtros Inteligentes;Adicionar máscara de filtro;Apagar máscara de filtro;Limpar Filtros Inteligentes;[[Preenchimento com Cor;Preenchimento com Gradiente;Preenchimento com Padrão;Ciente ao conteúdo];Nova Camada de Preenchimento;Modificar camada de preenchimento];Camada via cópia;Máscara de filtro;Apagar Estilo de Camada;Mover o Filtro Inteligente;Apagar o Filtro Inteligente;[Juntar Camadas;Separar Camadas];Organizar;[Trazer para primeiro;Trazer para a frente;Enviar para trás;Enviar para último];[Esta Camada está Bloqueada.;Travar mudança;Bloquear];Animação];[Tudo;Anular Seleção;Inverso;Modificar;Expandir;Contrair;Difusão;Mover seleção;Intervalo de cores;Borda;Transformar seleção;Refinar arestas;Curar seleção;Corte Mágico];[Mais Zoom;Menos Zoom;Guias;Réguas;Grade;Encaixar;Encaixar a;Limites do Documento;Grade de pixel;Demarcadores;Encaixar a pixels;[Fatias;Opções de fatiar];Mostrar];[Histórico;Camadas;Propriedades;Pincel;Caractere;Parágrafo;Informações;Composições de camada;Amostras;Ações;Histograma;Navegação;Predefinições de Ferramenta;Glifos];[Ferramenta pincel;Clonagem;Corte;Borracha;Seleção Elipsoidal;Conta-gotas;Gradiente;Mão;Texto;Seleção com Laço;Seleção com Laço Magnético;Mover;Varinha Mágica;Balde de Tinta;Seleção com Laço Poligonal;Seleção retangular;Transformação Livre;Ampliar;Ferramenta de desfoque;Ferramenta de foco;Ferramenta para borrar;Ferramenta de exposição;Ferramenta para queimar;Ferramenta de esponja;Ferramenta de cura localizada;Ferramenta de cura;Ferramenta de remendo;Seleção de demarcador;Seleção Direta;Caneta;Caneta livre;Forma personalizada;Rectângulo;Elipse;Forma paramétrica;Linha;Régua;Seleção rápida;Ferramenta lápis;Corte de perspectiva;Ferramenta de fatia;Ferramenta de seleção de fatia;Substituição de cor;Olhos vermelhos;Seleção de objeto;Borracha de plano de fundo;Distorção de marionete;Girar Visualização;Escala sensível a conteúdo;Movimento Sensível ao Conteúdo];[Tirar foto;Escolher Cor;Editor de Contornos;Tamanho da Tela de pintura;Duplicar para...;Editor de Gradiente;Estilo da Camada;Novo Projeto;Gravar para a Web;Deformar;Tamanho da Imagem;Vetorizar bitmap;[Aparar;Cortar;Revelar Tudo];Atalhos do Teclado;Adicionar Guias;[Apagar Guias;Guias da Camada]];[Opacidade;Efeitos;Brilho;[Constraste;Usar Legado];Canal;Exposição;Deslocamento;Correção de Gama;Matiz;Saturação;Luminosidade;Colorir;Extensão;Vibração;[Tamanho;Interpolação;Vizinho mais próximo;Bilinear];Ângulo;Arredondamento;Dureza;Espaçamento;[Modo de Mistura;Mesclar Se];Tamanho da Amostra;Contorno;Estilo;[Reverter;Relativa;Âncora];Tolerância;Contíguo;Preenchimento;Usar ângulo global;Distância;Espalhamento;Ruído;Cortar Sombra;Técnica;Direção;Profundidade;Suavizar;Modo;Gradiente;Escalar;Alinhar À Camada;Posição;Largura;Altura;Destino;Tipo;Primeiro Plano;Plano de Fundo;Personalizado;Nome;Criar;Formatar;Manter Aspeto;[Qualidade;Páginas];Duplicar;Mover;Filtros Inteligentes;Raio;Quantidade;Distribuição;[Uniforme;Gaussian];Monocromático;Tamanho da célula;Padrão;Corrente;Força;Proteger detalhe;Tipo de preenchimento;Textura;Tremulação;Aresta;Fonte;Alvo;Canais;Máscara;Densidade;Alinhado;[Demarcador;Forma;Pixels;Polegadas;Centímetros;Milímetros;Porcentagem];Formas;Lados;Preferências;[lange;Ratio;Qualquer;Tipo de grade;Isométrico;Espaçamento da grade;Unidades da régua];Reduzir Ruído;Cores;Distâncias;Ritmo;Seleção automática;Procurar;Definir novo;[Foto;Tela;Celular;Anúncios;Cópia impressa];[Livre;Taxa Fixa;Tamanho Fixo];Ajuda;[Forma viva;Editar forma viva;O mesmo Raio];Grau de seleção;[Polígono;Estrela;Espiral;Quadrado];[Raio do canto;Raio interno]];[Cor;[Nenhum;Vermelho;Laranja;Amarelo;Verde;Azul;Roxo;Cinzento;Branco;Transparente;Preto;Ciano;Magenta;Neutral];Total;Absoluto;Preservar Luminosidade];[Sombra;Sombra Interna;Brilho Exterior;Brilho Interior;Bisel e Relevo;Sobreposição de cor;Sobreposição de gradiente;Sobreposição de padrão;Cetim;Traçado;Opções de mistura;Selecionar pixels];[Forma da ponta;Dinâmica da ponta;Espalhamento;Dinâmica de cor;[Tremulação do tamanho;Diâmetro mínimo;Tremulação de ângulo;Tremulação de redondez;Redondez mínima];[Tremulação da posição;Quantidade;Tremulação da quantidade];[Tremulação do Plano de fundo/Primeiro plano;Tremulação do matiz;Tremulação de saturação;Tremulação de brilho];[Selecione a fonte de clonagem segurando Alt (ou K) e clicando na imagem.;Marque primeiro plano com Branco, fundo com Preto e a área desconhecida com Cinza.;Camada não é editável.;Camada de Texto têm de ser rasterizada primeiro;Objeto inteligente deve der rasterizado primeiro;Selecionar múltiplas camadas;Retificar camada;Abra um documento primeiro.;Feche a janela atual primeiro.;Somente Ferramenta Atual];[Gravar;Novo conjunto de ações;Nova ação];[Pressão da caneta controla a opacidade;Pressão da caneta controla o tamanho];[Normal;Dissolver;Escurecer;Multiplicação;Superexposição de cor;Superexposição linear;Cor mais escura;Clarear;Tela;Subexposição de cor;Subexposição linear;Cor mais clara;Sobrepor;Luz indireta;Luz direta;Luz brilhante;Luz linear;Luz do pino;Mistura sólida;Diferença;Exclusão;Subtrair;Dividir;Matiz;Saturação;Cor;Luminosidade;Passagem]];[Entrelinhas;Encalço;Deslocamento de linha de base;[Converter para Texto de Ponto;Converter para Texto de Parágrafo]];[Todas as camadas;Camada atual;Seleção;Atual e abaixo];[Substituir;União;Diferença;Intersecção;Excluir;Mesclar];[[Linear;Radial;Ângulo;Reflectido;Diamante;Estouro de forma];[Mais suave;Preciso];[Bisel exterior;Bisel interior;Entalhe;Relevo travesseiro;Relevo de risco;Largura do traçado];[Suavizar;Cinzel sólido;Cinzel suave;Suavidade];[Cima;Baixo];[Fora;Centro;Dentro;A partir do centro];[Sombras;Tons Médios;Realces];[Dessaturar;Saturar];[Pequeno;Médio;Ampla];[Arremates;Cantos;Traços]];[Escolher o objeto debaixo do cursor;Controlos de transformação;Pixel a Pixel;Ajustar a área;[Alinhar cantos esquerdos;Centralizar horizontalmente;Alinhar cantos direitos;Alinhar cantos de cima;Centralizar verticalmente;Alinhar cantos de baixo;Lacunas iguais]];[Insira dentro de;Projeto atual;Novo projeto;Resolução;Adicionado ao projeto atual.;Um novo projeto foi criado.;O acesso à câmera foi negado.];[Orientação;Curvatura;Distorção Horizontal;Distorção Vertical;[Horizontal;Vertical;horizontalmente;verticalmente];[Nenhum(a);Arco;Arco Inferior;Arco Superior;Arquear;Protuberância;Escudo Inferior;Escudo Superior;Bandeira;Onda;Peixe;Subir;Olho de Peixe;Esticar;Apertar;Torcer;Customizado];[Tipo de Letra;não está disponível;Vai ser desenhado usando;Há trabalho não guardado no;Você realmente quer fechá-lo?];[Permutar Cores;Padrão: Branco e Preto]];[carregado;adicionado;Mover guia;Apagar guia;Adicionar guia;Carregando;Carregar VAR0];[Galeria de filtros;[[Dissolver;[Borrar;Reconstruir;Suavizar;Redemoinho;Encolher;Inflar;Empurre à esquerda;Congelar;Descongelar]];[Correção de lente]];Desfoque;[Médio;Desfoque;Desfoque Maior;Desfoque de Caixa;Desfoque Gaussiano;Desfoque de Lente;Desfoque de Movimento;Desfoque Radial;Desfoque de Forma;Desfoque Inteligente;Desfoque de Superfície];Distorcer;[Mesclar;Sucção;Coordenadas Polares;Ondulação;Cisalhamento;Esferização;Ondas];Ruído;[Adicionar Ruído;oi;Poeira e Rabiscos;Mediana];Pixelizar;[Meio-Tom em Cores;Cristalizar;Facetar;Fragmentar;Meia-Tinta;Mosaico;Pontilhar];Renderizar;[Nuvens;Nuvens por Diferença;Reflexo de Flash];Aguçar;[Tornar Nítido;Tornar Arestas Nítidas;Nitidez Maior;Aplicação Inteligente de Nitidez;Máscara de Nitidez];Estilizar;[Difusão;Realçar;Extrusão;Indicação de Arestas;Pintura a óleo];Outros Filtros;[Customizado;Alta frequência;Máximo;Mínimo;Deslocamento;Repetir];[Área indefinida;Definir como transparente;Repetir pixels da aresta;Preencher com lado oposto;Último filtro;Visualizar]];[Modelos;[Filtro de fontes;Palavras-chave;Aleatória];[Com símbolos;Com foto];[Miniaturas;Lista]]", + "[Файл;Редактирование;Изображение;Слой;Папка;Выделить;Фильтр;Просмотр;Окно;Язык;Войти;Выйти;Создать перевод;[Аккаунт;Правила использования;Назад;О приложении;Сообщить об ошибке;Обучение];Больше;Тема;Использовать WebGL;[Photopea: расширенный редактор изображений;gjadm;Создайте новое изображение или откройте существующие файлы с компьютера. Сохраните свою работу как PSD (Файл - Сохранить как PSD) или как JPG / PNG / SVG (Файл - Экспортировать как).;Предлагайте новые возможности в нашем или . Нашей целью является создание <наиболее продвинутого и доступного по цене редактора фотографий>.;Ссылки на спонсоров открываются в новом окне.;Эта функция недоступна.;]];[Открыть;Опубликовать онлайн;Сохранить;Сохранить как PSD;Печать;Открыть по ссылке;Открыть с компьютера;Подключиться к Google Диску;Экспортировать как;Экспортировать слои;Скрипт;Открыть и поместить;Закрыть;Локальное хранилище;];[Шаг вперед;Шаг назад;Очистить;Заливка;Трансформация;Поворот;Отразить VAR0;Масштабирование VAR0;Отменить / Повторить;Перспектива;[Автоматическое смешивание;Автоматически выравнивать];Ослабить;Внешний канал];Коррекция;[Яркость/Контрастность;Уровни;Кривые;Экспозиция;Сочность;Тон/Насыщенность;Цветовой баланс;Черно-белое;Фотофильтр;Миксер каналов;Поиск цвета;Инвертировать;Постеризация;Порог;Карта градиента;Выборочный цвет;[Автотон;Автоконтраст;Авто цветовая коррекция];Замена цвета];[Вырезать;Копировать;Вставить;Новый;Удалить;Включить;Выключить;Объединение копий;Применить;Повторно;Обновить];[Дублировать слой;Новый корректирующий слой;Растровая маска;Векторная маска;Добавить (показать все);[Добавить (скрыть все);Показать выделенную область;Скрыть выделенную область;Из прозрачности];[Маска отсечения;Режим быстрой маски];Конвертировать в Смарт-объект;Растрирование;Группа слоёв;Объединить с предыдущим;Объединить с верхним слоем;[Объединить слои;Выполнить сведение];Новый слой;Включить растровую маску;Выключить растровую маску;Включить векторную маску;Выключить векторную маску;Включить маску отсечения;Выключить маску отсечения;Новая папка;Добавить растровую маску;Удалить растровую маску;Добавить векторную маску;Удалить векторную маску;Привязать растровую маску;Отвязать растровую маску;Привязать векторную маску;Отвязать векторную маску;Включить эффекты слоев;Выключить эффекты слоев;Удалить слой;Изменение прозрачности слоя;Изменение смешивания;Растеризовать стиль слоя;Порядок слоёв;[Создание Смарт-объекта;Обновление Смарт-объекта;Размещение Смарт-объекта;Источник (Смарт-объект);Режим стека];Изменение названия;Изменение цвета;Редактировать корректирующий слой;Преобразовать в Форму;Включить маску фильтра;Выключить маску фильтра;Включить умные фильтры;Выключить умные фильтры;Добавить маску фильтра;Удалить маску фильтра;Очистить умные фильтры;[[Заливка сплошным цветом;Градиентная заливка;Заливки узором;С учетом содержимого];Новый заполняющий слой;Изменить заполнениние слоя];Слой через копию;Маска фильтра;Удалить стиль слоя;Передвинуть Смарт фильтр;Удалить смарт фильтр;[Объединить слои;Разделить слои];Расставить;[На передний план;Выдвинуть;Отправить назад;На задний план];[Этот слой заблокирован.;Блокировать изменения;];Анимация];[Все;Отменить выделение;Инвертировать;Модификация;Развернуть;Стягивать;Перо;Передвинуть выделение;Цветовой диапазон;Граница;Трансформировать выделение;Уточнить край;Пометить выбранное;];[Приблизить;Отдалить;Направляющие;Линейки;Сетка;Привязка;Привязка к;Границы документа;Пиксельная сетка;Контуры;Привязка к пикселям;[Фрагменты;Параметры среза];Показать];[История;Слои;Свойства;Кисть;Характер;Параграф;Инфо;Наборы слоев;Образы;Операция;Гистограмма;Навигатор;Наборы параметров для инструмента;Глифы];[Кисть;Штамп;Рамка;Ластик;Выделение в форме эллипса;Пипетка;Градиент;Рука;Текст;Выделение лассо;Выделение магнитное лассо;Перемещение;Волшебная палочка;Заливка;Выделение полигональное лассо;Прямоугольное выделение;Свободное трансформирование;Лупа;Инструмент «Размытие»;Инструмент «Резкость»;Палец;Инструмент «Осветлитель»;Инструмент «Затемнитель»;Инструмент \"Губка\";Точечная восстанавливающая кисть;Восстанавливающая кисть;Заплатка;Выделение контура;Прямой выбор;Ручка;Свободная ручка;Произвольная фигура;Прямоугольник;Эллипс;Параметрическая Форма;Линия;Линейка;Быстрое выделение;Карандаш;Кадрирование перспективы;Фрагмент;Выделение фрагмента;Замена цвета;Красные глаза;Выбор объекта;Убрать фон;Кукольное искажение;Поворот вида;Масштаб с учетом содержимого;Перемещение с учетом содержимого];[Сделать снимок;Выбор цвета;Редактор контура;Размер холста;Дублировать в ...;Редактор градиента;Стиль слоя;Новый проект;Сохранить для интернета;Деформация;Размер изображения;Трассировка;[Тримминг;Вырезать;Раскрыть все];Горячие клавиши;Добавить направляющие;[Удалить направляющие;Направляющие из слоя]];[Непрозр.;Эффекты;Яркость;[Контраст;Использовать прежние];Канал;Выдержка;Смещение;Коррекция гаммы;Тон;Насыщенность;Освещенность;Раскрасить;Диапозон;Сочность;[Размер;Интерполяция;Ближайшего соседа;Билинейная];Угол;Скругленность;Жесткость;Интервал;[Режим смешивания;Наложить, если];Размер образца;Контур;Стиль;[Обратить;Относительно;Расположение];Допуск;Непрерывный;Заливка;Использовать глобальный угол;Смещение;Разброс;Шум;Убрать тень;Метод;Направление;Глубина;Смягчать;Режим;Карта градиента;Масштаб;Выровнять по слою;Позиция;Ширина;Высота;Цель;Тип;Передний план;Задний план;Специальный;Имя;Создать;Формат;Сохранять пропорции;[Качество;Страницы];Дублировать;Двигать;Умные фильтры;Радиус;Количество;Дистрибуция;[Форма;По Гауссу];Однотонный;Размер Ячейки;Шаблон;Нажим;Сила;Защитить детали;Тип обводки;Текстура;Колебание;край;Источник;Цель;Каналы;Маска;Плотность;Выравнивание;[Контур;форма;Пиксели;Дюймы;Сантиметры;Миллиметры;Процент];Формы;Стороны;Предпочтения;[Длина;Соотношение;Любой;Сетка стиль;Изометрический;Размеры сетки;Разметка линеек];Уменьшить шум;Краски;Расстояния;Рейтинг;Авто-выбор;Поиск;Определить новый;[Фото;Экран;Мобильный;Реклама;Печать];[Свободный;Фикс. соотношение;Фикс. размер];Помощь;[Живые фигуры;Изменить фигуру;Те же радиусы];Разброс;[Многоугольник;Звезда;Спираль;Квадратный];[Радиус скруглений;Внутренний радиус]];[Цвет;[Отсутствует;Красный;Оранжевый;Желтый;Зеленый;Синий;Фиолетовый;Серый;Белый;Прозрачный;Чёрный;голубой;пурпурный;Нейтральный];Всего;Абсолютная;Сохранить свечение];[Тень;Внутренняя тень;Внешнее свечение;Внутреннее свечение;Тиснение;Наложение цвета;Наложение градиента;Наложение узора;Глянец;Обводка;Параметры наложения;Выберите точки];[Форма кончика;Динамический советник;разброс;Цветовая динамика;[Размер Джиттер;Минимальный диаметр;Угол дрожания;Округлость дрожания;Минимальная окружность];[Позиция угла;Подсчёт;Подсчёт углов];[Переднего/Заднего плана угла;Тон угла;Колебание насыщенности;Колебание яркости];[Выберите источник клонирования, удерживая Alt и нажав на изображение.;Выбрать цвет переднего плана Белым, заднего плана Черным и не известную зону Серым;Слой не редактируемый;Слой с текстом должен быть растрирован вначале;Смарт-объект должен быть сначала растрирован;Выберите нескольких слоев;Выпрямить слой;Сначала откройте документ.;Сначала закройте текущее окно.;Только активный инструмент];[Запись;Новый набор операций;Новая операция];[Нажим управляет непрозрачностью;Нажим управляет размером];[Обычный;Растворение;Замена темным;Умножение;Затемнение основы;Линейный затемнитель;Темнее;Замена светлым;Осветление;Осветление основы;Линейный осветлитель;Светлее;Перекрытие;Рассеянный свет;Направленный свет;Яркий свет;Линейный свет;Точечный свет;Жесткое смешение;Разница;Исключение;Вычитание;Разделение;Тон;Насыщенность;Цвет;Свечение;Пропустить]];[Интерлиньяж;Трекинг;Базовая линия;[Преобразовать в короткий текст;Преобразовать в блочный текст]];[Все слои;Текущий слой;Выделение;Текущий и следующие];[Заменить;Объединение;Разница;Пересечение;Исключающее ИЛИ;Слияние];[[Линейный;Радиальные;Угол;Отражение;Алмаз;Разбивка фигуры];[Мягче;Точное];[Внешний скос;Внутренний Скос;рельеф;Выпуклый рельеф;Рельефная кайма;Обводка ширина];[Оптимизировать;Твердый резец;Мягкий резец;Гладкость];[Вверх;Вниз];[Снаружи;Центр;Внутри;От центра];[Тени;Средние тоны;Свет];[Десатурация;Сатурация];[Маленький;Средний;Большой];[Концы;Углы;Тире]];[Выбрать объект под курсором;Контроль трансформации;Пиксель в пиксель;Подогнать площадь;[Выровнять левые края;Горизонтально по центру;Выровнять правые края;Выровнять верхние края;Вертикально по центру;Выровнять нижние края;Равные пробелы]];[Вставить в;Текущий Проект;Новый Проект;Разрешение;Добавлено в текущий проект;Был создан новый проект.;Доступ к камере было отказано.];[Ориентация;Изгиб;Искажение по горизонтали;Искажение по вертикали;[Горизонтальная;Вертикальная;по горизонтали;по вертикали];[Нет;Дуга;Дуга вниз;Дуга вверх;Арка;выпуклость;Нижняя оболочка;Верхняя оболочка;Флаг;Волна;Рыба;Рост;Рыбий Глаз;Надуть;Выжать;Поворот;Пользовательский];[Шрифт;недоступен;Будет отображаться с использованием;Существует несохраненные работы в;Вы действительно хотите закрыть это?];[Замена цветов;По умолчанию: Белое и черное]];[загружается;Добавлено;Переместить направляющую;Удалить направляющую;Добавить направляющую;Загрузка;Загрузить VAR0];[Галерея фильтров;[[Пластика;[Размазать;Перестроить;Разглаживать;Скручивать;Сжать;Надуть;Нажать влево;Заморозить;Разморозить]];[Корректировка объектива]];Размытие;[Среднее;Размытие;Больше размытия;Размытие по рамке;Размытие по Гауссу;Lens Blur;Motion Blur;Radial Blur;Shape Blur;Интеллектуальная Размытость;Поверхностное размытие];Исказить;[Заменить;Щепотка;Полярные координаты;Волнистый;Сдвиг;Сферизация;Волна];Шум;[Добавить шум;Удаление пятен;Пыль и Царапины;Медиана];Оформление;[Цвет Полутонов;кристаллизовать;Фасет;Фрагмент;глубокая печать;Мозаика;Акварель];Рендеринг;[Облака;Разные облака;Блики];Резкость;[Резкость;Резкие границы;Больше резкости;Умная Резкость;Нерезкая Маска];Стилизовать;[Рассеить;Тиснение;Вытянуть;Найти края;Масляная краска];Другие;[Настройка;Цветовой контраст;Максимум;Минимум;Смещение;Повторить];[Неопределенная Область;Обозначить Прозрачным;Повторить Крайние Пиксели;Обернуть Вокруг;Предыдущий фильтр;Просмотр]];[Шаблоны;[Фильтр шрифтов;Ключевые слова;Случайно];[С символами;С фото];[Миниатюры;Список]]", + "[Файл;Редагувати;Зображення;Шар;Папка;Виділити;Фільтр;Перегляд;Вікно;Мова;Увійти;Вийти;Створення перекладу;[Профіль;Умови використання;Назад;Про програму;Повідомити про помилку;Навчання];Більше;Тема;Використовувати WebGL;[Photopea: Розширений редактор зображень;Безкоштовний онлайн-редактор, що підтримує формати PSD, XCF, Sketch, XD і CDR.;Створити нове зображення або відкрити наявні файли з комп'ютера. Збережіть роботу як PSD (Файл - Зберегти як PSD) або як JPG / PNG / SVG (Файл - Експортувати як).;Запропонуйте нові функції на нашому або . Нашою метою є створення <найбільш передових і доступних фото-редактор>.;Спонсорські посилання відкриваються в новому вікні.;Ця функція недоступна.;]];[Відкрити;Опублікувати онлайн;Зберегти;Зберегти як PSD;Друк;Відкрити з URL;Відкрити з комп'ютера;Під'єднати до Google Drive;Експортувати як;Експортувати шари;Скрипт;Відкрити і помістити;Закрити;Локальне Сховище;];[Крок уперед;Крок назад;Очистити;Заповнити;Трансформувати;Повернути;Перевернути VAR0;Масштабувати VAR0;Скасувати / Повторити;Перспектива;[Автоматичне накладання;Автовирівнювання];Затухання;Застосувати зображення];Коригування;[Яскравість / Контрастність;Рівні;Криві;Експозиція;Соковитість;Відтінок/Насиченість;Баланс Кольорів;Чорно-білий;Фільтр Фото;Мікшер каналів;Пошук кольорів;Інвертувати;Постеризація;Поріг;Градієнтна Карта;Вибірковий колір;[Автоматичний відтінок;Автоматичний контраст;Автоматичний колір];Замінити колір];[Вирізати;Копіювати;Вставити;Створити;Видалити;Увімкнути;Вимкнути;Копіювати об'єднано;Застосувати;Знову;Оновити];[Дублікувати шар;Новий шар корекції;Растрова маска;Векторна маска;Додати (показати все);[Додати (сховати все);Показати виділення;Сховати виділення;З прозорості];[Маска відсікання;Режим швидкої маски];Перетворити на смарт-об'єкт;Растеризувати;Групувати шари;Об'єднати з нижче;Об'єднати з вище;[Об'єднати шари;Виконати зведення];Новий шар;Увімкнути растрову маску;Вимкнути растрову маску;Увімкнути векторну маску;Вимкнути векторну маску;Увімкнути відсічну маску;Вимкнути відсічну маску;Нова папка;Додати растрову маску;Видалити растрову маску;Додати векторну маску;Видалити векторну маску;Пов'язати растрову маску;Від’єднати растрову маску;Пов'язати векторну маску;Від’єднати векторну маску;Увімкнути ефекти шарів;Вимкнути ефекти шарів;Видалити шар;Зміна непрозорості шару;Зміна змішування;Растеризувати стиль шару;Порядок шарів;[Створення смарт-об'єкта;Оновлення смарт-об'єкта;Розміщення смарт-об'єкта;Джерело (Смарт-об'єкт);Пакетний режим];Зміна назви;Зміна кольору;Редагувати шар коригування;Перетворити на фігуру;Увімкнути маску фільтра;Вимкнути маску фільтра;Увімкнути розумні фільтри;Вимкнути розумні фільтри;Додати маску фільтра;Видалити маску фільтра;Очистити розумні фільтри;[[Заповнення суцільним кольором;Заповнення градієнтом;Заповнення патерном;Відповідно до вмісту];Новий шар заповнення;Змінити шар заповнення];Скопіювати на новий шар;Маска фільтра;Видалити стиль шару;Пересунути смарт фільтр;Видалити смарт фільтр;[Зв'язування шари;Звільнення шари];Розставити;[На передній план;Перемістити вперед;Перемістити назад;На задній план];[Цей шар заблокований.;Зміна блокування;];];[Усе;Скасувати виділення;Інвертувати;Змінити;Розгорнути;Стиснути;Перо;Перемістити виділення;Колірний діапазон;Межа;Трансформувати виділення;Уточнити край;Виправити виділення;];[Збільшити масштаб;Зменшити масштаб;Напрямні;Лінійки;Сітка;Прив'язка;Прив'язати до;Межі документа;Піксельна сітка;Контури;Прив'язати до пікселів;[Фрагменти;Параметри фрагменту];Показати];[Історія;Шари;Властивості;Пензель;Символ;Параграф;Інформація;Композиції шарів;Зразки;дії;Гістограма;Навігатор;Стилі інструментів;Гліфи];[Пензель;Інструмент клонування;Кадр;Гумка;Вибір еліпсом;Піпетка;Градієнт;Рука;Текст;Вибір ласо;Вибір магнітним ласо;Переміщення;Чарівна Паличка;Заливка;Виділення багатокутним ласо;Вибір прямокутником;Вільна трансформація;Лупа;Розмиття;Різкість;Палець;Освітлювач;Випалювання;Палець;Точковий пензель відновлення;Пензель відновлення;Латка;Виділення Контуру;Виділення Вузла;Ручка;Вільна ручка;Довільна фігура;Прямокутник;Еліпс;Параметрична форма;Лінія;Лінійка;Швидке виділення;Олівець;Кадрування перспективи;Фрагмент;Виділення фрагмента;Заміна кольору;Червоні очі;Вибір об'єкта;Фонова гумка;Деформація гумової сітки;Вигляд обертання;Масштабування з урахуванням вмісту;Переміщення з урахуванням вмісту];[Зробити знімок;Піпетка;Редактор контуру;Розмір полотна;Дублювати в ...;Редактор градієнта;Стиль шару;Новий проект;Зберегти для web;Деформація;Розмір зображення;Перевести картинку в вектор;[Обрізати;Кадрування;Показати все];поєднання клавіш;Додати напрямні;[Очистити направляючі;Направляючі з шару]];[Непрозорість;Ефекти;Яскравість;[Контраст;Застосувати існуюче];Канал;Експозиція;Зсув;Корекція гами;Відтінок;Насиченість;Яскравість;Розфарбувати;Діапазон;Соковитість;[Розмір;Інтерполяція;Найближчий сусіда;Білінійна];Кут;Округлість форми;Жорсткість;Інтервал;[Режим;Накладати якщо];Розмір Зразка;Контур;Стиль;[Реверс;Відносне;Прив'язки];Толерантність;Безперервний;Заповнити;Використати глобальний кут;Відстань;Рознести;Шум;Подолати тінь;Техніка;Напрям;Глибина;Зменшити різкість;Режим;Градієнт;Масштаб;Вирівняти з шаром;Розташування;Ширина;Висота;Призначення;Тип;Передній план;Тло;Настроюваний;Назва;Створити;Формат;Зберегти коефіцієнт пропорційності;[Якість;Сторінки];Дублювати;Перемістити;Розумні фільтри;Радіус;Кількість;Розподіл;[Рівномірний;Гаус];Одноколірний;Розмір комірки;Візерунок;Потік;Міцність;Захистити деталі;Тип заповнення;Текстура;Тремтіння;Край;Джерело;Мета;Канали;Маска;Густина;Вирівняний;[Контур;Форма;Пікселі;Дюйми;Сантиметри;Міліметри;Відсоток];Фігури;Сторони;Налаштування;[Довжина;Коефіцієнт;Будь-яке;Тип сітки;Ізометричні;Лінія сітки кожні;Початок координат];Зменшити шум;Кольори;Відстані;Скорость;Автовиділення;Знайти;Визначити нове;[Фото;Екран;Мобільний;Рекламна;Друк];[Звичайний;Фіксований коефіцієнт с.;Сталий розмір];Допомога;[Динамічні фігуру;Редагувати динамічну форму;Однаковий радіус];Розкид;[багатокутник;Зірка;Спіраль;Квадратний];[Радіус кутів;Внутрішній радіус]];[Колір;[Немає;Червоний;Оранжевий;Жовтий;Зелений;Синій;Фіолетовий;Сірий;Білий;Прозорий;Чёрный;Ціан;Маджента;Нейтральний];Усього;Абсолютний;Зберігати свічення];[Тінь;Внутрішня тінь;Зовнішнє сяйво;Внутрішнє сяйво;Тиснення;Накладання кольору;Накладання градієнта;Накладання візерунком;Атлас;Обведення;Параметри накладання;Вибрати пікселі];[Форма наконечника;Динаміка наконечника;Точкова;Динаміка кольору;[Коливання розміру;Мінімальний діаметр;Коливання кута;Коливання заокругленості;Мінімальна заокругленість];[Коливання розташування;Кількість;Кількість коливань];[Коливання Переднього плану/Тла;Коливання відтінку;Коливання насиченості;Коливання яскравості];[Виберіть джерело клонування, тримаючи Alt (або K) та клацаючи на зображення.;Позначте передній план з білим, тлом з чорним і невідомою областю з сірим.;Шар не можна редагувати.;Спочатку шар тексту потрібно растеризованим;Спочатку смарт-об'єкт потрібно растеризованим;Виберіть кілька шарів;Випрямити шар;Спочатку відкрийте документ.;Спочатку закрийте поточне вікно.;Лише поточний інструмент];[Записувати;Новий набір дій;Нові дії];[Контроль непрозорості натиском на планшет;Контроль розміру натиском на планшет];[Звичайний;Розчинення;Затемнення;Множення;Затемнення основи;Лінійний затемнювач;Темніший колір;Заміна світлим;Екран;Освітлення основи;Лінійне освітлення;Світліший колір;Накладання;Розсіяне світло;Направлене світло;Живе світло;Лінійне світло;Точкове світло;Жорстке змішування;Різниця;Виключення;Відняти;Розділення;Колірний тон;Насиченість;Колір;Свічення;Пропускання]];[Інтерліньяж;Трекінг;Базова лінія;[Перетворити на точковий текст;Перетворити на текст з абзацами]];[Усі шари;Поточний шар;Виділення;Поточний та нижче];[Замінити;Об'єднати;Відняти;Перетин;Виключити;Об'єднати];[[Лінійний;Радіальний;Кут;Відбитий;Ромб;Форма вибух];[М'якіше;Точно];[Зовнішня рамка;Внутрішня рамка;Тиснення;Тиснення подушка;Ударний рельєф;Обведення ширина];[Оптимізувати;Жорстке витісування;М'яке витісування;Плавність];[Вгору;Вниз];[Ззовні;По центру;Усередині;Від центру];[Тіні;Напівтони;Світлі тони];[Знебарвлення;Наситити];[Малий;Середній;Великий];[Наконечники;Кути;Тире]];[Виберіть об'єкт під курсором;Керування трансформацією;Піксел до піксела;Підібрати під розмір області;[Вирівняти ліві краї;Відцентрувати горизонтально;Вирівняти праві краї;Вирівняти верхні краї;Відцентрувати вертикально;Вирівняти нижні краї;Рівномірно влаштований]];[Вставити в;Поточний проект;Новий проект;Роздільна здатність;Додано до поточного проекту.;Було створено новий проект.;Доступ до камери було заборонено.];[Орієнтація;Вигин;Горизонтальне спотворення;Вертикальне спотворення;[Горизональний;Вертикальний;горизонтально;вертикально];[Немає;Дуга;Нижня Дуга;Верхня Дуга;Арка;Випуклість;Нижня Оболонка;Верхня Оболонка;Позначка;Хвиля;Риба;Підйом;Рибне Око;Опукла Лінза;Стиснення;Крутіння;Настроюваний];[Шрифт;недоступний;Буде відмальовано за допомогою;Існує незбережена робота в;Ви дійсно хочете закрити його?];[Обміняти Кольори;Стандартно: Білий та Чорний]];[завантажено;додано;Переместити напрямну;Видалити напрямну;Додати напрямну;Завантаження;Завантажити VAR0];[Галерея фільтрів;[[Пластика;[Розмазати;Реконструювати;Розгладжувати;Twirl;Стиснути;Надути;Переміщення ліворуч;Заморозити;Розморозити]];[Корекція лінз об'єктива]];Розмивання;[Середнє значення;Розмивання;Розмити більше;Розмивання Квадратом;Розмивання Гауса;Розмивання при малій глибині різкості;Розмивання в Русі;Радіальне Розмиття;Розмивання за Фігурою;\"Розумне\" Розмивання;Розмивання по Поверхні];Спотворення;[Зміщення;Стискання;Полярні координати;Брижі;Нахил;Сферизація;Wave];Шум;[Додати Шум;Ретуш;Пил та Подряпини;Медіана];Оформлення;[Півтон кольору;Кристалізувати;Грань;Фрагмент;Меццо-тінто;Мозаїка;Пуантілізм];Відмалювати;[Хмари;Хмари з накладанням;Відблиски];Посилити різкість;[Посилити різкість;Посилити різкість країв;Ще Посилити різкість;\"Розумна\" Різкість;Контурна Різкість];Стилізувати;[Діффузія;Тиснення;Видавлення;Виявлення Контурів;Масляна фарба];Інше;[Власна;Фільтр верхніх частот;Максимум;Мінімум;Зсув;Повторити];[Невизначений Район;Встановити як Прозорий;Повторити пікселі краю;Огортання;Останній фільтр;Перегляд]];[Шаблони;[Фільтр шрифтів;Ключові слова;Випадкові];[З символами;З фото];[Мініатюри;Список]]", + "[קובץ;ערוך;תמונה;שכבה;תיקייה;בחר;מסנן;תצוגה;חלון;שפה;היכנס;צא;צור תרגום;[חשבון;תנאי שימוש;חזור;אודות;דיווח על שגיאה;למד];עוד;נושא;השתמש בספריה מקוונת;[Photopea: עורך תמונות מתקדמות;מערכת באינטרנט לעריכת קבצים מסוג PSD, XCF, Sketch, XD, CRR;צור תמונה חדשה או פתח קבצים קיימים מהמחשב שלך. שמור את עבודתך כ- PSD (קובץ - שמור כ- PSD) או כ- JPG / PNG / SVG (קובץ - ייצוא).;הצע פיצ'רים חדשים ב שלנו או ב<פייסבוק>. המטרה שלנו היא ליצור את <עורך התמונות הזול והמתקדם ביותר>;הקישור של נותנים החסות ייפתח בחלון חדש;;]];[פתח;פרסם ברשת;שמור;שמור כקובץ PSD;הדפס;פתח מכתובת רשת;פתח מהמחשב שלך;התחבר עם גוגל דרייב;יצא כקובץ;ייצא שכבות;תסריט;פתח ומקם;סגור;אחסון מקומי;];[קדימה;אחורה;נקה;מלא;המר;סובב;הפוך VAR0;קנה מידה VAR0;לבטל;פרספקטיבה;[שילוב אוטומטי;];דהייה;];התאמות;[בהירות / ניגודיות;דרגות;עקומות;רמת חשיפה;חיוניות;גוון / רוויה;איזון צבע;שחור לבן;מסנן תמונה;מערבל ערוצים;חיפוש צבע;הפוך;פוסטריזציה;סף;מפת מעבר צבע;התאמת צבעים;[גוון אוטומטי;ניגודיות אוטומטית;צבע אוטומטי];החלף צבע];[גזור;העתק;הדבק;חדש;מחק;אפשר;השבת;העתק מאוחדים;החל;שוב;עדכן תוכנה];[שכפל שכבה;שכבת התאמה חדשה;שורון סריקה;מסיכה וקטורית;הוסף (הראה הכול);[הוסף (הסתר הכול);הצג בחירה;הסתר בחירה;משקיפות];[מסיכת חיתוך;מצב \"מסכה מהירה\"];המר לעצם חכם;הפוך למפת סיביות;קבץ שכבות;מזג מטה;מזג מעלה;[מזג שכבות;שיטוח התמונה];שכבה חדשה;אפשר מסיכת סיביות;בטל מסיכת סיביות;אפשר מסיכת וקטור;בטל מסיכת וקטור;אפשר מסיכת חיתוך;בטל מסיכת חיתוך;תיקייה חדשה;הוסף מסיכת סיביות;מחק מסיכת סיביות;הוסף מסיכת וקטור;בטל מסיכת וקטור;קשר מסיכת סיביות;נתק מסיכת סיביות;חבר מסיכת וקטור;נתק מסיכת וקטור;אפשר אפקטי שכבה;השבת אפקטי שכבה;מחק שכבה;שינוי שקיפות שכבה;שינוי ערבוב;הפוך שכבת סגנון לפיקסלים;סדר שכבות;[יצירת אובייקט חכם;עדכון אובייקט חכם;הצבת אובייקט חכם;מקור (אוביקט חכם);];שינוי שם;שינוי צבע;ערוך שכבת התאמה;המר לצורה;אפשר מסיכת פילטר;בטל מסיכת פילטר;אפשר מסננים חכמים;השבת מסננים חכמים;הוסף מסיכת פילטר;מחק מסיכת פילטר;נקה מסננים חכמים;[[מילוי צבע אחיד;מילוי הדרגתי;מילוי דוגמה;מבוסס-תוכן];שכבת מילוי חדשה;שנה שכבת מילוי];שכבה דרך העתקה;מסיכת פילטר;מחק שכבת סגנון;הזז פילטר חכם;מחק פילטר חכם;[קשר שכבות;בטל קישור שכבות];סדר;[העבר לקדמה;העבר קדימה;העבר אחורה;העבר לרקע];[שכבה נעולה.;נעל שינויים;];sdf];[הכל;בטל בחירה;הפוך בחירה;שנה;הרחב;צמצם;נוצה;הזז בחירה;טווח צבעים;גבול;הזז בחירה;לטש קצוות;אחה בחירה;];[הגדל;הקטן;קווי עזר;סרגלים;רשת;צלם;צלם אל;גבולות מסמך;רשת פיקסלים;שבילים;דבק לפיקסל;[פרוסות;הגדרות חיתוך];הצג];[היסטוריה;שכבות;מאפיינים;מברשת;אות;פסקה;מידע;מרכיבי שכבה;דוגמיות;פעולות;היסטוגרמה;הניווט;;];[כלי מברשת;כלי שכפול;כלי גזירה;כלי מחק;בחירה אליפטית;טפטפת;כלי גרדיאנט;כלי יד;כלי דפוס;בחירת לאסו;בחירת לאסו מגנטי;כלי הזזה;מטה הקסם;כלי דלי צבע;בחירת לאסו פוליגוני;בחירה מלבנית;שינוי חופשי;זכוכית מגדלת;כלי עירפול;כלי חידוד;כלי מריחה;כלי הבהרה;כלי שריפה;כלי ספוג;כלי מברשת איחוי כתמים;כלי מברשת איחוי;כלי טלאי;בחירת נתיב;בחירה ישירה;עט;עט חופשי;צורה מותאמת אישית;מרובע;אליפסה;צורה פרמטרית;קו;סרגל;בחירה מהירה;עפרון;חתך פרספקטיבה;כלי פריסה;כלי בחירת פריסה;החלפת צבעים;כלי עיניים אדומות;בחירת אוביקט;מחק רקע;;;asdasf;];[צלם תמונה;בוחר צבע;עורך קו מתאר;גודל בד ציור;שכפל לתוך ...;עורך גרדיאנט;סגנון שכבה;מיזם חדש;שמור עבור הצגה ברשת;עוות;גודל תמונה;הפוך מפת סיביות לוקטור;[קיטום;חתוך;];קיצורי מקלדת;הוסף מדריכים;[;]];[שקיפות;אפקטים;בהירות;[ניגודיות;];ערוץ;חשיפה;היסט;תיקון גמא;גוון;רוויה;בהירות;צבע;טווח;חיוניות;[גודל;אינטרפולציה;השכן הקרוב;ביליניארית];זווית;עגלגלות;קשיות;ריווח;[סגנון ערבוב;ערבב אם];גודל דגימה;קונטור;סגנון;[הפוך;;];סבילות;רציף;מלא;השתמש בזווית גלובלית;מרחק;פרוס;רעש;הפל את הצל;טכניקה;כיוון;עומק;ריכוך;מצב;גרדיאנט;קנה מידה;יישר בהתאם לשכבה;מיקום;רוחב;גובה;יעד;הקלד;רקע קדמי;רקע;התאמה אישית;שם;צור;תבנית;שמור יחס רוחב גובה;[איכות;דפים];שכפל;הזז;מסננים חכמים;מחוג;כמות;תפרוסת;[אחד;פרוס];חד גוני;גודל תא;דוגמה;זרימה;חוזק;הגן על פרט;סוג מילוי;מרקם;ריצוד;קצה;מקור;יעד;ערוצים;מסיכה;צפיפות;מיושר;[שביל;צורה;פיקסלים;אינצ'ים;סנטימטרים;מילימטרים;אחוזים];צורות;צדדים;העדפות;[אורך;יחס;הכול;סוג תשבוץ;יסומטרי;דבק תשבוץ;יחידות מידה];הפחת רעש;צבעים;מרחקים;דרג;בחר אוטומטית;מצא;הגדר חדש;[תמונה;מסך;נייד;פרסומות;הדפס];[חינם;יחס קבוע;גודל קבוע];עזרה;[צורות חיות;ערוך צורות חיות;אותם רדיוסים];רמת טשטוש;[פוליגון;כוכב;ספירלי;מרובע];[רדיוס פינה;רדיוס פנימי]];[צבע;[כלום;אדום;כתום;צהוב;ירוק;כחול;סגול;אפור;לבן;שקוף;שחור;תכלת;מגנטה;ניטראלי];סך הכל;אבסולוטי;שמור בהירות];[הטל צל;צל פנימי;זוהר חיצוני;זוהר פנימי;שפוע ו הבלטה;כיסוי צבע;כיסוי הדרגתי;כיסוי תבנית;סאטן;משיכת קולמוס;אפשרויות מיזוג;];[צורת חוד;דינמיקות קצה;פיזור;דינמיקות צבע;[ריצוד גודל;קוטר מזערי;ריצוד זווית;ריצוד עגלגלות;עגלגלות מזערית];[ריצוד מיקום;מספר;ריצוד מספר פריטים];[ריצוד צבע רקע/צבע חזית;ריצוד גוון;ריצוד רוויה;ריצוד בהירות];[בחר מקור לשכפול על ידי החזקת מקש Alt ולחיצה על התמונה;סמן רקע קדמי בלבן, רקע אחורי בשחור ואזור לא ידוע באפור;שכבה אינה ניתנת לעריכה;עליך קודם להפוך את שכבת הטקסט לפיקסלים;עליך קודם להפוך את האובייקט החכם לפיקסלים;בחר שכבות מרובות;ישר שכבה;קודם יש לפתוח קובץ;סגור חלון זה קודם;רק לכלי נוכחי];[הקלט;;פעולה חדשה];[;];[רגיל;Dissolve;Darken;Multiply;Color Burn;Linear Burn;Darker Color;Lighten;Screen;Color Dodge;Linear Dodge;Lighter Color;Overlay;Soft Light;Hard Light;Vivid Light;Linear Light;Pin Light;Hard Mix;Difference;Exclusion;Subtract;Divide;Hue‏‏;Saturation;Color;Luminosity;Pass Through]];[מרווח אנכי בין שורות;מרווח בין תווים בשורה;הזחה של קו הבסיס;[;]];[כל השכבות;שכבה נוכחית;בחירה;שכבה נוכחית ומתחתיה];[החלף;איחוד;הבדל;הצטלבות;או' בררני';מזג];[[קווי;מחוגי;זווית;משתקף;צורת יהלום;התפרצות צורה];[רך יותר;מדויק];[שיקוע חיצוני;שיקוע פנימי;תבליט;הבלטת כרית;הבלטה קווית;];[החלק;מפסלת קשה;מפסלת רכה;חלקות];[מעלה;מטה];[חוץ;מרכז;פנים;ממרכז];[צללים;גווני ביניים;אזורי האור];[הפחתת רוויה;רוויה];[קטן;בינוני;גדול];[;פינות;]];[בחר את העצם תחת הסמן;בקרי שינוי צורה;הגדלה לגודל אמיתי;התאם את השטח;[יישור לקצוות השמאליים;יישור לאמצע אופקי;יישור לקצוות ימניים;יישר לקצה העליון;יישר למרכז;יישור לקצה תחתון;ריווח שווה]];[הדבק אל;מיזם נוכחי;מיזם חדש;כושר אבחנה;התווסף אל המיזם הנוכחי.;מיזם חדש נוצר;גישה אל המצלמה נדחתה];[כיוון;כופף;עיוות אופקי;עיוות אנכי;[אופקי;אנכי;אופקית;אנכית];[כלום;קשת;קשת תחתונה;קשת עליונה;קשת;בליטה;צדפה תחתונה;צדפה עליונה;דגל;גל;דג;עלייה;עין הדג;נפח;מחץ;סיבוב;מותאם אישית];[גופן;אינו זמין;יעובד באמצעות;;בטוח שברצונך לסגור?];[החלפת צבעים;ברירת מחדל: לבן ושחור]];[טעון;נוסף;הזז קו עזר;הסר קו עזר;הוסף קו עזר;טעינה;טען VAR0];[גלריית פילטרים;[[נזילות;[מריחה;שחזור;החלק;סחרור;כיווץ;ניפוח;דחיפה ימינה;הקפאה;ביטול הקפאה]];[תיקון עדשות]];טשטוש;[ממוצע;טשטש;טשטש עוד;טשטוש קופסה;טשטוש מתפרש;טשטוש עדשה;טשטוש תנועה;טשטוש מחוגי;טשטש צורה;טשטוש חכם;טשטש משטח];עוות;[;;;;;;גל];רעש;[הוסף רעש;הסר כתמים;אבק ושריטות;חציון];פקסל;[;;;קטע;מצוטינט;פסיפס;הפוך לנקודות];עבד;[עננים;;];חדד;[חדד;חדד קצוות;חדד עוד;חידוד חכם;מסיכה ללא חידוד];סגנן;[;;;מצא קצוות;];אחר;[התאמה אישית;;מקסימום;מינימום;היסט;];[אזור לא מוגדר;קבע כשקוף;;עטוף סביב;סינון אחרון;תצוגה מקדימה]];[תבניות;[מסנן גופן;מילות מפתח;אקראי];[עם סמלים;עם תמונה];[תמונות ממוזערות;רשימה]]", + "[Datoteka;Uređivanje;Slika;Sloj;Mapa;Odabir;Filter;Prikaz;Prozor;Jezik;Prijava;Odjava;Stvori prijevod;[Račun;Uvjeti korištenja;Natrag;O aplikaciji;Prijavite pogrešku;Nauči se];Ostalo;Tema;Koristi WebGL;[Photopea: napredni uređivač slika;Besplatni online urednik koji podržava PSD, XCF, Sketch, XD i CDR formate.;Izradite novu sliku ili otvorite postojeće datoteke s računala. Spremite svoj rad kao PSD (Datoteka - Spremi kao PSD) ili kao JPG / PNG / SVG (Datoteka - Izvezi kao).;Predložite nove značajke na našim ili . Naš je cilj stvoriti .;Sponzorske veze otvorene u novom prozoru.;;]];[Otvori;Objavi;Spremi;Spremi kao PSD;Ispis;Otvori URL;Učitati s računala;Poveži s Google Drive;Izvezi kao;Izvezi slojeve;Skripta;Otvori i Postavi;Zatvori;Lokalne pohrane;];[Korak naprijed;Korak natrag;Očisti;Ispuna;Transformacija;Okreni;Okrenite VAR0;Skaliranje VAR0;Poništi / Ponovi;Perspektiva;[Automatski miješaj;];Izblijedjeti;];Prilagođavanja;[Svjetlost/Kontrast;Razine;Krivulje;Ekspozicija;Živost boja;Nijansa / Zasićenje;Balans boje;Crno i bijelo;Filter fotografije;Mikser kanala;Pronalaženje boja;Obrni;Posteriziraj;Prag;Karta gradijenta;Selektivna boja;[Automatski ton;Automatski kontrast;Automatska boja];Zamijeni boju];[Izreži;Kopiraj;Zalijepi;Novo;Izbriši;Omogući;Onesposobiti;Kopiraj stopljeno;Primjeni;Ponovi radnju;Ažuriraj];[Dupliciraj sloj;Novi podešavajući sloj;Rasterska maska;Vektorska maska;Dodaj (Prikaži sve);[Dodaj (Sakrij sve);Otkrij odabir;Sakrij odabir;Od transparentnosti];[Maska isječka;];Pretvori u Pametni Objekt;Rasteriziraj;Grupiraj slojeve;Spoji donje;Spoji gornje;[Spoji slojeve;Spoji sve slojeve];Novi sloj;Omogući rastersku masku;Onesposobiti rastersku masku;Omogući vektorsku masku;Onesposobiti vektorsku masku;Omogući masku isječka;Onesposobiti masku isječka;Nova mapa;Dodaj rastersku masku;Izbriši rastersku masku;Dodaj vektorsku masku;Izbriši vektorsku masku;Poveži rastersku masku;Prekini vezu rastersku masku;Poveži vektorsku masku;Prekini vezu vektorsku masku;Omogući efekte sloja;Onesposobiti efekte sloja;Izbriši sloj;Promjena providnosti sloja;Promjena Miješanja;Rasteriziraj stil sloja;Redoslijed slojeva;[Stvaram Pametni Objekt;Osvježavam Pametni Objekt;Postavljam Pametni Objekt;Izvor (Pametni Objekt);];Promjena imena;Promjena Boje;Uredi sloj za postavke;Pretvori u Oblik;Omogući masku filtera;Onesposobiti masku filtera;Omogući pametne filtere;Onesposobiti pametne filtere;Dodaj masku filtera;Obriši masku filtera;Očisti pametne filtere;[[Ispunjenje punom bojom;Popuna gradijentom;Ispunjenje uzorkom;Svijest o sadržaju];Novi sloj popune;Uredi sloj popune];Sloj preko kopiranja;Maska filtera;Obriši stil sloja;Pomakni pametni filter;Izbriši pametni filter;[Poveži slojeve;Prekini vezu slojeve];Posloži;[Pomakni na vrh;Pomakni naprijed;Pomakni nazad;Pomakni na kraj];[Ovaj sloj je zaključan.;Zaključaj promjenu;];];[Sve;Odznači;Inverzija;Promjeni;Proširi;Suzi;Pero;Pomjeri označeno;Raspon Boja;Rub;Preobrazi označeno;Poboljšaj Rub;Zaliječi označeno;];[Približi;Udalji;Vodiči;Ravnala;Mreža;Poravnaj;Poravnaj s;Granice Dokumenta;Mreža piksela;Putanje;Poravnaj s piksele;[Kriške;];];[Povijest;Slojevi;Prilagodi;Četka;Znak;Paragraf;Informacije;Kompozicije sloja;Színtár;Radnje;Histogram;Navigator;Konfiguracija alata;];[Četka;Alat za kloniranje;Alat za obrezivanje;Alat za brisanje;Odabir elipse;Kapaljka;Alat za gradijent;Ruka (slobodno pomjeranje);Tekst;Laso;Magnetni laso;Pomicanje;Magični štapić;Kantica s bojom;Poligonalni laso odabir;Pravokutni odabir;Slobodna transformacija;Zumiranje;Zamagljivanje;Izoštravanje;Razmazivanje;Alat za zatamnjivanje;Alat za posvjetljavanje;Spužva;Liječenje mrlje;Četka za liječenje;Alat za krpanje;Odabir staze;Direktni odabir;Kemijska;Slobodna kemijska;Prilagođen oblik;Pravokutnik;Elipsa;Parametarski oblik;Linija;Ravnalo;Brzi odabir;Olovka;Obrezivanje perspektive;Alat za kriške;Alat za odabir kriške;;;;;;;;];[Snimite fotografiju;;Uređivač obrisa;Veličina radne površine;Napravi kopiju;Uređivač gradijenta;Stil sloja;Novi Projekt;Spremi za web;Iskrivi;Veličina slike;Vektoriziraj bitnu mapu;[Skrati;Usjev;];Tipkovničke Prečice;Dodaj vodiče;[;]];[Providnost;Efekti;Svjetlost;[Kontrast;Koristi kompatibilnost];Kanal;Ekspozicija;Ofset;Gama ispravak;Nijansa;Zasićenost;Svjetlina;Kolorizacija;Domet;Živost boja;[Veličina;Interpolacija;Najbližeg susjeda;Bilinearna];Kut;Oblina;Tvrdoća;Razmaci;[Vrsta Miješanja;Izmješaj ako];Veličina uzorka;Kontura;Stil;[Preokreni;Relativno;Sidro];Tolerancija;Granični;Ispuniti;Koristi globalni kut;Udaljenost;Proširi;Šum;Izbaci padnu sjenu;Tehnika;Smjer;Dubina;Ublaži;Način;Gradijent;Skala;Poravnaj sa slojem;Pozicija;Širina;Visina;Destinacija;Vrsta;Prvi plan;Pozadina;Prilagođeno;Naziv;Stvori;Format;Zadrži Omjer;[Kvaliteta;Stranice];Napravi duplikat;Pomjeri;Pametni filtri;Radius;Količina;Raspodjela;[Jednolično;Gaussov];Monokromatski;Veličina Ćelije;Uzorak;Tok;Snaga;Zaštiti detalj;Vrsta ispune;Tekstura;Nervoza;Rub;Izvor;Cilj;Kanali;Maska;Gustoća;Poravnanje;[Put;Oblik;Pikseli;Inči;Centimetri;Milimetri;Procenat];Oblici;Strane;Postavke;[Dužina;Omjer;Bilokoji;Vrsta mreže;Izometrijska;Veličina mreže;Jedinice ravnala];Smanji šum;Boje;Udaljenosti;Stopa;Automatski odabir;Nađi;Definiraj novi;[Fotografija;Zaslon;Mobitel;Reklame;Štampanje];[Slobodno;Fiksni omjer;Fiksna veličina];Upomoć;[Živi Oblik;Uredi Živi Oblik;Isti radijusi];Maljavost;[Poligon;Zvijezda;Spirala;Kvadrat];[Radijus kuta;Unutarnji radijus]];[Boja;[Ništa;Crvena;Narančasta;Žuta;Zelena;Plava;Ljubičasta;Siva;Bijela;Prozirno;Crna;Cijan;Magenta;Neutralna];Sveukupna;Apsolutna;Zadrži luminoznost];[Padna sjena;Unutarnja sjena;Vanjska sjena;Unutarnji sjaj;Nagib i klesanje;Overlay boja;Overlay gradijenta;Overlay uzorka;Saten;Zamah;Mogućnosti miješanja;Izaberi piksele];[Oblik ruba;Dinamičnost ruba;Rasprši;Dinamičnosti boja;[Vibracija veličine;Minimalni promjer;Vibracija ugla;Vibracija obline;Minimalna oblina];[Vibracija položaja;Zbroj;Vibracija broja];[Vibracija prednje strane i pozadine;Vibracija boje;Vibracija zasićenosti;Vibracija svjetlosti];[Odaberite izvor klonova tako da držite Alt (ili K) i kliknete na sliku.;Označite prednji plan s bijelom, pozadinom s crnom, a nepoznato područje sa sivom.;Sloj se ne može uređivati.;Tekstni sloj mora biti prvo rasteriziran;Pametni Objekt mora biti prvo rasteriziran;Odaberite više slojeva;Poravnajte sloj;Najprije otvorite dokument.;Najprije zatvorite trenutnu prozor.;Samo trenutni alat];[Snimi;Novi skup radnji;Nova radnja];[Kontrole neprozirnosti za pritisak olovke;Kontrole veličine za pritisak olovke];[Normalno;Razlaganje;Potamnjivanje;Umnožavanje;Gorenje boje;Linearno gorenje;Tamnija boja;Posvjetljivanje;Ekran;Izbjegavanje boje;Linearno izbjegavanje;Lakša boja;Prekrivka;Meko svjetlo;Teško svjetlo;Živahno svjetlo;Linearno svjetlo;Lagano pribosti;Tvrda mješavina;Razlika;Isključenje;Oduzeti;Podijeliti;Nijansa;Zasićenje;Boja;Luminoznost;Proći kroz]];[Vodeće;Praćenje;Osnovna smjena;[Pretvori u tekst točke;Pretvori u tekst odlomka]];[Ukupni sadržaj;Trenutni sloj;Odabir;Trenutačno & Ispod];[Zamijeni;Ujedini;Razlika;Presjek;XOR;Spoji];[[Linearno;Radijalno;Kut;Odraženo;Dijamant;Prasak oblika];[Mekše;Precizno];[Vanjski nagib;Unutarnji nagib;Reljef;Uzglavni reljef;Udarni reljef;Širina linije];[Glatkost;Teško izdubi;Lagano izdubi;Glatkost];[Gore;Dole];[Vani;Sredina;Unutrašnjost;Iz centra];[Sjenke;Srednji tonovi;Naglasci];[Manje zasićenje;Zasićenje];[Mali;Srednji;Veliki];[Nastavci;Kutovi;Crtice]];[Odaberi objekt ispod kursora;Kontrole transformacije;Piksel do piksela;Ispuni površinu;[Poravnaj lijeve rubove;Centriraj horizontalno;Poravnaj desne rubove;Poravnaj gornje rubove;Centriraj vertikalno;Poravnaj donje rubove;Jednake praznine]];[Umetnuti u;Trenutni projekat;Novi Projekt;Rezolucija;Dodano u trenutni projekat;Novi projekt je stvoren.;Pristup kameri odbijen.];[Orijentacija;Iskrivi;Horizontalno iskrivljenje;Vertikalno iskrivljenje;[Horizontalno;Vertikalno;horizontalno;vertikalno];[Ništa;Luk;Donji luk;Gornji luk;Luk;Izbočina;Donja ljuska;Gornja ljuska;Zastava;Val;Riba;Uspon;Riblje Oko;Napuhati;Iscijediti;Uviti;Prilagođeno];[Font;nije dostupno;Izvršiti će se pomoću;Neki radovi nisu spremljeni u;Želite li ga doista zatvoriti?];[Razmijeni boje;Zadano: bijelo i crno]];[učitano;Dodano;Vodič za pomicanje;Vodič za brisanje;Vodič za dodavanje;Učitavanje;Učitaj VAR0];[Filtriraj galeriju;[[Otopiti;[Zamrljati;Rekonstruirati;Izgladiti;Vrtložiti;Umanji;Napuhnuti;Gurni lijevo;Zamrzni;Odmrzni]];[Korekcija objektiva]];Zamagli;[Prosječno;Zamagliti;Zamagli više;Kvadratno zamagljivanje;Gaussovo zamagljivanje;Objektivno zamagljivanje;Pokretno zamagljivanje;Radijalno zamaglivanje;Oblikovno zamagljivanje;Pametno zamagljivanje;Površno zamagljivanje];Izobličavanje;[Premještanje;Stegnuti;Polarne koordinate;Valovito;Smicanje;Sfera;Val];Šum;[Dodaj šum;Smanji efekt pjega;Prašina i ogrebotine;Srednja linija];Pikselizacija;[Poluton boja;Kristalizacija;Aspekt;Fragmentiranje;Mecotinta;Mozaik;Efekt uboda];Izvrši;[Oblaci;Razlika oblaci;Odsjaj sočiva];Izoštriti;[Izoštri;Izoštri rubove;Izoštri više;Pametno izoštravanje;Smanji izoštrenost maske];Podesiti prema stilu;[Difuzno;Reljef;Utiskivanje;Pronađi rubove;];Drugo;[Prilagođeno;Visina;Maksimum;Minimum;Ofset;Ponovi];[Nedefinisano područije;Podesi da bude providno;Ponovi rubne piksele;Zamotavanje;Posljednji filter;Pregled]];[Šabloni;[Font filteri;Ključne riječi;Nasumično];[S simbolima;S fotografijom];[Minijature;Popis]]", + "[Archivio;Modifica;Immagine;Livello;Cartella;Selezione;Filtro;Visualizza;Finestra;Lingua;Accedi;Disconnetti;Crea traduzione;[Account;Termini del Servizio;Indietro;Informazioni;Segnalare un bug;Apprendi];Di più;Tema;Usa WebGL;[Photopea: editor di immagini avanzato;Editor online gratuito che supporta i formati PSD, XCF, Sketch, XD e CDR.;Crea una nuova immagine o apri i file esistenti dal tuo computer. Salva il tuo lavoro come PSD (File - Salva come PSD) o come JPG / PNG / SVG (File - Esporta come).;Suggerisci nuove funzionalità nel nostro o . Il nostro obiettivo è creare .;Link degli sponsor si aprono in una nuova finestra.;Questa funzione non è disponibile.;Installa Photopea]];[Apri;Pubblica online;Salva;Salva come PSD;Stampa;Apri da URL;Apri da computer;Connetti a Google Drive;Esporta come;Esporta livelli;Script;Apri & posiziona;Chiudi;File locali;];[Passo avanti;Passo indietro;Pulisci;Riempi;Trasforma;Ruota;Inverti VAR0;Scala VAR0;Indietro / Rifai;Prospettiva;[Fusione automatica;Allineamento automatico];Dissolvi;Applica immagine];Aggiustamenti;[Luminosità/Contrasto;Livelli;Curve;Esposizione;Vibrance;Tinta/Saturazione;Bilanciamento del ceolor;Bianco e Nero;Filtro Fotografico;Mixer di canale;Ricerca Colore;Inverti;Posterizza;Soglia;Mappa sfumatura;Colore Selettivo;[Tono automatico;Contrasto automatico;Colore automatico];Sostituzione Colore];[Taglia;Copia;Incolla;Nuovo;Elimina;Abilita;Disabilita;Copia elementi uniti;Applica;Ancora;Aggiorna];[Duplica livello;Nuovo Livello di aggiustamento;Maschera raster;Maschera vettoriale;Aggiungi (Mostra Tutto);[Aggiungi (Nascondi Tutto);Mostra selezione;Nascondi selezione;Da trasparenza];[Maschera di ritaglio;Maschera veloce];Converti in Oggetto Smart;Rendi in Bitmap;Raggruppa livelli;Unisce sotto;Unisce sopra;[Unisci livelli;Unico livello];Nuovo livello;Abilita maschera raster;Disabilita maschera raster;Abilita maschera vettoriale;Disabilita maschera vettoriale;Abilita maschera di ritaglio;Disabilita maschera di ritaglio;Nuova Cartella;Aggiungi maschera raster;Elimina maschera raster;Aggiungi maschera vettoriale;Elimina maschera vettoriale;Collega maschera raster;Scollega maschera raster;Collega maschera vettoriale;Scollega maschera vettoriale;Abilita effetti del livello;Disabilita effetti del livello;Elimina livello;Cambia opacità livello;Cambia fusione;Rasterizza stile livello;Ordine livello;[Creazione Oggetto Smart;Aggiornamento Oggetto Smart;Posizionamento Oggetto Smart;Fonte (Oggetto Smart);Metodo serie di immagini];Cambia nome;Cambia Colore;Modifica Livello di aggiustamento;Converti in forma;Abilita maschera filtro;Disabilita maschera filtro;Abilita Filtri intelligenti;Disabilita filtri intelligenti;Aggiungi maschera filtro;Elimina maschera filtro;Pulisci filtri intelligenti;[[Riempimento di colore uniforme;Riempimento sfumatura;Riempimento pattern;In base al contenuto];Nuovo Livello di riempimento;Modificare livello di riempimento];Crea livello da copia;Maschera filtro;Elimina lo stile del livello;Muovi filtro intelligente;Elimina filtro intelligente;[Collega livelli;Scollega livelli];Organizza;[Porta in cima;Porta avanti;Manda indietro;Manda in fondo];[Questo livello è bloccato.;Cambia blocco;Blocca];];[Tutto;Deseleziona;Inverso;Modifica;Espandi;Contrai;Sfuma;Sposta selezione;Intervallo colori;Contorno;Trasforma selezione;Migliora bordo;Correggi la selezione;];[Ingrandisci;Riduci;Guide;Righelli;Griglia;Attacca;Attacca a;Limiti del documento;Griglia pixel;Tracciati;Attacca a pixels;[Sezioni;Opzioni sezione];Mostra];[Cronologia;Livelli;Proprietà;Pennello;Carattere;Paragrafo;Info;Composizioni livelli;Campioni;Azioni;Istogramma;Navigazione;Strumenti predefiniti;Glifi];[Strumento pennello;Strumento Clone;Strumento Ritaglia;Strumento Gomma;Seleziona ellittica;Contagocce;Strumento sfumatura;Strumento Mano;Strumento Font;Selezione con Lazo;Selezione con Lazo magnetico;Strumento Sposta;Bacchetta Magica;Strumento Secchiello;Seleziona con Lazo poligonale;Selezione rettangolare;Trasformazione libera;Strumento Zoom;Strumento Sfoca;Strumento Nitidezza;Strumento Sfumino;Strumento Scherma;Strumento Brucia;Strumento Spugna;Pennello correttivo al volo;Pennello correttivo;Strumento Toppa;Selezione tracciato;Selezione Diretta;Penna;Penna a mano libera;Forma Personale;Rettangolo;Punto Ellittico;Forma parametrica;Linea;Righello;Selezione rapida;Strumento matita;Ritaglio Prospettico;Sezione;Selezione sezioni;Sostituzione colore;Occhi Rossi;Selezione oggetti;Gomma per sfondo;Alterazione marionetta;Ruota vista;Scala in base al contenuto;Sposta in base al contenuto];[Scatta una foto;Tavoletta Colori;Editor Contorni;Dimensione quadro;Duplica in ...;Editore sfumatura;Stile Livello;Nuovo progetto;Salva per il web;Altera;Dimensione immagine;Bitmap vettorizzata;[Rifila;Ritagliare;Mostra Tutto];Scorciatoie da tastiera;Aggiungi guide;[Cancella guide;Guide dal livello]];[Opacità;Effetti;Luminosità;[Contrasto;Usa la vecchia procedura];Canale;Esposizione;Spostamento;Correzione Gamma;Tonalità;Saturazione;Luminosità;Colorare;Range;Vibrazione;[Dimensione;Interpolazione;Vicina più prossima;Bilineare];Angolo;Rotondità;Durezza;Spaziatura;[Metodo fusione;Fondi se];Dimensione di prova;Contorno;Stile;[Inverso;Relativo;Ancoraggio];Tolleranza;Contiguo;Riempi;Usa angolo globale;Distanza;Propagazione;Rumore;Setta fuori ombra;Tecnica;Direzione;Profondità;Ammorbidire;Modalità;Sfumature;Scala;Allinea con livello;Posizione;Larghezza;Altezza;Destinazione;Tipo;Primopiano;Sfondo;Personale;Nome;Crea;Formato;Mantieni proporzioni;[Qualità;Pagine];Duplica;Muovi;Filtri intelligenti;Raggio;Totale;Distribuzione;[Uniforma;Sfoca];Monocromatico;Dimensione cella;Pattern;Flusso;Intensità;Protezione dettagli;Tipo di riempimento;Trama;Jitter;Margine;Fonte;Obbiettivo;Canali;Maschera;Densità;Allineato;[Tracciato;Forma;Pixels;Pollici;Centimetri;Millimetri;Percentuale];Sfumature;Lati;Preferenze;[Lunghezza;Rapporto;Qualsiasi;Tipo di griglia;Isometrico;Distanza griglia;Unità righello];Riduci rumore;Colori;Distanze;Velocità;Selezione-Automatica;Trova;Definisci nuovo;[Foto;Schermo;Dispositivo Mobile;Pubblicità;Stampa];[Libero;Proporzione Fissa;Misura fissa];Aiuto;[Forma Viva;Modifica Forma Viva;Stesso raggio];Sfocatura;[Poligono;Stella;Spirale;Quadrato];[Raggio d'Angolo;Raggio Interno]];[Colore;[Vuoto;Rosso;Arancione;Giallo;Verde;Blu;Viola;Grigio;Bianco;Trasparente;Nero;Ciano;Magenta;Neutro];Totale;Assoluto;Mantenere la Luminosità];[Ombra;Ombra interna;Bagliore esterno;Bagliore interno;Smussatura e rilievo;Sovrapposizione colore;Sovrapposizione sfumatura;Sovrapposizione pattern;Satinato;Contorno;Opzioni di fusione;Seleziona pixels];[Forma della punta;Dinamica della forma;Diffusione;Dinamica dei colori;[Regola dimensione;Diametro minimo;Regola angolo;Regola rotondità;Rotondità minima];[Regola posizione;Conta;Regola Conteggio];[Regola Primopiano/Sfondo;Regola Tonalità;Regola saturazione;Regola luminosità];[Seleziona la sorgente da clonare tenendo premuto Alt e facendo clic sull'immagine.;Segna il Primo Piano con Bianco, Sfondo con Nero e le aree sconosciute con Grigio;Livello non modificabile.;Il Livello Testo deve prima essere rasterizzato;L'Oggetto Smart deve prima essere rasterizzato;Seleziona livelli multipli;Raddrizza strato;Per prima cosa apri un documento.;Per prima cosa chiudi la finestra corrente.;Solo strumento attivo];[Registra;Nuovo set di azioni;Nuova azione];[Pressione dello Stilo controlla l'Opacità;Pressione dello Stilo controlla la Dimensione];[Normale;Dissolvi;Scurisci;Moltiplica;Colore brucia;Brucia lineare;Colore più scuro;Schiarisci;Scolora;Colore scherma;Scherma lineare;Colore più chiaro;Sovrapponi;Luce soffusa;Luce intensa;Luce vivida;Luce lineare;Luce puntiforme;Miscela dura;Differenza;Esclusione;Sottrai;Dividi;Tonalità;Saturazione;Colore;Luminosità;Attraversa]];[Interlinea;Traccia;Spostamento linea di base;[Converti in Testo Punto;Converti in Testo Paragrafo]];[Tutti;Livello attuale;Selezione;Attuale e sotto];[Sostituisci;Unione;Differenza;Intersezione;XOR;Unisci];[[Lineare;Radiale;Angolo;Riflesso;Diamante;Shape Burst];[Ammorbidisci;Preciso];[Smusso Esterno;Smusso Interno;Effetto rilievo;Effetto Rilievo Pillow;Effetto Rilievo Stroke;Spessore della traccia];[Arrotonda;Scalpello (duro);Scalpello (soft);Omogeneità];[Su;Giù];[Fuori;Centro;Dentro;Dal Centro];[Ombre;Mezzitoni;Luci];[Togli saturazione;Satura];[Piccolo;Medio;Grande];[Tracejada;Angoli;Trattini]];[Seleziona l'oggetto sotto il cursore;Controlli trasformazione;Pixel per pixel;Riempi l'area;[Allinea i bordi a SX;Centra orizzontalmente;Allinea i bordi a DX;Allinea i bordi in alto;Centra verticalmente;Allinea i bordi in basso;Spazi Uguali]];[Inserisci in;Progetto attuale;Nuovo progetto;Risoluzione;Aggiunto al corrente progetto;Un nuovo progetto è stato creato;L'accesso alla cam è stato negato];[Orientamento;Curva;Distorsione orizzontale;Distorsione verticale;[Orizzontale;Verticale;orizzontalmente;verticalmente];[Nessuno;Arco;Arco inferiore;Arco superiore;Arcata;Rigonfiamento;Arco conchiglia inf.;Arco conchiglia sup.;Bandiera;Onda;Pesce;Pendo;Grandangolo;Gonfio;Comprimi;Torsione;Personale];[Font;non è disponibile;Sarà rappresentato utilizzando;C'è lavoro non salvato in;Vuoi davvero chiuderlo?];[Inverti colori;Base: bianco e nero]];[caricato;aggiunto;Muovi guide;Elimina guide;Aggiungi guida;Caricamento;Carica VAR0];[Galleria filtri;[[Fluidifica;[Sbafa;Ricostruisci;Smussato;Rotea;Riduci;Gonfia;Spingi a Sinistra;Fissa;Rilascia]];[Correzione delle lenti]];Sfocatura;[Media;Sfocatura;Sfoca maggiormente;Controllo sfocatura;Sfocatura gaussiana;Sfocatura lente;Sfocatura movimento;Sfocatura radiale;Sfocatura Forma;Sfocatura Intelligente;Sfocatura Superficie];Distorci;[Sostituisci;Pizzica;Coordinate polari;Effetto Onde;Cesoia;Rendi Sferico;Onda];Disturbo;[Aggiungi disturbo;Smacchia;Polvere e grana;Mediana];Effetto pixel;[Colore Mezzitoni;Cristallizza;Sfaccettatura;Frammenta;Mezzetinte;Mosaico;Puntinatura];Rappresenta;[Nuvole;Nuvole differenziali;Riflesso obiettivo];Contrasta;[Contrasta;Contrasta Bordi;Contrasta maggiormente;Contrasto Intelligente;Maschera di contrasto];Stilizzazione;[Diffondi;Effetto rilievo;Estrusione;Trova Bordi;Pittura a olio];Altro;[Personale;Accentua Passaggio;Massimo;Minimo;Sposta;Ripeti];[Area indefinita;Imposta Trasparenza;Ripeti Pixel del Bordo;Involucro attorno;Ultimo filtro;Anteprima]];[Modelli;[Filtro font;Parole Chiave;Rendi casuale];[Con Simboli;Con Foto];[Miniature;Elenco]]", + "[Fișier;Editare;Imagine;Strat;Dosar;Selectează;Filtru;Vedere;Fereastră;Limbă;Logare;Ieșire;Creează traducere;[Cont;Termeni de Utilizare;Înapoi;Despre;Raportează o eroare;Învăța];Mai mult;Opțiuni temă;Folosește WebGL;[Photopea: Editor de imagini avansate;Editor gratuit online care acceptă formatele PSD, XCF, Sketch, XD și CDR.;Creați o imagine nouă sau deschideți fișierele existente de pe computer. Salvați munca dvs. ca PSD (Fișier - Salvează ca PSD) sau ca JPG / PNG / SVG (Fișier - Exportează că și).;Sugerați noi caracteristici la sau . Scopul nostru este de a crea .;Linkurile sponsorului se deschid într-o fereastră nouă.;;]];[Deschide;Publică online;Salvează;Salvează ca PSD;Printează;Deschideți de la URL;Deschideți din computer;Conectează-te cu Google Drive;Exportează că și;Exportează straturi;Script;Deschide & Pune;Închide;Stocare locală;];[Dă cu un pas înainte;Dă cu un pas înapoi;Curăță;Umplere;Transformă;Rotește;Rotiți VAR0;Scala VAR0;Anulează / Refă;Perspectivă;[Auto-Nuanțare;];Spălăci;];Ajustări;[Strălucire/Contrast;Nivele;Curbe;Expunere;Vibranță;Nuanță/Saturație;Echilibrare culori;Alb-negru;Filtru de fotografie;Mixer de canale;Caută culoare;Inversează;Posterizează;Prag;Hartă de gradient;Culoare selectivă;[Ton automat;Contrast automat;Culoare automată];Înlocuiți culoarea];[Taie;Copiază;Lipește;Nou;Șterge;Activează;Dezactivează;Copiază straturi unite;Aplică;Din nou;Actualizați];[Multiplică strat;Nou strat de ajustare;Mască de rasterizare;Mască vectorială;Adaugă (Arată tot);[Adaugă (Ascunde tot);Revelați selecția;Ascundeți selecția;Din transparență];[Mască de atașare;Quick Mask Mode];Schimbă ca obiect smart;Rasterizează;Grupează straturi;Unește în jos;Unește în sus;[Unește straturi;Flatten Image];Strat nou;Activează Masca de rasterizare;Dezactivează Masca de rasterizare;Activează Masca vectorială;Dezactivează Masca vectorială;Activează Masca de atașare;Dezactivează Masca de atașare;Dosar nou;Adaugă Mască de rasterizare;Șterge Masca de rasterizare;Adaugă Mască vectorială;Șterge Masca vectorială;Leagă Masca de rasterizare;Dezleagă Masca de rasterizare;Leagă Masca vectorială;Dezleagă Masca vectorială;Activează efectele de strat;Dezactivează efectele de strat;Șterge strat;Schimbă opacitatea stratului;Schimbă efectele de amestecare;Rasterizează stilul stratului;Ordinea straturilor;[Creează obiect smart;Actualizează obiectul smart;Plasează obiectul smart;Sursă (obiect smart);];Schimbă nume;Schimbă culoare;Editează stratul de ajustare;Schimbă în forma...;Activează Masca de filtre;Dezactivează masca de filtre;Activează filtrele Smart;Dezactivează filtrele Smart;Adaugă mască de filtre;Șterge masca de filtre;Curăță filtrele Smart;[[Umplere cu o culoare solidă;Umplere cu gradient;Umplere cu model;Conștient de conținut];Nou strat de umplere;Modifică stratul de umplere];Strat via copiere;Mască de filtre;Ştergere Stil Layer;Mutare Filtru Smart;Ştergere Filtru Smart;[Linkez straturi;Delinkeaza straturi];Aranjează;[Mută în fața;Mută înainte;Trimite înapoi;Trimite în spate];[Layerul este blocat.;Blochează schimbarea;];];[Tot;Deselectează;Invers;Modifică;Extinde;Strânge;Pană;Mută selecția;Rază de culori;Margine;Transformă selecția;Redefinire Margine;Vindecă selecția;];[Focalizează mai mult;Focalizează mai puțin;Ghiduri;Riglele;Grilă;Prinde;Prinde la;Limite Document;Grilă pixel;Cale;Prinde la pixeli;[Felii;Opțiuni de feliere];Arată];[Istoric;Straturi;Proprietăți;Pensulă;Caracter;Paragraf;Info;Compoziții de straturi;Specimene;Acţiuni;Histograma;Navigator;Presetări de unealtă;];[Unealtă Pensulă;Clonare;Decupare;Gumă de șters;Selectează cu Oval;Pipetă;Unealtă de gradient;Unealta Mână;Unealtă de Scris;Selectează cu Lasou;Selectează cu Lasou Magnetic;Mutare;Bagheta magică;Găleată de vopsea;Selectează ca Lasou Poligonal;Selectează cu Dreptunghi;Transformă în mod liber;Focalizare;Încețoșare;Evidențiere;Pătare;Evitare;Ardere;Burete;Pensulă de îndepărtare a petelor;Pensulă de îndepărtare;Unealtă de Petice;Selectează cale;Selectează direct;Stilou;Stilou liber;Formă originală;Dreptunghi;Oval;Formă parametrică;Linie;Riglă;Selecție rapidă;Creion;Trunchiere de Perspectivă;Ustensilă de feliere;Ustensilă de selectare felie;Înlocuire culoare;Unealtă ochi roșii;Selectare obiect;Ștergere fundal;Puppet Warp;;;];[Fă o poză;Selector de culoare;Editor de contur;Dimensiune pânză;Multiplică în ...;Editor de gradiente;Stil strat;Proiect nou;Salvează pentru Internet;Teleportează;Dimensiuni imagine;Vectorizare Bitmap;[Tăiere;Trunchiere;Reveal All];Comenzi rapide de la tastatură;Adaugă ghiduri;[Curăță ghiduri;Guides from Layer]];[Opacitate;Efecte;Strălucire;[Contrast;Utilizați algoritmul vechi];Canal;Expunere;Ofset;Corecție gamma;Nuanță;Saturație;Luminozitate;Vopsire;Rază;Vibranță;[Mărime;Interpolarea;Cel-mai-apropiat-vecin;Biliniară];Unghi;Rotunjire;Tărie;Spațiere;[Mod amestecare;Amestecare dacă];Mărime probă;Contur;Stil;[Schimbă înapoi;Relativă;Ancoră];Toleranță;Continuu;Umplere;Folosește unghi global;Distanță;Împrăștiere;Zgomot;Umbră pe dinafară;Tehnică;Direcție;Adâncime;Inmoaie;Mod;Gradient;Scala;Aliniază cu stratul;Poziție;Lățime;Înălțime;Destinație;Tip;Prim plan;Fundal;Personalizat;Nume;Creați;Format;Mențineți raportul de aspect;[Calitate;Pagini];Duplicat;Mișcă;Filtrele Smart;Rază;Cantitate;Distribuție;[Uniformă;Gaussian];Monocromatic;Dimensiunea celulei;Model;Curgere;Putere;Protecție detalii;Tip de umplere;Textură;Vibrație;Margine;Sursă;Țintă;Canale;Mască;Densitate;Aliniat;[Cale;Formă;Pixeli;Inci;Centimetri;Milimetri;Procent];Forme;Fețe;Preferințe;[Lungime;Raport;Orice;Tip de grilă;Izometrică;Spațiu dintre grile;Unități de riglă];Reducere zgomot;Culori;Distanţe;Rată;Selectare automată;Caută;Definiți nou;[Imagine;Ecran;Mobile;Reclame;Printuri];[Liber;Raport fix;Mărime fixă];Ajutor;[Formă în timp real;Editare formă în timp real;Aceleași raze];Neclaritate;[Poligon;Stea;Spirală;Pătrat];[Raza de colț;Raza interioară]];[Culoare;[Nimic;Roșu;Portocaliu;Galben;Verde;Albastru;Purpuriu;Gri;Alb;Transparent;Negru;Azuriu;Purpuriu;Neutră];Total;Absolut;Păstrați luminozitatea];[Umbră;Umbră interioară;Strălucire exterioară;Strălucire interioară;Echer si Grava;Suprapunere de culoare;Suprapunere de gradient;Suprapunere de model;Satin;Lovire;Opțiuni de amestecare;Selectează Pixeli];[Formă vârf;Tip dinamică;Împrăștiere;Dinamica culorilor;[Mărimea variația;Diametru minim;Unghi variația;Rotunjire variația;Rotunjire minimă];[Poziția variația;Numărare;Numără variația];[Variația in Prim Plan/Fundal;Nuanță variația;Saturație variația;Strălucire variația];[Selectați sursa de clonare prin mentinerea tastelor ALT (sau K) și apăsând pe imagine.;Marcați în prim plan cu alb, fundal cu negru și zona necunoscută cu gri.;Stratul nu poate fi editabil.;Stratul de text trebuie rasterizat mai întâi;Obiectul Smart trebuie rasterizat mai întâi;Selectați mai multe straturi;Îndreptare Strat;Deschideți mai întâi un document.;Închideți mai întâi fereastra curentă.;Numai unealtă curentă];[Înregistrați;Noul set de acțiuni;Noua acțiune];[Presiunea penului controlează opacitatea;Presiunea penului controlează dimensiunea];[Normal;Dizolvare;Întunecare;Multiplică;Ardere de Culoare;Ardere liniară;Culoare mai Întunecată;Luminează;Ecran;Evitare de Culoare;Evitare Liniară;Culoare mai Luminoasă;Suprapunere;Lumină slabă;Lumină puternică;Lumină intensă;Lumină liniară;Pin Light;Amestecare Puternică;Diferență;Excludere;Scade;Împarte;Nuanță;Saturație;Culoare;Luminozitate;Treci Prin]];[Spațiere linie;Spațiere caractere;Linie de bază;[Convertește la Text Punct;Convertește la Text Paragraf]];[Tot straturi;Strat curent;Selecție;Curent și mai jos];[Înlocuiește;Unifică;Extrage;Intersectează;Exclude;Unește];[[Liniar;Radial;Unghi;Reflectat;Diamant;Shape Burst];[Moale;Precis];[Outer Bevel;Inner Bevel;Gravare;;;Lăţime liniei];[Netezire;;;Netezime];[Sus;Jos];[Exterior;Centru;Interior;Din centru];[Umbre;Tonuri mijlocii;Sublinieri];[Desaturați;Saturați];[Mic;Mediu;Larg];[;Colțuri;Cratime]];[Selecteaza obiectul de sub cursor;Transformă controalele;Pixel la Pixel;Potriviți în zonă;[Aliniaza dupa muchiile din stinga;Centreaza orizontal;Aliniaza dupa muchiile din dreapta;Aliniaza dupa muchiile de sus;Centreaza vertical;Aliniaza dupa muchiile de jos;Spatiere Egala]];[Plasează în;Proiect curent;Proiect nou;Rezolutie;Adaugat la proiectul curent.;Un proiect nou a fost creat.;Accesul la camera a fost negat.];[Orientare;Îndoaie;Distorsiuni orizontale;Distorsiuni verticale;[Orizontal;Vertical;orizontal;vertical];[Niciunul;;;;;;;;Steag;;;;;;;;];[Font;nu este disponibil;Este redat cu;Există locuri de muncă nesalvate:;Chiar vrei să închizi?];[Schimba Culori;Implicit: Alb și negru]];[încărcat;a fost adăugat;Mutare ghid;Ştergere ghid;Adăugare ghid;;];[galerie de filtre;[[;[;;;;micsoreaza;;;Blochează;Deblochează]];[]];;[;;;;;;;;;;];;[;;;;;;];;[Adăuga zgomot;;;Median];Pixelează;[;Cristalizare;;Fragment;;mozaic;];Randare;[Nori;;];;[;;;;];Stilizează;[Difuz;;Extrudare;Găsește Colțuri;];Altul;[;;Maxim;Minim;;Repetă];[Arie Nedefinită;Setează ca Transparent;Repetați pixeli margine;Înfășoară în jurul;Ultimul filtru;Previzual]];[Șabloane;[Filtru de fonturi;Cuvinte cheie;Randomizare];[Cu simboluri;Cu fotografie];[Miniaturi;Listă]]", + "[Bestand;Bewerken;Afbeelding;Laag;Map;Selecteren;Filter;Beeld;Venster;Taal;Log in;Log uit;Maak een vertaling;[Account;Algemene voorwaarden;Terug;Over;Meld een bug;Leren];Meer;Thema;Gebruik WebGL;[Photopea: geavanceerde fotobewerking;Gratis online bewerker, ondersteunt PSD-, XCF-, Sketch-, XD- en CDR-formaten;Maak een nieuwe afbeelding of open bestaande bestanden vanaf uw computer. Sla uw werk op als PSD (Bestand - Opslaan als PSD) of als JPG / PNG / SVG (Bestand - Exporteren als).;Stel nieuwe functies voor op onze of . Ons doel is om te maken.;Sponsorlinks openen in een nieuw venster.;Deze functie is niet beschikbaar.;Photopea installeren]];[Open;Publiceer online;Opslaan;Opslaan als PSD;Printen;Open via URL;Open vanaf computer;Verbind met Google Drive;Exporteren als;Exporteer lagen;Schrijf;Open en plaats;Sluiten;Lokale opslag;Info];[Stap vooruit;Stap terug;Leegmaken;Vul;Transformeer;Draaien;VAR0 spiegelen;VAR0 schalen;Ongedaan maken / Opnieuw;Perspectief;[Automatisch overvloeien;Automatisch uitlijnen];Vervagen;Afbeelding toepassen];Aanpassingen;[Helderheid/contrast;Niveaus;Curves;Belichting;Levendigheid;Kleurtoon/verzadiging;Kleurbalans;Zwart-wit;Fotofilter;Kanaalmixer;Kleur-opzoektabellen;Omkeren;Waarden beperken;Drempelwaarde;Verloop toewijzen;Kleurbereik;[Automatische tint;Automatisch contrast;Automatische kleuren];Vervang kleur];[Knippen;Kopiëren;Plakken;Nieuw;Verwijderen;Inschakelen;Uitschakelen;Verenigd kopiëren;Toepassen;Opnieuw;Bijwerken];[Dupliceer laag;Nieuwe aanpassingslaag;Rastermasker;Vectormasker;Toevoegen (toon alles);[Toevoegen (verberg alles);Selectie tonen;Selectie verbergen;Vanuit transparantie];[Knipmasker;Snelmaskermodus];Converteren naar Slim Object;Omzetten naar pixels;Groepeer lagen;Omlaag samenvoegen;Omhoog samenvoegen;[Lagen samenvoegen;Alle lagen samenvoegen];Nieuwe laag;Rastermasker inschakelen;Rastermasker uitschakelen;Vectormasker inschakelen;Vectormasker uitschakelen;Knipmasker inschakelen;Knipmasker uitschakelen;Nieuwe map;Rastermasker toevoegen;Rastermasker verwijderen;Vectormasker toevoegen;Vectormasker verwijderen;Rastermasker koppelen;Rastermasker ontkoppelen;Vectormasker koppelen;Vectormasker ontkoppelen;Laageffecten inschakelen;Laageffecten uitschakelen;Laag verwijderen;Laagdekking wijzigen;Overvloeimodus wijzigen;Zet laagstijl om naar pixels;Laagvolgorde;[Slim Object creëren;Slim Object updaten;Slim Object plaatsen;Bron (Slim Object);Stapelmodus];Naamwijziging;Kleurwijziging;Wijzig aanpassingslaag;Converteer naar vorm;Filtermasker inschakelen;Filtermasker uitschakelen;Slimme filters inschakelen;Slimme filters uitschakelen;Voeg filtermasker toe;Verwijder filtermasker;Verwijder slimme filters;[[Effen kleurvulling;Verloopvulling;Patroonvulling;Met behoud van inhoud];Nieuwe vullingslaag;Wijzig vullingslaag];Laag vanuit selectie;Filtermasker;Verwijder laagstijl;Verplaats slim filter;Verwijder slim filter;[Koppel lagen;Ontkoppel lagen];Rangschikken;[Verplaats naar voorgrond;Verplaats naar voren;Verplaats naar achteren;Verplaats naar achtergrond];[Deze laag is vergrendeld.;Verander vergrendeling;Vergrendelen];Animatie];[Alles;Deselecteren;Selectie omkeren;Bewerken;Uitbreiden;Inkrimpen;Verdoezel;Verplaats selectie;Kleurbereik;Rand;Transformeer selectie;Rand verfijnen;Herstel selectie;Magisch knippen];[Zoom in;Zoom uit;Hulplijnen;Linialen;Raster;Vastklikken;Vastklikken aan;Documentsgrenzen;Pixelraster;Paden;Vastklikken aan pixels;[Segmenten;Segmentopties];Toon];[Geschiedenis;Lagen;Eigenschappen;Penseel;Karakter;Paragraaf;Info;Laagsamenstellingen;Kleurstalen;Handelingen;Histogram;Navigator;Voorinstellingen gereedschap;Glyphs];[Penseel;Kloonstempel;Uitsnijden;Gummetje;Ovaal selectiekader;Pipet;Verloop;Handje;Tekst;Lasso;Magnetische lasso;Verplaatsen;Toverstaf;Emmertje;Veelhoeklasso;Rechthoekig selectiekader;Vrije transformatie;Zoomen;Vervagen;Verscherpen;Natte vinger;Tegenhouden;Doordrukken;Spons;Snel retoucheerpenseel;Retoucheerpenseel;Reparatie;Padselectie;Directe selectie;Pen;Pen voor vrije vorm;Aangepaste vorm;Rechthoek;Ellips;Parametrische vorm;Lijn;Liniaal;Snelle selectie;Potlood;Uitsnijden met perspectief;Segment;Segmentselectie;Kleur vervangen;Rode ogen verwijderen;Object selecteren;Achtergrondgummetje;Marionet verdraaien;Weergave roteren;Zo schalen dat inhoud behouden blijft;Verplaatsen met behoud van inhoud];[Neem een foto;Kleurkiezer;Contouren wijzigen;Canvasgrootte;Dupliceren naar …;Verloop wijzigen;Laagstijl;Nieuw project;Opslaan voor web;Verdraaien;Afbeeldingsgrootte;Bitmap vectoriseren;[Verkleinen;Uitsnijden;Toon alles];Sneltoetsen;Hulplijnen toevoegen;[Hulplijnen wissen;Hulplijnen van Laag]];[Dekking;Effecten;Helderheid;[Contrast;Verouderde instelling gebruiken];Kanaal;Belichting;Verschuiving;Gammacorrectie;Kleurtoon;Verzadiging;Lichtheid;Inkleuren;Bereik;Levendigheid;[Grootte;Interpolatie;Naaste buur;Bilineair];Hoek;Rondheid;Hardheid;Interlinie;[Overvloeimodus;Overvloeien als];Monstergrootte;Randen;Stijl;[Omkeren;Relatief;Plaatsing];Tolerantie;Aangrenzend;Vulling;Gebruik globale hoek;Afstand;Verspreiden;Ruis;Gebruik slagschaduw;Techniek;Richting;Diepte;Verzachten;Modus;Verloop;Schalen;Uitlijnen met laag;Positie;Breedte;Hoogte;Bestemming;Type;Voorgrond;Achtergrond;Aangepast;Naam;Maak;Indeling;Behoud beeldverhouding;[Kwaliteit;Pagina's];Dupliceer;Verplaats;Slimme filters;Straal;Hoeveelheid;Verspreiding;[Gelijkmatig;Gaussiaans];Monochroom;Celgrootte;Patroon;Stroom;Sterkte;Details beschermen;Opvullingstype;Textuur;Wiebelen;Rand;Bron;Doel;Kanalen;Masker;Dichtheid;Uitgelijnd;[Pad;Vorm;Pixels;Inches;Centimeters;Millimeters;Procent];Vormen;Zijden;Voorkeuren;[Lengte;Verhouding;Elke;Rastertype;Isometrisch;Rasterlijn na elke;Liniaaleenheden];Verminder ruis;Kleuren;Afstanden;Snelheid;Automatisch selecteren;Zoeken;Definieer nieuw;[Foto;Beeldscherm;Mobiel;Advertenties;Afdruk];[Vrij;Vaste verhouding;Vaste grootte];Help;[Actieve Vorm;Bewerk Actieve Vorm;Dezelfde straal];Overeenkomst;[Veelhoek;Ster;Spiraal;Vierkant];[Hoekstraal;Binnenstraal]];[Kleur;[Geen;Rood;Oranje;Geel;Groen;Blauw;Paars;Grijs;Wit;Transparant;Zwart;Cyaan;Magenta;Neutraal];Totaal;Absoluut;Lichtsterkte behouden];[Slagschaduw;Schaduw binnen;Gloed buiten;Gloed binnen;Schuine kant en reliëf;Kleurbedekking;Verloopbedekking;Patroonbedekking;Satijn;Lijn;Opties voor overvloeien;Selecteer pixels];[Puntvorm;Puntdynamiek;Verstrooien;Kleurdynamiek;[Grootte - jitter;Minimale diameter;Hoek - jitter;Ronding - jitter;Minimale rondingen];[Positie - jitter;Aantal;Aantal - jitter];[Voorgrond/achtergrond - jitter;Kleurtoon - jitter;Verzadiging - jitter;Helderheid - jitter];[Selecteer de kloonbron door Alt (of K) ingedrukt te houden en op de afbeelding te klikken.;Markeer de voorgrond met wit, de achtergrond met zwart en het onbekende gebied met grijs.;Laag is niet bewerkbaar.;Tekstlaag moet eerst gerasteriseerd worden;Slim Object moet eerst gerasteriseerd worden;Selecteer meerdere lagen;Laag rechttrekken;Open eerst een document.;Sluit het huidige venster eerst.;Alleen huidig gereedschap];[Opnemen;Nieuwe handelingenset;Nieuwe handeling];[Pendruk bepaalt dekking;Pendruk bepaalt grootte];[Normaal;Verspreiden;Donkerder;Vermenigvuldigen;Kleur doordrukken;Lineair doordrukken;Donkerdere kleur;Lichter;Bleken;Kleur tegenhouden;Lineair tegenhouden;Lichtere kleur;Bedekken;Zwak licht;Fel licht;Levendig licht;Lineair licht;Puntlicht;Harde mix;Verschil;Uitsluiting;Aftrekken;Verdelen;Kleurtoon;Verzadiging;Kleur;Lichtsterkte;Doorheen halen]];[Regelafstand;Letterspatiëring;Verticale verplaatsing;[Omzetten in punttekst;Omzetten in alineatekst]];[Alle lagen;Huidige laag;Selectie;Huidige & onderliggende laag];[Vervangen;Samenvoegen;Verschil;Doorsnede;Uitsluiting;Samenvoegen];[[Rechtlijnig;Radiaal;Hoek;Gereflecteerd;Ruitvormig;Uitstralen];[Zachter;Precies];[Buitenste afschuining;Binnenste afschuining;Reliëf;Kussenreliëf;Lijnreliëf;Lijndikte];[Vloeiend maken;Harde beitel;Zachte beitel;Vloeiend];[Omhoog;Omlaag];[Buiten;Midden;Binnen;Vanuit middelpunt];[Schaduwen;Middentonen;Hooglichten];[Minder verzadiging;Verzadigen];[Klein;Middelgroot;Groot];[Uiteinden;Hoeken;Strepen]];[Kies het object onder de muis;Aanpassingsknoppen;Pixel naar pixel;Vul de ruimte;[Linkerranden uitlijnen;Horizontaal centreren;Rechterranden uitlijnen;Bovenranden uitlijnen;Verticaal centreren;Onderranden uitlijnen;Gelijke tussenruimte]];[Invoegen in;Huidig project;Nieuw project;Resolutie;Toegevoegd aan het huidige project.;Er is een nieuw project aangemaakt.;Toegang tot de camera geweigerd.];[Oriëntatie;Buigen;Horizontale vervorming;Verticale vervorming;[Horizontaal;Verticaal;Horizontaal;Verticaal];[Geen;Boog;Boog onder;Boog boven;Boog;Bollend;Schelp omlaag;Schelp omhoog;Vlag;Golf;Vis;Omhoog;Fisheye-lens;Opblazen;Samendrukken;Draaien;Aangepast];[Lettertype;is niet beschikbaar;Zal worden weergegeven met;Er zijn onopgeslagen bewerkingen in;Weet u zeker dat u dit wilt sluiten?];[Wissel kleuren;Standaard: Wit en Zwart]];[geladen;toegevoegd;Verplaats hulplijn;Verwijder hulplijn;Voeg hulplijn toe;Aan het laden;VAR0 laden];[Filtergalerie;[[Uitvloeien;[Uitsmeren;Reconstrueren;Verzachten;Verdraaien;Krimpen;Opblazen;Naar links duwen;Bevriezen;Ontdooien]];[Lenscorrectie]];Vervaging;[Gemiddelde;Vervagen;Meer vervagen;Omgevingsvervagen;Gaussiaans vervagen;Lensvervaging;Bewegingsonscherpte;Radiaal vervagen;Vormvervagen;Slim vervagen;Oppervlak vervagen];Vervormen;[Verplaatsen;Kneep;Polaire coördinaten;Rimpels;Verschuiving;Opbollen;Golf];Ruis;[Ruis toevoegen;Uitstippen;Stof & Krassen;Mediaan];Pixel;[Kleurhalftoon;Kristal;Facet;Fragmentatie;Mezzotint;Mozaïek;Pointilleren];Rendering;[Wolken;Wolken (Verschil);Lens flare];Verscherpen;[Verscherpen;Scherpe randen;Scherper;Slim verscherpen;Onscherp masker];Stileren;[Diffuus;Reliëf;Geef diepte;Omtreklijn;Olie verf];Overige;[Aangepast;Hoogdoorlaat;Maximum;Minimum;Verschuiven;Herhaal];[Ongedefiniëerd gebied;Maak transparant;Herhaal de pixels aan de randen;Wikkel rond documentsgrenzen;Vorige filter;Voorbeeld]];[Sjablonen;[Lettertype kleur;Sleutelwoorden;Willekeurig];[Met symbolen;Met foto];[Miniaturen;Lijst]]", + "[Fil;Redigera;Bild;Lager;Mapp;Markera;Filter;Vy;Fönster;Språk;Logga in;Logga ut;Skapa översättning;[Konto;Användarvillkor;Bakåt;Om appen;Rapportera en bugg;Lära sig];Mer;Tema;Använd WebGL;[Photopea: avancerad bildredigerare;Gratis online-editor som stöder PSD, XCF, Sketch, XD och CDR-format.;Skapa en ny bild eller öppna befintliga filer från din dator. Spara ditt jobb som PSD (Fil - Spara som PSD) eller som JPG / PNG / SVG (Fil - Exportera som).;Föreslå nya funktioner på vår eller . Vårt mål är att skapa .;Sponsorlänkar öppnas i ett nytt fönster.;Den här funktionen är inte tillgänglig.;Installera Photopea]];[Öppna;Publicera online;Spara;Spara som PSD;Skriv ut;Öppna från URL;Öppna från dator;Connecta med Google Drive;Exportera som;Exportera lager;Script;Öppen & Placera;Stäng;Lokal lagring;];[Stega framåt;Stega bakåt;Rensa;Fyll;Omforma;Rotera;Vänd VAR0;Skala VAR0;Ångra / Upprepa;Perspektiv;[Blanda automatiskt;Justera automatiskt];Toning;Använd bild];Justeringar;[Ljusstyrka/kontrast;Nivåer;Kurvor;Exponering;Lyster;Nyans/mättnad;Färgbalans;Svartvitt;Fotofilter;Kanalmixer;Färgsökning;Invertera;Färgreduktion;Tröskel;Övertoningskarta;Selektiv färg;[Automatisk toning;Autokontrast;Automatisk färg];Byt färg];[Klipp ut;Kopiera;Klistra in;Ny;Radera;Aktivera;Inaktivera;Kopiera sammanslagning;Tillämpa;Igen;Uppdatera];[Duplicera lager;Nytt justeringslager;Rastermask;Vektormask;Lägg till (Visa alla);[Lägg till (Dölj alla);Visa markering;Dölj markering;Från Genomskinlighet];[Urklippsmask;Snabbmask];Konvertera till Smart objekt;Rasterisera;Gruppera lager;Slå samman nedåt;Slå samman uppåt;[Slå samman lager;Gör till ett lager];Nytt lager;Aktivera Rastermask;Inaktivera Rastermask;Aktivera Vektormask;Inaktivera Vektormask;Aktivera Urklippsmask;Inaktivera Urklippsmask;Ny mapp;Lägg till Rastermask;Radera Rastermask;Lägg till Vektormask;Radera Vektormask;Länka Rastermask;Avlänka Rastermask;Länka Vektormask;Avlänka Vektormask;Aktivera Lagereffekter;Inaktivera Lagereffekter;Radera lager;Lageropacitet ändring;Blandningsläge ändring;Rasterisera lagerstil;Lagerordning;[Skapar Smart objekt;Uppdaterar Smart objekt;Placerar Smart objekt;Källa (Smart objekt);Stapelläge];Namn ändring;Färg ändring;Ändra Justeringslager;Konvertera till Form;Aktivera Filtermask;Inaktivera Filtermask;Aktivera Smarta filter;Inaktivera Smarta filter;Lägg till Filtermask;Radera Filtermask;Rensa Smarta filter;[[Enfärgad fyllning;Övertoningsfyllning;Mönsterfyllning;Innehållsmedveten];Nytt fyllningslager;Ändra fyllningslager];Lager via kopia;Filtermask;Radera lagerstil;Flytta smart filter;Radera smart filter;[Länka lager;Koppla ifrån Lager];Arrangera;[Flytta Främst;Flytta Framåt;Flytta Bakåt;Flytta Bakerst];[Lagret är låst.;Lås ändring;Lås];];[Allt;Avmarkera;Invertera;Ändra;Expandera;Dra samman;Ludd;Flytta markering;Färgintervall;Ram;Omforma markering;Förfina kant;Läka markering;];[Zooma in;Panorera ut;Stödlinjer;Linjaler;Stödraster;Fäst;Fäst mot;Dokument Gräns;Pixelrutnät;Banor;Fäst mot pixelar;[Segment;Segmentalternativ];Visa];[Historik;Lager;Egenskaper;Pensel;Tecken;Stycke;Info;Lagerkompositioner;Färgrutor;Funktionsmakron;Histogram;Överblick;Verktygsförinställningar;Specialtecken];[Penselverktyget;Klonverktyget;Beskärningsverktyget;Suddverktyget;Ellipsmarkering;Pipetten;Övertoningsverktyget;Handverktyget;Textverktyget;Lassomarkering;Magnetisk lassomarkering;Flyttaverktyget;Trollspöet;Färgburksverktyget;Polygonal lassomarkering;Rektangelmarkering;Omforma fritt;Zoomverktyget;Blurra;Skärpa;Smeta ut;Skugga;Efterbelys;Svamp;Smart lagningspensel;Lagningspensel;lapp verktyg;Banmarkering;Direktmarkering;Penna;Fri penna;Egen form;Rektangel;Ellips;Parametrisk form;Linje;Linjal;Snabb val;Penselverktyg;Perspektivbeskärning;Segment;Markera segment;Färgersättning;Röda ögon;Objektmarkering;Bakgrundssuddgummi;Tänjning av marionett;Rotera vy;Skala för innehållsmedvetenhet;Innehållsmedveten flyttning];[Ta en bild;Färgväljaren;Konturredigeraren;Storlek på arbetsyta;Duplicera in i...;Övertoningsredigeraren;Lagerstil;Nytt projekt;Spara för webb;Tänj;Bildstorlek;Vektorisera bitkarta;[Rensa;Beskära;Visa Allting];Genvägar Tangentbord;Lägg till Stödlinjer;[Radera stödlinjer;Stödlinjer från Lager]];[Opacitet;Effekter;Ljushet;[Kontrast;Använd äldre];Kanal;Exponering;Förskjutning;Gammakorrigering;Nyans;Mättnad;Ljushet;Färga;Omfång;Lyster;[Storlek;Interpolation;Närmast intilliggande;Bilinjär];Vinkel;Rundhet;Hårdhet;Mellanrum;[Blandningsläge;Blanda om];Provstorlek;Kontur;Stil;[Omvänd;Relativ;Placering];Tolerans;Angränsande;Fyll;Använd Global vinkel;Avstånd;Spridning;Brus;Slå ut skugga;Teknik;Riktning;Djup;Mjuka upp;Läge;Övertoning;Skala;Justera med lager;Position;Bredd;Höjd;Destination;Typ;Förgrund;Bakgrund;Egen;Namn;Skapa;Format;Behåll bildförhållande;[Kvalitet;Sidor];Duplicera;Flytta;Smarta filter;Radie;Mängd;Fördelning;[Enhetlig;Gaussisk];mongolia;Cellstorlek;Mönster;flöde;Styrka;Skyddad detalj;Fyll typ;Textur;Darr;Gräns;Källa;Mål;Kanaler;Mask;Densitet;Justera;[Bana;Form;Pixelar;Tum;Centimeter;Millimeter;Procent];Former;Sidor;Preferenser;[Längd;Förhållande;Någon;Rutnät Typ;Isometrisk;Rasterlinje var;Linjalenheter];Reducera brus;Färger;Avstånden;Hastighet;Automarkera;Hitta;Definiera nya;[Foto;Bildskärm;Mobil;Reklam;Avtryck];[Fri;Fasta proportioner;Fastställd storlek];Hjälp;[Aktuell Form;Ändra Aktuell Form;Samma Radie];Överstrålning;[Polygon;Stjärna;Spiral;Kvadratisk];[Hörn Radie;Inre Radie]];[Färg;[Ingen;Röd;Orange;Gul;Grön;Blå;Violett;Grå;Vit;Transparent;Svart;Cyan;Magenta;Neutral];Fullständig;Absolut;Bevara luminiscens];[Skugga;Innerskugga;Yttre glöd;Inre glöd;Avfasning och relief;Färgöverlägg;Övertoningsöverlägg;Mönsteröverlägg;Satäng;Ramlinje;Blandningsval;Välj pixelar];[Spetsform;Spetsdynamik;Utspridning;Färgdynamik;[Storleksvariation;Minimal diameter;Vinkelvariation;Rundhetsvariation;Minimal rundhet];[Lägesvariation;Antal;Antalsvariation];[Förgrunds-/Bakgrundsvariation;Nyansvariation;Mättnadsvariation;Ljushetsvariation];[Välj kloningskälla genom att hålla nere Alt (eller K) och klicka på bilden;Markera förgrund med vitt, bakgrund med svart, och det okända området med grått.;Lagret kan inte ändras.;Text Lager måste rastreras först;Smart objekt måste rastreras först;Välj flera lager;Räta upp lager;Öppna ett dokument först.;Stäng det nuvarande fönsret först.;Endast aktuellt verktyg];[Spela in;Ny funktionsmakro uppsättning;Nytt funktionsmakro];[Nåltryck kontroller Opacitet;Nåltryck kontroller Storlek];[Normal;Lös upp;Mörkare;Multiplicera;Efterbel. färg;Linjär efterbel.;Mörkare färg;Ljusare;Raster;Färgskugga;Linjär skugga;Ljusare färg;Täcka över;Mjukt ljus;Skarpt ljus;Klart ljus;Linjärt ljus;Strålljus;Hård blandning;Differens;Uteslutning;Subtrahera;Dela upp;Nyans;Mättnad;Färg;Luminiscens;Gå igenom]];[Radavstånd;Knipning;Baslinjeförskjutning;[Konvertera till punkttext;Konvertera till stycketext]];[Alla lager;Aktuellt lager;Markering;Aktuellt och underliggande];[Byt ut;Koppling;Skillnad;Överlappa;Uteslut;Slå ihop];[[Linjär;Radiell;Vinkel;Reflekterad;Diamant;Form ström];[Mjukare;Exakt];[Yttre avfasing;Inre avfasning;Relief;Kuddrelief;drag ciselera;Stregbredden];[Utjämna;Mejsel hård;Mejsel mjuk;Släthet];[Upp;Ned];[Utsidan;Mitten;Insidan;Från mitten];[Skuggor;Mellantoner;Högdagrar];[Tunna ut;Mätta];[Lilla;Medium;Stor];[Ändpunkter;Hörn;Strecken]];[Välj föremålet under markören;Omvandla kontroller;Pixel till Pixel;Anpassa till skärm;[Justera vänsterkanter;Centrera horisontellt;Justera högerkanter;Justera överkanter;Centrera vertikalt;Justera nederkanter;Lika Mellanrum]];[Placera i;Nuvarande projekt;Nytt projekt;Upplösning;Tillagd i det här projektet.;Ett nytt projekt skapades.;Tillgång till kameran var avvisad.];[Orientering;Böj;Horisontell förvrängning;Vertikal förvrängning;[Horisontell;Vertikal;horisontellt;vertikalt];[Ingen;Båge;Lägre Båge;Övre Båge;Valv;Utbuktning;Lägre skal;Övre skal;Flagga;Våg;Fisk;Res;Fisköga;Blåsa upp;Pressa;Vrid;Egen];[Typsnitt;är inte tillgänglig;Kommer att göras med hjälp av;Det är olovat arbete i;Vill du verkligen stänga den?];[Byt färger;Standard: Vit och Svart]];[laddad;tillagd;Flytta stödlinjen;Radera stödlinjen;Lägg till stödlinjen;Läser in;Läs in VAR0];[Filtergalleri;[[Kondensera;[Fläckar;Rekonstruera;Jämna till;Virvel;Krymp;Blås;Tryck åt vänster;Frys;Tina]];[Objektivkorrigering]];Oskärpefilter;[Jämka;Oskärpa;Mer oskärpa;Rutoskärpa;Gaussisk oskärpa;Linsoskärpa;Rörelseoskärpa;Radiell oskärpa;Formoskärpa;Smart oskärpa;Ytoskärpa];Förvrängningsfilter;[Förskjutning;Knipning;Polära koordinater;Krusning;Skeva;Sfär;Våg];Brusfilter;[Lägg till brus;Ytutjämning;Damm och repor;Median];Pixelförvandlingsfilter;[Färgraster;Kristallisera;Fasett;Fragment;Mezzotint;Mosaik;Skapa fläckar];Återgivningsfilter;[Moln;Differensmoln;Linsöverstrålning];Skärpefilter;[Skärpa;Kantskärpa;Mera skärpa;Smart skärpa;Oskarp mask];Stiliseringsfilter;[Diffusera;Relief;Djup;Hitta konturer;Oljemålning];Andra filter;[Egen;Högpass;Maximum;Minimum;Förflyttning;Upprepa];[Odefinierat område;Sätt till transparent;Upprepa bildpunkter;Vira runt;Sista filtret;Förhandsvisa]];[Mallar;[Typsnitt filter;Nyckelorden;Slumpmässig];[Med symboler;Med foto];[Miniatyrbilder;Lista]]", + "[Fil;Rediger;Billede;Lag;Mappe;Marker;Filter;Vis;Vindue;Sprog;Log ind;Log ud;Lav oversættelse;[Konto;Brugervilkår;Tilbage;Om;Anmeld en fejl;Lær];Mere;Tema;Brug WebGL;[Photopea: avanceret billedredigeringsprogram;Gratis online editor, der understøtter PSD, XCF, Sketch, XD og CDR formater.;Opret et nyt billede eller åben eksisterende filer fra din computer. Gem dit arbejde som PSD (Fil - Gem som PSD) eller som JPG / PNG / SVG (Fil - Eksporter som).;Foreslå nye funktioner på vores eller . Vores mål er at skabe .;Sponsorlinks åbnes i et nyt vindue.;Denne funktion er ikke tilgængelig.;Installer Photopea]];[Åbn;Udgiv online;Gem;Gem som PSD;Udskriv;Åben fra URL;Åben fra computer;Forbind med Google Drive;Eksporter som;Eksporter lag;Script;Åben og placer;Luk;Lokalt lager;];[Fremad;Tilbage;Fjern;Fyld ud;Transformer;Roter;Vend VAR0;Skaler VAR0;Fortryd / Gentag;Perspektiv;[Sammenlæg automatisk;Juster automatisk];Udton;Overfør billede];Justeringer;[Lysstyrke/kontrast;Niveauer;Kurver;Udsættelse;Dynamik;Farvetone/mætning;Farvebalance;Sort-hvid;Fotofilter;Kanaler;Farveopslag;Invertér;Farvereduktion;Grænse;Farveforløbskort;Vælg farve;[Autotone;Autokontrast;Autofarve];Erstat farve];[Klip;Kopier;Indsæt;Ny;Slet;Aktiver;Deaktiver;Kopier sammenflettede;Tilføj;Gentag;Opdater];[Dupliker lag;Nyt justeringslag;Rastermaske;Vektormaske;Tilføj (vis alle);[Tilføj (skjul alle);Vis markering;Skjul markering;Fra gennemsigtighed];[Klippemaske;Ekspresafmaskning];Konverter til Smart Objekt;Rasteriser;Gruppér lag;Flet ned;Flet op;[Flet lag;Samkopier billede];Nyt lag;Aktiver rastermaske;Deaktiver raster maske;Aktiver vektor maske;Deaktiver vektor maske;Aktiver klippemaske;Deaktiver klippemaske;Ny mappe;Tilføj raster maske;Slet raster maske;Tilføj vektor maske;Slet vektor maske;Forbind raster maske;Ophæv raster maske;Forbind vektor maske;Ophæv vektor maske;Aktiver lageffekter;Deaktiver lageffekter;Slet lag;Lag opacitet ændring;Blanding ændring;Rasteriser Lag Stil;Lag rækkefølge;[Opret Smart Objekt;Opdatér Smart Objekt;Placér Smart Objekt;Kilde (Smart Objekt);Staktilstand];Navn ændring;Farve ændring;Rediger justeringslag;Konverter til formattributter;Aktiver filter maske;Deaktiver filter maske;Aktiver Smart filtre;Deaktiver Smart filtre;Tilføj filter maske;Slet filter maske;Ryd Smart filtre;[[Ren farve fyld;Farveforløbsudfyldning;Mønster fyld;Afhænger af indholdet];Nyt udfyldningslag;Ændr udfyldningslag];Lag via kopi;Filter maske;Slet Lag Stil;Flyt Smart filtre;Slet Smart filtre;[Link Lag;Fjern kæde til lag];Arrangér;[Placer forrest;Bring frem;Flyt bagud;Placer bagest];[Lag er låst;Lås ændring;Lås];Animation];[Alt;Fravælg;Inverter;Modificer;Udvid;Træk sammen;Udtynding;Flyt markering;Farvespænd;Kant;Transformer markering;Juster kant;Forbedre markering;];[Zoom ind;Zoom ud;Hjælpelinjer;Linealer;Gitter;Fastgør;Fastgør til;Dokument grænser;Pixelgitter;Kurver;Fastgør til pixels;[Udsnits;Udsnitsindstillinger];Vis];[Oversigt;Lag;Egenskaber;Brush;Karakter;Afsnit;Info;Lagsammensætninger;Farveprøver;Handlinger;Histogram;Navigator;Forudindstillinger til værktøj;Glyffer];[Brush værktøj;Kloneværktøj;Beskæringsværktøj;Sletteværktøj;Marker eliptisk;Øjendråbe;Farveforløbsværktøjet;Hånd Værktøj;Tekstværktøj;Lasso-markering;Magnetisk lassomarkering;Flytteværktøj;Tryllestav;Malerspand værktøj;Polygonal lassomarkering;Firkantet markering;Fri transformering;Zoom Værktøj;Sløringsværktøj;Skærpenværktøj;Udtværingsværktøjet;Svampeværktøj;Brænde Værktøj;Fjern farvemætning;Spot healing brushværktøj;Healing brushværktøj;Lappe Værktøj;Kurvemarkøring;Vælg direkte;Pen;Fri pen;Tilpas form;Rektangel;Ellipo;Parametrisk form;Linie;Lineal;Hurtigmarkering;Blyantværktøj;Perspektivbeskæring;Udsnitsværktøjet;Udsnitsmarkeringsværktøjet;Farveerstatnings-værktøjet;Værktøjet til røde øjne;Objektmarkering;Baggrundsviskelæder;Fordrej som marionetdukke;Roter visning;Skalering, der afhænger af indholdet;Indholdsafhængig flytning];[Tag et foto;Farvevælger;Kontur redigering;Lærredsstørrelse;Duplikér ind i...;Farveforløbseditor;Lagtype;Nyt Projekt;Gem til web;Fordrej;Billede størrelse;Vektorisér bitmap;[Studs;Beskær;Vis alle];Genvejstaster;Tilføj hjælpelinjer;[Slet hjælpelinjer;Hjælpelinjer fra lag]];[Opacitet;Effekter;Lysstyke;[Kontrast;Brug ældre];Kanal;Eksponering;Forskydning;Gammakorrigering;Farvetone;Farvemætning;Lysstyrke;Farvelæg;Rækkevidde;Klarhed;[Størrelse;Interpolation;Nærmeste nabo;Bi-lineær];Vinkel;Runding;Hårdhed;Plads;[Blandingstilstand;Bland hvis];Sample størrelse;Kontur;Stil;[Gå tilbage;Relativ;Anker];Tolerance;Sammenhængende;Fyld;Brug global vinkel;Afstand;Spredning;Støj;Fjern slagskygge;Teknik;Retning;Dybde;Blødgør;Tilstand;Farveforløb;Skaler;Juster med lag;Placering;Bredde;Højde;Destination;Type;Forgrund;Baggrund;Tilpasset;Navn;Opret;Format;Bevar proportioner;[Kvalitet;Sider];Duplikér;Flyt;Smart filtre;Radius;Beløb;Distribution;[Uniform;Gaussian];Monokromatisk;Cellestørrelse;Mønster;Flow;Styrke;Beskyt detaljer;Fyldtype;Tekstur;Variation;Kant;Kilde;Modtager;Kanaler;Maske;Massefylde;Justeret;[Kurve;Form;Pixels;Tommer;Centimeter;Millimeter;Procent];Former;Sider;Indstillinger;[Længde;Ratio;Nogen;Gittertype;Isometrisk;Gitterlinje for hver;Måleenheder];Reducér støj;Farver;Afstande;Hastighed;Vælg automatisk;Søg;Definér ny;[Foto;Skærm;Mobil;Reklamer;Aftryk];[Fri;Låst forhold;Låst størrelse];Hjælp;[Live Form;Rediger Live Form;Samme radius];Sløring;[Polygon;Stjerne;Spirale;Kvadratisk];[Hjørneradius;Indre radius]];[Farve;[Ingen;Rød;Orange;Gul;Grøn;Blå;Lilla;Grå;Hvid;Gennemsigtigt;Sort;Cyan;Magenta;Neutral];Total;Absolut;Bevar luminans];[Slagskygge;Indvendig skygge;Udvendig glød;Indvendig glød;Facet og prægning;Farvemaske;Farveforløbsmaske;Mønstermaske;Satin;Strøg;Blandingsmuligheder;Vælg pixel];[Spidsform;Spidsdynamik;Spredning;Farvedynamik;[Størrelsesvariation;Minimal Diameter;Vinkelvariation;Rundhedsvariation;Minimal Rundhed];[Placering Variation;Tæl;Tæl Variation];[Forgrunds/baggrundsvariation;Farvetonevariation;Farvemætningsvariation;Lysstyrkevariation];[Vælg kilde til kloning ved at holde Alt (eller K) og klikke på billedet.;Marker forgrunden med hvid, baggrund med sort, og det ukendte område med grå.;Laget kan ikke redigeres.;Tekstlag skal først rasteriseres;Smart Objekt skal rasteriseres først;Vælg flere lag;Rett lag;Åbn et dokument først.;Luk det nuværende vindue først.;Kun aktuelt værktøj];[Indspille;Ny handling set;Ny handling];[Stylus tryk styrer opacitet;Stylus tryk styrer størrelsen];[Normal;Opløs;Mørkere;Multiplicer;Farvebrænding;Lineær brænding;Mørkere farve;Lysere;Skærm;Farveudtværing;Forøg lysstyrkeforskel;Lysere farve;Maske;Blødt lys;Hårdt lys;Livligt lys;Lineært lys;Punktlys;Hård;Forskel;Eksklusion;Træk fra;Opdel;Farvetone;Farvemætning;Farve;Luminans;Videregivelse]];[Linjeafstand;Sporing;Grundlinjeforskydning;[Konverter til punkttekst;Konverter til afsnitstekst]];[Alle lag;Nuværende lag;Markering;Nuværende og under];[Udskift;Forene;Træk fra;Overlap;XOR;Flet];[[Lineært;Radialt;Vinklet;Reflekteret;Diamant;Shape Burst];[Blødere;Præcis];[Udvendig facet;Indvendig facet;Prægning;Pudeprægning;Strøgprægning;Stregbredden];[Udglat;Hård mejsel;Blød mejsel;Udjævning];[Op;Ned];[Udvendig;Midten;Indvendig;Fra centrum];[Skygge;Mellemtoner;Højlys];[Dæmp farvemætning;Mætning];[Lille;Medium;Stor];[Afslutninger;Hjørner;Streger]];[Vælg objektet under pilen;Transformeringshåndtagene;Pixel til pixel;Tilpas til skærm;[Juster venstrekanter;Vandrette midtpunkter;Juster højrekanter;Juster øverste kanter;Lodrette midtpunkter;Juster nederste kanter;Selv afstande]];[Placer i;Nuværende projekt;Nyt projekt;Opløsning;Tilføjet i det nuværende projekt.;Nyt projekt oprettet;Kamera adgang afvist];[Retning;Bøj;Vandret forvrængning;Lodret forvrængning;[Vandret;Lodret;horisontalt;vertikalt];[Ingen;Bue;Bue nede;Bue oppe;Hvælving;Bule;Shell form ned;Shell form opad;Flag;Bølge;Fisk;At stige;Fiskeøje;Pump op;Pres;Twist;Tilpasset];[Skrifttype;er ikke tilgængelig;Vil gengives ved hjælp af;Der er ufarvet arbejde i;Vil du virkelig lukke den?];[Byt farver;Standard: Hvid og sort]];[indlæst;tilføjet;Flyt hjælpelinje;Slet hjælpelinje;Tilføj hjælpelinje;Indlæser;Indlæs VAR0];[Filtergalleri;[[Blødgør;[Udtvære;Genopbyg;Udglatter;Hvirvle;Shrink;Opblæs;Skub til venstre;Fastlåse;Lås op]];[Linsekorrektion]];Sløringsfiltre;[Gennemsnit;Sløring;Mere sløring;Bokssløring;Gaussisk sløring;Linsesløring;Bevægelsessløring;Radial sløring;Formsløring;Smart sløring;Overfladesløring];Forvræng;[Kantede strøg;Knibning;Polære koordinater;Krusning;Vridning;Sfærisk effekt;Bølge];Støjfiltre;[Tilføj Støj;Fjern støj;Støv og ridser;Median];Pixelér;[Farvehalvtone;Krystallisering;Facet;Fragment;Mezzotint;Mosaik;Pointillistisk arbejdsmåde];Gengivelsesfiltre;[Skyer;Skyblandinger;Linsebrydning];Skarpere;[Gør skarpere;Gør kanter skarpere;Endnu skarpere;Smart skarphed;Uskarp maskning];Effektfiltre;[Spredning;Prægning;Ekstrudering;Find kanter;Oliemaleri];Andre filtre;[Brugerdefineret;Højpas;Maksimum;Minimum;Forskydning;Gentag];[Udefineret område;Sat til gennemsigtig;Gentag kantpixel;Bøj rundt;Sidste Filter;Forhåndsvis]];[Skabeloner;[Skrifttype filter;Nøgleord;Tilfældig];[Med symboler;Med foto];[Miniaturebillede;Liste]]", + "[Tiedosto;Muokkaa;Kuva;Taso;Kansio;Valitse;Suodatin;Näkymä;Ikkuna;Kieli;Kirjaudu sisään;Kirjaudu ulos;Luo käännös;[Tili;Palveluehdot;Takaisin;Tietoja;Ilmoita virheestä;Oppia];Enemmän;Teema;Käytä WebGL;[Photopea: Edistynyt kuvankäsittelyohjelma;Ilmainen online-editori, joka tukee PSD-, XCF-, Sketch-, XD- ja CDR-muotoja.;Luo uusi kuva tai avaa tietokoneesta olemassa olevat tiedostot. Tallenna työsi PSD-muodossa (Tiedosto - Tallenna nimellä PSD) tai JPG / PNG / SVG (Tiedosto - Vie muodossa).;Ehdota uusia ominaisuuksia tai . Tavoitteenamme on luoda .;Sponsori linkit avautuvat uuteen ikkunaan.;Tätä toimintoa ei ole.;Asenna Photopea]];[Avaa;Julkaise verkossa;Tallenna;Tallenna nimellä PSD;Tulosta;Avaa osoitteesta;Avaa tietokoneelta;Yhdistä Google Drive;Vie muodossa;Vie tasot;Skriptit;Avaa ja sijoita;Sulje;Paikallinen tallennustila;];[Askel eteenpäin;Askel taaksepäin;Pyyhi;Täytä;Muunna;Pyöritä;Peilikuvaksi VAR0;Skaalaa VAR0;Kumoa / Tee uudelleen;Perspektiivi;[Sekoita automaattisesti;Tasaa automaattisesti];Häivytä;Käytä kuvaa];Säädöt;[Kirkkaus/kontrasti;Tasojen säätö;Käyrien säätö;Valotus;Sävyeloisuus;Sävy/kylläisyys;Väritasapaino;Mustavalkoinen;Valokuvasuodatin;Kanavamikseri;Värihaku;Negatiivi;Porrasta;Kynnys;Liukuvärikartta;Valikoiva väri;[Automaattinen sävy;Automaattinen kontrasti;Automaattinen väri];Korvaa väri];[Leikkaa;Kopioi;Liitä;Uusi;Poista;Ota käyttöön;Poista käytöstä;Kopioi yhdistynyt;Käytä;Jälleen;Päivitä];[Monista taso;Uusi säätötaso;Rasterimaski;Vektorimaski;Lisää (näytä kaikki);[Lisää (kätke kaikki);Näytä valinta;Piilota valinta;Läpinäkyvästä];[Leikkuumaski;Pikamaskaustila];Muunna älykkääksi objektiksi;Rasteroi;Ryhmitä tasot;Yhdistä alas;Yhdistä ylös;[Yhdistä tasot;Litistä kaikki tasot];Uusi taso;Ota käyttöön rasterimaski;Poista rasterimaski käytöstä;Ota käyttöön vektorimaski;Poista vektorimaski käytöstä;Ota käyttöön leikkuumaski;Poista leikkuumaski käytöstä;Uusi kansio;Lisää rasterimaski;Poista rasterimaski;Lisää vektorimaski;Poista vektorimaski;Linkkaa rasterimaski;Poista rasterimaskin linkitys;Linkkaa vektorimaski;Poista vektorimaskin linkitys;Ota käyttöön tason tehosteet;Poista tason tehosteet käytöstä;Poista taso;Tason peittävyyden muutos;Sekoituksen muutos;Rasteroi tason tyyli;Tasojen järjestys;[Uuden älykkään objektin luominen;Älykkään objektin päivitys;Älykkään objektin sijoitus;Lähde (Älykäs objekti);Pinoamistila];Nimen muutos;Värin muutos;Muokkaa säätötasoa;Muunna muodoksi;Ota käyttöön suodinmaski;Poista suodinmaski käytöstä;Ota käyttöön älykkäät suotimet;Poista älykkäät suotimet käytöstä;Lisää suodinmaski;Poista suodinmaski;Pyyhi älykkäät suotimet;[[Täyttö tasavärillä;Täyttö liukuvärillä;Täyttö kuviolla;Sisältötietoinen];Uusi täyttötaso;Muokkaa täyttötaso];Kopioi tasoksi;Suodinmaski;Poista tasotyyli;Siirrä älykäs suodin;Poista älykäs suodin;[Linkitä tasot;Poista tasojen linkitys];Järjestä;[Tuo päälle;Siirrä päällemmäksi;Siirrä alemmaksi;Vie alle];[Taso on lukittu.;Lukitse muutos;Lukitse];];[Kaikki;Kumoa valinta;Käänteinen valinta;Muuta;Laajenna;Supista;Häivytys;Siirrä valintaa;Värialue;Reunus;Muunna valinta;Hienosäädä reuna;Korjaa valinta;];[Zoomaa sisään;Zoomaa ulos;Apulinjat;Viivaimet;Ruudukko;Kohdista;Kohdista kohteeseen;Dokumentin rajat;Pikseli ruudukko;Reitit;Kohdista pikseleihin;[Osia;Osan asetukset];Näytä];[Historia;Tasot;Ominaisuudet;Sivellin;Kirjain;Kappale;Tietoja;Tasovedokset;Värimallit;Makrot;Histogrammi;Navigaattori;Työkalujen esimääritykset;Kuviot];[Sivellinyökalulla;Kloonisivellin;Rajaustyökalu;Kumi;Ellipsivalinta;Pipetti;Liukuvärityökalu;Käsi;Tekstityökalu;Lassovalinta;Magneettinen lassovalinta;Siirtotyökalu;Taikasauva;Maalipurkki;Monikulmiolassovalinta;Suorakulmiovalinta;Vapaa muunto;Zoomaus;Häivytä;Terävöitä;Hankaus;Varjostustyökalu;Lisävalotustyökalu;Pesusieni;Spottikorjaussivellin;Korjaussivellin;Paikkaa valinnalla;Reitin valinta;Suoravalinta;Vektoripiirrin;Vektorikynä;Vapaa muoto;Suorakulmio;Ellipsi;Parametrinen muoto;Viiva;Viivain;Pikavalintatyökalu;Kynätyökalulla;Perspektiivirajaustyökalu;Ositustyökalulla;Osanvalintatyökalulla;Värin korvaustyökalulla;Punasilmäisyystyökalu;Objektin valintatyökalu;Taustan pyyhintä;Nukketeatterin käyristysmuunnos;Kierrä näkymää;Sisältötietoinen skaalaus;Sisältötietoinen siirto];[Ota kuva;Värivalitsin;Korkeusrajan editori;Piirtoalue;Monista kohteeseen ...;Liukuvärieditori;Tason tyyli;Uusi projekti;Tallenna verkkoon;Käyristä;Kuvan koko;Vektoroi bittikartta;[Poista reunat;Rajaus;Näytä kaikki];Näppäinkomennot;Lisää apulinjat;[Pyyhi apulinjat;Apulinjat tasolta]];[Peittävyys;Tehosteet;Kirkkaus;[Kontrasti;Käytä vanhaa];Kanava;Valotus;Siirtymä;Gamman korjaus;Sävy;Kylläisyys;Valoisuus;Väritä;Aluerajaus;Eloisuus;[Koko;Interpolaatioon;Lähimmän naapurin;Bilineaarinen];Kulma;Pyöreys;Kovuus;Välistys;[Sekoitustapa;Sekoita jos];Näytteen koko;Korkeusraja;Tyyli;[Käänteinen;Suhteellinen;Tukipiste];Toleranssi;Vierekkäiset;Täyttö;Käytä globaalia kulmaa;Etäisyys;Levitys;Kohina;Heittovarjon sisäpuolen aukko;Tekniikka;Suunta;Syvyys;Pehmennä;Moodi;Liukuväri;Skaalaus;Tasaa tason kanssa;Sijainti;Leveys;Korkeus;Määränpää;Tyyppi;Edustan;Taustan;Mukautettu;Nimi;Luo;Tiedostomuoto;Säilytä kuvasuhde;[Laatu;Sivut];Monista;Siirrä;Älykkäät suotimet;Säde;Voimakkuus;Jakauma;[Tasainen;Gaussin];Yksisävyinen;Solun koko;Kuvio;Virtaama;Voimakkuus;Säilytä yksityiskohdat;Täytön tyyppi;Tekstuuri;Hajoama;Reuna;Lähde;Kohde;Kanavat;Maski;Tiheys;Kohdistettu;[Reitin;Muoto;Pikseliä;Tuumaa;Senttimetriä;Millimetriä;Prosentti];Muodot;Sivut;Asetukset;[Pituus;Suhde;Kaikki;Ruudukon tyyppi;Isometrinen;Ruudukon tiheys;Viivaimen yksiköt];Lievitä rakeisuutta;Värit;Etäisyydet;Teho;Automaattinen valinta;Etsi;Määritä uusi;[Valokuva;Näyttö;Mobiililaite;Mainokset;Tuloste];[Vapaa;Vakiosuhde;Kiinteä koko];Ohje;[Live Shape;Muokkaa Live Shape;Yhtenevät säteet];Sallittu poikkeama;[Monikulmio;Tähti;Spiraali;Neliö];[Kulman säde;Sisäinen säde]];[Väri;[Väritön;Punainen;Oranssi;Keltainen;Vihreä;Sininen;Violetti;Harmaa;Valkoinen;Läpinäkyvä;Musta;Syaani;Magenta;Neutraali];Totaalinen;Absoluuttinen;Säilytä värin kirkkaus];[Heittovarjo;Sisävarjo;Ulkoinen hohto;Sisäinen hohto;Viiste ja korkokuva;Väripäällyste;Liukuväripäällyste;Kuviopäällyste;Satiini;Viiva;Sekoitusvaihtoehdot;Valitse pikselien];[Kärjen muoto;Kärjen dynaamiset ominaisuudet;Hajonta;Värien dynamiikka;[Koko Värinä;Minimihalkaisija;Kulma Värinä;Pyöreys Värinä;Minimipyöreys];[Sijainti Värinä;Lukumäärä;Lukumäärä Värinä];[Edustan/Taustan Värinä;Sävyn Värinä;Kylläisyyden Värinä;Kirkkauden Värinä];[Valitse kloonauksen lähde pitämällä Alt-näppäintä pohjassa ja klikkaamalla kuvaa.;Merkitse edusta valkoinen, tausta mustalla ja tuntematon alue harmaalla.;Taso ei ole muokattavissa.;Tekstin taso on ensin rasteroitava;Älykäs objekti on ensin rasteroitava;Valitse useita tasoja;Suorista taso;Avaa dokumentti ensin.;Sulje nykyinen ikkuna ensin.;Vain nykyinen työkalu];[Tallenna;Uusi Makrojoukko;Uusi Makro];[Kynän paine määrittää peittävyyden;Kynän paine määrittää koon];[Normaali;Roiskiva;Tummentava;Kertova;Värilisävalotus;Lineaarinen lisävalotus;Tummempi väri;Vaalentava;Rasteri;Värivarjostus;Lineaarinen varjostus;Vaaleampi väri;Sulauttava;Pehmeä valo;Kova valo;Kirkas vaalea;Lineaarinen valo;Kohdevalo;Kova sekoitus;Erottava;Poistava;Vähennä;Pilko osiin;Sävy;Kylläisyys;Väri;Värin kirkkaus;Läpiohjaus]];[Rivivälistys;Merkkiväli;Peruslinjan siirto;[Muunna pistetekstiksi;Muunna kappaletekstiksi]];[Kaikki tasot;Nykyinen taso;Valinta;Nykyinen ja alapuoliset];[Korvaa;Liitto;Eroavaisuus;Leikkaus;XOR;Yhdistä];[[Lineaarinen;Radiaalinen;Kulma;Peilattu;Timantti;Shape Burst];[Pehmeämpi;Tarkempi];[Ulompi viiste;Sisäinen viiste;Korkokuva;Tyynykorkokuva;Reunakorkokuva;Viiva leveys];[Pehmennä;Kova taltta;Pehmeä taltta;Tasaisuus];[Ylös;Alas];[Ulkopuolelle;Keskelle;Sisäpuolelle;Keskeltä];[Varjostukset;Keskisävyt;Korostukset];[Haalista;Kyllästä];[Pieni;Keskikokoinen;Suuri];[Päät;Kulmat;Viivoja]];[Valitse objekti osoittimen alla;Muuntovalinnat;Pikseli pikseliin;Sovita alueelle;[Vasemmat reunat;Keskusta vaakasuunnassa;Vasemmat reunat;Yläreunat;Keskitä pystysuunnassa;Alareunat;Yhtä etäisyydet]];[Laittaa sisään;Nykyinen projekti;Uusi projekti;Resoluutio;Lisätty nykyiseen projektiin.;Uusi projekti luotiin.;Käyttöoikeus kameraan estettiin.];[Suuntaus;Väännä;Vaakavääristys;Pystyvääristys;[Vaaka;Pysty;vaakasuunnassa;pystysuunnassa];[Ei;Kaari;Alempi kaari;Ylempi kaari;Holvikaari;Pullistus;Alempi kuori;Ylempi kuori;Lippu;Aalto;Kala;Nosto;Kalansilmä;Paisutus;Puristus;Kierre;Mukautettu];[Kirjasin;ei ole saatavilla;Piirretään käyttäen;Tämän työtä ei ole tallennettu:;Haluatko todella sulkea sen?];[Vaihda värit;Oletusasetus: valkoinen ja musta]];[ladattu;lisätty;Siirrä apulinjan;Poista apuviiva;Lisää apulinja;Ladataan;Lataa VAR0];[Suodatingalleria;[[Sulata-suotimen;[Levittä;Uudelleenmuodosta;Tasoitaa;Pyöräytä;Kutista;Puhalla;Vasemmalle työntävä;Jäädytä;Vapauta]];[Linssikorjaus]];Sumenna;[Keskiarvo;Sumenna;Sumenna lisää;Ruutusumennus;Gauss-sumennus;Linssisumennus;Liike-epäterävyys;Säteittäinen sumennus;Muotosumennus;Älykäs sumennus;Pintasumennus];Vääristä;[Poikkeuta;Paina kuopalle;Napakoordinaatit;Väreily;Taivuta;Pullista;Aalto];Kohina;[Lisää kohinaa;Poista pilkut;Pöly ja naarmut;Mediaani];Pikselöinti;[Värirasterointi;Kiteytä;Fasetti;Fragmentoi;Mezzotinto;Mosaiikki;Pistemaalaus];Muodosta;[Pilvet;Erottavat pilvet;Linssiheijastus];Terävöitys;[Terävöitä;Terävöitä reunoja;Terävöitä lisää;Älykäs terävöinti;Epäterävä maski];Tyylittele;[Hajota;Korkokuva;Työnnä ulos;Etsi reunat;Öljy Maali];Muut suotimet;[Mukautettu;Ylipäästö;Maksimi;Minimi;Siirtymä;Toista];[Määrittämätön alue;Aseta läpinäkyväksi;Toista reunan pikselit;Toisesta reunasta;Viimeinen suodatin;Esikatselu]];[Mallit;[Kirjasin suodatin;Avainsanat;Satunnaista];[Symboleilla;Valokuvalla];[Miniatyyri;Luettelo]]", + "[Datoteka;Uredi;Slika;Plast;Mapa;Izberi;Filter;Ogled;Okno;Jezik;Vpis;Odjava;Ustvari prevod;[Račun;Pogoji storitve;Nazaj;Opis;Prijavi napako;Nauči se];Več;Tema;Uporabi WebGL;[Photopea: napredni urejevalnik slik;Brezplačen spletni urejevalnik, ki podpira formate PSD, XCF, Sketch, XD in CDR.;Ustvarite novo sliko ali odprite obstoječe datoteke iz računalnika. Shranite svoje delo kot PSD (Datoteka - Shrani kot PSD) ali kot JPG / PNG / SVG (Datoteka - Izvozi kot).;Predlagajte nove funkcije v našem ali . Naš cilj je ustvariti .;Sponzorske povezave so odprte v novem oknu.;;]];[Odpri;Objavi;Shrani;Shrani kot PSD;Natisni;Odpri iz URL;Odpri iz računalnika;Poveži z Google Drive;Izvozi kot;Izvozi plasti;Skripta;Odpri & postavi;Zapri;Lokalni podatki;];[Korak naprej;Korak nazaj;Počisti;Zapolni;Preoblikuj;Zavrti;Obrni VAR0;Spremeni velikost VAR0;Razveljavi / Ponovi;Perspektiva;[Samodejno zmešaj;];Zbledi;];Prilagoditve;[Svetlost/Kontrast;Ravni;krivulje;Osvetljenost;Živahnost;Odtenek/Zasičenost;Uravnoteženost barv;Črno & Belo;Foto filter;Kanalski mešalnik;Barvni pregled;Invert;Posterizirati;Prag;Prelivanje;Izberi Barvo;[Samodejni odtenek;Samodejni kontrast;Samodejna barva];Nadomesti barvo];[Izreži;Kopiraj;Prilepi;Novo;Izbriši;Omogoči;Onemogoči;Kopiraj vse;Uporabi;Ponovno;Posodobi];[Podvoji plast;Nova nastavitvena plast;Rasterska Maska;Vektorska Maska;Dodaj (Pokaži vse);[Dodaj (Skrij vse);;;];[Obrezana maska;];Pretvori v Pametni Objekt;Rasteriziraj;Združi plasti;Združi plasti ▼;Združi plasti ▲;[Združi izbrane plasti;Združi plasti];Nova plast;Omogoči Rastersko Masko;Onemogoči Rastersko Masko;Omogoči Vektorsko Masko;Onemogoči Vektorsko Masko;Omogoči obrezano masko;Onemogoči obrezano masko;Nova mapa;Dodaj Rastersko Masko;Zbriši Rastersko Masko;Dodaj Vektorsko Masko;Zbriši Vektorsko Masko;Poveži Rastersko Masko;Razveži Rastersko Masko;Poveži Vektorsko Masko;Razveži Vektorsko Masko;Omogoči Efekte Plasti;Onemogoči Efekte Plasti;Zbriši plast;Sprememba prosojnosti plasti;Sprememba mešanja;Rasteriziraj Stil Plasti;Vrstni Red Plasti;[Ustvari pametni objekt;Osveži Pameti Objekt;Postavitev pametnega objekta;Vir (pametni objekt);];Sprememba imena;Sprememba barve;Uredi nastavitveno plast;Pretvori v obliko;Omogoči Masko Filtra;Onemogoči Masko Filtra;Omogoči Pametne Filtre;Onemogoči Pametne Filtre;Dodaj Masko Filtra;Zbriši Masko Filtra;Odstrani Pametne Filtre;[[Zapolni z Barvo;Zapolni z Prelivom;Zapolni z Vzorcem;Zavedanje vsebine];Nova zapolnitvena plast;Uredi zaplonitveno plast];Plast prek kopije;Maska Filtra;Izbriši Stil Plasti;Premakni Pametni Filter;Izbriši Pametni Filter;[Poveži Plasti;Razveži Plasti];Uredi;[V ospredje;Naprej;Nazaj;Pošlji Nazaj];[Plast je Zaklenjena;Zakleni Spreminjanje;];];[Vse;Odznači;Obrni;Uredi;Razširi;Stisni;Širina Roba;Premakni izbiro;Razpon Barv;Obroba;Transformiraj izbiro;Izboljšaj Robove;Popravi izbiro;];[Približaj;Oddalji;Vodila;Ravnila;Mreža;Pripni;Pripni na;Meje dokumenta;Točkovna Mreža;Krivulje;Pripni na piksle;[;];Pokaži];[Zgodovina;Plasti;Možnosti;Čopič;Znak;Odstavek;Informacije;Kompozicije plasti;Barve;Akcije;Histogram;Navigator;Konfiguracija orodja;];[Čopiči;Kloniranje;Izrezovanje;Brisanje;Elipsa;Kapalka;Prelivanje;Premik pogleda;Pisave;Laso;Magnetni Laso;Premikanje;Čarobna palica;Barvanje;Poligonski Laso;Pravokotnik;Prosta transformacija;Lupa;Zameglitev;Izostritev;Razlivanje;Orodje osvetlitve;Potemnitev;Razbarvaj;Čopič za popravljanje madežev;Čopič za popravke;Premik zaplate;Izberi krivulje;Izberi direktno;Svinčnik;Prosto pisalo;Oblika po Meri;Kvadrat;Elipsa;Večkotnik;Črta;Ravnilo;Hitra izbira;Risanje;Obreži s perspektivo;;;Zamenjaj barvo;Rdeče oči;;Odstrani ozadje;;;;];[Fotografiraj;Izberi barvo;Urejanje Obrobe;Velikost platna;Podvoji v ...;Urejanje Prelivanja;Stil Plasti;Nov Projekt;Shrani za Splet;Ukrivi;Velikost slike;Spremeni pike v črte;[Odreži;Izreži;Pokaži vse];Bljižnice tipkovnice;Dodaj vodila;[;]];[Gostota;Efekti;Svetlost;[Kontrast;Použiť kompatibilitu];Kanal;Osvetlitev;Odmakni;Gamma Nastavitve;Odtenek;Nasičenost;Svetlost;Obarvaj;Razpon;Živahnost;[Velikost;Interpolacija;Najbližja sosednja;Bilinearna];Naklon;Zaobljenost robov;Trdota;Razmak;[Način mešanja;Mešajte, ko];Velikost vzorca;Obroba;Stil;[Obrni;Relativno;Sidro];Toleranca;Sosednje;Zapolni;Uporabi Globalni Naklon;Razdalija;Razširi;Šum;Ne nariši sence;Tehnika;Smer;Globina;Zmehčaj;Način;Preliv;Moč;Poravnaj s Plastjo;Lokacija;Širina;Višina;Cilj;Tip;Ospredje;Ozadje;Po Meri;Ime;Ustvari;Format;Ohrani Razmerje Stranic;[Kvaliteta;Strani];Podvoji;Premakni;Pametni Filtri;Radij;Gostota;Porazdelitev;[Uniformna;Gaussova];Monokromatsko;Velikost Celice;Vzorec;Tok;Moč;Zaščiti Podrobnosti;Vrsta Polnila;Tekstura;Dodaj Šum;Rob;Izvor;Cilj;Kanali;Maska;Gostota;Poravnano;[Pot;Oblika;Pikice;Inče;Centimetrov;Milimetrov;Odstotkov];Oblike;Strani;Lastnosti;[Dolžina;Razmerje;Katerikoli;Vrsta mreže;Izometrično;Razmak mreže;Enote ravnila];Zmanjšaj Šum;Barve;Razdalje;Stopnja;Samodejno Izberi;Najdi;Definiraj novo;[Fotografija;Zaslon;Mobilna Naprava;Oglasi;Tisk];[Brezplačno;Zaklenjeno Razmerje;Zaklenjena Velikost];Pomoč;[Obstojne oblike;Uredi obstojne oblike;Enak premer];Nejasnost;[Večkotnik;Zvezda;Spirala;Kvadrat];[Polmer roba;Notranji polmer]];[Barva;[Brez;Rdeča;Oranžna;Rumena;Zelena;Modra;Vijolična;Siva;Bela;Prosojna;Črna;Cian;Magenta;Neutralno];Celotno;Absolutno;Ohrani svetlost];[Senca;Notranja Senca;Zunanji Sijaj;Notranji Sijaj;Zaobljenost in izbočenost;Prelij z Barvo;Prekrij z Prelivom;Prekrij z Vzorcem;Saten;Obrobi;Možnosti mešanja;];[Oblika konice;Dinamika konice;Raztresi;Dinamika barve;[Naključnost velikosti;Minimalni premer;Naključnost kota;Naključnost zaobljenosti;Minimalna zaobljenost];[Naključnost pozicije;Število;Naključnost števila];[Naključnost ospredja/ozadja;Naključnost odtenka;Naključnost nasičenosti;Naključnost svetlosti];[Izberi področje dupliciranja s pritiskom Alt (ali K) in klikom na sliko.;Označi Ospredje z Belo, Ozadje z Črno in neznano področje z Sivo barvo.;Plasti ni mogoče urejati.;Tekstovna Plast mora biti najprej rasterizirana.;Pametni Objekt mora biti najprej rasteriziran.;Izberi več plasti;Poravnaj plast;Najprej odpri dokument.;Najprej zapri trenutno okno;Samo trenutno orodje];[Snemaj;Nov nabor akcij;Nova akcija];[Pritiska stylusa kontrolira prosojnost;Pritiska stylusa kontrolira velikost];[Normalno;Raztopi;Potemni;Zmnoži;Vžgi barvo;Vžgi linearno;Temnejša barva;Posvetli;Presvetli;Izogni se barvam;Linearno se izogni;Svetlejša barva;Prekrij;Mehka svetloba;Trda svetloba;Živa svetloba;Linearna svetloba;Točkasta svetloba;Trda mešanica;Razlika;Izključitev;Odštej;Deli;Odtenek;Nasičenost;Barva;Svetlost;Spusti skozi]];[Razmak vrstic;Razpiranje;Premik črkovne črte;[Pretvori v naslovni tekst;Pretvori v glavni tekst]];[Vse Plasti;Trenutna Plast;Izbira;Trenutni in spodnji];[Zamenjaj;Združi;Odštej;Presek;Izključi;Združi];[[Linearno;Krožno;Kot;Zrcaljeno;Diamant;Vtis oblike];[Mehkeje;Natančno];[Zaobljenost zunaj;Zaobljenost znotraj;Izboči;Zaobljenost zamenjana;Zaobljenost obrobe;Širina poteze];[Mehko;Trdo izklesano;Mehko izklesano;Mehkost];[Gor;Dol];[Zunanji Rob;Centriraj;Znotraj;Iz sredine];[Sence;Srednji toni;Svetli toni];[Odstrani barve;Nasiči];[Malo;Srednje;Veliko];[Zakončeni;Rohy;Čiarky]];[Izberi objekt pod kazalcem;Kontrole transformacije;Piksel za piksel;Zapolni prostor;[Poravnaj leve robove;Poravnaj Horizontalno;Poravnaj desne robove;Poravnaj zgornje robove;Poravnaj Vertikalno;Poravnaj spodnje robove;Enaki razmaki]];[Vstavi v;Trenutni Projekt;Nov Projekt;Ločljivost;Dodano v trenutni projekt.;Nov projekt je pripravljen;Nimam dostopa do kamere.];[Orientacija;Ukrivi;Vodoravno popačenje;Navpično popačenje;[Horizontalno;Vertikalno;Vodoravno;Navpično];[Nič;Lok;Lok spodaj;Lok zgoraj;Obok;Izboklina;Školjka spodaj;Školjka zgoraj;Zastavica;Val;Riba;Dvigni;Ribje oko;Napihni;Stisni;Zasuk;Po Meri];[Pisava;ni na voljo;Se bo prikazalo s pomočjo;Nekaj dela ni shranjenega v;Želite res zapreti?];[Zamenjaj Barve;Privzeto: Črno - Belo]];[naložen;dodan;Premakni Vodilo;Izbriši Vodilo;Dodaj Vodilo;Nalagam;Naloži VAR0];[Galerija Filtrov;[[Utekočini;[Zmehčaj;Povrni;Zmehčaj;Zavrti Spiralno;Stisni;Razširi;Potisni Levo;Zamrzni;Odmrzni]];[Popravek Leče]];Zameglitev;[Povprečje;Zameglitev;Močna Zameglitev;Kvadratna Zameglitev;Nastavljiva Zameglitev;Zameglitev Leče;Smerna Zameglitev;Krožna zameglitev;Oblikovna Zameglitev;Pametna Zameglitev;Površinska Zameglitev];Popači;[Razporedi;Napihni v sredini;Polarne koordinate;Valovito;Nagni;Zaobli;Valovito];Šum;[Dodaj Šum;Odstrani prah;Prah in Praske;Mediana];Pikčasto;[Barvni raster;Kristaliziraj;Pikice;Razkoščkaj;Jedkanje;Mozaik;Pointilizem];Upodobi;[Oblaki;Drugačni oblaki;];Ostro;[Ostro;Ostri Robovi;Več Ostrine;Pametna Ostrina;Maska Ostrine];Stiliziraj;[Razprši;Izboči;Iztisni;Najdi Robove;Oljna slika];Drugo;[Po meri;Prepusti visoke frekvence;Maximum;Minimum;Zamakni;Ponovi];[Nedefinirano Področje;Nastavi Prosojno;Ponovi robne piksle;Ovij;Zadnji Filter;Predogled]];[Predloge;[Filter pisav;Ključne besede;Naključno];[S simboli;S sliko];[Sličice;Seznam]]", + "[Dosya;Düzenle;Resim;Katman;Klasör;Seç;Filtre;Görünüm;Pencere;Dil;Giriş Yap;Çıkış;Tercüme Et;[Hesap;Kullanım Şartları;Geri;Hakkında;Hata Bildir;Öğren];Daha Fazla;Tema;WebGL Kullan;[Photopea: Gelişmiş Resim Editörü;PSD, XCF, Sketch, XD ve CDR formatlarını destekleyen ücretsiz çevrimiçi editör.;Yeni bir resim oluşturun veya mevcut dosyaları bilgisayarınızdan açın. Çalışmanızı PSD (Dosya - PSD Olarak Kaydet) veya JPG / PNG / SVG (Dosya - Farklı Dışa Aktar) olarak kaydedin.; veya 'ta yeni özellikler önerin. Amacımız oluşturmaktır.;Sponsor bağlantıları yeni bir pencerede açılır.;Bu özellik bulunmamaktadır.;Photopea uygulamasını yükle]];[Aç;Online Yayınla;Kaydet;PSD Olarak Kaydet;Yazdır;URL Bağlantısını Aç;Bilgisayardan Aç;Google Drive bağlan;Farklı Dışa Aktar;Katmanları Dışa Aktar;Betik;Aç ve Yerleştir;Kapat;Yerel Depolama;Dosya Bilgisi];[İleri Git;Geri Git;Temizle;Doldur;Dönüştür;Döndür;VAR0 Çevir;VAR0 Ölçek;Geri / İleri;Perspektif;[Otomatik Harmanla;Otomatik Hizala];Soldur;Resme Uygula];Ayarlamalar;[Parlaklık/Kontrast;Seviye;Eğriler;Poz;Titreşim;Ton/Doygunluk;Renk Dengesi;Siyah-Beyaz;Fotoğraf Filtresi;Kanal Değiştirici;Renk Arama;Ters Çevir;Posterize;Eşik;Degrade Eşleme;Renk Seçici;[Otomatik Ton;Otomatik Kontrast;Otomatik Renk];Renkleri Değiştir];[Kes;Kopyala;Yapıştır;Yeni;Sil;Etkinleştir;Devre Dışı Bırak;Birleştirilmiş Kopyala;Uygula;Tekrar;Güncelle];[Katmanı Çoğalt;Yeni Ayarlama Katmanı;Raster Maskesi;Vektör Maskesi;Ekle (Tümünü Göster);[Ekle (Tümünü Gizle);Seçimi Göster;Seçimi Gizle;Saydamlıktan];[Kırpma Maskesi;Hızlı Maske Kipi];Akıllı Nesneye Dönüştür;Rasterleştir;Katmanları Grupla;Alttakiyle Birleştir;Üsttekiyle Birleştir;[Katmanları Birleştir;Görüntüyü Düzleştir];Yeni Katman;Raster Maskesini Etkinleştir;Raster Maskesini Devre Dışı Bırak;Vektör Maskesini Etkinleştir;Vektör Maskesini Devre Dışı Bırak;Kırpma Maskesini Etkinleştir;Kırpma Maskesini Devre Dışı Bırak;Yeni Dosya;Raster Maskesi Ekle;Raster Maskesini Sil;Vektör Maskesi Ekle;Vektör Maskesini Sil;Raster Maskesini Bağla;Raster Maskesini Bağlantılarını Kaldır;Vektör Maskesini Bağla;Vektör Maskesinin Bağlantılarını Kaldır;Katman Efektlerini Etkinleştir;Katman Efektlerini Devre Dışı Bırak;Katmanı Sil;Katman Opaklığını Değiştir;Karıştırma değiştir;Katman Stilini Sıfırla;Katman sıralaması;[Akıllı Nesne Oluşturuluyor;Akıllı Nesne Güncelleniyor;Akıllı Nesneyi Yerleştirme;Kaynak (Akıllı Nesne);Yığın Modu];İsim Değiştir;Renk Değiştir;Ayarlama Katmanını Düzenle;Şekile Dönüştür;Filtre Maskesini Etkinleştir;Filtre Maskesini Devre Dışı Bırak;Akıllı Filtreleri Etkinleştir;Akıllı Filtreleri Devre Dışı Bırak;Filtre Maskesi Ekle;Filtre Maskesini Sil;Akıllı Filtreleri Temizle;[[Katı Renk Dolgu;Degrade Dolgu;Desen Dolgu;İçeriğe Uygun];Yeni Dolgu Katmanı;Dolgu Katmanını Değiştir];Önceki Katmanı Kopyala;Filtre Maskesi;Katman Stilini Sil;Akıllı Filtreyi Taşı;Akıllı Filtreyi Sil;[Katmanları Bağla;Katmanları Çöz];Yerleştir;[En Öne Getir;Bir Öne Getir;Arkaya Gönder;En Arkaya Gönder];[Katman kilitlendi.;Değişikliğe Kilitle;Kilitle];Animasyon];[Tümü;Seçimi Kaldır;Tersine Çevir;Değiştir;Genişlet;Kontrast;Geçiş Yumuşatma;Seçimi Taşı;Renk Aralığı;Çerçeve;Seçimi Dönüştür;Kenarları Yumuşat;Seçimi İyileştir;Sihirli Kesme];[Büyült;Küçült;Kılavuzlar;Cetveller;Izgara;Tutun;Şuna Tutun;Belge Sınırları;Piksel Izgarası;Yollar;Piksellere Tutun;[Dilimler;Dilim Seçenekleri];Göster];[Geçmiş;Katmanlar;Özellikleri;Fırça;Karakter;Paragraf;Bilgi;Katman Kompozisyonları;Renk Örnekleri;Eylemler;Histogram;Gezgin;Araç Ön Ayarları;Gılifler];[Fırça Aracı;Klonlama Aracı;Kırpma Aracı;Silgi Aracı;Oval Seçim;Damlalık;Degrade Aracı;El Aracı;Yazı Aracı;Kement;Manyetik Kement;Taşıma Aracı;Sihirli Değnek;Boya Kovası;Çokgen Kement;Dikdörtgen Seçim;Serbest Dönüştürme;Yakınlaştırma;Bulanıklaştırma;Keskinleştirme;Leke;Soldurma;Yakma;Sünger;Benek İyileştirme Fırçası;İyileştirme Fırçası;Yama Aracı;Yol Seçimi;Doğrudan Seçim;Kalem;Serbest Biçim Kalemi;Özel Şekil;Dikdörtgen;Elips;Parametrik Şekil;Çizgi;Cetvel;Hızlı Seçim;Kalem Aracı;Perspektif Kırp;Dilimleme Aracı;Dilim Seçimi;Renk Değiştirme;Kırmızı Göz Aracı;Nesne Seçimi;Arka Plan Silgisi;Kukla Çarpıtma;Görünümü Döndür;İçeriğe Duyarlı Ölçekleme;İçeriğe-Duyarlı Taşıma];[Fotoğraf Çek;Renk Damlalığı;Kontur Editörü;Tuval Alanı;İçine Çoğalt;Degrade Düzenleyicisi;Katman Sitili;Yeni Proje;Web için Kaydet;Çarpıt;Resim Boyutu;Bitmap'i Vektörleştir;[Buda;Kırp;Tümünü Göster];Klavye Kısayolları;Kılavuzları Ekle;[Kılavuzları Temizle;Katmandan Kılavuzlar]];[Opaklık;Efektler;Parlaklık;[Kontrast;Eskiyi Kullan];Kanal;Poz;Kaydırma;Gama Düzeltmesi;Ton;Doygunluk;Aydınlık;Renklendirme;Aralık;Titreşimlilik;[Boyut;Enterpolasyonu;En Yakın Komşu;Bilineer];Açı;Yuvarlaklık;Sertlik;Aralık;[Karıştırma modu;Bu Koşulda Karıştır];Örnek Boyutu;Kontur;Stil;[Ters Çevir;Göreli;Bağlantı];Tolerans;Bitişik;Dolgu;Genel Açıyı Kullan;Mesafe;Yayılmış;Gürültü;Gölge Düşür;Teknik;Yön;Derinlik;Yumuşatmak;Mod;Degrade;Ölçek;Katmanla Hizala;Pozisyon;Genişlik;Yükseklik;Destinasyon;Tip;Ön plan;Arkaplan;Özel;İsim;Oluştur;Format;En-boy oranını koru;[Kalite;Sayfalar];Çoğalt;Taşıyın;Akıllı Filtreler;Yarıçap;Tutar;Dağılım;[Genel;Gauss];Tek renkli;Hücre Boyutu;Desen;Akış;Sertlik;Ayrıntıyı Koru;Dolgu Türü;Doku;Seğirme;Kenar;Kaynak;Hedef;Kanallar;Maske;Yoğunluk;Hizalı;[Yol;Şekil;Piksel;İnç;Santimetre;Milimetre;Yüzde];Şekiller;Kenarlar;Özellikler;[Uzunluk;Oran;Hiç;Izgara tipi;Izometrik;Izgara aralığı;Cetvel Birimleri];Paraziti Azalt;Renkler;Mesafeler;Hızı;Oto-Seçim;Bulmak;Yeni Tanımla;[Fotoğraf;Ekran;Mobil;Reklam;Baskı];[Ücretsiz;Sabit Oran;Sabit Boyut];Yardım;[Canlı Şekli;Canlı Şekli Düzenle;Aynı Yarıçaplar];Belirsizlik;[Çokgen;Yıldız;Spiral;Kare];[Köşe yarıçap;İç yarıçap]];[Renk;[Yok;Kırmızı;Turuncu;Sarı;Yeşil;Mavi;Mor;Gri;Beyaz;Şeffaf;Siyah;Camgöbeği;Macenta;Nötr];Toplam;Mutlak;Parlaklığı Sakla'yı];[Alt Gölge;İç Gölge;Dış Işıma;İç Işıma;Eğim Ver ve Kabart;Renk Kaplama;Degrade Kaplama;Desen Kaplama;Saten;Kontur;Karıştırma seçenekleri;Pikselleri Seç];[Uç Biçimi;İpucu Dinamikleri;Saç;Renk Dinamikleri;[Boyut Değişimi;Minimum Çap;Açı Değişimi;Yuvarlaklık Değişimi;Minimum Yuvarlaklık];[Pozisyon Değişimi;Adet;Adet Değişimi];[Ön Plan/Arka Plan Değişimi;Ton Değişimi;Doygunluk Değişimi;Parlaklık Değişimi];[Alt (veya K) tuşunu basılı tutun ve görüntüyü tıklatarak kopyalama kaynağını seçin.;Beyazla Ön Plan, Siyahla Arka Plan ve Gri ile bilinmeyen alanı işaretleyin.;Bu katman düzenlenemez.;Önce Metin Katmanı rasterleştirilmelidir;Akıllı Nesne önce rasterleştirilmelidir;Birden fazla katman seç;Katmanı Düzleştir;Önce bir belge açın.;Önce geçerli pencereyi kapatın.;Sadece Geçerli Araç];[Kaydet;Yeni Eylem Kümesi;Yeni eylem];[Kalem basınç kontrolleri opaklık;Kalem basınç kontrolleri boyut];[Normal;Erime;Koyulaştır;Çoğalt;Renk Yanması;Doğrusal Yanma;Daha Koyu Renk;Açıklaştır;Ekran;Renk Soldurma;Doğrusal Soldurma;Daha Açık Renk;Kaplama;Yumuşak Işık;Sert Işık;Canlı Işık;Doğrusal Işık;Pin Işığı;Katı Karışım;Fark;Dışlama;Çıkar;Böl;Ton;Doygunluk;Renk;Parlaklığı;Pass Through]];[Satır Aralığı;İzleme;Satır Taban Çizgisi Kayması;[Nokta Metnine Dönüştür;Paragraf Metnine Dönüştür]];[Tüm Katmanlar;Geçerli Katman;Seçim;Geçerli ve Altı];[Değiştir;Birim;Çıkar;Kesiştir;Dışlamak;Birleştir];[[Doğrusal;Radyal;Açı;Yansımış;Baklava;Shape Burst];[Daha Yumuşak;Kesin];[Dış Eğim;İç Eğim;Kabartma;Yastık Kabartma;Kontur Kabartma;Kontur genişliği];[Düzgünleştir;Sert Keski;Yumuşak Keski;Düzgünlük];[Yukarı;Aşağı];[Dışına;Merkez;Içine;Merkezden];[Gölgeler;Orta tonlar;Vurgular];[Doygunluğu Azalt;Doygunlaştır];[Küçük;Orta;Büyük];[Uçlar;Köşeler;Çizgiler]];[İmlecin altındaki nesneyi seç;Dönüşüm kontrolleri;Piksel Piksele;Alana Sığdır;[Sol Kenarları Hizala;Yatay Merkez;Sağ Kenarları Hizala;Üst Kenarları Hizala;Dikey Merkez;Alt Kenarları Hizala;Eşit Boşluklar]];[İçine Yerleştir;Geçerli Proje;Yeni Proje;Çözünürlük;Geçerli projeye eklendi.;Yeni proje oluşturuldu.;Kamera erişimi reddedildi.];[Yönlendirme;Bük;Yatay deformasyon;Dikey deformasyon;[Yatay;Dikey;Yatay;Dikey];[Yok;Yay;Altı Yaylaştır;Üstü Yaylaştir;Kemer;Çıkıntı;Aşağıyı Toparla;Yukarıyı Toparla;Bayrak;Dalga;Balık;Yükseliş;Balık gözü;Şişirmek;Sıkmak;Girdap;Özel];[Yazı tipi;kullanılabilir değil;Kullanılarak oluşturulacak;Kaydedilmemiş çalışma var:;Gerçekten kapatmak istiyor musun?];[Renkleri Değiştir;Varsayılan: Beyaz ve Siyah]];[yüklendi;eklendi;Kılavuzu Taşıyın;Kılavuzu Sil;Kılavuzu Ekle;Yükleniyor;VAR0 Yükle];[Filtre Galerisi;[[Sıvılaştır;[Lekelemek;Imar etmek;Yumuşatır;Burgu;Küçültmek;Şişirmek;Sola İt;Dondurmak;Erimek]];[Mercek Düzeltmesi]];Bulanıklaştırma;[Ortalama;Bulanıklaştırma;Daha Fazla Bulanıklaştırma;Kutu Bulanıklaştırma;Gauss Bulanıklığı;Mercek Bulanıklığı;Hareket Bulanıklığı;Radyal Bulanıklık;Şekil Bulanıklığı;Akıllı Bulanıklaştırma;Yüzey Bulanıklaştırma];Çarpıtmak;[Ötele;Bükme;Polar Koordinatlar;Dalgacık;Yamult;Küreleştirme;Dalga];Gürültü;[Gürültü Ekle;Lekeleri Temizle;Toz ve Çizikler;Medyan];Pikselleştirme;[Renkli Yarım Tonlu;Kristalleştir;Yön;Parça;Bakır Klişe Baskı;Mozaik;Noktalaştır];Görüntü Oluşturma;[Bulutlar;Fark Bulutları;Mercek Parlaması];Keskinleştirme;[Keskinleştir;Kenarları Keskinleştir;Daha Keskinleştir;Akıllı Keskinleştirme;Keskinliği Azaltma Maskesi];Stilize;[Yaygın;Kabartma;Derinlik;Sınırları Bul;Yağlı Boya];Diğer;[Özel;Yüksek Geçiş;Maksimum;Minimum;Kaydırma;Tekrarla];[Tanımsız Alan;Şeffaf Olarak Ayarla;Kenar Piksellerini Tekrarla;Etrafına Sar;Son Filtre;Önizleme]];[Şablonlar;[Yazı Tipi Filtresi;Anahtar kelimeler;Karıştırmak];[Sembolleri ile;Fotoğraf ile];[Minik Resimler;Liste]]", + "[Plik;Edycja;Obraz;Warstwa;Folder;Wybierz;Filtr;Widok;Okno;Język;Zaloguj się;Wyloguj się;Utwórz tłumaczenie;[Konto;Warunki korzystania;Powrót;O programie;Zgłoś błąd;Ucz się];Więcej;Motyw;Użyj WebGL;[Photopea: zaawansowany edytor obrazów;Darmowy edytor online obsługujący formaty PSD, XCF, Sketch, XD i CDR.;Utwórz nowy obraz lub otwórz istniejące pliki z komputera. Zapisz swoją pracę jako PSD (Plik - Zapisz jako PSD) lub jako JPG / PNG / SVG (Plik - Eksportuj jako).;Zaproponuj nowe funkcje w naszym lub . Naszym celem jest stworzenie .;Linki sponsora otwierają się w nowym oknie.;Ta funkcja jest nie dostępna.;Zainstaluj Photopea]];[Otwórz;Publikuj online;Zapisz;Zapisz jako PSD;Drukuj;Otwórz z adresu URL;Otwórz z komputera;Połącz z Google Drive;Eksportuj jako;Eksportuj warstwy;Skrypt;Otwórz i umieść;Zamknij;Pamięć lokalna;Informacje o pliku];[Krok do przodu;Krok do tyłu;Wyczyść;Wypełnij;Przekształć;Obróć;Odbij VAR0;Skaluj VAR0;Cofnij / Ponów;Perspektywa;[Auto-mieszanie;Automatycznie wyrównaj];Stonuj;Zastosuj obraz];Dostosowania;[Jasność/Kontrast;Poziomy;Krzywe;Ekspozycja;Jaskrawość;Barwa/Nasycenie;Balans kolorów;Czarny i Biały;Filtr fotograficzny;Mikser kanałów;Wyszukiwanie kolorem;Odwróć;Posteryzacja;Próg;Mapa gradientu;Kolor selektywny;[Auto-tony;Auto-kontrast;Auto-kolor];Zamień kolor];[Wytnij;Kopiuj;Wklej;Nowy;Usuń;Włącz;Wyłącz;Kopiuj scalone;Zastosuj;Ponownie;Uaktualnij];[Duplikuj warstwę;Nowa warstwa dopasowania;Maska rastrowa;Maska wektorowa;Dodaj (pokaż wszystko);[Dodaj (ukryj wszystko);Odkryj zaznaczenie;Ukryj zaznaczenie;Z przezroczystości];[Maska przycinająca;Tryb szybkiej maski];Konwertuj na obiekt inteligentny;Rasteryzuj;Grupuj warstwy;Scal w dół;Scal w górę;[Scal warstwy;Spłaszcz obraz];Nowa warstwa;Włącz maskę rastrową;Wyłącz maskę rastrową;Włącz maskę wektorową;Wyłącz maskę wektorową;Włącz maskę przycinającą;Wyłącz maskę przycinającą;Nowy folder;Dodaj maskę rastrową;Usuń maskę rastrową;Dodaj maskę wektorową;Usuń maskę wektorową;Połącz maskę rastrową;Rozłącz maskę rastrową;Połącz wektorową maskę;Odłącz maskę wektorową;Włącz efekty warstwy;Wyłącz efekty warstwy;Usuń warstwę;Zmiana krycia warstwy;Zmiana mieszania;Rasteryzuj styl warstwy;Kolejność warstwy;[Tworzenie obiektu inteligentnego;Aktualizacja obiektu inteligentnego;Umieszczenie obiektu inteligentnego;Źródło (obiekt inteligentny);Tryb nakładania];Zmiana nazwy;Zmiana koloru;Edycja warstwy dopasowania;Konwertuj na kształt;Włącz maskę filtru;Wyłącz maskę filtru;Włącz inteligentne filtry;Wyłącz inteligentne filtry;Dodaj maskę filtra;Usuń maskę filtra;Wyczyść filtry inteligentne;[[Wypełnienie kolorem;Wypełnienie gradientem;Wypełnienie wzorem;Uwzględnianie zawartości];Nowa warstwa wypełnienia;Modyfikuj warstwę wypełnienia];Kopiuj poprzez warstwę;Maska filtru;Usuń Styl Warstwy;Przesuń Filtr Inteligentny;Usuń Filtr Inteligentny;[Połącz warstwy;Odłącz warstwy];Ułóż;[Przenieś na wierzch;Przenieś wyżej;Przenieś niżej;Przenieś na spód];[Warstwa jest zablokowana;Zablokuj zmianę;Zablokuj];Animacja];[Wszystko;Odznacz;Odwróć;Zmień;Rozszerz;Zawęź;Wtapianie;Przesuń Zaznaczenie;Zakres kolorów;Granica;Przekształć zaznaczenie;Popraw krawędź;Naprawa zaznaczenia;Magiczne obcięcie];[Przybliż;Oddal;Linie pomocnicze;Linijki;Siatka;Przyciągnij;Przyciągnij do;Obszar dokumentu;Siatka pikseli;Ścieżki;Przyciągnij do pikseli;[Plasterki;Opcje plasterków];Pokaż];[Historia;Warstwy;Właściwości;Pędzel;Znak;Akapit;Informacje;Kompozycje warstw;Próbki;Operacje;Histogram;Nawigator;Ustawienia domyślne narzędzi;Glify];[Narzędzia pędzla;Narzędzia klonowania;Kadrowanie;Narzędzie usuwania;Zaznaczenie elipsy;Pipeta;Gradient;Narzędzie Rączka;Tekst;Lasso;Lasso magnetyczne;Przesunięcie;Różdżka;Wiadro z farbą;Lasso wielokątne;Prostokąt;Przekształć Swobodnie;Narzędzie Powiększenie;Rozmycie;Wyostrzenie;Smużenie;Rozjaśnianie;Ściemnianie;Gąbka;Punktowy pędzel korygujący;Pędzel korygujący;Łatka;Wybierz ścieżkę;Zaznaczenie bezpośrednie;Pióro;Pióro dowolne;Niestandardowy Kształt;Prostokąt;Elipsa;Kształt Parametryczny;Linia;Linijka;Szybki wybór;Ołówek;Kadrowanie perspektywiczne;Narzędzie Odcięcie;Narzędzie Zaznaczanie odcięcia;Zastępowanie kolorów;Narzędzie Czerwone oczy;Zaznaczanie obiektów;Usuwanie Tła;Wypaczenie marionetkowe;Obracanie widoku;Skala z uwzględnieniem zawartości;Przesuwanie z uwzględnieniem zawartości];[Zrób zdjęcie;Wybieranie koloru;Edytor konturów;Rozmiar obszaru roboczego;Duplikuj;Edytor gradientów;Styl warstwy;Nowy projekt;Zapisz do sieci;Wypaczenie;Rozmiar obrazu;Wektoryzuj Bitmapę;[Przytnij;Kadrowanie;Odkryjajas];Skróty klawiszowe;Dodaj linie pomocnicze;[Usuń linie pomocnicze;Warstwa na ścieżki]];[Krycie;Efekty;Jasność;[Kontrast;Użyj dziedziczenia];Kanał;Ekspozycja;Przesunięcie;Korekcja gammy;Barwa;Nasycenie;Jasność;Koloryzuj;Zasięg;Jaskrawość;[Rozmiar;Interpolacji;Najbliższy sąsiad;Dwuliniowa];Kąt;Zaokrąglenie;Twardość;Odstęp;[Opcja mieszania;Mieszaj gdy];Wielkość próbki;Kontura;Styl;[Cofnij;Względna;Zakotwiczenie];Tolerancja;Ciągłe;Wypełnij;Użyj globalnego kąta;Odległość;Rozpiętość;Szum;Warstwa odcina cień;Technika;Kierunek;Głębia;Zmiękczyć;Tryb;Gradient;Skala;Dopasuj do warstwy;Pozycja;Szerokość;Wysokość;Cel;Typ;Pierwszy plan;Tło;Dostosuj;Nazwa;Utwórz;Format;Zachowaj proporcje;[Jakość;Strony];Powiel;Przesuń;Sprytne filtry;Promień;Miara;Dystrybucja;[Jednolity;Gaussa];Monochromatyczne;Rozmiar komórki;Wzór;Przepływ;Siła;Chroń Szczegóły;Typ Wypełnienia;Tekstura;Drganie;Krawędź;Źródło;Cel;Kanały;Maska;Gęstość;Wyrównane;[Ścieżka;Kształt;Piksele;Cale;Centymetry;Milimetry;Procent];Kształty;Strony;Preferencje;[Długość;Proporcje;Dowolny;Typ siatki;Izometryczny;Rozstaw siatki;Jednostki miarki];Zmniejsz szum;Kolory;Odległości;Częstotliwość;Auto zaznaczenie;Znajdź;Zdefiniuj nowe;[Zdjęcie;Ekran;Mobilne;Reklamy;Druk];[Dowolny;Stały współczynnik;Stały rozmiar];Pomoc;[Aktywny kształt;Edycja aktywny kształt;Identyczny promień];Tolerancja;[Wielokąt;Gwiazda;Spirala;Obszar];[Promień zaokrąglenia;Promień wewnętrzny]];[Kolor;[Brak;Czerwony;Pomarańczowy;Żołty;Zielony;Niebieski;Fioletowy;Szary;Biały;Przezroczysty;Czarny;Niebieskozielony;Karmazynowy;Neutralny];Total;Absolutny;Utrzymaj jasność];[Cień zewnętrzny;Cień wewnętrzny;Zewnętrzna poświata;Wewnętrzna poświata;Faza i płaskorzeźba;Nakładka koloru;Nakładka gradientu;Nakładka wzorem;Satyna;Obrys;Opcje mieszania;Zaznacz Piksele];[Kształt końcówki;Dynamika końcówki;Rozproszenie;Dynamika koloru;[Rozmiar Drgań;Minimalna Średnica;Kąt Drgań;Okrągłość Drgań;Minimalna okrągłość];[Pozycja Drgań;Ilość;Ilość Drgań];[Pierwszy Plan/Tło Drgań;Barwa Drgań;Nasycenie drgań;Jasność drgań];[Wybierz źródło powielenia przytrzymując Alt (lub K) i klikając na obraz.;Zaznacz pierwszy plan na biały, tło czarnym i inny obszar za pomocą szarego.;Warstwa nie jest edytowalna.;Warstwa tekstowa musi najpierw zostać zrasteryzowana;Obiekt inteligentny musi najpierw zostać zrasteryzowany;Wybierz wiele warstw;Prostuj warstwę;Najpierw otwórz dokument.;Zamknij bieżące okno jako pierwsze;Tylko bieżące narzędzie];[Nagrywaj;Nowy zestaw operacji;Nowa operacja];[Nacisk pisaka kontroluje kryciem;Nacisk pisaka kontroluje rozmiar];[Zwykły;Rozpuszczanie;Ciemniej;Mnożenie;Ściemnianie;Ściemnianie liniowe;Ciemniejszy kolor;Jaśniej;Ekran;Rozjaśnianie;Rozjaśnianie liniowe;Jaśniejszy kolor;Nakładka;Łagodne światło;Ostre światło;Światło jaskrawe;Światło liniowe;Światło punktowe;Mieszanie twarde;Różnica;Wykluczenie;Odejmowanie;Dzielenie;Barwa;Nasycenie;Kolor;Jasność;Przejście bezpośrednie]];[Interlinia;Spacjowanie;Przesunięcie linii bazowej;[Konwertuj na tekst punktowy;Konwertuj na tekst akapitowy]];[Wszystkie warstwy;Bieżąca warstwa;Wybór;Bieżąca i niższa];[Zamień;Połączenie;Różnica;Przecięcie;XOR;Scal];[[Liniowe;Promieniowe;Kąt;Odbicie;Diament;Rozerwij Kształt];[Minkštesnis;Dokładny];[Faza zewnętrzna;Faza wewnętrzna;Płaskorzeźba;Żłobienie;Płaskorzeźba obrysu;Grubości obrysu];[Gładki;Dłuto twarde;Dłuto miękkie;Gładkość];[W górę;W dół];[Na zewnątrz;W środku;Wewnątrz;Ze środka];[Cienie;Półcienie;Podświetlenia];[Zmniejsz nasycenie;Zwiększ nasycenie];[Mały;Średni;Duży];[Zakończenia;Narożniki;Kreski]];[Wybierz obiekt pod kursorem;Kontrolki przekształcenia;Pixel do Pixela;Dopasuj do powierzchni;[Wyrównaj Lewe Krawędzie;Wyrównaj w poziomie;Wyrównaj Prawe Krawędzie;Wyrównaj Górne Krawędzie;Wyrównaj w pionie;Wyrównaj Dolne Krawędzie;Równe przerwy]];[Umieść w;Bieżący projekt;Nowy projekt;Rozdzielczość;Dodano do bieżącego projektu.;Utworzono nowy projekt.;Odmówiono dostępu do aparatu.];[Orientacja;Pochylenie;Zniekształcenie poziome;Odkształcenie pionowe;[Poziomy;Pionowy;w poziomie;w pionie];[Brak;Łuk;Łuk Dolny;Łuk Górny;Łuk;Wybrzuszenie;Muszla w dół;Muszla w górę;Flaga;Fala;Ryba;Wzrost;Rybie oko;Nadmuchać;Wyciskać;Wykręcać;Niestandardowy];[Czcionka;nie jest dostępny;Zostanie wyrenderowane za pomocą;Jest tu niezapisana praca.;Czy aby na pewno chcesz to zamknąć?];[Zamień Kolory;Domyślnie: Biały i Czarny]];[załadowane;dodane;Przesuń linię pomocniczą;Usuń linię pomocniczą;Dodaj linię pomocniczą;Ładowanie;Załaduj VAR0];[Galeria filtrów;[[Transformacja;[Smużyć;Zrekonstruować;Wygładzać;Wir;Kurczyć;Wiać;Naciśnij w lewo;Zamroź;Odmroź]];[Korekcja soczewki]];Rozmycie;[Uśredniony;Rozmycie;Rozmyj bardziej;Rozmycie Pudełkowe;Rozmycie Gaussowskie;Rozmycie Optyczne;Rozmycie Ruchu;Rozmycie Radialne;Rozmycie Kształtem;Inteligentne Rozmycie;Rozmycie Powierzchni];Przekształć;[Przemieszczenie;Ściśnięcie;Współrzędne biegunowe;Falowanie;Ścinanie;Sferyzacja;Fale];Szum;[Dodaj Szum;Odplamkuj;Kurz i zarysowania;Mediana];Pikselizuj;[Półton;Krystalizacja;Aspekt;Fragmentuj;Mezzotinta;Mozaika;Pointylizacja];Renderuj;[Chmury;Chmury różnicowe;Flara obiektywu];Wyostrz;[Wyostrz;Wyostrz Krawędzie;Wyostrz Bardziej;Inteligentne Wyostrzenie;Wyostrz Krawędzie];Stylizacja;[Rozpraszanie;Płaskorzeźba;Wytłaczanie;Znajdź krawędzie;Farba olejna];Inne;[Dostosuj;Filtr Górnoprzepustowy;Maksimum;Minimum;Przesunięcie;Powtarzać];[Niezdefiniowany obszar;Ustaw jako przezroczyste;Powtórz Piksele Brzegowe;Owiń w okół;Ostatni filtr;Podgląd]];[Szablony;[Filtr czcionek;Słowa kluczowe;Losowanie];[Z symbolami;Ze zdjęciem];[Miniaturki;Lista]]", + "[Berkas;Ubah;Gambar;Lapisan;Folder;Pilih;Penyaring;Tampilan;Jendela;Bahasa;Masuk;Keluar;Buat terjemahan;[Akun;Syarat Pelayanan;Kembali;Mengenai;Laporkan bug;Belajar];Lainnya;Tema;Gunakan WebGL;[Photopea: editor gambar tingkat lanjut;Editor online gratis yang mendukung format PSD, XCF, Sketch, XD dan CDR.;Buat gambar baru atau membuka file yang ada dari komputer Anda. Simpan pekerjaan Anda sebagai PSD (Berkas - Simpan sebagai PSD) atau sebagai JPG / PNG / SVG (Berkas - Ekspor sebagai).;Sarankan fitur baru di atau kami. Tujuan kami adalah untuk menciptakan .;Tautan sponsor terbuka di jendela baru.;Tampilan ini tidak tersedia;Install Photopea]];[Buka;Terbitkan online;Simpan;Simpan sebagai PSD;Cetak;Buka dari URL;Buka Dari Komputer;Sambungkan Dengan Google Drive;Ekspor sebagai;Ekspor lapisan;Skrip;Buka & Letakkan;Tutup;Penyimpanan Lokal;Info Berkas];[Langkah berikutnya;Langkah sebelumnya;Bersihkan;Isi;Ubah;Putar;Balik VAR0;Skala VAR0;Batalkan / Kembalikan;Perspektif;[Blend Otomatis;];Luntur;];Pengaturan;[Kecerahan/Kontras;Level;Kurva;Eksposur;Vibransi;Hue/Saturasi;Keseimbangan Warna;Hitam & Putih;Filter Foto;Channel Mixer;pencarian warna;Inversi;Posterize;Ambang;Peta Gradient;Selektif Warna;[Nada Otomatis;Kontras Otomatis;Warna Otomatis];Ganti Warna];[Potong;Salin;Tempel;Baru;Hapus;ada;Nonaktifkan;Salin Digabung;Terapkan;Ulangi aksi;Perbaharui];[Lapisan duplikat;Lapisan Penyesuaian Baru;Mask Raster;Masker Vektor;Tambah (Lihat Semua);[Tambah (Sembunyikan Semua);auswahl;Sembunyikan Pilihan;aus];[Clipping Mask;];Konversiere ke Smart Object;Rasterize;gruppenebene;zusammenführe;Gabung;[Gabung Lapisan;Ratakan Gambar];Lapisan Baru;Aktifkan Mask Raster;Nonaktifkan Mask Raster;Aktifkan Vector Mask;Nonaktifkan Vector Mask;Aktifkan Clipping Mask;Nonaktifkan Clipping Mask;Folder Baru;Tambahkan Mask Raster;Hapus Mask Raster;Tambahkan Vector Mask;Hapus Vector Mask;Link Masker Raster;Batalkan tautan Masker Raster;Link Vector Mask;Hapus Mask Vector;Aktifkan Efek Lapisan;Nonaktifkan Efek Lapisan;Hapus Lapisan;Perubahan Kegelapan Lapisan;Perubahan Campuran;Rasterisasi Lapisan;Urutan Lapisan;[Membuat Obyek Pintar;Memperbaharui Obyek Pintar;Menempatkan Obyek Pintar;Sumber (Smart Object);Mode Tumpuk];Ubah Nama;Ubah Warna;Ubah Penyesuaian Lapisan;Konversi ke bentuk;Hidupkan Filter Mask;Matikan Filter Mask;Nyalakan Filter Pintar;Matikan Filter Pintar;Tambah Filter Mask;Hapus Filter Mask;Bersihkan Filter Pintar;[[Isi Warna Dasar;Isi Gradasi;Isi Motif;Kesadaran Konten];Lapisan Isi Baru;Atur Lapisan Isi];Lapisan Baru Dengan Disalin;Filter Mask;Hapus Lapisan Gaya;Pindahkan Filter Pintar;Hapus Filter Pintar;[Hubungkan Lapisan;Putushubungkan Antar Lapisan];Atur;[Taruh di Depan;Taruh di atasnya;Taruh di belakang;Taruh di belakangnya];[Lapisan ini terkunci.;Kunci perubahan;Kunci];Animasi];[Semua;Lepaskan pemilihan;Balikan;Ubah;Tambahkan;Kontrak;Kehalusan pinggiran;Pindahkan pemilih;Rentang Warna;Garis tepi;Pilih untuk perpindahan;Haluskan Tepi;Pemilih perbaikan gambar;];[Memperbesar;Memperkecil;Garis bantu;Penggaris;Garis Bantu Persegi;Lekatkan;Lekatkan ke;Batas dokumen;Kisi Piksel;Garis pemotong;;[;];Tampilkan];[Riwayat;Lapisan;Properti;Kuas;Karakter;Paragraf;Info;Komposisikan Lapisan;;;Histogram;;;];[Alat kuas;Alat peniru;Pemotong;Penghapus;Pemilih Bundar;Ambil sample warna;Gradasikan;Geserkan Layar;Isi kata-kata;Garis Pemilih Bebas;;Pindahkan;Pemilih otomatis;Isi seluruh area;Garis pemilih bersiku;Kotak pemilih;;Besarkan layar;Buramkan;Pertajamkan;;;;;Perbaiki titik hitam;Kuas Perbaikan;;;Pilih langsung;Pulpen;Pulpen bebas;Bentuk Kustom;Persegi;Lingkaran/Bundar;Bentuk Parametrik;Garis;Penggaris;Pemilihan Cepat;Pensil;;;;;;;;;;;];[Ambil gambar;Ambil contoh warna;Pengedit Kontur;Ukuran Kanvas;Duplikatkan ke...;Pengedit Gradasi;Gaya Lapisan;Proyek Baru;Simpan untuk web;Lengkungkan;Ukuran Gambar;Vektorkan Bitmap;[Pangkas;;];Pintasan Keyboard;;[;]];[Tingkat transparansi;Efek;Kecerahan;[Kontras;];;Tingkat Terang;;Perbaiki Gamma;Hue;Tingkat Warna;Tingkat pencahayaan;Warnai;Rentang;Tingkat Semarak Warna;[Ukuran;Interpolasi;Bertetangga;Bilinier];Sudut;Tingkat kebulatan;Tingkat kekerasan;Jarak;[Modus Penyatuan;];Ukuran Sampel;Kontur;Gaya;[Balikan;;];Tingkat toleransi;Dekatkan;Isi;Gunakan Angle Global;Jarak;Penyebaran;Pecahkan;;Teknik;Arah;Kedalaman;Kehalusan;Modus;Gradasi;Ukuran;Sejajar dengan lapisan;Posisi;Panjang;Lebar;Destinasi;Tipe;Latar depan;Latar belakang;Kustom;Nama;Buat;Format;Jaga Aspek Rasio;[Kualitas;Halaman];Duplikat;Pindahkan;Filter Pintar;Radius;Jumlah;Distribusi;[Seragam;Gaussian];Monokromatik;Ukuran Sel;Corak;Alur;Kuatkan;Jaga Detail;Tipe isi;Tekstur;Jitter;Sudut;Sumber;Target;;;;;[Alur;Bentuk;Piksel;;Sentimeter;Milimeter;];;Sisi;Preferensi;[Panjang;Rasio;Semua;;Isometrik;;];Kurangi pecah gambar;Warna;Jarak;Tingkat;Pilih otomatis;Cari;;[Foto;Tampilan;Telepon;Iklan;];[;Rasio tetap;Ukuran tetap];Bantuan;[Bentuk Langsung;Ubah Bentuk Langsung;];;[Poligon;Bintang;Spiral;Persegi];[;]];[Warna;[Kosong;Merah;Jingga;Kuning;Hijau;Biru;Ungu;Abu-Abu;Putih;Transparansi;Hitam;Cyan;Magenta;];;;];[Taruh Bayangan;Bayangan di dalam;Bersinar di luar;Bersinar di dalam;Sudut dan Timbul;Lapisi Warna;Lapisi Gradasi;Lapisi Corak;Satin;Garis tepi;Pilihan Campuran;];[Titik berbentuk;Titik dinamis;Hamburkan;Warna Dinamis;[Ukuran Jitter;Diameter Minimal;Sudut Jitter;Tingkat kebulatan Jitter;Tingkat minimal kebulatan];[;Jumlah;Jumlah Jitter];[Latar Depan/Belakang Jitter;Warna Jitter;Tingkat warna jitter;Tingkat kecerahan jitter];[Pilih sampel contoh dengan tekan Alt (atau K) terus klik di gambar;Tandai Latar Depan pake Putih, Latar Depan pake Item terus Area lainnya pake abu-abu;Lapisannya gak bisa diedit;Lapisan teks harus di-raterize dulu;Smart Object-nya harus di-rasterize dulu;Pilih beberapa lapisan;;;;];[;;];[;];[;;;;;;;;Layar;;;;;;;;;;;;;;;;;;;]];[Arahkan;Lacak;Tukar garis dasar;[;]];[Semua Lapisan;Lapisan saat ini;Pilihan;Ini dan bawahnya];[Ganti;Satukan;Kurangi;Potong;Kecualikan;];[[Garis lurus;Bundar;Sudut;Cerminkan;Berlian;Bentuk Semburan];[Lebih halus;Presisi];[Sudut luar;Sudut dalam;Timbul;Timbulan halus;Timbulan keras;];[Halus;Pahatan Keras;Pahatan Halus;];[Atas;Bawah];[Luar;Tengah;Dalam;Dari tengah];[Bayangan;Cahaya Umumnya;Sorotan Cahaya];[Pudarkan warna;Warnai];[Kecil;Sedang;Besar];[;;]];[Pilih objek di bawah kursor;Kontrol transformasi;Piksel ke Piksel;Sesuaikan dengan Area;[Sejajarkan dengan Sudut Kiri;Tengah secara horizontal;Sejajarkan dengan Sudut Kanan;Sejajarkan dengan Sudut Atas;Tengah secara vertikal;Sejajarkan dengan Sudut Bawah;Samakan jarak]];[Taruh ke dalam...;Proyek Sekarang;Proyek Baru;Resolusi;Udah ditambahin ke proyek sekarang;Proyek baru udah dibuat;Akses ke kamera ditolak];[Orientasi;Bengkokan;Distorsi Horizontal;Distorsi Vertikal;[Horizontal;Vertikal;secara horizontal;secara vertikal];[Gak ada;Bentuk Kurva;Bentuk kurva bawah;Bentuk kurva atas;Melengkung;Menonjol;Bentuk Kerang Bawah;Bentuk Kerang Atas;Bentuk Bendera;Bergelombang;Bentuk Ikan;Timbul;Bentuk Mata Ikan;Tonjolkan;Remaskan;Pelintirkan;Bebas];[Huruf;gak tersedia;Bakal dirender pake;Ada file yang belum tersimpan di;Apa kamu yakin akan menutupnya?];[Tukar warna;Default: Putih dan Hitam]];[udah dimuat;udah ditambahin;Geser Patokan;Buang Patokan;Tambah Patokan;Memuat;Muat VAR0];[Galeri Filter;[[Cairkan;[Nodai;Buat Ulang;Haluskan;Putarkan;Ciutkan;Gembungkan;Tekan ke kiri;Bekukan;Batalkan beku]];[Koreksi lensa]];Buram;[Rata-rata;Buram;Buram Banget;Buram bentuk Kotak;Buram Gaussian;Buram Lensa;Buram Gerakan;Buram bentuk bundar;Buram berbentuk sesuatu;Buram Pintar;Buram permukaan];Distorsi;[Perpindahan;Cubit;Koordinat Polar;Beriak;Pangkas;Bentuk menjadi Bundar/Bola;Gelombang];Pecah Gambar;[Pecahkan Gambar;Hapus debu dan goresan;Tambahkan debu dan goresan;Median];Ubah jadi Pecahan Piksel;[Ubah jadi Halftone;Ubah jadi kristal;Segi;Potongan;Mezzotint;Mosaik;Titik-Titik];Render;[Berawan;Awan-awan aneh;];Pertajam;[Pertajam;Pertajam tepi;Tajam Banget;Pertajaman Pintar;Batalin Mask Pertajaman];Ubah-ubah;[Baurkan;Timbulkan;Tarik-Keluarkan;Cari Sudut;];Lainnya;[Terserah;;Maksimum;Minimum;;Ulang];[;Atur jadi Transparan;;;Filter sebelumnya;Pratinjau]];[Templat;[Malaysia;Kata kunci;Acak];[Dengan simbol;Dengan foto];[Thumbnails;Daftar]]", + "[文件;编辑;图像;图层;文件夹;选择;滤镜;视图;窗口;语言;登录的 的;注销;创建翻译;[账户;服务条款;返回;关于;反馈错误;学习];更多;主题;使用 WebGL;[Photopea: 高级图片编辑器;免费的在线图像编辑器,支持PSD、XCF、Sketch、XD、CDR等格式;创建新图像或打开已有文件。保存你的作品为 PSD 格式(文件 - 另存为 PSD)或 JPG / PNG / SVG 格式(文件 - 导出为)。;在我们的 上提出功能需求。我们的目标是打造 <最强大而易用的图片编辑器>;赞助商链接在新窗口中打开。;此功能不可使用。;安装 Photopea]];[打开;在线发布;保存;另存为 PSD;打印;从 URL 打开;从电脑打开;连接 Google Drive;导出为;导出图层;脚本;打开并放置;关闭;本地存储;Hustle Fresh];[重做;撤销;清除;填充;变形;旋转;VAR0翻转;VAR0缩放;撤销/重做;透视;[自动混合;自动对齐];渐隐;应用图像];调整;[亮度 / 对比度;色阶;曲线;曝光度;自然饱和度;色调/饱和度;色彩平衡;黑白;图片滤镜;通道混合器;颜色查找;反向;色调分离;阈值;渐变映射;可选颜色;[刘德华;自动对比度;自动颜色];微软雅黑];[剪切;复制;粘贴;新建;删除;启用;禁用;复制合并;应用;再次;更新];[复制图层;新调整图层;光栅遮罩;矢量蒙版;添加(显示全部);[添加(隐藏全部);显示选区;隐藏选区;从透明区域];[剪切蒙版;快速遮罩模式];转化为智能对象;栅格化;图层组;向下合并;向上合并;[合并图层;拼合图像];新建图层;开启光栅遮罩;禁用光栅遮罩;开启矢量蒙版;禁用矢量蒙版;开启剪切蒙版;禁用剪切蒙版;新建文件夹;添加光栅蒙版;删除光栅蒙版;添加矢量蒙版;删除矢量蒙版;链接光栅蒙版;取消光栅遮罩链接;连接矢量蒙版;取消矢量蒙版链接;启用图层效果;禁用图层效果;删除图层;图层透明度更改;混合更改;栅格化图层样式;图层排序;[创建智能对象;更新智能对象;放置智能对象;来源(智能对象);堆叠模式];重命名;更改颜色;编辑调整图层;转换为形状;开启滤镜遮罩;禁用滤镜遮罩;开启智能滤镜;禁用智能滤镜;添加滤镜遮罩;删除滤镜遮罩;清除智能滤镜;[[填充;渐变填充;图案填充;内容感知];新建图层;修改填充层];图层(通过复制);滤镜蒙版;删除图层样式;移动智能滤镜;删除智能滤镜;[连接图层;取消图层连接];排列;[置于顶层;前移一层;后移一层;置于底层];[图层已锁定;锁定修改;锁定];动画];[全部;取消选择;反选;修改;扩展;收缩;羽化;移动选区;色彩范围;边框;转换所选项;调整边缘;恢复选区;魔术切];[放大;缩小;参考线;标尺;网格;快照;对齐到;页面边界;像素网格;路径;像素对齐;[切片;切片选项];显示];[历史记录;图层;属性;笔刷;字符;段落;信息;图层组合;取样;动作;立方图;导航器;工具预设;字形];[笔刷工具;克隆工具;剪切工具;橡皮工具;椭圆选区;吸管;渐变工具;手型工具;文字工具;套索;磁性套索;移动;魔棒;填充;多边形套索;矩形;自由变换;放大镜工具;模糊;锐化工具;涂抹工具;减淡工具;加深工具;海绵工具;污点修复笔刷工具;修复画笔工具;修补工具;路径选择;直接选择;钢笔;自由钢笔;自定形状工具;矩形;椭圆形;形状图形;线;尺子;快速选中;铅笔工具;透视裁剪工具;切片;切片选择;颜色更换;红眼工具;选取目标;背景擦;布偶弯曲;旋转视图;内容识别比例;内容识别移动];[拍照;拾色器;等高线编辑器;画布大小;复制到...;渐变编辑器;图层样式;新建项目;另存为网页;弯曲;图像大小;向量位图;[裁切;裁剪;显示全部];键盘快捷键;添加参考线;[清除参考线;图层引导]];[透明度;效果;亮度;[对比度;使用旧版];通道;曝光度;补偿;伽玛校正;色调;饱和度;明度;着色;范围;抖动;[大小;插值;邻近;两次线性];角度;圆度;硬度;间距;[混合模式;混合颜色带];样本大小;轮廓;样式;[反向;相对;定位];容差;连续;填充;全局视图;距离;扩展;杂色;移除阴影;技巧;方向;深度;软化;样式;渐变;缩放;图层对齐;位置;宽;高度;目标;类型;前景色;背景色;自定义;名字;创建;格式;保持长宽比;[质量;网页];复制;更多;智能滤镜;圆角;数量;分布;[统一;高斯];单色;栅格大小;样式;流;强度;保护细节;填色类型;贴图;抖动;边缘;源;目标;通道;蒙版;密度;对齐;[路径;形状;像素;英寸;厘米;毫米;百分比];图形;边;首选项;[长度;比例;任何;网格类型;等距;网格间距;标尺单位];降低噪点;色彩;距离;比例;自动选择;查找;定义新的;[照片;屏幕;移动;广告;打印];[释放;固定比例;固定大小];帮助;[实时形状;编辑实时形状;相同半径];模糊;[多边形;星状;螺旋;正方形];[角半径;内半径]];[颜色;[无;红;橙色;黄色;绿色;蓝色;紫色;灰色;白色;透明;黑;青色;品红;中性色];总量;绝对;保持亮度];[阴影;内阴影;外发光;内发光;斜面和浮雕;颜色叠加;渐变叠加;图案叠加;光泽;描边;混合模式;像素选择];[笔尖形状;提示动态;散射;动态颜色;[大小调整;最小直径;角度调整;圆形调整;最小圆度];[位置调整;数量;分布调整];[前景/背景调整;色调调整;饱和度;亮度调整];[通过按住Alt(或K)选择克隆源,并单击图像。;用白色标记前景,用黑色标记背景,用灰色标记未知区域。;无法编辑图层。;必须对文本图层进行栅格化;必须对智能对象进行栅格化;选择多个图层;拉直图层;首先打开文档。;首先关闭当前窗口。;仅限当前工具];[记录;新动作集;新动作];[绘图板压力控制不透明度;绘图板压力控制大小];[正常;溶解;变暗;正片叠底;颜色加深;线性加深;浅色;变亮;滤色;颜色减淡;线性减淡;深色;叠加;柔光;强光;亮光;线性光;点光;实色混合;差值;排除;减去;划分;色相;饱和度;颜色;明度;穿透]];[行距;字距;基线偏移;[转换为点文本;转换为段落文本]];[所有图层;当前图层;选择;当前和下方图层];[替换;合并;分离;交叉;排除;合并];[[线性;径向;角;倒影;菱形;形状脱离];[柔和;精确];[外斜角;内斜角;浮雕;枕状浮雕;边缘浮雕;描边宽];[平滑;雕刻清晰;雕刻柔和;平滑度];[上;下];[外部;中心;内部;从中心];[阴影;中间调;高光];[去色;饱和];[小;中;大];[端点;角;短划线]];[自动选择;变换工具;像素到像素;按屏幕大小缩放;[左对齐;水平居中;右对齐;顶部对齐;垂直居中;底部对齐;等间距]];[应用图像;当前项目;新建项目;分辨率;添加到当前项目中。;新项目已创建;摄像机的访问被拒绝。];[定位;弯曲变形;水平变形;垂直变形;[水平;垂直;水平;垂直];[无;弧;下弧形;向上弧度;弓形;凸起;下张;上张;标记;波形;搜寻;上升;鱼眼;膨胀;挤压;扭曲;自定义];[字体;不可用;将被渲染使用;有未保存的工作;你真的想关闭吗?];[替换颜色;默认值:白色和黑色]];[已加载;添加;移动参考线;删除参考线;添加参考线;加载;加载 VAR0];[滤镜组;[[液化;[涂抹;重建;平滑;旋转;压缩;放大;向左推;锁定;解锁]];[镜头校正]];模糊;[平均;模糊;高斯模糊;方形模糊;高斯模糊;镜头模糊;动态模糊;圆形模糊;形状模糊;智能模糊;表面模糊];变形;[替换;挤压;极坐标;波纹;斜变;球面化;波浪];噪点;[添加杂色;祛斑;蒙尘与刮痕;中值];像素化;[彩色半调;晶格化;彩块化;碎片;铜板雕刻;马赛克;点状化];渲染;[云彩;差值分层云彩;镜头光晕];锐化;[锐化;锐化边缘;进一步锐化;智能锐化;USM 锐化];风格化;[扩散;浮雕;挤压;查找边缘;油画];其它;[自定义;高反差保留;最大值;最小值;抵消;重复];[未定义区域;设为透明;重复像素边缘;环绕;上次滤镜;预览]];[模板;[字体过滤;关键词;随机];[带符号;带图片];[缩览图;列表]]", + "[檔案;編輯;影像;圖層;資料夾;選取;濾鏡;檢視;視窗;語言;登入;登出;建立翻譯;[帳戶;服務條款;返回;關於;回報問題;學習];更多;主題;使用 WebGL;[Photopea: 進階影像編輯器;支援 PSD, XCF, Sketch, XD 和 CDR 格式的免費在線編輯器。;創建新圖像或打開已有文件。保存工作為 PSD 格式(文件 - 另存為 PSD)或 JPG / PNG / SVG 格式(文件 - 轉存為)。;在我們的 上提供新功能建議 。我們的目標是打造 <最強大而易用的圖片編輯器>。;贊助商鏈接將在新窗口打開。;此功能不可使用。;安裝 Photopea]];[開啟;線上發佈;存檔;存檔為 PSD;列印;從網址打開;從電腦開啟;連接Google Drive;轉存為;輸出圖層;腳本;置入;關閉;內部存儲;檔案信息];[下一步;上一步;清空;填滿;變形;旋轉;VAR0翻轉;VAR0比例尺;返回 / 向前;透視;[自動合成;自動對齊];淡化;套用影像];調整;[亮度 / 對比;色階;曲線;曝光;鮮艷;色相 / 飽和度;色彩平衡;黑白;圖片濾鏡;通道混合器;色彩查詢;倒置;色調分離;閾值;漸層地圖;色彩選擇;[自動色調;自動對比;自動色彩];取代顏色];[剪下;複製;貼上;新增;刪除;開啟;關閉;複製合併;應用;再一次;更新];[複製圖層;新調整圖層;光柵遮罩;向量遮罩;新增(顯示全部);[新增(隱藏全部);顯現選取範圍;隱藏選取範圍;來自透明選取範圍];[剪裁遮罩;快速遮色片模式];轉換成智慧物件;柵格化;圖層群組;向下合併;向上合併;[合併圖層;影像平面化];新圖層;開啟光柵遮罩;關閉光柵遮罩;開啟向量遮罩;關閉光柵遮罩;開啟剪裁遮罩;關閉剪裁遮罩;新資料夾;新增光柵遮罩;移除光柵遮罩;新增向量遮罩;移除向量遮罩;連結光柵遮罩;移除光柵遮罩連結;聯結向量圖遮色片;取消鏈接向量圖遮色片;啟用圖層效果;關閉圖層效果;刪除圖層;更改圖層不透明度;混合變更;點陣化圖層樣式;圖層順序;[建立智慧型物件;更新智慧型物件;建立智慧型物件;來源 (智能物件);堆疊模式];更改命名;更改顏色;編輯調整圖層;轉換成圖形;啟用過濾遮罩;關閉過濾遮罩;啟用智慧過濾;關閉智慧過濾;新增過濾遮罩;刪除過濾遮罩;清除智慧過濾;[[實色填滿;漸層填滿;網格填滿;內容意識];新建填充圖層;變更填充圖層];圖層(通過複製);濾鏡遮罩;刪除圖層樣式;移動智慧遮罩;刪除智慧遮罩;[超鏈接圖層;取消超鏈接圖層];排列;[移上一層;移下一層;下移一層;移到下層];[圖層已被鎖定;鎖定變更;鎖定];動畫];[全部;取消選擇;反選;修改;擴展;對比;羽化;移動選擇項目;顏色範圍;邊框;變形選區;調整邊緣;恢復選擇;];[放大;縮小;參考線;尺規;格線;對齊;對齊到;頁面邊界;像素格點;路徑;對齊像素;[切片;切片選項];顯示];[歷史紀錄;圖層;屬性;刷子;符號;段落;資訊;圖層構圖;顏色板;動作;直方圖;導覽器;工具預設集;字符];[筆刷工具;複製工具;裁剪工具;橡皮擦工具;橢圓選取;滴管;漸層;手繪工具;文字工具;套索選取;磁性套索選取;移動工具;魔術棒;油漆桶工具;多邊形套索選取;矩形選取;自由變換;縮放工具;模糊工具;銳利化工具;指尖工具;加亮工具;加深工具;海綿工具;污點修復筆刷工具;修復筆刷工具;修補工具;路徑選擇;直接選擇;鋼筆;自由鋼筆;自訂形狀工具;矩形;橢圓形;形狀圖形;線;尺標;快速選擇;鉛筆工具;透視修剪;切片;切片選取;顏色取代工具;紅眼;物件選擇;背景像皮擦;布偶彎曲;旋轉檢視;內容感知比率;內容感知移動];[快照;色彩選擇;輪廓編輯器;畫布尺寸;複製到...;漸變編輯器;圖層樣式;新增專案;另存網頁;曲線;圖片大小;向量像素化;[修剪;裁剪;顯示全部];熱鍵;添加參考線;[清除參考線;從圖層新增參考線]];[透明度;效果;亮度;[對比;使用舊版];色版;曝光度;偏移;伽馬校正;色相;飽和度;亮度;著色;範圍;抖動;[大小;內插;最接近像素;縱橫增值法];角度;圓度;硬度;間距;[混合模式;混合範圍];樣本大小;輪廓;風格;[顛倒;相對;錨點];容差;連續;填滿;使用全局視角;距離;擴散;雜訊;移除陰影;技巧;方向;深度;柔化;模式;漸層;比例尺;圖層對齊;位置;寬;高;目的地;類型;前景色;背景;自定義;名稱;建立;格式;保持長寬比例;[質量;網頁];複製;移動;智能濾鏡;半徑;數量;分佈;[統一;高斯];單色;格大小;圖樣;流;強度;保護細節;填色類型;紋理;抖動;邊緣;來源;目標;通道;遮罩;密度;對齊;[路徑;形狀;像素;英寸;公分;毫米;百分比];圖形;邊;選項;[長;比例;任意;格框類型;等角;格框間隙;尺單位];移除雜訊;色彩;距離;比例;自動選擇;搜尋;定義新的;[照片;螢幕;手機;廣告;版畫];[自由;鎖定比例;鎖定大小];幫助;[即時形狀;編輯即時形狀;相同半徑];模糊度;[多邊形;星;螺旋;方形];[角半徑;內半徑]];[顏色;[無;紅;橘;黃;綠;藍;紫;灰;白;透明;黑;青色;品紅;中色];總計;絕對;保持亮度];[陰影;內陰影;外發光;內發光;斜面與浮雕;顏色疊加;漸變疊加;紋理疊加;光澤;筆畫;混合模式;選擇畫素];[筆尖形狀;提示動態;散射;動態顏色;[大小調整;最小直徑;角度調整;圓度調整;最小圓度];[位置調整;數量;數量調整];[前景/後景調整;色相調整;飽和度調整;亮度調整];[按住Alt鍵(或K鍵)並點擊在影像上以選取複製來源;使用白色標註前景,黑色為背景,灰色為未知區域;圖層無法編輯。;必須先對文字圖層進行光柵化;必須先對智能對象進行光柵化;選中多個圖層;拉直層;首先打開文檔。;首先關閉當前窗口。;僅限目前工具];[記錄;新動作集;新動作];[數位板壓力控制不透明度;數位板壓力控制大小];[正常;溶解;變暗;色彩增值;加深顏色;線性加深;顏色變暗;變亮;濾色;加亮顏色;線性加亮;顏色變亮;覆蓋;柔光;實光;強烈光源;線性光源;小光源;實色疊印混合;差異化;排除;減去;分割;色相;飽和度;顏色;明度;穿過]];[行距;字距;基線偏移;[轉換為錨點文字;轉換為段落文字]];[全部圖層;目前圖層;選擇;目前及底下的圖層];[取代;合併;分離;相交;排除;合併];[[線性;徑向;角度;反映;鑽石;形狀爆裂];[柔和;精確];[外斜角;內斜角;浮雕;枕狀浮雕;邊緣浮雕;線條寬度];[平滑;雕刻清晰;雕刻柔和;平滑度];[上;下];[外部;中央;內部;從中央];[陰影;中間調;亮部];[去飽和度;飽和度];[小;中;大];[端點;轉折角;短橫線]];[選擇游標下的物件;變形調控;像素到像素;按屏幕大小縮放;[左邊緣對齊;水平置中;右邊緣對齊;頂端對齊;垂直置中;底端對齊;間隔相等]];[應用圖像;目前專案;新方案;分辨度;加入本方案;已經建立一個新的專案;對攝像頭的操作被拒絕];[定位;彎曲變形;水平變形;垂直變形;[水平;垂直;水平;垂直];[無;弧;下弧形;上弧形;弓形;凸起;下張;上張;旗標;波浪;魚;上升;魚眼;膨脹;擠壓;扭曲;自定義];[字體;不可用;渲染(將使用);有未保存工作在;確定要關閉?];[交換顏色;預設: 白與黑]];[加載;加入;移動參考線;刪除參考線;加入參考線;載入中;載入 VAR0];[濾鏡庫;[[液化;[塗抹;重建工具;平滑;旋轉扭曲;縮攏工具;膨脹工具;向左移動;凍結;取消凍結]];[鏡頭矯正]];模糊;[平均;模糊;更多模糊;方形模糊;高斯模糊;鏡頭模糊;行動模糊;圓形模糊;形狀模糊;智能模糊;表面模糊];變形;[更換;掐;極座標;漣漪效果;修剪;球體化;波狀];雜訊;[加入雜訊;斑點;蒙塵與刮痕;中值];像素化;[彩色半調;水晶化;彩塊化;碎片;銅板雕刻;馬賽克;點狀化];渲染;[雲彩;差值分層雲彩;反光效果];銳利化;[銳利化;邊緣銳化;更多銳化;智慧銳利化;USM 蒙板];風格化;[擴散;浮雕;擠壓;查找邊緣;油畫];其他;[自定義;高反差保留;最大值;最小值;偏移;重覆];[未定義區域;設為透明;重複像素邊緣;環繞;最後一個濾鏡;預覽]];[模板;[字體過濾;關鍵字;隨機];[帶符號;帶圖片];[型縮圖;清單]]", + "[ไฟล์;แก้ไข;รูปภาพ;เลเยอร์;โฟลเดอร์;เลือก;ตัวกรอง;มุมมอง;หน้าต่าง;ภาษา;เข้าสู่ระบบ;ออกจากระบบ;สร้างการแปล;[บัญชี;เงื่อนไขการใช้งาน;ย้อนกลับ;เกี่ยวกับ;รายงานความผิดพลาด;เรียนรู้];เพิ่มเติม;ธีม;ใช้ WebGL;[Photopea: โปรแกรมแก้ไขภาพขั้นสูง;โปรแกรมแก้ไขออนไลน์ฟรีที่รองรับรูปแบบ PSD, XCF, Sketch, XD และ CDR;สร้างภาพใหม่หรือเปิดไฟล์ที่มีอยู่จากคอมพิวเตอร์ของคุณ บันทึกงานของคุณเป็น PSD (ไฟล์ - บันทึกเป็น PSD) หรือเป็น JPG / PNG / SVG (ไฟล์ - ส่งออกเป็น);แนะนำคุณสมบัติใหม่ที่ หรือ ของเรา เป้าหมายของเราคือการสร้าง <โปรแกรมแก้ไขภาพที่ทันสมัยที่สุดและราคาไม่แพง>;ลิงก์จากผู้สนับสนุนเปิดในหน้าต่างใหม่;ฟีเจอร์นี้ไม่พร้อมใช้งาน;]];[เปิด;เผยแพร่ทางออนไลน์;บันทึก;บันทึกเป็น PSD;พิมพ์;เปิดจาก URL;เปิดจากคอมพิวเตอร์;เชื่อมต่อกับ Google Drive;ส่งออกเป็น;ส่งออกเลเยอร์;สคริปท์;เปิดและวาง;ปิด;ไฟล์ข้อมูล ท้องถิ่น;];[ขั้นตอนต่อไป;ขั้นตอนก่อนหน้า;ล้าง;ใส่;แปลง;หมุน;พลิกVAR0;สเกลVAR0;ยกเลิก / ทำซ้ำ;มุมมอง;[;การจัดตำแหน่งอัตโนมัติ];;];การปรับ;[ความสว่าง/ความเปรียบต่าง;ระดับ;เส้นโค้ง;การเปิดรับ;ความสั่นไหว;สีสัน/ความอิ่มตัว;ความสมดุลของสี;ขาวดำ;ตัวกรองภาพถ่าย;เครื่องผสมสัญญาณ;การค้นหาสี;กลับหัวกลับหาง;โปสเตอร์;ธรณีประตู;แผนที่แบบไล่ระดับสี;สีที่เลือก;[ปรับโทนอัตโนมัติ;ปรับความเปรียบต่างอัตโนมัติ;ปรับสีอัตโนมัติ];แทนที่สี];[ตัด;คัดลอก;แปะ;ใหม่;ลบ;เปิดใช้งาน;ปิดใช้งาน;สำเนาควบรวม;อะไร;อีกที;อัปเดต];[เลเยอร์ซ้ำ;เลเยอร์การปรับใหม่;หน้ากากแรสเตอร์;หน้ากากเวกเตอร์;เพิ่ม (แสดงทั้งหมด);[เพิ่ม (ซ่อนทั้งหมด);แสดงการเลือก;ซ่อนการเลือก;];[หน้ากากตัด;];แปลงเป็นวัตถุอัจฉริยะ;;เลเยอร์กลุ่ม;ผสานลง;ผสานขึ้น;[รวมเลเยอร์;];เลเยอร์ใหม่;เปิดใช้งานหน้ากากแรสเตอร์;ปิดใช้งานหน้ากากแรสเตอร์;เปิดใช้งานหน้ากากเวกเตอร์;ปิดใช้งานหน้ากากเวกเตอร์;เปิดใช้งานหน้ากากตัด;ปิดใช้งานหน้ากากตัด;โฟลเดอร์ใหม่;เพิ่มหน้ากากแรสเตอร์;ลบหน้ากากแรสเตอร์;เพิ่มหน้ากากเวกเตอร์;ลบหน้ากากเวกเตอร์;การลิงก์หน้ากากแรสเตอร์;ยกเลิกการเชื่อมโยงหน้ากากแรสเตอร์;การลิงก์หน้ากากเวกเตอร์;ยกเลิกการเชื่อมโยงหน้ากากเวกเตอร์;เปิดใช้งานผลลัพท์เลเยอร์;ปิดใช้งานเลเยอร์เอฟเฟ็กต์;ลบเลเยอร์;เปลี่ยนความทึบของเลเยอร์;การผสมผสานการเปลี่ยนแปลง;;ลำดับชั้น;[การสร้างวัตถุอัจฉริยะ;กำลังอัปเดตวัตถุอัจฉริยะ;การวางวัตถุอัจฉริยะ;แหล่ง (วัตถุอัจฉริยะ);];เปลี่ยนชื่อ;เปลี่ยนสี;แก้ไขเลเยอร์การปรับแต่ง;แปลงเป็นรูปทรง;เปิดใช้งานตัวกรองหน้ากาก;ปิดใช้งานหน้ากากกรอง;เปิดใช้งานตัวกรองอัจฉริยะ;ปิดใช้งานตัวกรองอัจฉริยะ;เพิ่มหน้ากากกรอง;ลบหน้ากากกรอง;ล้างตัวกรองอัจฉริยะ;[[สีทึบเติม;ไล่ระดับเติม;ลวดลายเติม;];เลเยอร์การเติมใหม่;แก้ไขเลเยอร์การเติม];เลเยอร์ผ่านทางสำเนา;กรองมาสก์;ลบรูปแบบเลเยอร์;ย้ายตัวกรองอัจฉริยะ;ลบตัวกรองอัจฉริยะ;[การลิงก์เลเยอร์;ยกเลิกการเชื่อมโยงเลเยอร์];จัดเรียง;[ข้างหน้า;นำไปไว้ข้างหน้า;ส่งกลับไปข้างหลัง;ส่งไปหลังสุด];[เลเยอร์ถูกล็อค;แก้ล็อค;];];[ทั้งหมด;ยกเลิกการเลือก;ผกผัน;แก้ไข;ขยายตัว;สัญญา;ขน;ย้ายการเลือก;ช่วงสี;ชายแดน;เปลี่ยนการเลือก;ปรับขอบ;;];[ขยายเข้า;ซูมออก;เส้นบอกแนว;ผู้ปกครอง;ตาราง;ตะครุบ;จับไปที่;ขอบเขตเอกสาร;ตารางพิกเซล;พาธ;;[;];];[ประวัติ;เลเยอร์;คุณสมบัติ;แปรง;รูปลักษณ์;ย่อหน้า;ข้อมูล;รวมเลเยอร์;ตัวอย่าง;แมโคร;ฮิสโทแกรม;ภาพรวม;;];[เครื่องแปรง;เครื่องสำเนา;เครื่องครอบตัด;เครื่องมือยางลบ;เลือกแบบวงรี;ที่หยอดตา;เครื่องไล่เฉด;เครื่องใช้มือ;เครื่องพิมพ์อักษร;เลือกแบบบ่วง;เลือกแบบบ่วงยึด;เครื่องย้าย;คฑาวิเศษ;เครื่องเทสี;เลือกแบบบ่วงเหลี่ยม;เลือกแบบสี่เหลี่ยม;แปลงร่างอิสระ;เครื่องขยาย;เครื่องทำภาพมัว;เครื่องทำภาพชัด;เครื่องเกลี่ยสี;เครื่องกลบสี;เครื่องเผา;เครื่องทำฟอง;เครื่องมือแปรงซ่อมเป็นจุด;เครื่องมือแปรงซ่อม;เครื่องมือซ่อม;เลือกพาธ;เลือกตรงๆ;ปากกา;ปากกาอิสระ;รูปร่างตามใจ;สีเหลี่ยม;วงรี;รูปร่างสมมาตร;เส้น;ไม้บรรทัด;เลือกอย่างเร็ว;เครื่องมือดินสอ;;;;;;เลือกวัตถุ;;;;;];[ถ่ายรูป;เลือกสี;ตัวแก้เส้นขอบ;ขนาดผ้าวาด;สำเนาไปที่ ...;ตัวแก้การไล่สี;ลักษณะเลเยอร์;โครงการใหม่;จัดเก็บสำหรับใช้กับเว็บ;วาร์ป;ขนาดภาพ;;[ตัดขอบ;;เปิดเผยทั้งหมด];แป้นลัด;เพิ่มเส้นบอกแนว;[;]];[ความทึบแสง;ลูกเล่น;ความสว่าง;[ความเปรียบต่าง;ใช้อัลกอริทึมเก่า];ช่อง;ช่องรับแสง;ระยะ;การแก้แกมม่า;สีสัน;ความอิ่มตัว;ความสว่าง;เล่นสี;ช่วง;ความสด;[ขนาด;;;];ุมุม;ความมน;ความแข็ง;ระยะว่าง;[รูปแบบการกลืน;];ขนาดพื้นฐาน;เส้นแสดงรูปร่าง;สไตล์;[ย้อนกลับ;;];บริษัท;ติดกัน;เติม;ใช้มุมทั่วโลก;ระยะ;ขยาย;ตัวกรองเสียงรบกวน;นำเงาออก;เทคนิค;ทิศทาง;ความลึก;อ่อนลง;โหมด;ไล่ระดับ;สเกล;จัดเรียงตามเลเยอร์;ตำแหน่ง;กว้าง;สูง;เป้าหมาย;ประเภท;เบื้องหน้า;พื้นหลัง;กำหนดเอง;ชื่อ;สร้าง;รูปแบบ;รักษาอัตราส่วน;[คุณภาพ;หน้า];ทำซ้ำ;ย้าย;ตัวกรองอัจฉริยะ;รัศมี;จำนวน;การกระจาย;[รูปแบบ;เกาส์เชียน];สีเดียว;ขนาดโมเสค;ลวดลาย;;เรี่ยวแรง;ป้องกันรายละเอียด;ประเภทเติม;พื้นผิว;จีมิน;มุม;แหล่ง;เป้าหมาย;;หน้ากาก;;จัดเรียง;[เส้นทาง;รูปร่าง;พิกเซล;นิ้ว;เซนติเมตร;มิลลิเมตร;เปอร์เซ็นต์];รูปร่าง;;การตั้งค่า;[ความยาว;อัตราส่วน;อื่นๆ;ประเภทตาราง;;;หน่วยไม้บรรทัด];ลดเสียงรบกวน;สี;ระยะทาง;;เลือกอัตโนมัติ;ค้นหา;จำกัดความใหม่;[รูปภาพ;จอแสดงผล;มือถือ;โฆษณา;พิมพ์];[ฟรี;;กำหนดขนาดคงที่];ช่วยเหลือ;[;;];;[รูปหลายเหลี่ยม;ดาว;เกลียว;];[รัศมีมุม;รัศมีภายใน]];[สี;[ไม่มีสี;สีแดง;สีส้ม;สีเหลือง;สีเขียว;สีน้ำเงิน;สีม่วง;สีเทา;สีขาว;ความโปร่งใส;สีดำ;สีไซอัน;สีม่วงแดง;];;สัมบูรณ์;];[วางเงา;เงาภายใน;ส่องแสงด้านนอก;ส่องแสงด้านใน;;;;;;ขอบ;;];[รูปร่างปลาย;รูปร่างไดนามิก;;สีไดนามิค;[;;;;];[;รวม;];[;;;];[เลือกแหล่งโคลนโดยการกด Alt (หรือ K) และคลิกที่ภาพ;;ไม่สามารถแก้ไขเลเยอร์ได้;;;เลือกหลายเลเยอร์;;เปิดเอกสารก่อน;ปิดหน้าต่างปัจจุบันก่อน;];[เรกคอร์ด;ใหม่ชุดแมโคร;ใหม่แมโคร];[;];[Normal;Dissolve;Darken;Multiply;Color Burn;Linear Burn;Darker Color;Lighten;Screen;Color Dodge;Linear Dodge;Lighter Color;Overlay;Soft Light;Hard Light;Vivid Light;Linear Light;Pin Light;Hard Mix;Difference;Exclusion;Subtract;Divide;Hue;Saturation;Color;Luminosity;Pass Through]];[;;;[;]];[เลเยอร์ทั้งหมด;เลเยอร์ปัจจุบัน;การเลือก;];[แทนที่;;;;;];[[เส้นตรง;รัศมี;มุม;;;];[;];[;;;;;];[;;;];[;];[ด้านนอก;ตรงกลาง;ด้านใน;];[;;];[;];[เล็ก;กลาง;ใหญ่];[;;]];[;;พิกเซลเป็นพิกเซล;พอดีกับพื้นที่;[จัดแนวขอบด้านซ้าย;กึ่งกลางแนวนอน;จัดแนวขอบด้านขวา;จัดแนวขอบด้านบน;กึ่งกลางแนวตั้ง;จัดแนวขอบด้านล่าง;]];[;โปรเจคปัจจุบัน;โปรเจคใหม่;ความละเอียด;เพิ่มในโปรเจคปัจจุบันแล้ว;สร้างโปรเจคใหม่ เรียบร้อยแล้ว;การเข้าถึงกล้องถ่ายรูป ถูกปฏิเสธ];[;บิดงอ;ความผิดเพี้ยนแนวนอน;ความผิดเพี้ยนแนวตั้ง;[แนวนอน;แนวตั้ง;แนวนอน;แนวตั้ง];[ไม่มี;;;;;;;;;;;;;;;;กำหนดเอง];[แบบอักษร;ไม่สามารถใช้งานได้;จะแสดงผลโดยใช้;มีงานที่ไม่ได้บันทึกใน;จริงๆคุณต้องการที่จะปิดมันได้หรือไม่];[สลับสี;ค่าเริ่มต้น: สีขาว และ สีดำ]];[โหลดแล้ว;เพิ่มแล้ว;ย้ายเส้นบอกแนว;ลบเส้นบอกแนว;เพิ่มคเส้นบอกแนว;กำลังโหลด;โหลด VAR0];[แกลลอรี่กรอง;[[;[;;;;;;;แข็ง;เลิกแข็ง]];[การแก้ไขเลนส์]];ตัวกรองเบลอ;[ค่าเฉลี่ย;เบลอ;เบลอเพิ่มเติม;เบลอสนาม;เกาส์เบลอ;เลนส์เบลอ;โมชั่นเบลอ;;;;];ตัวกรองบิดเบือน;[;;พิกัดเชิงขั้ว;;ตัด;;คลื่น];ตัวกรองเสียงรบกวน;[เพิ่มเสียงรบกวน;ลบเสียงรบกวน;ฝุ่นและรอยขีดข่วน;มัธยฐาน];ตัวกรอง Pixelate;[;;;ส่วน;การแกะแม่พิมพ์วิธีเมดโสะทินท;;];ตัวกรอง Render;[เมฆ;;];ตัวกรอง Sharpen;[;;;;];ตัวกรอง Stylize;[กระจาย;;;;];อื่นๆ;[กำหนดเอง;;สูงสุด;ขั้นต่ำ;ออฟเซ็ต;ทำซ้ำ];[;ตั้งเป็นโปร่งใส;;;ตัวกรองสุดท้าย;ดูตัวอย่าง]];[แม่แบบ;[ตัวกรองแบบอักษร;คำสำคัญ;สุ่ม];[พร้อมสัญลักษณ์;พร้อมรูปถ่าย];[รูปขนาดย่อ;รายการ]]", + "[ファイル;編集;イメージ;レイヤー;フォルダー;選択;フィルター;表示;ウインドウ;言語;ログイン;ログアウト;翻訳する;[アカウント;利用規約;戻る;アプリについて;バグを報告;ラーニング];その他;テーマ;WebGLを使う;[Photopea:高度な画像エディタ;PSD、XCF、Sketch、XD、CDR フォーマットをサポートする無料のオンラインエディタ。;新しい画像を作成するか、コンピュータから既存のファイルを開きます。作業内容を PSD(ファイル/PSDとして保存)または JPG、PNG、SVG(ファイル/としてエクスポート)として保存します。;またはで新しい機能を提案してください。私たちの目標は、<最も先進的で手頃な価格のフォトエディタ>を作成することです。;広告リンクは新しいウィンドウで開きます。;この機能は利用できません。;]];[開く;公開する;保存;PSDとして保存;印刷;URLから開く;コンピュータから開く;Google Driveに接続;別名で保存;レイヤーをエクスポート;スクリプト;オープン&プレース;閉じる;ローカルストレージ;];[やり直す;元に戻す;消去;塗りつぶし;変形;回転;VAR0に反転;VAR0拡大・縮小;元に戻す / やり直し;展望;[オートブレンド;自動整列];フェード;画像操作];調整;[明るさ / コントラスト;レベル;曲線;露出;自然な彩度;色相/彩度;カラーバランス;黒と白;フォトフィルター;チャンネルミキサー;色検索;反転;ポスタライズ;しきい値;グラデーションマップ;選択色;[オートトーン;オートコントラスト;オートカラー];色を交換];[切り取り;コピー;ペースト;新規;削除;有効化;無効化;コピー結合;適用;もう一度;更新];[レイヤーを複製;新しい調整レイヤー;ラスター マスク;ベクター マスク;追加(全てを表示);[追加(全てを隠す);選択範囲外をマスク;選択範囲をマスク;透明部分をマスク];[クリッピングマスク;クイックマスクモー];スマートオブジェクトへの変換;ラスタライズ;レイヤーのグループ化;下のレイヤーと統合;上のレイヤーと統合;[レイヤーを結合;画像を統合];新規レイヤー;ラスターマスクを有効化する;ラスターマスクを無効化;ベクターマスクを有効化;ベクターマスクを無効化;クリッピングマスクを有効化;クリッピングマスクを無効化;新規フォルダ;ラスターマスクを追加;ラスターマスクを削除;ベクターマスクを追加;ベクターマスクを削除;ラスターマスクをリンク;ラスターマスクのリンクを解除;ベクターマスクをリンク;ベクターマスクのリンクを解除;レイヤー効果を有効にする;レイヤー効果を無効にする;レイヤーを削除;レイヤー透明度の変更;ブレンドの変更;レイヤースタイルのラスタライズ;レイヤーの順序;[スマートオブジェクトの作成;スマートオブジェクトを更新;スマートオブジェクトを配置;ソース (スマートオブジェクト);スタックモード];名前の変更;カラーの変更;調整レイヤーの編集;シェープに変換;フィルターマスクの有効化;フィルターマスクの無効化;スマートフィルターを有効化;スマートフィルターを無効化;フィルターマスクを追加;フィルターマスクを削除;フィルターマスクをクリア;[[単色塗りつぶし;グラデーション塗りつぶし;パターン塗りつぶし;コンテンツに応じる];新規塗りつぶしレイヤー;塗りつぶしレイヤーの編集];コピーからレイヤーを作成;フィルターマスク;レイヤースタイルを削除;スマートフィルターを動かす;スマートフィルターを削除;[リンクレイヤーズ;アンリンクレイヤーズ];重ね順;[最前面へ;前面へ;最背面へ;背面へ];[レイヤーはロックされています;ロックの変更;];];[全て;選択解除;選択範囲を反転;編集;拡げる;コントラクト;フェザー;セレクション移動;カラーレンジ;ボーダー;セレクション変形;エッジを絞り込む;ヒールセレクション;];[拡大;縮小;ガイド;定規;グリッド;スナップ;...へスナップ;ドキュメントの境界;ピクセルグリッド;パス;ピクセルへスナップ;[スライス;スライスオプショ];表示];[履歴;レイヤー;プロパティ;ブラシ;文字;パラグラフ;情報;レイヤーコンプ;見本;アクション;ヒストグラム;ナビゲーター;ツールプリセット;字形];[ブラシツール;コピーツール;切り抜きツール;消しゴム;楕円形 選択;スポイト;グラデーションツール;手のひらツール;テキストツール;投げ縄 選択;マグネット 投げ縄 選択;移動ツール;自動選択;バケツ;多角形選択;矩形選択;自由変形;ズームツール;ぼかしツール;シャープツール;指先ツール;覆い焼きツール;焼きこみツール;スポンジツール;スポット修復ブラシツール;修復ブラシツール;パッチツール;パスコンポーネント選択;パス選択;ペン;フリーフォームペン;カスタムシェイプ;矩形;楕円;パラメトリック図形;ライン;ルーラ;クイック選択;ペンシルツール;パースペクティブクロップ;スライスツール;スライス選択ツール;色の置き換え;赤目修正ツール;オブジェクト選択;背景消しゴムツール;パペットワープ;回転ビューツール;コンテンツに応じて拡大;コンテンツに応じた移動];[写真撮影;カラーピッカー;輪郭エディタ;キャンバスサイズ;複製する…;グラデーションエディタ;レイヤースタイル;新規プロジェクト;Web用に保存;ワープ;画像サイズ;ビットマップをベクトル化;[トリミング;切り抜き;すべてを明らかにする];キーボードショートカット;ガイドの追加;[ガイドを消去;レイヤーからのガイド]];[不透明度;効果;明るさ;[コントラスト;従来方式を使用];チャンネル;露光;オフセット;ガンマ値;色相;彩度;明るさ;着色;距離;自然な彩度;[サイズ;補間;ニアレストネイバー法;バイリニア法];角度;丸み;硬度;間隔;[ブレンドモード;ブレンド条件];サンプルサイズ;輪郭検出;スタイル;[選択範囲を反転;相対;基準位置];許容値;隣接;フィル;包括角度の使用;距離;拡散;ノイズ;ドロップシャドウをノックアウト;技術;方向;深度;美肌;モード;グラデーション;スケール;レイヤーの整列;位置;幅;高さ;距離;タイプ;最前面;最背面;カスタム;名前;作成;フォーマット;縦横比を保持;[品質;ページ];複製;移動;スマートフィルター;半径;断片数;分布;[均一;ガウス];モノクロ;セルサイズ;パターン;フロー;力;詳細の保護;塗りつぶしタイプ;テクスチャ;ジッター;エッジ;ソース;ターゲット;チャンネル;マスク;濃度;整列;[パス(経路);形状;ピクセル;インチ;センチメートル;ミリメートル;%];形;サイド;設定;[長さ;比率;どれか;グリッドタイプ;アイソメ;グリッドの間隔;定規の単位];ノイズを減らす;カラー;距離;レート;オートセレクト;探す;新しい定義;[フォト;スクリーン;モバイル;広告;プリント];[無料;固定比率;固定サイズ];ヘルプ;[ライブシェイプ;ライブシェイプの編集;同じ半径];あいまいさ;[ポリゴン;星;スパイラル;正方形];[コーナーラディウス;インナーラディウス]];[カラー(色);[なし;赤;オレンジ;イエロー;緑;青;紫;グレイ(灰色);白;透明;黒;シアン;マゼンタ;中間];合計;絶対値;輝度を保持];[ドロップシャドウ;インナーシャドウ;アウターグロウ;インナーグロウ;斜角と浮き彫り;カラーオーバーレイ;グラデーションオーバーレイ;パターンオーバーレイ;サテン;ストローク;ブレンドオプション;ピクセルを選択];[チップ形状;チップダイナミクス;散布;カラーダイナミクス;[サイズジッター;最小直径;アングルジッター;丸みジッター;最小限の真円度];[ポジションジッター;カウント;カウントジッター];[前景/背景 ジッター;色相ジッター;緩和ジッター;輝度ジッター];[Alt(またはK)を押しながらイメージをクリックして、クローンソースを選択;前景に白、背景に黒、未知の領域にグレーをマークします。;レイヤーは編集できません;テキストレイヤを最初にラスタライズする必要があります;スマートオブジェクトを最初にラスタライズする必要があります;マルチプルレイヤーを選択;レイヤー角度補正;最初にドキュメントを開きます。;最初に現在のウィンドウを閉じます。;現在のツールのみ];[記録;新 アクションセット;新 アクション];[筆圧で不透明度を調節ボタン;筆圧でサイズを調節ボタン];[通常;ディザ合成;比較(暗);乗算;焼き込みカラー;焼き込み(リニア);カラー比較(暗);比較(明);スクリーン;覆い焼きカラー;覆い焼き(リニア);カラー比較(明);オーバーレイ;ソフトライト;ハードライト;ビビッドライト;リニアライト;ピンライト;ハードミックス;差の絶対値;除外;減算;除算;色相;彩度;カラー;輝度;通過]];[行送り;追跡;ベースラインシフト;[ポイントテキストに変換;段落テキストに変換]];[すべてのレイヤー;現在のレイヤー;選択;現在のレイヤー以下];[置き換え;合体;減数;交差;除外;マージ];[[直線;放射状;アングル;反射;ダイヤモンド;シェープバースト];[柔らかい;正確];[アウター斜角;インナー斜角;エンボス;枕の浮き彫り;ストロークエンボス;幅];[スムース;チゼルハード;チゼルソフト;滑らかさ];[アップ;ダウン];[外側;中央;内側;中心から];[シャドウ;ミドルトーン;ハイライト];[不飽和化;飽和];[スモール;ミディアム;ラージ];[線端;角;線分]];[カーソルの下のオブジェクトを選択する;変換コントロール;ピクセルからピクセル;エリアに合わせる;[左端を揃える;水平にセンター;右端を揃える;上端を揃える;垂直に中央;ボトムエッジの整列;等間隔]];[写真を撮る;現在のプロジェクト;新しいプロジェクト;解像度;現在のプロジェクトに追加されました;新しいプロジェクトが作成されました;カメラへのアクセスが拒否されました];[オリエンテーション;ベンド;水平方向の歪み;垂直方向の歪み;[水平;垂直;水平方向;垂直方向];[なし;弧;アークローワー;アークアッパー;アーチ;膨らみ;シェルローワー;シェルアッパー;旗;波;魚;上昇;魚眼;膨らませる;圧搾;ねじれ;カスタム];[フォント;利用できません;使用してレンダリングされます;このプロジェクトには未保存の作業が含まれています:;本当に閉じますか?];[スワップカラー;デフォルト:黒と白]];[ロードされた;追加された;移動ガイド;ガイドの削除;ガイドの追加;読み込み中;VAR0 を読み込み];[フィルタギャラリー;[[液化液;[汚れ;再構築;スムーズ;トール;シュリンク;ブロー;左を押す;フリーズ;アンフリーズ]];[レンズ補正]];ぼかし;[平均;ぼかし;ぼかしを多く;ボックスのぼかし;ガウスぼかし;レンズぼかし;モーションぼかし;放射状のぼかし;形状ブラー;スマートなぼかし;表面のぼかし];歪み;[置き場所;ピンチ;極座標;リップル;剪断;Spherize;波];ノイズ;[ノイズを追加;間引き;ホコリと傷;中央値];ピクセル化;[カラーハーフトーン;結晶化;ファセット;断片;メゾチント;モザイク;点字化];レンダリング;[雲;雲の違い;逆光];シャープ;[シャープ;エッジをシャープにする;もっと磨く;スマートシャープ;アンシャープマスク];書式設定;[拡散;エンボス;押出;エッジを見つける;油絵具];その他;[カスタム;ハイパス;最大;最小;オフセット;リピート];[未定義領域;透明に設定;リピートエッジピクセル;包み込む;最後のフィルタ;プレヴュー]];[テンプレート;[フォントフィルター;キーワード;ランダム];[シンボル付き;写真付き];[サムネールと;リスト]]", + "[파일;편집;이미지;레이어;폴더;선택;필터;보기;창;언어;로그인;로그아웃;번역하기;[계정;서비스 약관;뒤로가기;앱에 대해;버그보고;학습];더 보기;테마;WebGL 사용;[Photopea: 고급 이미지 편집기;PSD, XCF, Sketch, XD 및 CDR 형식을 지원하는 무료 온라인 편집기.;새 이미지를 만들거나 컴퓨터에서 기존 파일을 엽니다. PSD (파일 - PSD로 저장) 또는 JPG / PNG / SVG (파일 - 내보내기 형식)로 작업을 저장합니다.; 또는 에서 새로운 기능을 제안하십시오. 우리의 목표는 <가장 진보되고 저렴한 사진 편집기> 를 만드는 것입니다.;광고 링크가 새 창에서 열립니다.;이 기능은 사용할 수 없습니다.;]];[열기;온라인 게시;저장;PSD 로 저장;인쇄;URL에서 열기;컴퓨터에서 파일 열기;구글 드라이브와 연결;내보내기 형식;레이어 추출;스크립트;열기 및 장소;닫기;로컬 저장소;];[앞으로 가기;뒤로 가기;없애기;채우기;변형;회전;VAR0 뒤집기;VAR0 스케일;실행취소 / 다시실행;원근법;[자동 혼합;자동 정렬];희미하게 하기;이미지 적용];조정;[밝기 / 대비;레벨;곡선;노출;채도;색조 / 채도;색깔 조정;흑백;사진 필터;채널 믹서;색깔 찾아보기;뒤집기;포스터화;한계점;그라디언트 맵;선택적 색상;[자동 톤;자동 대비;자동 색상];색상 대체];[잘라내기;복사;붙여넣기;새로 만들기;제거;활성화;비활성화;병합 복사;적용;반복;업데이트];[레이어 복제;새 조정 레이어;래스터 마스크;벡터 마스크;추가 (모두 표시);[추가 (모두 숨기기);선택 영역 나타내기;선택 영역 숨기기;시작 투명도];[클리핑 마스크;빠른 마스크 모드];고급 개체로 변환;래스터화;그룹 레이어;아래로 병합;위로 병합;[레이어 병합;이미지 병합];새 레이어;래스터 마스크 활성화;래스터 마스크 비활성화;벡터 마스크 활성화;벡터 마스크 비활성화;클리핑 마스크 활성화;클리핑 마스크 비활성화;새 폴더;래스터 마스크 추가;래스터 마스크 제거;벡터 마스크 추가;벡터 마스크 제거;래스터 마스크 연결;래스터 마스크 연결 해제;벡터 마스크 연결;벡터 마스크 연결 해제;레이어 효과 활성화;레이어 효과 비활성화;레이어 제거;레이어 불투명도 변경;혼합 변경;래스터화 레이어 스타일;레이어 순서;[고급 개체 만들기;고급 개체 업데이트;고급 개체 배치;원본 (고급 개체);스택 모드];이름 변경;색 변경;조정 레이어 편집;모양으로 변환;필터 마스크 활성화;필터 마스크 비활성화;스마트 필터 활성화;스마트 필터 비활성화;필터 마스크 추가;필터 마스크 제거;스마트 필터 없애기;[[단색 채우기;그라디언트 채우기;패턴 채우기;내용 인식];새 칠 레이어;채우기 레이어 수정];복사를 통한 레이어;필터 마스크;레이어 스타일 삭제;스마트 필터 이동;스마트 필터 삭제;[레이어 연결;레이어 연결 해제];정렬;[맨 앞으로 가져오기;앞으로 가져오기;뒤로 보내기;제일 뒤로 보내기];[레이어가 잠겼습니다.;잠금 변경;];];[모두 선택;선택 취소;반전;수정;확장;축소;페더;선택 이동;색상 범위;경계;변형 선택;가장자리 미세 조정;선택 부분 되살리기;];[확대;축소;안내선;자;격자;스냅;스냅 대상;문서 경계;픽셀 격자;경로;스냅 대상 픽셀;[분할 영역을;분할 영역 옵션];표시];[히스토리;레이어;속성;붓;글자;절;정보;레이어 컴프레서;스와치;액션;막대 그래프;내비게이터;도구 사전 설정;글리프];[붓 도구;복제 도구;자르기 도구;지우개 도구;타원형 선택;스포이드;그라디언트 도구;손 도구;문자 도구;올가미 선택;자석 올가미 선택;이동 도구;마법 지팡이;페인트 통 도구;다각형 올가미 선택;직사각형 선택;자유 변형;확대 / 축소 도구;흐림 도구;선명 도구;얼룩 도구;닷지 도구;번 도구;스폰지 도구;얼룩 치유 브러시 도구;치유 브러쉬 도구;패치 도구;경로 선택;직접 선택;펜;자유형 펜;사용자 정의 모양;사각형;타원;파라메트릭 모양;선;자;빠른 선택;필기 도구;원근 자르기;분할 영역 도구;분할 영역 선택 도구;색깔 교체;적목 현상 도구;개체 선택;배경 지우개 도구;퍼펫 뒤틀기;회전 보기;내용 인식 비율;내용 인식 이동];[사진 찍기;색상 선택기;윤곽 편집기;캔버스 크기;복제;그라디언트 편집기;레이어 스타일;새 프로젝트;웹용으로 저장;뒤틀기;이미지 크기;비트맵 벡터화;[재단;잘라내기;모두 표시];키보드 단축키;안내선 추가;[안내선 잠그기;레이어 가이드]];[불투명도;효과;명도;[대비;레거시 사용];채널;노출;오프셋;감마 교정;색조;포화도;밝기;색상화;범위;활기;[크기;보간;최단입점;쌍선형];각도;진원도;경도;간격;[혼합 모드;혼합 조건];표본 크기;윤곽;스타일;[반전;상대치;기준];여유도;인접;채우기;종합 각도 사용;거리;확산;노이즈;녹아웃 그림자;기법;방향;깊이;부드럽게;모드;그라디언트;범위;레이어에 정렬;위치;너비;높이;목적;유형;전경;배경;사용자 설정;이름;생성;형식;종횡비 유지;[품질;페이지];복제;이동;스마트 필터;반지름;양;분포;[유니폼;가우스];단색;셀 크기;패턴;흐름;강도;세부 보호;채우기 유형;텍스처;흐트러짐;가장자리;원본;목표;채널;마스크;밀도;정렬됨;[패스;모양;픽셀;인치;센티미터;밀리미터;퍼센트];모양들;사이드;설정;[길이;비율;임의;격자 유형;등축;격자 간격;눈금자 단위];노이즈 줄이기;색;차이;율;자동 선택;발견;새로운 정의;[사진;화면;변하기 쉬운;광고;인쇄 된];[자유;고정 비율;고정 크기];도움;[실시간 모양;실시간 모양 편집;같은 반경];허용량;[다각형;별모양;나선;정사각형];[모퉁이 반경;내부 반경]];[색깔;[없슴;빨간색;주황색;노랑;초록색;파란색;보라색;회색;흰색;투명한;검정;사이안;마젠타;중간];전체;절대치;광도 유지];[그림자;내부 그림자;외부 광선;내부 광선;경사와 엠보스;색 오버레이;그라디언트 오버레이;패턴 오버레이;새틴;획;혼합 옵션;픽셀 선택];[끝 부분 모양;끝 부분 강약 조절;산포화;색 강약 조절;[크기 흐트러짐;최소 직경;각도 흐트러짐;형태 흐트러짐;최소 형태];[위치 흐트러짐;순서;순서 흐트러짐];[전경/배경 흐트러짐;색 흐트러짐;포화 흐트러짐;밝기 흐트러짐];[Alt (또는 K) 키를 누른 상태에서 이미지를 클릭해 원본 복제를 선택합니다.;전경을 흰색으로, 배경을 검정색으로, 알 수없는 부분을 회색으로 표시하십시오.;레이어를 편집 할 수 없습니다.;텍스트 레이어를 먼저 래스터화해야 합니다.;고급 개체 먼저 래스터화해야 합니다.;여러 레이어 선택;레이어 똑바르게;먼저 문서를 엽니다.;현재 창을 먼저 닫습니다.;현재 도구만];[기록;새 액션 세트;새 액션];[태블릿 압력 컨트롤 불투명도;태블릿 압력 컨트롤 크기];[표준;디졸브;어둡게 하기;곱하기;색상 번;색상 번;어두운 색상;밝게 하기;스크린;색상 닷지;선형 닷지;밝은 색상;오버레이;소프트 라이트;하드 라이트;선명한 라이트;선형 라이트;핀 라이트;하드 혼;차이;제외;빼기;나누기;색조;채도;색상;광도;통과]];[행간;자간;기준선 이동;[포인트 텍스트 변환;단락 텍스트로 변환]];[모든 레이어;현재 레이어;선택;현재 및 아래];[바꾸기;통합;빼기;교차;제외;병합];[[선형;방사;각도;반사됨;다이아몬드;모양 파열];[부드럽게;명확함];[외부 경도;내부 경도;엠보스;베개 엠보스;외곽선 엠보스;윤곽 너비];[매끄럽게;강한 끌;부드러운 끌;매끄러움];[위;밑];[밖;가운데;내부;중앙부터];[어두운 영역;중간톤;밝은 영역];[포화도;포화];[작음;중간;큼];[단면;모퉁이;대시를]];[커서 아래에서 개체를 선택해 주십시오;변형 제어;픽셀에서 픽셀로;영역에 맞추기;[왼쪽 모서리 정렬;수평 중심;오른쪽 모서리 정렬;윗쪽 모서리 정렬;수직 중심;아랫쪽 모서리 정렬;균등 간격]];[사진 찍기;현재 프로젝트;새 프로젝트;해상도;현재 프로젝트에 추가되었습니다.;새 프로젝트가 생성되었습니다.;카메라에 대한 접근이 거부되었습니다.];[성향;굽히기;수평 왜곡;수직 왜곡;[가로;세로;가로로;세로로];[없음;포물선;포물선 낮게;포물선 높게;아치형;꽉차게;셸 낮게;셸 높게;깃발;파도;물고기;증가;물고기 눈;부풀리기;짜내기;휘틀리기;사용자 설정];[글꼴;을(를) 사용할 수 없습니다;을(를) 사용하여 렌더링됩니다.;이 프로젝트에는 저장되지 않은 작업이 있습니다:;정말로 닫으시겠습니까?];[색상 바꾸기;기본값: 흰색과 검은색]];[불러옴;추가됨;안내선 이동;안내선 제거;안내선 추가;불러오는 중;VAR0 불러];[필터 갤러리;[[액체화하다;[더러움;재건축;부드럽게;회전;수축;타격;왼쪽 밀기;동결;해동]];[렌즈 교정]];흐리게;[평균;흐리게;더 흐리게;사각형으로 흐리게;가우스 흐림 효과;렌즈 흐림 효과;모션 흐림 효과;방사형 흐림 효과;모양 흐림 효과;스마트 흐림 효과;표면 흐림 효과];왜곡;[변위;핀치;극좌표;잔물결;기울임;구형화;돌리기];노이즈;[노이즈 추가;얼룩 제거;먼지 및 스크래치;중앙값];픽셀화;[색 망판;구체화;측면;조각;메조틴트;모자이크;점묘화];렌더;[구름 효과 1;구름 효과 2;렌즈 플레어];날카롭게;[날카롭게;가장자리 날카롭게;더 날카롭게;스마트 날카로움 효과;언샵 마스크];양식화;[확산;엠보스;밀어내기;가장자리 찾기;오일 페인트];그 외;[사용자 설정;고역 통과;최대화;최소화;오프셋;반복];[알 수 없는 구역;투명 설정;가장자리 픽셀 반복;줄 바꿈;마지막 필터;미리 보기]];[템플릿;[글꼴 필터;키워드;무작위로];[기호 포함;사진 포함];[축소판;목록]]", + "[Arquivo;Editar;Imagem;Camada;Pasta;Selecionar;Filtro;Visualizar;Janela;Idioma;Entrar;Sair;Criar Tradução;[Conta;Termos de Uso;Voltar;Acerca;Reportar um erro;Aprender];Mais;Tema;Usar WebGL;[Photopea: Editor de Imagem Avançado;Editor online gratuito que suporta os formatos PSD, XCF, Sketch, XD e CDR.;Crie uma nova imagem ou abra arquivos existentes no seu computador. Salve seu trabalho como PSD (Arquivo - Gravar como PSD) ou como JPG / PNG / SVG (Arquivo - Exportar como).;Sugira novas funções no nosso ou . Nosso objetivo é fazer .;Os links do patrocinador são abertos em uma nova janela.;Este recurso não está disponível.;Instale Photopea]];[Abrir;Publicar Online;Salvar;Salvar como PSD;Imprimir;Abrir de URL;Abrir do Computador;Conectar Com o Google Drive;Exportar como;Exportar Camadas;Script;Abra e Coloque;Fechar;Armazenamento Local;Informações do arquivo];[Passo a Frente;Passo atrás;Limpar;Preencher;Transformar;Rotacionar;Espelhar VAR0;Escalar VAR0;Desfazer / Refazer;Perspectiva;[Mesclar automaticamente;Alinhar automaticamente];Atenuar;Aplicar Imagem];Ajustes;[Brilho/Contraste;Níveis;Curvas;Exposição;Vibração;Matriz/Saturação;Equilíbrio de Cores;Preto e Branco;Filtro de Fotos;Misturador de Canais;Pesquisa de cores;Inverter;Posterizar;Limite;Mapa de Gradiente;Cor Seletiva;[Tom automático;Contraste automático;Cor automática];Substituir cor];[Cortar;Copiar;Colar;Novo;Deletar;Ativar;Desativar;Copiar Mesclado;Aplicar;Novamente;Atualizar];[Duplicar Camada;Nova Camada de Ajuste;Máscara de Rasterização;Máscara de Vetor;Adicionar (Mostrar tudo);[Adicionar (Ocultar Tudo);Revelar Seleção;Ocultar Seleção;Da transparência];[Máscara de Corte;Modo de máscara rápido];Converter em Objeto Inteligente;Rasterizar;Agrupar Camadas;Mesclar Abaixo;Mesclar Acima;[Mesclar Camadas;Achatar imagem];Nova Camada;Ativar Máscara de Rasterização;Desativar Máscara de Rasterização;Ativar Máscara de Vetor;Desativar Máscara de Vetor;Ativar Máscara de Recorte;Desativar Máscara de Recorte;Nova Pasta;Adicionar Máscara de Rasterização;Remover Máscara de Rasterização;Adicionar Máscara de Vetor;Remover Máscara de Vetor;Associar Máscara de Rasterização;Desassociar Máscara de Rasterização;Associar Máscara de Vetor;Desassociar Máscara de Vetor;Ativar Efeitos de Camada;Desativar Efeitos de Camada;Apagar Camada;Alterar Opacidade da Camada;Alterar Mistura;Rasterizar Estilo da Camada;Ordem de Camada;[Criando Objeto Inteligente;Atualizando Objeto Inteligente;Colocando Objeto Inteligente;Fonte (Objeto Inteligente);Modo de pilha];Alterar Nome;Alterar Cor;Editar Camada de Ajuste;Converter para Forma;Ativar Máscara de Filtro;Desativar Máscara de Filtro;Ativar Filtros Inteligentes;Desativar Filtros Inteligentes;Adicionar Máscara de Filtro;Apagar Máscara de Filtro;Limpar Filtros Inteligentes;[[Preencher com Cor Sólida;Preencher com Gradiente;Preencher com Padrão;Sensível a conteúdo];Nova Camada de Preenchimento;Modificar Camada de Preenchimento];Camada via Cópia;Máscara de Filtro;Excluir Estilo de Camada;Mover Filtro Inteligente;Excluir Filtro Inteligente;[Vincular Camadas;Desvincular Camadas];Organizar;[Trazer para a frente;Avançar;Recuar;Enviar para trás];[Esta Camada está Bloqueada.;Travar mudanças;Bloquear];Animação];[Tudo;Desselecionar;Inverso;Modificar;Expandir;Contrair;Difusão;Mover Seleção;Intervalo de Cores;Borda;Transformar Seleção;Refinar Arestas;Curar Seleção;Varinha Mágica];[Mais Zoom;Menos Zoom;Guias;Réguas;Grade;Encaixar;Encaixar Em;Documento Limite;Grade de Pixel;Demarcadores;Converter para Pixels;[Fatias;Opções de fatiar];Mostrar];[História;Camadas;Propriedades;Pincel;Caractere;Parágrafo;Informações;Composições de Camada;Amostras;Ações;Histograma;Navegação;Predefinições de Ferramenta;Glifos];[Ferramenta Pincel;Ferramenta de Clone;Ferramenta de Corte;Borracha;Selecionar em Elipse;Conta-Gotas;Gradiente;Mão;Ferramenta de Texto;Seleção em Laço;Ferramenta Laço Magnético;Mover;Varinha Mágica;Lata de Tinta;Laço Poligonal;Seleção Retangular;Transformação Livre;Lupa;Desfoque;Nitidez;Ferramenta Borrar;Ferramenta de Exposição;Ferramenta de Queimar;Esponja;Pincel de Cicatrização Localizada;Pincel de Cicatrização;Ferramenta de Correção;Seleção de demarcador;Seleção Direta;Caneta;Caneta Livre;Forma Personalizada;Retângulo;Elipse;Forma Paramétrica;Linha;Régua;Seleção Rápida;Ferramenta Lápis;Corte de perspectiva;Ferramenta de fatia;Seleção de fatia;Substituição de cor;Olhos vermelhos;Seleção de objeto;Borracha de plano de fundo;Distorção de marionete;Girar Visualização;Escala sensível a conteúdo;Movimento Sensível ao Conteúdo];[Tire uma Foto;Colhedor de Cores;Editor de Contorno;Tamanho da Tela de Pintura;Duplicar em...;Editor de Gradientes;Estilo de Camada;Novo Projeto;Salvar para Web;Deformar;Tamanho da Imagem;Vetorizar Bitmap;[Aparar;Cortar;Mostrar tudo];Atalhos de Teclado;Adicionar Guias;[Apagar Guias;Guias da Camada]];[Opacidade;Efeitos;Brilho;[Contraste;Usar Legado];Canal;Exposição;Equilibrar;Correção de Gama;Matriz;Saturação;Luminosidade;Colorir;Alcance;Vibração;[Tamanho;Interpolação;Vizinho mais próximo;Bilinear];Ângulo;Arredondamento;Dureza;Espaçamento;[Modo de Mistura;Mesclar Se];Tamanho da Amostra;Contorno;Estilo;[Oposto;Relativa;Âncora];Tolerância;Contíguo;Preenchimento;Use o Ângulo Global;Distância;Espalhar;Ruído;Derrubar a Sombra;Técnica;Direção;Profundidade;Suavizar;Modo;Gradiente;Escalar;Alinhar À Camada;Posição;Largura;Altura;Destino;Tipo;Primeiro Plano;Plano de Fundo;Personalizado;Nome;Criar;Formato;Manter a Proporção;[Qualidade;Páginas];Duplicar;Mover;Filtros Inteligentes;Raio;Quantia;Distribuição;[Uniforme;Gaussiano];Monocromático;Tamanho da Célula;Padrão;Fluxo;Força;Proteger Detalhe;Tipo de Preenchimento;Textura;Tensão;Canto;Fonte;Alvo;Canais;Máscara;Densidade;Alinhado;[Demarcador;Forma;Pixels;Polegadas;Centímetros;Milímetros;Porcentagem];Formas;Lados;Preferências;[Comprimento;Ratio;Qualquer;Tipo de grade;Isométrico;Espaçamento da grade;Unidades da Régua];Reduzir Ruído;Cores;Distâncias;Ritmo;Seleção Automática;Procurar;Definir novo;[Foto;Tela;Celular;Anúncios;Cópia impressa];[Livre;Taxa Fixa;Tamanho Fixo];Ajuda;[Forma Viva;Editar Forma Viva;O mesmo Raio];Grau de seleção;[Polígono;Estrela;Espiral;Quadrado];[Raio do Canto;Raio interno]];[Cor;[Nenhum;Vermelho;Laranja;Amarelo;Verde;Azul;Roxo;Cinza;Branco;Transparente;Preto;Ciano;Magenta;Neutral];Total;Absoluto;Preservar Luminosidade];[Sombra Externa;Sombra Interna;Brilho Externo;Brilho Interno;Bisel e Relevo;Sobreposição de Cor;Sobreposição em Gradiente;Sobreposição em Padrão;Cetim;Traçado;Opções de Mistura;Selecionar Pixels];[Forma de Ponta;Dinâmica de Ponta;Dispersão;Dinâmica de Cor;[Variação da Tensão;Diâmetro Mínimo;Tensão Angular;Tensão Arredondada;Redondeza Mínima];[Posicionamento Tensional;Contagem;Quantidade de Tensão];[Tremulação do Plano de Fundo/Primeiro Plano;Matriz Tensional;Saturação Tensional;Brilho Tensional];[Selecione a fonte de clonagem segurando Alt (ou K) e clicando na imagem.;Marque Primeiro Plano com Branco, Fundo com Preto e a área desconhecida com Cinza.;Camada não editável.;Camada de Texto deve ser rasterizada primeiro;Objeto Inteligente Deve Ser Rasterizado Primeiro;Selecione Várias Camadas;Endireitar Camada;Abra um documento primeiro.;Feche a janela atual primeiro.;Somente Ferramenta Atual];[Gravar;Novo Conjunto de Ações;Nova Ação];[Pressão de Caneta controla a Opacidade;Pressão de Caneta controla o Tamanho];[Normal;Dissolver;Escurecer;Multiplicação;Superexposição de Cor;Superexposição Linear;Cor Mais Escura;Clarear;Tela;Subexposição de Cor;Subexposição Linear;Cor Mais Clara;Sobrepor;Luz Indireta;Luz Direta;Luz Brilhante;Luz Linear;Luz do Pino;Mistura Sólida;Diferença;Exclusão;Subtrair;Dividir;Matiz;Saturação;Cor;Luminosidade;Passagem]];[Entrelinhas;Rastreamento;Deslocamento de linha de base;[Converter para Texto de Ponto;Converter para Texto de Parágrafo]];[Todas as Camadas;Camada Atual;Seleção;Atual e Abaixo];[Substituir;Unir;Subtrair;Intersecção;Excluir;Mesclar];[[Linear;Radial;Ângulo;Refletido;Diamante;Estouro de Forma];[Mais Macio;Preciso];[Bisel Externo;Bisel Interno;Entalhe;Relevo Travesseiro;Relevo do Contorno;Largura do traçado];[Suavizar;Cinzel Duro;Cinzel Macio;Suavidade];[Cima;Baixo];[Fora;Centro;Dentro;A Partir do Centro];[Sombras;Tons Médios;Realces];[Dessaturar;Saturar];[Pequeno;Médio;Ampla];[Arremates;Cantos;Traços]];[Escolha o objeto abaixo do cursor;Controles de Transformação;Pixel a Pixel;Encaixe a Área;[Alinhar Cantos Esquerdos;Centralizar Horizontalmente;Alinhar Cantos Direitos;Alinhar Cantos de Cima;Centralizar Verticalmente;Alinhar Cantos de Baixo;Lacunas Iguais]];[Colocar em;Projeto Atual;Novo Projeto;Resolução;Adicionado ao projeto atual.;Um novo projeto foi criado.;O acesso à câmera foi recusado.];[Orientação;Curvatura;Distorção Horizontal;Distorção Vertical;[Horizontal;Vertical;Horizontalmente;Verticalmente];[Nenhum;Arco;Arco Inferior;Arco Superior;Arquear;Protuberância;Concha Inferior;Concha Superior;Bandeira;Onda;Peixe;Elevar;Olho de Peixe;Inflar;Espremer;Torcer;Personalizado];[Fonte;não está disponível;Será renderizado usando;Existe trabalho não salvo em;Deseja realmente fechar?];[Trocar Cores;Padrão: Branco e Preto]];[carregado;adicionado;Mover Guia;Excluir Guia;Adicionar Guia;Carregando;Carregar VAR0];[Galeria de Filtros;[[Dissolver;[Borrar;Reconstruir;Suavizar;Redemoinho;Encolher;Inflar;Empurre à Esquerda;Congelar;Descongelar]];[Correção de lente]];Borrão;[Médio;Desfocar;Desfoque Maior;Desfoque de Caixa;Desfoque Gaussiano;Desfoque de Lente;Desfoque de Movimento;Desfoque Radial;Desfoque de Forma;Desfoque Inteligente;Desfoque de Superfície];Distorcer;[Mesclar;Sucção;Coordenadas Polares;Ondulação;Cisalhamento;Esferização;Ondas];Ruído;[Adicionar Ruído;Remover Manchas;Poeira e Rabiscos;Mediana];Pixelizar;[Meio-Tom de Cor;Cristalizar;Faceta;Fragmento;Mezzo-tinto;Mosaico;Pontilhar];Renderizar;[Nuvens;Nuvens Diferenciais;Reflexo de Flash];Aguçar;[Tornar Nítido;Tornar Arestas Nítidas;Nitidez Maior;Aplicação Inteligente de Nitidez;Máscara de Nitidez];Estilizar;[Difusão;Realçar;Extrusão;Indicação de Arestas;Pintura a óleo];Outros Filtros;[Personalizado;Alta frequência;Máximo;Mínimo;Deslocamento;Repetir];[Área Indefinida;Definir como Transparente;Repetir Pixels da Aresta;Preencher com Lado Oposto;Último Filtro;Visualizar]];[Modelos;[Filtro de Fontes;Palavras-chave;Aleatória];[Com símbolos;Com foto];[Miniaturas;Lista]]", + "[Fájl;Szerkesztés;Kép;Réteg;Mappa;Kijelölés;Szűrő;Nézet;Ablak;Nyelv;Bejelentkezés;Kijelentkezés;Fordítás készítése;[Fiók;Jogi nyilatkozat;Vissza;Névjegy;Hiba jelentése;Tanulás];Továbbiak;Téma;WebGL használata;[Photopea: fejlett képszerkesztő;Egy ingyenes online szerkesztő, amely támogatja a PSD, az XCF, a Sketch, az XD és a CDR formátumokat.;Hozzon létre egy új képet, vagy nyisson meg már létező fájlokat a számítógépről. Mentse el munkáját PSD (Fájl - Mentés mint PSD) vagy JPG / PNG / SVG (Fájl - Exportálás mint) formátumban.;Javasoljon új funkciókat on vagy on. Célunk, hogy megteremtsük .;A szponzor linkek új ablakban nyílnak meg.;Ez a funkció nem érhető el.;Photopea telepítése]];[Megnyitás;Közzététel online;Mentés;Mentés mint PSD;Nyomtatás;Megnyitás URL-ből;Megnyitás saját gépről;Kapcsolódás Google Drive-hoz;Exportálás mint;Rétegek exportálása;Szkript;Megnyitás és elhelyezés;Bezárás;Helyi meghajtó;Fájl információk];[Előrelépés;Visszalépés;Törlés;Kitöltés;Transzformálás;Forgatás;VAR0 tükrözés;VAR0 méretezés;Visszavonás / Ismétlés;Perspektivikus;[Automatikus keverés;Automatikus igazítás];Halványítás;Kép alkalmazása];Színkorrekciók;[Fényerő/kontraszt;Szintbeállítás;Görbék;Exponálás;Vibrálás;Színezettség/Telítettség;Színegyensúly;Fekete-fehér;Fotószűrő;Csatornakeverő;Színkeresés;Invertálás;Keményítés;Határérték;Színátmenettérkép;Szín kiválasztás;[Automatikus színárnyalat;Automatikus kontraszt;Automatikus szín];Színcsere];[Vágás;Másolás;Beillesztés;Új;Törlés;Engedélyezés;Tiltás;Másolás egyesítve;Alkalmaz;Újra;Frissítés];[Réteg duplikálása;Új szabályozható réteg;Rasztermaszk;Vektormaszk;Hozzáadás (Összes megjelenítése);[Hozzáadás (Összes elrejtése);Kijelölés megjelenítése;Kijelölés elrejtése;Átlátszóságból];[Vágómaszk;Gyorsmaszk módban];Okos objektummá alakítás;Raszterizálás;Rétegek csoportosítása;Egyesítés lefele;Egyesítés felfelé;[Rétegek egyesítése;Rétegek összeolvasztása];Új réteg;Rasztermaszk engedélyezése;Rasztermaszk letiltása;Vektormaszk engedélyezése;Vektormaszk letiltása;Vágómaszk engedélyezése;Vágómaszk letiltása;Új mappa;Rasztermaszk hozzáadása;Rasztermaszk törlése;Vektormaszk hozzáadása;Vektormaszk törlése;Rasztermaszk összekötése;Rasztermaszk szétkapcsolása;Vektormaszkok összekapcsolása;Vektormaszkok szétkapcsolása;Rétegeffektek engedélyezése;Rétegeffektek letiltása;Réteg törlése;Réteg átlátszóságának változtatása;Keverési beállítások;Rétegstílus raszterizálása;Rétegrend;[Okos objektum hozzáadása;Okos objektum frissítése;Okos objektum elhelyezése;Forrás (Okos objektum);Halommódot];Névváltoztatás;Színváltoztatás;Állítható réteg szerkesztése;Alakzattá alakítás;Szűrőmaszk engedélyezése;Szűrőmaszk letiltása;Okos szűrők engedélyezése;Okos szűrők letiltása;Szűrőmaszk hozzáadása;Szűrőmaszk törlése;Okos szűrők törlése;[[Egyszínű kitöltés;Színátmenetes Kitöltés;Minta kitöltés;Tartalomérzékeny];Új kitöltő réteg;Kitöltési réteg módosítás];Jelenlegi réteg másolása;Szűrőmaszk;Réteg stílus törlése;Okos szűrő mozgatása;Okos szűrő törlése;[Rétegek csatolása;Rétegek leválasztása];Rendezés;[Előrehozás;Előtérbe hozás;Hátrébb küldés;Hátraküldés];[Ez a réteg zárolva van.;Zárolás Változtatás;Zárolása];];[Összes;Kijelölés megszüntetése;Inverzálás;Módosítás;Kiterjesztés;Összehúzás;Madártoll;Kijelölés mozgatása;Színtartomány;Szegély;Kijelölés átalakítása;Szegély finomítása;Kijelölés javítása;];[Nagyítás;Kicsinyítés;Segédvonalak;Szabályzók;Rács;Igazítás;Igazítás a köv. p.;Dokumentumszegélyek;Képpontrács;Görbék;Igazítás képpontokkal;[Szeletek;Szelet beállításai];Megjelenítés];[Előzmény;Rétegek;Beállítások;Ecset;Karakter;Paragrafus;Információ;Rétegszedők;Színtár;Műveletek;Hisztogram;Navigátor;Eszközkészletek;Karaktertábla];[Festő eszköz;Másoló eszköz;Vágó eszköz;Törlő eszköz;Ellipszis kijelölö;Pipetta;Színátmenet eszközre;Mozgató eszköz;Szövegbevitel;Lasszó;Mágneses lasszó;Mozgató eszköz;Varázspálca;Festékesvödör;Sokszög lasszó;Téglalap kijelölö;Szabad átalakítás;Közelítő eszköz;Életlenítési eszköz;Élességi eszköz;Maszatoló eszköz;Világosító eszköz;Sötétítő eszköz;Szivacs eszköz;Helyi javító ecset eszköz;Javító ecset eszköz;Folt;Görbeválasztó;Közvetlen kijelölés;Toll;Szabadkézi toll;Egyéni alakzat;Téglalap;Ellipszis;Parametrikus alakzat;Vonal;Vonalzó;Gyors kijelölés;Ceruza eszköz;Perspektivikus vágás;Szelet;Szeletkijelölő;Színcsere eszköz;Vörösszem-eltávolító eszköz;Objektumkijelölés;Háttér radír;Bábu hajlítása;Nézet elforgatása;Tartalomérzékeny méretezés;Tartalomérzékeny mozgatás];[Készíts egy képet;Színválasztó;Kontúr szerkesztő;Vászon méret;Duplázás ide...;Színátmenet szerkesztő;Rétegstílus;Új projekt;Mentés webre;Csavarás;Képméret;Bittérképet vektorizálja;[Körülvágás;;Összes megjelenítése];Billentyűparancsok;Segédvonalak hozzáadása;[Segédvonalak törlése;]];[Opacitás;Effektek;Fényerő;[Kontraszt;Örökölt használata];Csatorna;Exponálás;Eltolás;Gamma korrekció;Színezet;Telítettség;Könnyűség;Színezése;Hatótávolság;Élénkség;[Méret;Interpoláción;Legközelebbi szomszéd;Bilineáris];Szög;Kerekség;Keménység;Térköz;[Kevert mód;Keverés, ha];Minta méret;Kontúr;Stílus;[Fordított;Relatív;Szerkesztőpont];Tűréshatár;Határos;Kitöltés;Globális szög használat;Távolság;Kiterjedés;Zaj;Árnyék kihagyás;Technika;Irány;Mélység;Lágy;Mód;Színátmenet;Méretezés;Réteghez igazítás;Pozíció;Szélesség;Magasság;Rendeltetési hely;Típus;Előtér;Háttér;Egyedi;Név;Létrehoz;Formázás;Képarány megtartása;[Minőség;Oldalak];Másolat;Mozgató;Szelektív szűrők;Sugár;Összeg;Terjesztés;[Egyen;Gauss];Egyszínű;Cella méret;Minta;Folyatás;Erő;Védett részlet;Kitöltés típusa;Textúra;Élénkség;Él;Forrás;Cél;Csatorna;Maszk;Sűrűség;Igazított;[Görbe;Alakzat;Pixel;Hüvelyk;Centiméter;Milliméter;Százalék];Alakzatok;Oldalak;Előnyben részesített;[Hossz;Arány;Bármilyen;Rács Típus;Izometrikus;Rácstérköz;Vonalzó mértékegysége];Zajcsökkentés;Színek;Távolságok;Sebesség;Automatikus kijelölés;Keresés;Megadása;[Fénykép;Képernyő;Mobil;Hirdetések;Nyomat];[Normál;Rögzített arány;Rögzített méret];Súgó;[Élő alakzatot;Élő alakzatot szerkesztése;Azonos sugarú];Tűrés;[Sokszög;Csillag;Spirál;Négyzetes];[Sarok sugara;Belső sugár]];[Szín;[Egyik sem;Piros;Narancs;Sárga;Zöld;Kék;Lila;Szürke;Fehér;Átláltszó;Fekete;Cián;Bíbor;Semleges];Teljes;Abszolút;Fényintenzitás megőrzése];[Árnyék;Belső árnyék;Külső ragyogás;Belső ragyogás;Bevésés és Domborítás;Színátfedés;Színátmenet-átfedés;Mintaátfedés;Szatén;Körvonal;Összhatás beállítások;];[Csúcs Alak;Csúcs Dinamika;Szórás;Szín dinamika;[Bemozdulás méret;Minimális átmérő;Bemozdulás szög;Bemozdulás kerekség;Minimális Kerekség];[Bemozdulási pozíció;Számol;Bemozdulási szám];[Bemozdulás Előtér / Háttér;Bemozdulás Színárnyalat;Remegés Telítettség;Remegés Fényereje];[Válassza ki a klón forrását a nyomva tartott Alt billenytűvel (vagy K), és kattintson a képre.;Jelölje meg az előtéret fehérvel, az háttéret feketével, és az ismeretlen terület szürkével.;Réteg nem szerkeszthető.;Szövegréteg először raszterizálni kell;Okos objektum először raszterizálni kell;Több réteg kiválasztása;Dőlésmentesítés;Először nyisson meg egy dokumentumot.;Először zárja be az aktuális ablakot.;Csak az aktuális eszköz];[Rögzítése;Új műveletkészlet;Új művelet];[Tábla nyomásszabályzó vezérlőelemeinek Áttetszőség;Tábla nyomásszabályzó vezérlőelemeinek Méret];[Normál;Szórt;Sötétítés;Szendvicspozitív;Színégetés;Lineáris égetés;Sötétebb szín;Világosítás;Szendvicsnegatív;Színfakítás;Lineáris fakítás;Világosabb szín;Átfedés;Lágy fény;Kemény fény;Élénk fény;Lineáris világosítás;Tűfény;Kemény keverés;Különbség;Kizárás;Elvétel;Felosztás;Színezet;Telítettség;Szín;Fényintenzitás;Áthúzás]];[Sortávolság;Betűköz;Kiindulási műszak;[Átalakítás pontszöveggé vagy;Átalakítás bekezdésszöveggé parancsra]];[Összes réteg;Aktuális réteg;Kijelölési;Aktuális és alatta];[Csere;Egyesítés;Különbség;Metszőpont;XOR;Egyesítés];[[Egyenes irányú;Sugárirányú;Szög;Tükröződés;Gyémánt;Shape Burst];[Lágyabb;Pontos];[Külső Tompaszög;Belső Tompaszög;Dombor;Párna Dombor;Ecsetvonás Dombor;Vonalvastagság];[Simítás;Véső Kemény;Véső Lágy;Finomság];[Fel;Le];[Kívül;Közép;Belül;Középről];[Árnyék;Középtónusok;Csúcsfény];[Telítettség csökkentése;Telítés];[Kicsi;Közepes;Nagy];[Vonalvégek;Sarkok;Szaggatott]];[Válassza ki a tárgyat a kurzor alatt;Átalakítási vezérlőelemek;Pixeltől Pixelig;Területhez Illesztés;[Igazítás bal szegélyek;Vízszintes középre igazítás;Igazítás jobb szegélyek;Igazítás felső szegélyek;Függőleges középre igazítás;Igazítás alsó szegélyek;Egyenletes eloszlás]];[Helyezzen be;Aktuális projekt;Új projekt;Felbontás;Hozzáadni az aktuális projekthez.;Egy új projekt jött létre.;Kamera hozzáférés megtagadva.];[Helyzet;Hajlás;Vízszintes csavarás;Függőleges csavarás;[Vízszintes;Függőleges;Vízszintes;Függőleges];[Nincs;Ívelés;Ívelés lejjebb;Ívelés feljebb;Ív;Kidomborítás;Kagyló (alsó);Kagyló (felsö);Jelzö;Hullám;Hal;Emelés;Halszem;Felfújás;Összepréselés;Csavarás;Egyedi];[Betűtípus;nem elérhető;Lesz renderelt segítségével;A projektben nem mentett munka van:;Biztosan bezárja?];[Színének felcserélése;Alapértelmezés: fehér és fekete]];[betöltve;hozzáadva;Segédvonal mozgatása;Segédvonal törlése;Segédvonal hozzáadása;Betöltés;VAR0 betöltése];[Szűrőgaléria;[[Cseppfolyósítás;[Maszatoló;Visszaépítés;Simítás;Örvény;Összezsugorodik;Felfúj;Balra tolás;Fagyasztása;Olvasztása]];[Lencsekorrekció]];Életlenítési;[Átlag;Életlenítés;Több életlenítés;Doboz életlenítése;Gauss-életlenítés;Lencsefolt;Bemozdulás;Sugaras életlenítés;Alakzatos életlenítés;Intelligens életlenítés;Felület életlenítése];Torzítási;[Fénytörés;Tölcsér;Ellentétes koordináták;Fodrozás;Nyírás;Gömb;Hullám];Zajkezelési;[Zaj hozzáadása;Rácstalanítás;Por és karcok;Medián];Képpontosítási;[Színes raszterrács;Kristályosítás;Szellemkép;Töredék;Borzolás;Mozaik;Pointillista];Renderelési;[Felhők;Negatív felhők;Lencsefényfolt];Élesítési;[Élesítés;Szegélyek élesítése;Több élesítés;Intelligens élesítés;Életlen maszk];Stilizálási;[Szétszórás;Domborítás;Kiemelés;Szegélyek megkeresése;];Egyéb;[Egyéni;Élkiemelés;Maximális;Minimális;Eltolás;Ismétlés];[Nem definiált terület;Beállítás áttetszőként;Szegélyképpontok megismétlése;Körétördelés;Utolsó szűrő;Előnézet]];[Sablonok;[Betűtípusszűrő;Kulcsszavak;Véletlenszerű];[Szimbólumok;Képekkel];[Bélyegkép;Lista]]", + "[Súbor;Upraviť;Obraz;Vrstva;Priečinok;Vybrať;Filter;Zobrazenie;Okno;Jazyk;Prihlásiť sa;Odhlásiť sa;Vytvoriť preklad;[Účet;Podmienky služby;Späť;O programe;Nahlás chybu;Nauč sa];Viac;Téma;Použiť WebGL;[Photopea: Pokročilý grafický editor;Bezplatný online editor podporujúci formáty PSD, XCF, Sketch, XD a CDR.;Vytvorte nový obrázok alebo otvorte existujúce súbory z počítača. Uložte svoju prácu ako PSD (Súbor - Uložiť ako PSD) alebo ako JPG / PNG / SVG (Súbor - Exportovať ako).;Navrhnite nové funkcie v našom alebo . Naším cieľom je vytvoriť .;Sponzorské odkazy sa otvárajú v novom okne.;Táto funkcia nie je dostupná.;]];[Otvoriť;Zverejniť online;Uložiť;Uložiť ako PSD;Tlačiť;Otvoriť z URL;Otvoriť z počítača;Spojiť s Google Drive;Exportovať ako;Exportuj vrstvy;Skript;Otvoriť a Umiestniť;Zatvoriť;Miestne Úložisko;];[Krok dopredu;Krok dozadu;Vyčistiť;Vyplniť;Transformácia;Otočiť;Preklopiť VAR0;Roztiahnuť VAR0;Dopredu / Dozadu;Perspektíva;[Automatické prelínanie;Automaticky zarovnať];Zoslabiť;];Úpravy;[Jas/Kontrast;Úrovne;Krivky;Expozícia;Živosť;Odtieň/Sýtosť;Vyváženie farieb;Čierna & Biela;Fotografický filter;Miešanie kanálov;Vyhľadávanie farieb;Invertovať;Posterizovať;Prah;Gradientový prechod;Selektívna farba;[Auto Tón;Auto Kontrast;Auto Farby];Nahradiť farbu];[Vystrihnúť;Kopírovať;Vložiť;Nový;Vymazať;Zapnúť;Vypnúť;Kopírovať z celku;Použiť;Znovu;Aktualizovať];[Duplikovať vrstvu;Nová vrstva úprav;Rastrová maska;Vektorová maska;Pridať (Odhaliť všetko);[Pridať (skryť všetko);Odhaliť výber;Skryť výber;Podľa priehľadnosti];[Orezová maska;Režim Rýchla maska];Previesť na Smart Object;Rastrovať;Pridať do zložky;Zlúčiť nadol;Zlúčiť nahor;[Spojiť vrstvy;Do jednej vrstvy];Nová vrstva;Zapnúť rastrovú masku;Vypnúť rastrovú masku;Zapnúť vektorovú masku;Vypnúť vektorovú masku;Zapnúť orezovú masku;Vypnúť orezovú masku;Nový priečinok;Pridať rastrovú masku;Zmazať rastrovú masku;Pridať vektorovú masku;Zmazať vektorovú masku;Spojiť rastrovú masku;Rozdeliť rastrovú masku;Spojiť vektorovú masku;Rozdeliť vektorovú masku;Zapnúť štýly vrstvy;Vypnúť štýly vrstvy;Zmazať vrstvu;Zmena priehľadnosti vrstvy;Zmena režimu prelínania;Rastrovať štýl vrstvy;Poradie vrstiev;[Vytvoriť Smart Object;Aktualizovať Smart Object;Umiestniť Smart Object;Zdroj (Smart Object);Režim balíčku];Zmena názvu;Zmena farby;Zmena vrstvy úprav;Previesť na tvar;Zapnúť masku filtrov;Vypnúť masku filtrov;Zapnúť chytré filtre;Vypnúť chytré filtre;Pridať masku filtrov;Zmazať masku filtrov;Zmazať chytré filtre;[[Prekrytie farbou;Prekrytie prechodom;Prekrytie vzorkom;Podľa obsahu];Nová vrstva krytia;Úprava vrstvy krytia];Vrstva kopírovaním;Maska filtra;Zmazať štýl vrstvy;Presunúť chytré filter;Zmazať chytré filter;[Prepojiť vrstvy;Zrušiť prepojenie vrstiev];Usporiadať;[Presunúť na začiatok;Presunúť dopredu;Presunúť dozadu;Presunúť na koniec];[Vrstva je zamknutá.;Zmena Zámku;];];[Všetko;Odznačiť;Invertovať;Upraviť;Rozšíriť;Zúžiť;Zmäkčiť okraj;Posun výberu;Rozsah farieb;Okraj;Transformovať výber;Spresniť okraje;Opraviť výber;];[Priblížiť;Oddialiť;Vodítka;Pravítka;Mriežka;Prichytávanie;Prichytiť k;Okraj dokumentu;Pixelová mriežka;Cesty;Prichytiť k pixelom;[Rezy;Parametre rezu];Zobraziť];[História;Vrstvy;Vlastnosti;Štetec;Znak;Odstavec;Info;Kompozícia;Vzorkovník;Akcia;Histogram;Navigátor;Konfigurácia nástrojov;];[Štetec;Klonovacie razítko;Orez;Guma;Eliptický výber;Kvapkadlo;Prechod;Ruka;Vodorovný text;Laso;Magnetické laso;Presun;Kúzelná palička;Kýblik farby;Mnohouholníkové laso;Obdĺžnikový výber;Voľná transformácia;Lupa;Rozostrenie;Zostrenie;Rozmazanie;Zosvetlenie;Stmavenie;Hubka;Bodový retušovací štetec;Retušovací štetec;Záplata;Výber cesty;Priamy výber;Pero;Pero od ruky;Iný tvar;Obdĺžnik;Elipsa;Tvar s parametrami;Čiara;Pravítko;Rýchly výber;Ceruzka;Perspektívne Orez;Nástroj rez;Nástroj výber rezu;Nahradiť farbu;Červené oči;Výber objektov;Mazanie pozadie;;Otočiť Obraz;;];[Vyfotiť;Výber farby;Editor kontúr;Veľkosť plátna;Duplikovať do ...;Editor prechodu;Štýl vrstvy;Nový projekt;Uložiť pre web;Pokrivenie;Veľkosť obrazu;Vektorizovať bitmapu;[Zastrihnúť;Orezať;Odhaliť všetko];Klávesové skratky;Pridať vodítka;[Odstrániť vodítka;Vodítka podľa vrstvy]];[Krytie;Efekty;Jas;[Kontrast;Použiť kompatibilitu];Kanál;Expozícia;Posun;Gamma korekcia;Odtieň;Sýtosť;Svetlosť;Kolorizovať;Rozsah;Živosť;[Veľkosť;Interpolácia;Najbližší sused;Bilineárna];Uhol;Zaoblenie;Tvrdosť;Medzery;[Režim prelínania;Prelínať keď];Veľkosť vzorku;Kontúra;Štýl;[Otočiť;Relatívna;Ukotviť];Tolerancia;Súvislé;Výplň;Použiť globálny uhol;Vzdialenosť;Rozšírenie;Šum;Vyseknúť vrhnutý tieň;Metóda;Smer;Hĺbka;Zmäkčiť;Režim;Prechod;Veľkosť;Zarovnať s vrstvou;Poloha;Šírka;Výška;Cieľ;Typ;Popredie;Pozadie;Vlastné;Názov;Vytvoriť;Formát;Zachovať pomer strán;[Kvalita;Stránky];Duplikovať;Presun;Chytré filtre;Polomer;Miera;Distribúcia;[Rovnomerná;Gaussovská];Monochromatický;Veľkosť bunky;Vzorka;Hustota;Sila;Zachovať detaily;Typ výplne;Textúra;Chvenie;Hrana;Zdroj;Cieľ;Kanály;Maska;Hustota;Zarovnaný;[Cesta;Tvar;Pixely;Palce;Centimeter;Milimeter;Percento];Tvary;Strany;Predvoľby;[Dĺžka;Pomer;Ľubovoľný;Typ mriežky;Izometrický;Veľkosť mriežky;Jednotky pravítka];Redukovať šum;Farby;Vzdialenosti;Miera;Automatický výber;Nájsť;Definovať nový;[Foto;Obrazovka;Mobil;Reklama;Tlač];[Voľný;Pevný pomer;Pevná veľkosť];Pomoc;[Živé tvary;Úprava živých tvarov;Rovnaké polomery];Rozmazanosť;[Mnohouholník;Hviezda;Špirála;Štvorec];[Polomer rohov;Vnútorný polomer]];[Farba;[Žiadna;Červená;Oranžová;Žltá;Zelená;Modrá;Fialová;Šedá;Biela;Priesvitná;Čierna;Azúrová;Purpurová;Neutrálny];Celkom;Absolútna;Zachovať svetlosť];[Vrhnutý tieň;Vnútorný tieň;Vonkajšia žiara;Vnútorná žiara;Úkos a reliéf;Prekrytie farbou;Prekrytie prechodom;Prekrytie vzorkom;Satén;Vytiahnutie;Možnosti prelínania;Vybrať pixely];[Tvar špičky;Dynamika špičky;Rozptyl;Dynamika farby;[Kolísanie veľkosti;Minimálny priemer;Kolísanie uhla;Kolísanie zaoblenia;Minimálne zaoblenie];[Rozptyl polohy;Počet;Kolísanie počtu];[Kolísanie popredia/pozadia;Kolísanie odtieňa;Kolísanie sýtosti;Kolísanie jasu];[Zvoľte zdroj klonovania pridržaním Alt a kliknutím do obrazu.;Označte popredie Bielou, pozadie Čiernou a neznámu oblasť Šedou.;Vrstvu nemožno upravovať.;Textová vrstva sa musí najsôr rastrovať;Smart Object sa musí najsôr rastrovať;Vyberte niekoľko vrstiev;Vyrovnať vrstvu;Najprv otvorte dokument.;Najprv zatvorte aktuálne okno.;Len aktuálny nástroj];[Nahrať;Nová skupina akciu;Nová akcia];[Prítlak pera mení priehľadnosť;Prítlak pera mení veľkosť];[Normálne;Rozpustiť;Stmaviť;Násobenie;Stmaviť farby;Lineárne stmaviť;Tmavšia farba;Zosvetliť;Závoj;Zosvetliť farby;Lineárne zosvetliť;Svetlejšia farba;Prekryť;Mäkké svetlo;Tvrdé svetlo;Jasné svetlo;Lineárne svetlo;Bodové svetlo;Tvrdé miešanie;Rozdiel;Vylúčiť;Odpočítať;Rozdeliť;Odtieň;Sýtosť;Farba;Svetlosť;Prejst skrz]];[Preklad;Prestrkanie;Posun účiaria;[Previesť na bodový text;Previesť na odstavcový text]];[Všetok obsah;Aktuálna vrstva;Výber;Vrstva a vrstvy pod ňou];[Nahradiť;Spojiť;Odobrať;Prienik;Vylúčiť;Spojiť];[[Lineárny;Kruhový;Uhlový;Zrkadlený;Diamant;Podľa tvaru];[Mäkší;Presná];[Vonkajší úkos;Vnútorný úkos;Reliéf;Poduškový reliéf;Reliéfny ťah;Hrúbka vytiahnutie];[Vyhladiť;Tvrdá;Mäkká;Hladkosť];[Hore;Dole];[Vonku;Na stred;Vnútri;Zo stredu];[Tiene;Stredné tóny;Odlesky];[Znížiť sýtosť;Zvýšiť sýtosť];[Malý;Stredný;Veľký];[Zakončenie;Rohy;Čiarky]];[Vybrať objekt pod kurzorom;Ovládacie prvky transformácie;Skutočné pixely;Prispôsobiť obrazovke;[Zarovnať ľavé hrany;Vodorovne na stred;Zarovnať pravé hrany;Zarovnať horné hrany;Zvisle na stred;Zarovnať spodné hrany;Rovnaké medzery]];[Vložiť do;Súčasný projekt;Nový projekt;Rozlíšenie;Pridané do súčasného projektu.;Nový projekt vytvorený.;Nebol povolený prístup ku kamere.];[Orientácia;Ohyb;Vodorovná deformácia;Zvislá deformácia;[Vodorovne;Zvisle;vodorovne;zvisle];[Žiadne;Oblúk;Spodný oblúk;Vrchný oblúk;Klenba;Vydutie;Mušľa dole;Mušľa hore;Vlajka;Vlna;Ryba;Vyvýšenie;Rybie oko;Nafúknutie;Stlačenie;Skrútenie;Vlastné];[Font;nie je dostupný;Pre vykreslenie sa použije;Máte neuloženú prácu v;Naozaj ho chcete zatvoriť?];[Prehodiť farby;Základné: čierna a biela]];[Načítaný;pridané;Posun vodítka;Zmazanie vodítka;Pridanie vodítka;Načítanie;Načítať VAR0];[Galéria filtrov;[[Skvapalniť;[Rozmazať;Obnoviť;Vyhladiť;Zatočiť;Zmrštiť;Nafúknuť;Posun doľava;Zmraziť;Rozmraziť]];[Korekcia šošovky objektívu]];Rozostrenie;[Priemer;Rozostriť;Rozostriť viac;Pravouhlé rozostrenie;Gaussovské rozostrenie;Rozostrenie šošovkou;Rozostrenie pohybom;Kruhové rozostrenie;Rozostrenie tvarom;Chytré rozostrenie;Rozostrenie povrchu];Skresliť;[Pokriviť;Uštipnúť;Polárne súradnice;Zvlniť;Strihať;Zagulatiť;Vlna];Šum;[Pridať šum;Vyhladiť;Prach a škrabance;Medián];Pixelizácia;[Farebné poltónovanie;Kryštalizácia;Fazeta;Fragment;Mezzotinta;Mozaika;Vybodkovať];Vykresliť;[Mraky;Mraky: Rozdiel;Odlesk objektívu];Zaostriť;[Zaostriť;Zaostriť hrany;Zaostriť viac;Chytré zaostrenie;Maska zaostrenia];Štylizácia;[Difúzia;Reliéf;Extrudácia;Nájsť hrany;Olejová Maľba];Ostatné;[Vlastné;Výšky;Maximum;Minimum;Posun;Opakovať];[Oblasť okolo;Nastaviť priehľadnú;Zopakovať pixely na hrane;Zopakovať obrázok;Posledný Filter;Náhľad]];[Šablóny;[Filter písma;Kľúčové slová;Zamiešať];[So symbolmi;S fotkou];[Miniatúry;Zoznam]]", + "[Tệp;Chỉnh sửa;Hình ảnh;Lớp;Thư mục;Lựa chọn;Bộ lọc;Xem;Cửa sổ;Ngôn ngữ;Đăng nhập;Đăng xuất;Tạo bản dịch;[Tài khoản;Điều khoản dịch vụ;Trở lại;Giới thiệu;Báo lỗi;Hướng dẫn];Thêm;Giao diện;Sử dụng WebGL;[Photopea: trình chỉnh sửa hình ảnh nâng cao;Trình chỉnh sửa trực tuyến miễn phí hỗ trợ các định dạng PSD, XCF, Sketch, XD và CDR.;Tạo một hình ảnh mới hoặc mở các tập tin hiện có từ máy tính của bạn. Lưu công việc của bạn dưới dạng PSD (Tệp - Lưu dưới dạng PSD) hoặc dưới dạng JPG / PNG / SVG (Tệp - Xuất dưới dạng).;Đề xuất các tính năng mới tại hoặc của chúng tôi. Mục tiêu của chúng tôi là tạo ra ;Liên kết tài trợ mở trong một cửa sổ mới.;;]];[Mở;Xuất bản trực tuyến;Lưu;Lưu dưới dạng PSD;In;Mở từ URL;Mở File từ máy tính;Kết nối với Google Drive;Xuất dưới dạng;Xuất các lớp;Bản thảo;Chèn ảnh;Đóng;Lưu trữ cục bộ;];[Bước Tiến;Bước giật lùi;Xóa;Tô màu;Biến đổi;Quay;Lật theo chiều VAR0;Quy mô VAR0;Hoàn tác / Làm lại;Phối cảnh;[Trộn lớp;];Mờ;];Điều chỉnh;[Độ sáng/tương phản;Trình độ;Đường cong;Phơi bày;Rung động;Vùng màu/Độ bão hòa màu;Cân bằng màu sắc;Đen trắng;Bộ lọc ảnh;Bộ chỉnh âm;Màu tra cứu;Đảo ngược;Áp dụng;Ngưỡng;Bản đồ Gradient;Màu sắc chọn lọc;[Tự chỉnh tone;Tự cân bằng sáng;Tự chỉnh màu];Thay thế màu];[Cắt;Sao chép;Dán;Mới;Xóa bỏ;Bật;Vô hiệu hóa;Bản sao hợp nhất;Áp dụng;Làm lại;Cập nhật];[Nhân bản lớp;Lớp điều chỉnh mới;Mặt nạ Raster;Mặt nạ vector;Thêm (Hiển thị Tất cả);[Thêm (Ẩn tất cả);Tiết lộ vùng chọn;Ẩn vùng chọn;Từ sự minh bạch];[Mặt lạ Clipping;];Đổi thành lớp ảnh đối tượng;Đổi thành lớp ảnh Raster;Nhóm các lớp;Hợp nhất với lớp dưới;Hợp nhất;[Hợp nhất lớp;];Lớp mới;Bật Mặt nạ Raster;Vô hiệu hoá Mặt nạ Raster;Bật Mặt nạ Vector;Tắt Mặt nạ Vector;Bật Clipping Mask;Vô hiệu Clipping Mask;Thư mục mới;Thêm Mặt nạ Raster;Xoá Mặt nạ Raster;Thêm Mặt nạ Vector;Xóa Mặt nạ Vector;Nối Mặt nạ Raster;Bỏ nối Mặt nạ Raster;Nối Mặt nạ Vector;Bỏ nối Mặt nạ Vector;Bật Hiệu ứng cho lớp;Tắt Hiệu ứng cho lớp;Xóa lớp;Thay đổi độ mờ lớp;Thay đổi chế độ Hòa trộn;Chuyển Layer Style thành Raster;Sắp xếp lớp;[Tạo Smart Object;Cập nhật Smart Object;Đặt Smart Object;Nguồn (Đối tượng thông minh);];Đổi tên;Đổi màu;Chỉnh sửa lớp Hiệu chỉnh;Chuyển thành Shape;Bật Mặt nạ lọc;Tắt mặt lạ lọc;Bật bộ lọc thông minh;Tắt bộ lọc thông minh;Thêm mặt nạ lọc;Xóa mặt lạ lọc;Xóa lọc thông minh;[[Đổ màu Solid;Đổ màu chuyển sắc;Đổ họa tiết;Nội dung nhận thức];Lớp đổ màu mới;Hiệu chỉnh lớp đổ màu];Tạo lớp bằng copy;Mặt lạ lọc;Xóa style của lớp;Di chuyển lọc thông minh;Xóa lọc thông Minh;[Liên kết lớp;Hủy liên kết lớp];Sắp xếp;[Đưa lên trước;Đưa lên trên;Đưa về sau;Đưa về sau cùng];[Lớp đã khóa;Đổi trạng thái khóa;];];[Tất cả;Bỏ chọn;Ngược lại;Hiệu chỉnh;Mở rộng;Thu hẹp;Độ mờ;Di chuyển vùng chọn;Chọn vùng màu;Khung;Chỉnh sửa vùng chọn;Làm láng cạnh;Sửa theo vùng chọn;];[Phóng to;Thu nhỏ;Hướng dẫn;Thước;Lưới;Gắn;Gắn vào;Giới hạn tệp tin;Lưới điểm ảnh;Path;Chụp ảnh theo pixel;[Chia cắt;];];[Lịch sử;Lớp;Các thuộc tính;Nét bút;Kí tự;Đoạn văn bản;Thông tin;So sánh lớp;Swatch màu;Hành động;Biểu đồ;Điều hướng;Công cụ cài đặt sẵn;];[Bút lông;Cọ sao chép;Cắt xén tỷ lệ;Tẩy xóa;Vòng chọn tròn;Lấy mẫu màu;Chuyển sắc;Di chuyển;Văn bản;Chọn vùng tự do;Chọn vùng nhanh;Di chuyển;Chọn vùng theo màu;Đổ màu;Chọn vùng theo nét;Vùng chọn vuông;Thay đổi hình dạng tự do;Phóng to;Làm mờ;Làm nét;Chà mờ;Làm sáng;Làm tối;Làm nhòe;Sửa nét bút;Sửa bút vẽ;Vá ảnh;Chọn Path;Chọn trực tiếp;Bút;Vẽ tự do;Khung tùy chọn;Hình vuông;Hình e-líp;Hình đa giác;Đường thẳng;Thước kẻ;Chọn vùng nhanh;Bút chì;Cắt xén tự do;Chia cắt;Chọn chia cắt;;;;;;;;];[Chụp ảnh;Chọn màu sắc;Chỉnh sửa viền;Kích cỡ Canvas;Nhân bản vào tệp tin...;Trình chỉnh sửa Gradient;Kiểu lớp ảnh;Dự án mới;Lưu cho web;Làm cong;Kích thước ảnh;Ảnh Vector;[Trim-Cắt;;];Các phím tắt bàn phím;Thêm hướng dẫn;[;]];[Độ trong đục;Hiệu ứng;Độ sáng;[Tương phản;Sử dụng sẵn có];Kênh;Tiếp xúc;Bù đắp;Điều chỉnh gamma;Vùng màu;Độ bão hòa màu;Nhẹ nhàng;Tô màu;Phạm vi;Rung;[Kích thước;Nội suy;Trọng số gần nhất;Song tuyến];Góc;Tròn;Độ mềm cứng;khoảng cách;[Chế độ Blend;Trộn];Cỡ mẫu;Viền;Kiểu;[Đảo ngược;Tương đối;Điểm neo];Lòng khoan dung;Tiếp giáp;Tô màu;Sử dụng toàn bộ góc;Khoảng cách;Lan tỏa;Nhiễu;Bóng đổ viền;Chuyên môn;Đường dẫn;Độ sâu màu;Làm mềm;Mode;Màu chuyển sắc;Tỉ lệ;Căn chỉnh với lớp;Vị trí;Chiều rộng;Chiều cao;Điểm đến;Kiểu;Màu tô;Màu nền;Tùy chỉnh;Tên;Tạo;Định dạng;Giữ tỷ lệ khung hình;[Chất lượng;Trang];Nhân bản;Di chuyển;Bộ lọc thông minh;Bán kính;Giá trị;Phân phối;[Đồng phục;Gaussian];Đơn sắc;Kích thước Ô;Họa tiết;Mờ tỏ;Mạnh;Bảo vệ chi tiết;Loại màu;Họa tiết;Jitter;Cạnh;Nguồn;Đích;Kênh;Mặt nạ;Tỉ trọng;Căn chỉnh;[Đường dẫn;Hình dạng;Pixels;Inches;Centimet;Millimet;Phần trăm];Hình dạng;Số cạnh;Sở thích;[Chiều dài;Tỉ lệ;Bất kì;Loại lưới;Phương vị;Khoảng cách lưới;Đơn vị thước];Giảm noise;Màu sắc;Khoảng cách;Khoảng cách;Tự động lựa chọn;Tìm kiếm;Xác định mới;[Ảnh;Màn hình;Điện thoại di động;Quảng cáo;In];[Tự do;Tỷ lệ cố định;Kích thước tùy chỉnh];Trợ giúp;[Hình sống động;Chỉnh sửa hình dạng trực tiếp;Cùng Radii];Fuzziness;[Đa giác;Hình sao;Xoắn ốc;Hình vuông];[Bán kính góc;Bán kính trong]];[Màu;[Không;R. Đỏ cờ;Cam;Vàng;G. Xanh cây;B. Xanh tím;Tím;Xám;Trắng;Nền trong;Đen;Xanh lam;Đỏ sen;Trung tính];Toàn bộ;Tuyệt đối;Giữ gìn độ sáng];[Thả bóng;Bóng bên trong;Ánh sáng bên ngoài;Sáng bên trong;Vát cạnh và chạm nổi;Lớp phủ màu;Lớp phủ màu chuyển sắc;Lớp phủ họa tiết;Sa tanh;Bo viền;Tùy chỉnh kiểu lớp ảnh;];[Hình dạng nhọn;Tip Dynamics;Tiêu tan;Động lực màu;[Kích thước jitter;Đường kính tối thiểu;Góc jitter;Độ tròn jitter;Độ tròn tối thiểu];[Vị trí jitter;Đếm;Đếm jitter];[Jitter Màu / nền;Sắc tố Jitter;Bão hòa jitter;Độ sáng jitter];[Chọn nguồn clone bằng cách giữ Alt (hoặc K) và nhấp vào hình ảnh.;Đánh dấu tiền cảnh với màu trắng, nền với màu đen và khu vực không xác định với màu xám.;Lớp không thể chỉnh sửa;Lớp văn bản phải được rasterized trước;Đối tượng thông minh phải được rasterized trước;Chọn nhiều lớp;Sắp đặt lớp;Mở tài liệu trước;Đóng cửa sổ hiện tại trước.;Chỉ công cụ hiện tại];[Ghi lại;Thiết lập hành động mới;Hành động mới];[Stylus điều khiển độ trong đục;Stylus Điều khiển Kích cỡ];[Bình thường;Hòa tan;Làm tối;Multiply;Ghi màu;Tuyến tính nóng;Màu tối hơn;Làm sáng;Màn hình;Màu Dodge;Tuyến tính Dodge;Màu sáng hơn;Lớp phủ;Ánh sáng mềm mại;Đèn rất sáng;Ánh sáng sinh động;Ánh sáng tuyến tính;Pin nhẹ;Hỗn hợp cứng;Sự khác biệt;Loại trừ;Trừ khử;Phân chia;Vùng màu;Độ bão hòa màu;Màu;Độ sáng;Đi qua]];[Dẫn đầu;Theo dõi;Đổi đường nét;[Chuyển đổi thành văn bản;Chuyển đổi sang đoạn văn bản]];[Tất cả các lớp;Lớp hiện tại;Lựa chọn;Lớp hiện tại];[Thay thế;Kết hợp;Loại trừ;Giao nhau;Loại trừ;Hợp nhất];[[Tuyến tính;Xuyên tâm;Góc;Phản ánh;Kim cương;Hình nổ tung];[Mềm hơn;Tóm lược];[Góc ngoài;Góc xiên bên trong;Chạm nổi;Gối chạm khắc;Chạm nổi đường viền;Chiều rộng đường viền];[Mịn;Chạm cứng;Chạm khắc mềm;Độ mịn];[Lên;Xuống];[Nét ngoài;Trung tâm;Phía trong;Từ giữa];[Bóng đổ;Midton;Điểm nổi bật];[Bão hòa;Bão hòa];[Nhỏ;Trung bình;Lớn];[Mũ;Góc;Dấu gạch ngang]];[Chọn đối tượng dưới con trỏ;Tùy chọn biến đổi;Xem thực tế;Vừa với vùng làm việc;[Căn lề trái;Vào giữa theo chiều ngang;Căn lề phải;Căn chỉnh lên đầu;Vào giữa theo chiều dọc;Căn lề dưới;Khoảng cách bằng nhau]];[Đặt vào;Dự án hiện tại;Tạo mới;Độ phân giải;Đã thêm vào dự án hiện tại.;Một dự án mới đã được tạo ra.;Truy cập vào máy ảnh đã bị từ chối];[Sự định hướng;Bẻ cong;Biến dạng ngang;Thay đổi dọc;[Ngang;Dọc;ngang;dọc];[Không;Vòng cung;Vòng cung thấp;Vòng cung trên;Cổng vòm;Phồng;Vỏ dưới;Vỏ trên;Cờ;Làn sóng;Cá;Tăng lên;Mắt cá;Thổi phồng;Bóp méo;Xoắn;Tùy chỉnh];[Phông chữ;không có sẵn;Sẽ được hiển thị bằng;Có công việc chưa được lưu trong;Bạn có thực sự muốn đóng nó?];[Đổi màu sắc;Mặc định: trắng và đen]];[Tải;Thêm;Di chuyển hướng dẫn;Xóa hướng dẫn;Thêm hướng dẫn;Đang tải;Tải VAR0];[Lọc thư viện ảnh;[[Hóa lỏng;[Dơ bẩn;Tái thiết;Làm mịn;Xoay tròn;Co lại;Thổi;Đẩy sang trái;Đông cứng;Làm lỏng ra]];[Hiệu chỉnh ống kính]];Làm mờ;[Trung bình cộng;Mờ;Làm mờ thêm;Hộp mờ;Mờ Gaussia;Làm mờ ống kính;Chuyển động mờ;Mờ xuyên tâm;Nhòe hình dạng;Làm mờ thông minh;Bề mặt mờ];Làm méo;[Chỗ để;Giữ;Tọa độ cực;Gợn sóng;Cắt;Hình cầu;Làn sóng];Độ ồn;[Thêm độ ồn;Tuyệt vọng;Bụi và vết trầy xước;Giữa đường];Pixel;[Hạt màu;Kết tinh;Khía cạnh;Miếng;Gác lửng;Khảm;Pointillize];Kết xuất;[Đám mây;Mây khác biệt;];Làm sắc nét;[Làm sắc nét;Làm sắc cạnh;Làm sắc nét hơn;Làm sắc nét thông minh;Mặt nạ unsharp];Cách điệu;[Khuếch tán;Chạm nổi;Đùn lên;Tìm các cạnh;];Khác;[Tùy chỉnh;Vượt lên cao;Tối đa;Tối thiểu;Bù lại;Lặp lại];[Khu vực không xác định;Đặt thành trong suốt;Lặp lại các pixel cạnh;Quấn quanh;Lọc cuối;Xem trước]];[Mẫu;[Bộ lọc phông chữ;Từ khóa;Ngẫu];[Với biểu tượng;Với ảnh];[Hình thu nhỏ;Danh sách]]", + "[Файл;Редакция;Изображение;Слой;Папка;Изберете;Филтър;Изглед;Прозорец;Език;Вход;Изход;Създай превод;[Профил;Условия за ползване;Назад;За;Съобщаване за грешка;Научете];Повече;Тема;Използвайте WebGL;[Photopea: Разширен редактор на изображения;Безплатен онлайн редактор, поддържащ PSD, XCF, Sketch, XD и CDR формати.;Създайте ново изображение или отворете съществуващи файлове от вашия компютър. Запазете работата си като PSD (Файл - Запис като PSD) или като JPG / PNG / SVG (Файл - Експортиране като).;Предложете нови функции в нашия или . Нашата цел е да създадем <най-напредналия и достъпен фоторедактор>.;Спонсорите връзки се отварят в нов прозорец.;;]];[Отвори;Публикувай online;Запис;Запис като PSD;Печат;Отвори от URL;Отвори от компютъра;Връзка с Google Drive;Експортиране като;Експортиране на слоеве;Скрипт;Отвори и постави;Затвори;Локално пространство;];[Стъпка напред;Стъпка назад;Изчисти;Запълни;Трансформация;Завъртане;Обърнете VAR0;Мащабиране VAR0;Отмяна / Повторение;Перспективно;[Авто-смес;];Отслаби;];Корекции;[Яркост / Контраст;Нива;Криви;Експонация;Вибрантност на цвета;Оттенък / Наситеност;Цветови баланс;Черно и Бяло;Фото Филтър;Смесител на канали;Търсене на цвят;Инвертиране;Плакат;Праг;Карта на градиента;Селективен Цвят;[Автоматичен Тон;Автоматичен Контраст;Автоматичен Цвят];Сменете цвета];[Изрязване;Копиране;Поставяне;Нов;Изтрий;Активиране;Деактивиране;Копиране на сливането;Приложи;Отново;Актуализиране];[Дублиране на слоя;Нов слой за настройка;Растерна маска;Векторна маска;Добави (покажи всички);[Добави (скрий всички);Покажи селекцията;Скрий селекцията;От прозрачност];[Маска за изрязване;Режим на бърза маска];Превърни в интелигентен обект;Рестиризилане;Групирай слоеве;Сливане надолу;Сливане нагоре;[Сливане на слоеве;Изравнете изображението];Нов слой;Активиране на растерна маска;Деактивиране на растерна маска;Активиране на векторна маска;Деактивиране на векторна маска;Активиране на маска за изрязване;Деактивиране на маска за изрязване;Нова папка;Добави растерна маска;Изтрий растерна маска;Добави векторна маска;Изтрий векторна маска;Свързване на растерна маска;Изключване на растерна маска;Свързване на векторна маска;Изключване на векторна маска;Активиране ефекти на слоя;Деактивиране ефекти на слоя;Изтриване на слой;Промяна прозрачност на слоя;Промяна на смесването;Растеризиране стилове на слоя;Ред на слоевете;[Създай Смарт обект;Актуализиране на Смарт обект;Поставяне на Смарт обект;Източници (Интелектен обект);];Смяна на име;Смяна на цвят;Промяна на Регулиращ Слой;Конвертирай във Форма;Активиране Филтърна Маска;Деактивиране Филтърна Маска;Активиране Смарт Филтри;Деактивиране Смарт Филтри;Добави Филтър Маска;Изтрий Филтър Маска;Изчисти Смарт Филтри;[[Попълване с плътен цвят;Попълване с градиент;Попълване с текстура;Базирано на съдържание];Нов слой за попълване;Промени слой за попълване];Слой от копие;Филтър Маска;Изтрий стил на слой;Премести Смарт филтър;Изтрий Смарт филтър;[Свързване на слоеве;Откачане на слоеве];Подреди;[Доведи отпред;Доведи напред;Заведи назад;Заведи отзад];[Слоят е заключен.;Заключи/Отключи;];];[Всичко;Отмяна на избора;Обръщане;Промени;Разшири;Свий;Изтъняване;Премести селекцията;Цветови диапазон;Бордер;Трансформирай селекцията;Преработка на краищата;Heal селекция;];[Увеличи;Отдалечи;Водачи;Владетели;Мрежа;Свържи;Свържи със;Граници на документа;Пикселова мрежа;Пътища;Прилепване към пиксели;[Oтрез;Опции за отрез];Покажи];[История;Слоеве;Свойства;Четки;Символ;Параграф;Информация;Състав на слоевете;Мостри;Операция;Хистограма;Навигатор;Предварителни настройки на инструмента;];[Четка;Инструмент за клониране;Инструмент за изрязване;Инструмент за изтриване;Избор с елипса;Пипета;Инструмент за градиент;Инструмент ръка;Инструмент за писане;Избор с ласо;Избор с магнетично ласо;Инструмент за местене;Магическа пръчица;Кофа;Полигонично Ласо Селектиране;Квадратна селекция;Свободна Трансформация;Приближаване и отдалечаване;Замъгляване;Острота;Замазване;Изсветляване;Потъмняване;Гъба;Премахване на петна;Излекуване;Закърпване;Избиране на Пътека;Директно Избиране;Химикалка;Свободна Химикалка;Специални Форми;Правоъгълник;Елипса;Параметрични Форми;Линия;Владетел;Бърза селекция;Молив;Изрязване на перспектива;Инструмент за изрязване;Инструмент за избор на сектори;Смяна на цвета;Инструмент за червени очи;Избор на обект;Гума за фон;;;;];[Снимай;Цветоизбирач;Контурен Едитор;Големина на Платното;Дупликирай в;Градиент редактор;Стил на Слоя;Нов проект;Запази за Уеб-а;Деформиране;Големина на Изображението;Векторизиране на Растерното Изображение;[Подрязване;Изрязване;Разкрий всички];Клавишни Преки Пътища;Добави Ръководства;[Изчистване на водачите;Ръководства от слой]];[Прозрачност;Ефекти;Светлост;[Контраст;Използвайте съвместимост];Канал;Експозиция;Изместване;Корекция на Гамата;Оттенък;Наситеност;Светлинност;Оцветяване;Диапазон;Цветова Живост;[Размер;Интерполация;Най-близкия съсед;Билинеарна];Ъгъл;Закръгленост;Твърдост;Интервал между;[Начин на Смесване;Смес];Размер на Извадката;Контур;Стил;[Наобратно;Относителен;Котва];Толерантност;Съседен;Запълване;Използвай глобалния ъгъл;Дистанция;Разпространи;Шум;Нокайтурай Падащата Сянка;Техника;Посока;Дълбочина;Омекоти;Метод;Градиент;Мащаб;Подравнете със слой;Позиция;Широчина;Височина;Дестинация;Тип;Преден План;Заден План;Персонализиран;Име;Създай;Формат;Запази Съотношението;[Качество;Страници];Дублирай;Премести;Интелигенти Филтъри;Радиус;Количество;Разпределение;[Еднороден;Гауски];Едноцветен;Размер на Клетката;Шарка;Менструация;Сила;Запази Детайлите;Тип Запълване;Текстура;Треперене;Ръб;Източник;Мишена;Канали;Маска;Плътност;Подравнен;[Пътека;Форма;Пиксели;Инча;Сантиметри;Милиметри;Процент];Форми;Страни;Преференции;[Дължина;Съотношение;Всеки;Тип мрежа;Изометрични;Размер на мрежа;Единици на линийката];Намали Шума;Цветове;Разстояния;Рейтинг;Авто-Избиране;Намери;Дефинирай Нов;[Снимка;Экран;Мобилно;Реклами;Принтиране];[Освободен режим;Фиксирано Съотношение;Фиксирана Големина];Помощ;[Живи Форми;Промени Живата Форма;Същите Радиуси];Мъгла;[Многоъгълник;Звезда;Спирала;Квадрат];[Радиус на ъглите;Вътрешен радиус]];[Цвят;[Нищо;Червено;Оранжево;Жълто;Зелено;Синьо;Лилаво;Сиво;Бяло;Прозрачно;Черно;Циан;Маджента;неутрален];Общо;Абсолютно;Зберігати свічення];[Падаща Сянка;Вътрешна Сянка;Външна Светлина;Вътрешна Светлина;Наклон И Релеф;Цветова Настилка;Градиентова Настилка;Шаркова Настилка;Сатина;Щрих;Опции за Смесване;Изберете пиксели];[Форма на Върха;Връхови Динамики;Разпилей;Цветовни Динамики;[Големина на Трептенето;Минимален Диаметър;Ъгъл на Треперенето;Кръглост на Трептенето;Минимална Кръглост];[Позиционно Трептене;Брой;Брой на Трептенията];[Трептене на Предния/Задния-план;Оттенък на Трептенето;Насищане на Трептенето;Сетлинност на Трептенето];[Задръжте АЛТ (или К) бутона и цъкнете върху изображението за да изберете източника на клониране;Отбележи Предния план с Бяло, Задния фон с Черно и незнайната територия със Сиво;Слоят неможе да бъде променян.;Текстовият Слой трябва да бъде растеризиран преди това;Интелигентият Обект трябва да бъде растеризиран преди това;Избери множество слоеве;Изправяне на слой;Първо отворете документ.;Първо затворете текущия прозорец.;Само текущ инструмент];[Запис;Нов набор операции;Нова операция];[Стилус налягане контролира непрозрачност;Контрол на налягането];[Normal;Dissolve;Darken;Multiply;Color Burn;Linear Burn;Darker Color;Lighten;Screen;Color Dodge;Linear Dodge;Lighter Color;Overlay;Soft Light;Hard Light;Vivid Light;Linear Light;Pin Light;Hard Mix;Difference;Exclusion;Subtract;Divide;Оттенък;Наситеност;Цвят;Свічення;Pass Through]];[Водещ;Проследяване;Базовата линия;[Преобразуване в текст на точка;Преобразуване в текст на абзаца]];[Всички Слоеве;Текущ Слой;Избор;Текущ и Надоло];[Замени;Обедини;Изваждане;Пресичане;Изключване;Сливане];[[Линеен;Радиален;Ъгъл;Отразено;Диамант;Изблик на Формата];[По-меко;Прецизно];[Външен Наклон;Вътрешен Наклон;Релеф;Възглавнично Релефиране;Контурен Релеф;Ширина на контура];[Гладко;Длето (твърдо);Длето (меко);Гладкост];[Нагоре;Надолу];[Отвън;Центрирано;Отвътре;От центъра];[Сенки;Средни тонове;Осветени части];[Десатурирай (черно-бяло);Сатурирай (цвят)];[Малко;Средно;Голямо];[Краища;Ъгли;тирета]];[Избери обекта под курсора;Контроли за транформация;Пиксел към пиксел;Прилягане на площта;[Подравнете левите ръбове;Центрирайте хоризонтално;Подравнете десните ръбове;Подравнете горните ръбове;Центрирайте вертикално;Подравнете долните ръбове;Равни пропуски]];[Поставете в;Текущ проект;Нов Проект;Резолюция;Добавен в текущия проект;Създаден е нов проект;Достъпът до камерата беше отказан.];[Ориентация;ভাল আছি;Хоризонтално изкривяване;Вертикално изкривяване;[Хоризонтален;Вертикален;хоризонтално;вертикално];[Няма;Дъга;Долна дъга;Горна дъга;Арка;Издутина;По-ниска обвивка;Горна част на обвивката;Флаг;Вълна;Риба;Покачване;Рибено око;Издуват;Стиснете;извъртане;];[Шрифтът;не е налице;;;];[;]];[;добавено;;;;;];[Филтър галерия;[[;[;;;;;;;;]];[]];;[;;;;;Замъгляване на обектива;;;;;];;[;;;;;;];;[;;;];;[;;;;;;];;[;;];;[;;;;];;[;;;;];Друго;[;;;Минимум;;];[;;Повторение на пикселите на ръбовете;Обгърне;Предишен филтър;Преглед]];[Шаблони;[Филтър за шрифтове;Ключови думи;По случайност];[Със Символи;Със снимка];[Миниатюри;Списък]]", + "[Датотека;Измени;Слика;Слој;Фолдер;Изабери;Филтар;Поглед;Прозор;Језик;Улогуј се;Излогуј се;Направи превод;[Налог;Услови коришћења;Назад;О програму;Пријави грешку;Научи];Више;Тема;Користи WebGL;[Photopea: напредна обрада слика;Бесплатна онлајн обрада слика која подржава PSD, XCF, Sketch XD и CDR формате.;Направи нову слику или отвори постојећу датотеку са свог рачуанра. Сачувај рад као PSD (Датотека - Сачувај као PSD) или као JPG / PNG / SVG (Датотека - Извези као));Предложи нове функционалности на нашим или страницама. Наш циљ је стварање <најнапреднијег и најприступачније платформе за обраду слика>.;Линкови спонзора се отварају у новом прозору.;Ова функција није доступна.;]];[Отвори;Објави онлајн;Сними;Сними као PSD;Штампај;Отвори са URL;Отвори са рачунара;Повежи са Google Drive;Извези као;Извези слојеве;Скрипта;Отвори & Стави;Затвори;Локално складиште;];[Корак напред;Корак назад;Бриши;Попуни;Трансформиши;Ротирај;Обрни VAR0;Скалирање VAR0;Корак назад / Корак напред;Перспектива;[Аутоматско уклапање слојева;Аутоматски поравнај];Избледи;];Измене;[Осветљеност/Контраст;Нивои;Криве;Експозиција;Живост;Нијанса/Засићеност;Баланс боја;Црно & бело;Фото филтар;Канални миксер;Претраживач боје;Обрни;Постеризуј;Праг;Мапа градијента;Изабрана боја;[Аутоматско тонирање;Аутоматски контраст;Аутоматска боја];Замени боју];[Исеци;Копирај;Налепи;Ново;Избриши;Омогући;Онемогући;Копирај спојено;Примени;Понови;Ажурирај];[Дуплирај слој;Нови корективни слој;Растерска маска;Векторска маска;Додај (Прикажи све);[Додај (Сакриј све);Прикажи обележено;Сакриј обележено;Од непровидности];[Маска исечка;Брзо маскирање];Промени у Паметни објекат;Растеризуј;Групиши слојеве;Слепи наниже;Слепи навише;[Слепи слојеве;Сравни слику];Нови слој;Омогући Растерску маску;Онемогући Растерску маску;Омогући Векторску маску;Онемогући Векторску маску;Омогући Маску исечка;Онемогући Маску исечка;Нови директоријум;Додај Растерску маску;Избриши Растерску маску;Додај Векторску маску;Избриши Векторску маску;Повежи Растерску маску;Откачи Растерску маску;Повежи Векторску маску;Откачи Векторску маску;Омогући Ефекте слоја;Онемогући Ефекте слоја;Избриши Слој;Промена прозирности слоја;Промена мешања;Растеризуј стил слоја;Редослед слојева;[Креирање Паметног објекта;Ажурирање Паметног објекта;Постављање Паметног објекта;Извор (Паметни објекат);Мод слојевања];Промена имена;Промена боје;Измени Корективни слој;Претвори у Облик;Омогући Маску филтра;Онемогући Маску филтра;Омогући Паметне филтере;Онемогући Паметне филтере;Додај Маску филтера;Избриши Маску Филтера;Бриши Паметне Филтере;[[Испуна бојом;Испуна градијентом;Испуна узорком;Свестан Садржаја];Нови слој испуне;Измени слој испуне];Слој преко копије;Филтер маска;Избриши стил слоја;Помери паметни филтер;Избриши паметни филтер;[Повежи слојеве;Развежи слој];Уреди;[Постави у први план;Приближи унапред;Удаљи уназад;Пошаљи назад];[Овај слој је закључан.;Закључај промену;];Анимација];[Све;Уклони обележено;Обрнуто;Промени;Прошири;Смањење;Перо;Помери обележно;Распон боја;Ивица;Трансформиши одабрано;Дотерај ивицу;Поправи одабрано;];[Приближи;Удаљи;Вођице;Лењири;Мрежа;Лепљење;Залепи на;Ивице слике;Мрежа пиксела;Путање;Залепи за пикселе;[Исечци;Опције исечака];Приказивање];[Историја;Слојеви;Подешавања;Четка;Знак;Пасус;Информације;Композиције слојева;Палета боја;Акције;Хистограм;Навигатор;Подешавање алата;];[Алат Четка;Алат Клон;Алат Секач;Алат Гумица;Одабир елипсе;Алат Одабира боје;Алат Градијент;Алат Рука;Алат Куцање;Ласо одабир;Магнетни ласо одабир;Алат Померање;Чаробни штапић;Алат Канта боје;Полигонални ласо одабир;Правоугаони одабир;Слободна трансформација;Алат Zoom;Алат Замагљивања;Алат Изоштравања;Алат Размазивања;Алат Избељивања;Алат Затамњивања;Алат Сунђер;Алат Четка за лечење мрље;Алат Четка за лечење;Алат Закрпа;Одабир путања;Директни одабир;Оловка;Слободна оловка;Прилагођен облик;Правоугаоник;Елипса;Параметарски облик;Линија;Лењир;Брзи одабир;Алат Оловка;Сечење перспективе;Алат Исечак;Алат Одабира исечка;Замена боје;Алатка Црвене очи;Одабир објекта;Брисање позадине;ja sam;Ротирај преглед;;];[Снимање фотографије;Бирач боје;Уређивање контура;Величина платна;Дуплирај на...;Уређивање градијента;Стил слоја;Нови пројекат;Сачувати за веб;Искривити;Величина слике;Претворити у векторску графику;[Исецање;Сечење;Откриј све];Скраћенице на тастатури;Додати вођице;[Избрисати вођице;Вођице са слоја]];[Непрозирност;Ефекти;Осветљеност;[Контраст;Коришћење старе верзије];Канал;Експозиција;Офсет;Гама корекција;Нијанса;Засићеност;Светлина;Обојити;Опсег;Живост боја;[Величина;Интерполација;Најближи сусед;Дволинијски];Угао;Закривљеност;Тврдоћа;Проред;[Мешања;Мешај ако];Величина узорка;Контура;Стил;[Обрнути;Релативно;Тежиште];Толеранција;Непрекидно;Испуна;Користити глобални угао;Удаљеност;Ширење;Шум;Искључити сенку;Техника;Правац;Дубина;Омекшање;Начин;Градијент;Скалирање;Поравнати са слојем;Позиција;Ширина;Висина;Дестинација;Тип;Предњи план;Позадина;Изабрана;Назив;Направи;Формат;Задржати однос страна;[Квалитет;Стране];Дуплирати;Померати;Паметни филтри;Полупречник;Количина;Дистрибуција;[Уједначити;Гаусов];Монохроматски;Величина ћелије;Узорак;Ток;Јачина;Заштити детаљ;Врста испуне;Текстура;Џитер;Ивица;Порекло;Мета;Канали;Маска;Густина;Поравнато;[Путања;Облик;Пиксели;Инче;Центиметри;Милиметри;Проценат];Облици;Стране;Подешавања;[Дужина;Однос;Било који;Тип мреже;Изометријски;Процеп мреже;Јединице лењира];Умањи шум;Боје;Удаљености;Стопа;Ауто-одабир;Нађи;Дефиниши ново;[Фотографија;Екран;Мобилни;Рекламе;Штампа];[Бесплатно;Фиксирани однос;Фиксирана величина];Помоћ;[Живи облик;Уреди живи облик;Исти полупречници];Мутност;[Полигон;Звезда;Спирала;Квадрат];[Угао полупречника;Унтрашњи полупречник]];[Боја;[Празно;Црвена;Наранџаста;Жута;Зелена;Плава;Љубичаста;Сива;Бела;Провидна;Црна;Цијан;Мађента;Неутрална];Укупно;Апсолутни;Очувај осветљеност];[Додај сенку;Унутрашња сенка;Спољашњи одсјај;Унутрашњи одсјај;Косина и Клесање;Прекривање бојом;Прекривање градијентом;Прекривање узорком;Сатен;Ивица;Опције мешања;Изабери пиксел];[Предложи облик;Предложи динамике;Распршити;Динамике боје;[Насумична величина;Минимални пречник;Насумични угао;Насумична заобљеност;Минимална заобљеност];[Насумична позиција;Број;Насумични број];[Насумични предњи план/позадина;Насумична нијанса;Насумична засићеност;Насумична сјајност];[Изаберите извор клонирања држањем Аlt (или K) и кликом на слику.;Обележите предњи план с белом, позадину са црном, а непознате делове са сивом бојом.;Слој није могуће изменити.;Слој текста најпре мора бити растеризован;Паметни објекат мора најпре бити растеризован;Обележи више слојева;Исправи слој;Најпре отвори документ.;Најпре затворите тренутни прозор.;Само за тренутни алат];[Сними;Група нових акција;Нова акција];[Притисак стајлуса контролише непровидност;Притисак стајлуса контролише величину];[Нормални;Отопљени;Затамњени;Вишеструки;Тамњење боје;Линеарно затамњење;Затамни боју;Посветли;Екран;Посветљење боје;Линеарно посветљење;Посветли боју;Прекривање;Меко светло;Оштро светло;Живописно светло;Линеарно светло;Везивно светло;Јаки микс;Разлика;Изузеће;Одузимање;Дељење;Нијанса;Засићеност;Боја;Блиставост;Пролазак]];[Размак редова;Размак између слова;Промена основне линије;[Промени у тачку текста;Промени у текст у пасусу]];[Сви слојеви;Тренутни слој;Избор;Тренутни & Испод];[Замени;Споји;Одузети;Пресећи;Искључити;Спојити];[[Линеарно;Радијално;Угао;Рефлексија;Дијамант;Прасак облика];[Смекшај;Прецизније];[Спољна косина;Унутрашња косина;Клесање;Мекано клесање;Клесање линије;Дебљина ивице];[Мекано;Јако длето;Меко длето;Мекоћа];[Горе;Доле];[Споља;Центар;Унутра;Из центра];[Сенке;Средњи тонови;Светли тонови];[Уклонити засићење;Засити];[Мали;Средњи;Велики];[Велика слова;Углови;Цртице]];[Изаберите објекат испод курсора;Контроле трансформације;Пиксел за пиксел;Попуни област;[Поравнај леве ивице;Центрирај хоризонтално;Поравнај десне ивице;Поравнај горње ивице;Центрирај вертикално;Поравнај доње ивице;Једнаки прореди]];[Постави на;Тренутни пројекат;Нови пројекат;Резолуција;Додато у тренутни пројекат.;Нови пројекат је креиран.;Приступ камери је забрањен.];[Оријентација;Савити;Хоризонтална дисторзија;Вертикална дисторзија;[Хоризонтала;Вертикала;Хоризонтално;Вертикално];[Ништа;Лу̑к;Доњи лу̑к;Горњи лу̑к;Свод;Испупчење;Доњи омотач;Горњи омотач;Застава;Талас;Риба;Раст;Рибље око;Надувати;Стиснути;Увити;Изборни];[Фонт;није доступан;Биће рендерован коришћењем;Постоји несачувани рад;Да ли заиста желиш да затвориш?];[Замени боје;Предефинисано: бело и црно]];[учитан;додат;Помери вођицу;Обриши вођицу;Додај вођицу;Учитавање;Учитај VAR0];[Галерија филтра;[[Учини течним;[Замуљај;Реконструиши;Смекшај;Ковитлај;Смањи;Повећај;Гурни лево;Замрзни;Одмрзни]];[Корекција сочива]];Замагли;[Просек;Замаглити;Замагли више;Ограничено замагљење;Гаусово замагљење;Замагљење сочива;Замагљење покрета;Замагљење кружно;Замагљење облика;Паметно замагљење;Замагљење површине];Дисторзија;[Помери;Уштини;Поларне координате;Заталасај;Смакни;Начини сферичним;Талас];Шум;[Додај шум;Уклони тачкице;Прашина & Огреботине;Тежишна линија];Пикселизуј;[Полутон боје;Кристализуј;Брушење;Фрагмент;Мецотинта;Мозаик;Истачкај];Рендеруј;[Облаци;Облаци разлике;Одсјај сочива];Изоштри;[Изоштри;Изоштри ивице;Изоштри више;Паметно изоштравање;Маска против оштрења];Стилизуј;[Дифузуј;Клесање;Извуци;Нађи ивице;Уљана фарба];Остало;[Изборни;Високи пролаз;Максимум;Минимум;Офсет;Понови];[Непозната површина;Постави на провидно;Понови ивичне пикселе;Обмотај;Последњи филтар;Преглед]];[Шаблони;[Филтер фонтова;Кључне речи;Насумично измешај];[Са симболима;Са фотографијом];[Минијатуре;Списак]]", + "[;Redakto;Foto;Shtresa;Dosja;Përzgjidh;Filtrues;Pamja;Dritarja;Gjuha;Kyçu;Dil;Krijo përkthim;[Llogaria;Kushtet e Shërbimit;Prapa;;;];Më shumë;Motivi;Perdor WebGL;[;;;;;;]];[Hape;Boto në internet;Ruaje;Ruaje si PSD;Shtype;Hape nga URL;Hape nga kompjuteri;Lidhu me Google Drive;Eksporto Si;Eksporto Shtresat;Skript;Hap & Vendos;Mbyll;;];[Ec para;Ec prapa;Pastro;Mbush;Transformo;Rrotullo;;;Ç'bëje / Ribëje;Perspektive;[;];Zhduket;];Përshtatjet;[Shkëlqimi/Kontrasti;Nivelet;Lakoret;Ekspozimi;Dinamika;Toni/Përzierja;Ekuilibri i Ngjyrave;Bardh & Zi;Foto Filtruesi;Përzierës Ngjyrash;Kërkues Ngjyrash;Anasjelltas;Posterizo;Pragu;Harta Gradient;Ngjyrë e Përzgjedhur;[Auto Tone;Auto Kontrast;Auto Ngjyre];Zevendeso Ngjyren];[Preje;Kopjo;Hidhe;E Re;Grise;Mundëso;Pamundëso;Kopjo së bashku;Vendos;;];[Dyfisho shtresën;Shtresë e Re e Përshtatjes;Maska Raster;Maska e Vektorit;Shto (Shfaq të gjitha);[Shto (Fshih të gjitha);;;];[Maska Prerëse;];E konverto në Objekt të Mençur;Rasterizo;Grupo Shtresat;Bashko Poshtë;Bashko Sipër;[Bashko Shtresat;];Shtresë e Re;Mundëso Maskën Raster;Pamundëso Maskën Raster;Mundëso Maskën Vektoriale;Pamundëso Maskën Vektoriale;Mundëso Maskën e Prerjes;Pamundëso Maskën e Prerjes;Dosje e Re;Shto Maskë Raster;Grise Maskën Raster;Shto Maskë Vektoriale;Grise Maskën Vektoriale;Lidhe Maskën Raster;Ç'lidhe Maskën Raster;Lidhe Maskën Vektoriale;Ç'lidhe Maskën Vektoriale;Mundëso Efektet e Shtresës;Pamundëso Efektet e Shtresës;Grise Shtresën;Ndrysho Tejdukshmërinë e Shtresës;Ndryshimi i Përzierjes;Stili i Shtresës së Rasterizimit;Radhitja e Shtresave;[Krijimi i Objektit të Mençur;Përditësimi i Objektit të Mençur;Vendosja e Objektit të Mençur;;];Ndryshimi i Emrit;Ndryshimi i Ngjyrës;Redakto Shtresën e Përshtatjes;E konverto në Formë;Mundëso Maskë Filtrimi;Pamundëso Maskë Filtrimi;Mundëso Filtruesit e Mençur;Pamundëso Filtruesit e Mençur;Shto Maskë Filtruese;Grise Maskën Filtruese;Pastro Filtruesit e Mençur;[[Mbushje me Ngjyrë të Pastër;Mbushje Gradient;Mbushje me Model;];Shtresë e Re Mbushjeje;Ndrysho Shtresën Mbushëse];Shtresë përmes Kopjimit;Maska Filtruese;Grise Stilin e Shtresës;Zhvendose Filtruesin e Mençur;Grise Filtruesin e Mençur;[Lidh Shtresat;Clidh Shtresat];Rendit;[Sill ne Fillim;Sill Perpara;Co Mbrapa;Co ne Fund];[Shtresa eshte e Kycur.;Kyc Ndryshimin;];];[Të Gjitha;Ç'selekto;Anasjelltas;Ndrysho;Zgjero;Zvogëlim;Pendë;Zhvendos Përzgjedhjen;Gama e Ngjyrave;Kufiri;Transformo Selektimin;Rafino Qoshet;Seleksioni i Sherimit;];[Zmadho;Zvoglo;Udhëzuesi;Rregullat;Rrjeta;Kapje;Kapja Tek;Kufizimet e dokumenteve;Rrjeti i Pikselëve;Rrugët;;[;];];[Historia;Shtresat;Vetitë;Brusha;arabic;Paragrafi;Informacion;Kompozime Shtresash;Galeria e Ngjyrave;Veprime;Histogram;;;];[Brusha;Klonuesi;Prerësi;Grisësi;Përzgjidh Elipsin;Përzgjedhje ngjyrash;Mjeti Kursimit;Dora;Mjeti Shkrimit;Përzgjidh Litarin;Përzgjedhje me Laso Magnetike;Lëvizësi;Muri Magjik;Kova e Ngjyrave;Përzgjedhësi Poligonal;Përzgjedhësi Katrorë;Transformimi Lirë;Zmadhuesi;Paqartësuesi;Theksuesi;Ndotësi;Terruesi;Djegësi;Sfungjeri;Furçe riparuese në formë pike;Furçe Riparuese;Bandazhuesi;Përzgjidh Rrugën;Përzgjidhja e Drejtpërdrejtë;Lapsi;Laps i Lirë;Formë Personale;Drejtkëndësh;Elipsë;Formë Parametrale;Vijë;Vizorja;Përzgjedhje e Shpejtë;Stilolapsi;Kropo ne Perspektive;;;;;;;;;;];[Bëj Foto;Përzgjedhës Ngjyrash;Redaktuesi Konturit;Madhësia kanavacë;Dyfishoje në ...;Redaktori Rrjedhës Ngjyrës;Stili i Shtresës;Projekti Ri;Ruaje për ueb;Deformo;Madhësia fotos;Bitmap vektorizimi;[Zvogëlim;;];Kombinimet e Tastieres;;[;]];[Mbushja;Efektet;Ndriçimi;[Kontrast;];Kanali;Zbulimi;Menjanimi;Gama Korrigjim;Nuanca;Ngopja;Ndriçimi;Ngjyrimi;Domeni;Gjallëria;[Madhësia;;;];Këndi;Rrumbullak;Fortësia;Hapësira;[Mënyra Përzierjes;];Madhësia Mostrës;Numëruesi;Stili;[E Kundërta;;];Toleranca;Vazhdues;Mbush;Shfrytëzo kënd të përgjithshëm;Largësia;Përhap;Zhurmimi;Maskimi i hijes;Teknika;Drejtimi;Thellësia;Zbute;Mënyra;Rrjedha Ngjyrës;Shkalla;E nivelo me fletën;Pozita;Gjerësia;Lartësia;Destinacioni;Lloji;Paravija;Prapavija;Përzgjedhur;Emri;Krijo;Formati;Ruaje raportin e anëve;[Kualiteti;];Dyfisho;Lëvize;Filtruesit e Mençur;Radius;Sasia;Shpërndarja;[Njësimi;Gausian];Monokromatik;Madhësia Qelisë;Mostra;Rrjedha;Forca;Mbrojtje e Detajuar;Lloji Mbushjes;Teksturë;Luhatje;Qoshja;Burimi;Objektivi;Kanalet;Maska;Dendësia;Rradhitur;[Rruga;Forma;Piksel;Inçi;Centimetri;Milimetri;Përqind];Format;Anët;Parapëlqimet;[Gjatësia;Raporti;Cdo;;;;];Zvogëlo Zhurmën;Ngjyrat;Largësitë;Sasia;Selekto Automatikisht;Gjej;Krijo te re;[Foto;Ekrani;Celular;Reklama;];[Liro;Raport Fiks;Permase Fikse];Ndihme;[Figura Live;Edito Figuren Live;Rrezet e Njejta];;[;;;Katror];[;]];[Ngjyra;[Asnjë;E Kuqe;Portokalli;E Verdhë;E Gjelbër;E Kaltër;Vjollcë;Gri;E Bardhë;E Tejdukshme;E Zeze;;;];;;];[Shto Hije;Hije e Brendshme;Shkëlqimi Jashtëm;Shkëlqimi Brendshëm;Hapësirë dhe qoshe të rrafshëta;Mbulimi Ngjyrës;Mbulesa e Gradientit;Mbulesa Mostrës;Saten;Ramja;Mundësitë e Përzierjes;];[Forma Këndit;Dinamika Qosheve;Copëzimi;Dinamika Ngjyrës;[Luhatja Rastit;Diametri Minimal;Luhatja Këndit;Luhatja Rrethit;Rrumbullakësia Minimale];[Luhatja Pozitës;Numrimi;Numri Luhatjeve];[Luhatja në Paravijë/Prapavijë;Luhatja Tonit të Ngjyrës;Luhatja Ngopjes;Luhatja e ndriçimit];[Përzgjidh burimin e klonimit duke shtypur Alt (ose K) dhe duke klikuar nbi foto.;Vendos Foregroundin me te Bardhe, Backgroundin me te Zeze, dhe Zonen tjeter me Gri.;Shtresa eshte e pa Editueshme;Shtresa me Tekst duhet Restarizuar ne fillim;Objekti Smart duhet te Restarizohet ne fillim;Selekto Disa Shtresa;;;;];[;;];[;];[;;;;;;;;;;;;;;;;;;;;;;;;;;;]];[Udhëheqja;Ndjekja;Ndryshimi Bazës;[;]];[Përmbajtja Gjithësej;Fleta Momentale;Përzgjedhja;Kete & Me Poshte];[Zëvendëso;Bashko;Dallimi;Prerja;Përjashto;Bashko];[[Linear;Rrezor;Qoshe;Reflektuar;Diamant;Shpërthimi Formës];[Më e butë;Preciz];[Koni Jashtëm;Koni Brendshëm;Reliefi;Jastëk Stampim;Stampim Goditje;];[Zbut;Gdhendje e Fortë;Gdhendje e Butë;];[Sipër;Poshtë];[Jashtë;Në Mes;Brenda;];[Hijet;Mesi;Pikat kryesore];[Zbrazje;Mbushje];[E Vogel;E Mesme;E Madhe];[;;]];[Përzgjidh objektin nën kursorin;Ngjyrat e transformimit;Piksel për Piksel;Mbush Hapësirën;[Ofro Këndet Majtas;Centro Horizontalisht;Ofro Këndet Djathtas;Ofro Këndet Sipër;Centro Vertikalisht;Ofro Këndet Poshtë;Hapsira te Barabarta]];[E vendos në;Projekti Momental;Projekti Ri;Zgjidhja;E shto në projektin momental.;U krijua projekt i ri.;Qasja tek kamera u refuzua.];[Orientimi;Lako;Shfytyrim Horizontal;Shfytyrim Vertikal;[Horizontal;Vertikal;;];[Asnjë;Hark;Hark Tatëpjetë;Hark Përpjetë;Hark;Ç'gungim;Guaca Poshtë;Guaca Sipër;Flamur;Valë;Peshk;Rrit;Sy Peshku;Fryj;Shtrydh;Përdridh;Përzgjedhur];[Shkronjat;nuk është në dispozicion;Do të kryhet përmes;;];[Ndërro Ngjyrat;Përzgjedhur: Bardh e Zi]];[hapur;shtuar;Lëviz Ndihmuesin;Grise Ndihmuesin;Shto Ndihmues;Duke u hapur;];[Galeria Filtruese;[[Likuifiko;[Perziej;Rikonsktrukto;Lemoje;Rrotulloje ne Spirale;Zvogeloje;Zmadhoje;Shtyje Majtas;Ngri;Shkri]];[Korrigjo Lenten]];Turbull;[Mesatare;Turbullo;Turbullo më shumë;Turbullo kuti;Mjegullim Gausian;Mjegullim Objektivi;Mjegullim Lëvizës;Mjegullim Rrezor;Turbullo në formë;Mjegullim i Mençur;Mjegullimi Sipërfaqes];Shtrembërim;[Displanco;Zmadho;Koordinata Polare;Valezo;Prit;Sferizo;Vale];Zhurmimi;[Shto Zhurmë;Largimi Pengimit;Pluhur & Gërvishtje;Mesatarja];Pikselim;[Ngjyra Gjysmëton;Kristalizim;Aspekt;Fragmento;Mezotint;Mozaik;Pikëzim];Suvatim;[Retë;Diferenco Rete;];Theksimi;[Thekso;Thekso Qoshet;Thekso më shumë;Theksimi i Mençur;Maska e patheksuar];Stilizo;[Shpërndaj;Stampim;Shtrydh;Gjej Qoshet;];Tjera;[Përshtatur;Lartësia;Maksimumi;Minimumi;Efekti Zhvendosjes;Perserit];[Hapësira e padefinuar;Bëje të Tejdukshme;Përsërit Pikselët e Këndit;Pështjell;Filtri i Fundit;Shiko]];[Te Gatshme;[Fikter Fonti;Fjalet Kyc;Zgjidh Rastesisht];[Me simbole;Me foto];[Thumbnails;Listë]]", + "[கோப்பு;தொகு;படம்;அடுக்கு;கோப்பகம்;தெரிவு செய்;வடிகட்டு;காட்சி;சாளரம்;மொழி;உள் நுழை;வெளியேறு;மொழிமாற்று;[கணக்கு;சேவை விதிமுறைகள்;பின்னே;இதைப்பற்றி;பிழையை புகாரளி;கற்றுக்கொள்ள];மேலும்;தோற்றம்;WebGL ஐ உபயோகி;[Hindi;PSD, XCF, Sketch, XD மற்றும் CDR வகை கோப்புகளை ஆதரிக்கும் இலவச நிகழ்நிலை தொகுப்பி;புதிய படத்தை உருவாக்கு அல்லது கணினியில் ஏற்கனவே உள்ளதை திற. உங்கள் கோப்பை PSD (கோப்பு - PSD ஆக சேமி) அல்லது JPG / PNG / PSD (கோப்பு - கணினியில் ஏற்றுமதியிடு);புதிய வசதிகளை எங்கள்<முகநூல் > இல் பரிந்துரையுங்கள். எங்கள் நோக்கம் <மிகவும் மேம்பட்ட விலையில்லா புகைப்பட தொகுப்பி> ஐ உருவாக்குவதே;ஆதரவாளர் இணைப்புகள் புதிய சாளரத்தில் திறக்கப்படும்.;இந்த வசதி இல்லை.;போட்டோபீயை நிறுவு]];[திற;நிகழ்நிலையில் பதிப்பி;சேமி;PSD ஆக சேமி;அச்சு;URL இல் இருந்து திற;கணினியிலிருந்து திற;Google Drive உடன் இணை;இவ்வாறு சேமி;அடுக்குகளை ஏற்று;அச்சுப்படிவும்;திற & இடப்படுத்து;மூடு;அகச் சேமிப்பகம்;கோப்பு தகவல்];[முன்னர் இருந்த நிலைக்கு செல்;பின்னிருந்த நிலைக்கு செல்;தெளிநீக்கு;நிரப்பு;உருமாற்று;உருட்டு;கவிழ் VAR0;அளவி VAR0;அவிழ் / மீள்செய்;உளப்பார்வை;[தானியங்கு ஒருக்கலத்தல்;தானியங்கு ஒழுங்குமை];மங்க செய்;படத்தை ஓட்டிடு];சீரமைப்புகள்;[ஒளிர்வு/உறழ்பொருவு;மட்டங்கள்;வளைவுகள்;ஒளிபலுக்கல்;வண்ண அதிர்வு;சாயல்/செறிவு;நிறம் நிறைகோல்;கருப்பு வெள்ளை;பட வடிகட்டி;ஒளிவழித்தட கலப்பி;வண்ண அட்டவணை;கவிழ்;பொதிப்பொட்டியாக்கு;தொடக்க வரம்பு;சாய்வுப்படம்;தேர்விட்ட நிறம்;[தானியங்கு தொனி;தானியங்கு உறழ்பொருவு;தானியங்கு நிறம்];நிறத்தை இடமாற்று];[வெட்டு;நகலெடு;ஒட்டு;புதிது;நீக்கு;இயலு;முடக்கு;ஒன்றுபட்டதை நகலெடு;ஓட்டிடு;மீண்டும்;புதுப்பி];[படிவை மறுநகலெடு;புதிய சரிசெய்தல் அடுக்கு;பரவு ஒளிமறை;திசையன் ஒளிமறை;கூட்டுசேர் (அனைத்தையும் வெளிக்காண்பி);[கூட்டுசேர் (அனைத்தையும் மறைத்து);தேர்வை காண்பி;தேர்வை மறை;ஒளியூடுவிலிருந்து];[குத்தி ஒளிமறை;விரைவு ஒளிமறை பயன்முறை];சூட்டிகை பொருளாக மாற்று;பரவாக்கு;குழு அடுக்குகள்;கீழோடு இணை;மேலோடு ஒன்றினை;[அடுக்குகளை ஒன்றினை;படத்தை சமநிலையாக்கு];புதிய அடுக்கு;பரவு ஒளிமறையயை இயல்வி;பரவு ஒளிமறையயை முடக்கு;திசையன் ஒளிமறையை இயல்வி;திசையன் ஒளிமறையை முடக்கு;குத்திய ஒளிமறையை இயல்வி;குத்திய ஒளிமறையை முடக்கு;புதிய கோப்பகம்;பரவு ஒளிமறை சேர்;பரவு ஒளிமறை நீக்கு;திசையன் ஒளிமறை சேர்;திசையன் ஒளிமறை நீக்கு;பரவு ஒளிமறையை இணை;பரவு ஒளிமறையை இணையவிழ்;திசையன் ஒளிமறை இணை;திசையன் ஒளிமறை இணையவிழ்;அடுக்கு விளைவுகளை இயல்வி;அடுக்கு விளைவுகளை முடக்கு;அடுக்கை நீக்கு;அடுக்கு ஒளிபுகாமை மாற்று;ஒருக்கலத்தலை மாற்று;அடுக்கு பாங்கை பரவாக்கு;அடுக்கு வரிசை;[சூட்டிகை பொருள் உருவாக்கம்;சூட்டிகை பொருள் புதுப்பித்தம்;சூட்டிகை பொருள் வைத்தம்;மூலம் (சூட்டிகை பொருள்);குவிப்பு முறை];பெயர் மாற்றம்;நிற மாற்றம்;சீரமைவு அடுக்கை தொகு;வடிவமாக உருமாற்று;வடிகட்டு ஒளிமறையை இயல்வி;வடிகட்டு ஒளிமறையை முடக்கு;சூட்டிகை வடிகட்டல்களை இயல்வி;சூட்டிகை வடிகட்டல்களை முடக்கு;வடிகட்டல் ஒளிமறையை கூட்டுசேர்;வடிகட்டல் ஒளிமறையை நீக்கு;சூட்டிகை ஒளிமறைகளை தெளிநீக்கு;[[நிறம் நிரப்பு;சாய்வுப்படம் நிரப்பு;கோலம் நிரப்பு;உள்ளடக்க விழிப்பு];புதிய நிரப்பு அடுக்கு;நிரப்பு அடுக்கு மாற்றியமை];நகலின் வழியே அடுக்கு;வடிகட்டல் ஒளிமறை;அடுக்கு பாங்கு நீக்கு;சூட்டிகை வடிகட்டல் நகர்த்து;சூட்டிகை வடிகட்டல் நீக்கு;[அடுக்குகளை இணை;அடுக்குகளை அவிழ்];வரிசை முறை;[முன் கொணறு;முன்னே கொணறு;பின்னே அனுப்பு;பின்னுக்கு அனுப்பு];[gngni;மாற்றத்தை பூட்டு;பூட்டு];இயங்குபடம்];[அனைத்தையும்;தேர்வுநீக்கு;கவிழ்;முறை மாற்று;vkfuyfyrr65er7t673465e67rte5;சுருக்கு;மென்மையாக்கு;தேர்வை நகர்த்து;நிற எல்லைகள்;ஓரம்;தேர்வை உருமாற்று;விளிம்பு மாசகற்றி;தேர்வை குணப்படுத்து;மாய வெட்டு];[பெரிதாக்கு;சிறிதாக்கு;வழிகாட்டு கோடுகள்;வரைகோல்;கோட்டு சட்டம்;ஈர்த்தொட்டு;ஈர்த்தொட்டு இதனோடு;ஆவண எல்லைகள்;படத்துணுக்கு சட்டம்;பாதை;படத்துணுக்களோடு ஈரத்தொட்டு;[துண்டுகள்;துண்டு விருப்பங்கள்];காண்பி];[வரலாறு;அடுக்குகள்;பண்புகள்;தூரிகை;எழுத்து;பத்தி;தகவல்;அடுக்கு கலவைகள்;நிற துணி;செயல்கள்;வரலாற்று வரிபட்டை;மீகான்;கருவி முன்னமைவுகள்;செதுக்குகள்];[தூரிகை கருவி;நகலி கருவி;சிறிதாக்கி கருவி;அழிப்பான் கருவி;நீள்வட்ட தேர்வு;நிறத்தேர்வு கருவி;சாய்வு கருவி;கை கருவி;தட்டச்சு கருவி;சுருக்கு தேர்வு;ஈர்ப்பு சுருக்கு தேர்வு;நகர்ப்பான் கருவி;மாயக்கழி;நிற வாளி கருவி;பலகோண சுருக்கு தேர்வு;செவ்வக தேர்வு;விடுவித்த உருமாற்று;பெரிதாக்கி கருவி;மங்கு கருவி;கூராக்கு கருவி;கறையாக்கு கருவி;ஒளிர்வாக்கு கருவி;இருளாக்கு கருவி;நிறவற்றி கருவி;புள்ளி குணமாக்கி தூரிகை கருவி;குணமாக்கி தூரிகை கருவி;நகலொட்டி கருவி;வழி தேர்வு;நேரடி தேர்வு;எழுதுகோல்;விடுவித்த எழுதுகோல்;தனி வடிவம்;செவ்வகம்;நீள்வட்டம்;அளவுரு வடிவம்;கோடு;வரைகோல்;விரைவு தேர்வு;கரிக்கோல் கருவி;உளக்காட்சி சுருக்கி;துண்டாக்கி கருவி;துண்டு தேர்வு கருவி;நிறம் பதிலிடங்கொள்ளுகை;செந்நிற கண் கருவி;பொருள் தேர்வு;பின்னணி அழிப்பான்;பாவை உருமாற்றி;காட்சியை சுழற்று;உள்ளடக்க விழிப்பு அளவி;உள்ளடக்க விழிப்பு நகர்த்தி கருவி];[ஒரு படம் எடு;வண்ண தெரிவி;விளிம்பு தொகுப்பி;இரட்டு அளவு;இதனுள் நகலெடு...;நிறச்சாய்வு தொகுப்பி;அடுக்கு பாங்கு;புதிய திட்டம்;வலைக்காக சேமி;உருமாற்றி;பட அளவு;இணுப்படத்தை திசையனாக்கு;[நேர்த்தியாக்கு;சுருக்கு;அனைத்தையும் காட்டு];விசைப்பலகை குறுக்குவழிகள்;வழிகாட்டிகளைச் கூட்டுசேர்;[வழிகாட்டிகளை வழுநீக்கு;அடுக்கிலிருந்து வழிகாட்டிகள்]];[ஒளிபுகாமை;விளைவுகள்;ஒளிர்மை;[உறழ்பொருவு;பழையமரபு ஐ பயன்படுத்து];அலைத்தடம்;ஒளியிடரின்மை;ஈடு;காமா திருத்தம்;சாயல்;நிற செறிவு;ஒளிமை;வண்ணமயமாக்கு;எல்லை;நிறவதிர்வு;[அளவு;இடைக்கணிப்பு;அருகிலுள்ள அண்டை;ஈரோர்படு];கோணம்;வட்டத்தன்மை;தின்மை;இடைவெளி;[ஒருக்கலப்பு முறை;கலப்பு தொனி எல்லை];மாதிரி அளவு;விளிம்பு;பாங்கு;[மறிநிலை;உறவெண்;நங்கூரமிடு];பொறுத்தல்;தொடர்ச்சியானது;நிரப்பு;உலகளாவிய கோணத்தை பயன்படுத்த்து;தொலைவு;விரி;இரைச்சல்;விழுநிழலை வெளியே தள்ளு;நுட்பம்;திசை;ஆழம்;மென்மையாக்கு;பயன்முறை;நிற சாய்வு;அளவி;அடுக்குடன் சீராக்கு;விளைவின் இடம்;அகலம்;உயரம்;இலக்கு;வகை;முன்புறம்;பின்புலம்;தனிவழக்கம்;பெயர்;படை;படவடிவம்;காட்சி விகிதத்தை காத்திடு;[தரம்;பக்கங்கள்];மறுநகல்;நகர்த்து;சூட்டிகை வடிகட்டல்கள்;ஆரம்;தொகை;வழங்கல்;[சீர்;ஃகாசியன்];ஓர்வண்ணம்;அணுக்கல அளவு;கோலம்;ஓட்டம்;வலிமை;படவிவரங்களை காத்திடு;நிரப்பு வகை;இழைநயம்;நடுக்க துகள்;விளிம்புமுனை;மூலம்;குறியிலக்கு;அலைத்தடங்கள்;ஒளிமறை;நெருக்கம்;சீரமைந்தது;[வழி;வடிவம்;படத்துணுக்குகள்;அங்குலங்கள்;சதமமீற்றர்;மில்லிமீட்டர்;சதவீதம்];வடிவங்கள்;பக்கங்கள்;விருப்பத்தேர்வுகள்;[நீளம்;விகிதம்;ஏதாகிலும்;கட்ட வகை;சமநீள;கட்ட இடைவெளி;வரக்கோல் அலகுகள்];இரைச்சலை குறை;நிறங்கள்;தொலைவுகள்;வீதம்;தானே தேர்வி;கண்டுபிடி;புதியதை வரையறு;[நிழற்படம்;கணினித்திரை;திறன்பேசி;விளம்பரங்கள்;அச்சு];[விடுவித்த;நிலைத்த விகிதம்;நிலைத்த அளவு];உதவி;[நேரடி வடிவம்;நேரடி வடிவத்தைத் திருத்து;ஒரே ஆரம்];தெளிவின்மை;[பலகோணம்;விண்மீன்;திருகுச்சுருள்;சதுரம்];[வளைவு ஆரம்;உள் ஆரம்]];[நிறம்;[ஏதுமில்லை;சிவப்பு;செம்மஞ்சள்;மஞ்சள்;பச்சை;நீலம்;ஊதா;சாம்பல்;வெள்ளை;ஒளிபுகுமை;கருப்பு;நீலப்பச்சை;சென்னீலம்;சார்பற்ற];மொத்தம்;அறுதி;ஒளிர்மையை காத்திடு];[விழுநிழல்;உள்நிழல்;வெளி ஒளிர்வு;உள் ஒளிர்வு;முனைமழுக்கு மற்றும் புடைப்பு;நிற மேலடுக்கு;நிறச்சாய்வு மேலடுக்கு;கோல மேலடுக்கு;பளபளப்பு;கீரல்;ஒருக்கலப்பு விருப்பங்கள்;படத்துணுக்குகளை தேர்வெடு];[கூர்முனை வடிவம்;கூர்முனை இயங்குவியல்;சிதறல்;நிற இயங்குவியல்;[நடுங்கு அளவு;குறைந்தபட்ச குறுக்களவு;கோண நடுக்கம்;வட்டமை நடுக்கம்;குறைந்தபட்ச வட்டமை];[நிலையிட நடுக்கம்;எண்ணிக்கை;எண்ணு நடுக்கம்];[முன்புற/ பின்புற நடுக்கம்;சாயல் நடுக்கம்;செறிவு நடுக்கம்;ஒளிர்வு நடுக்கம்];[Alt (அல்லது K) ஐ பிடித்து படத்தைக் சொடுக்கி நகலி மூலத்தைத் தேர்வேடு.;முன்புறத்தை வெள்ளையாலும், பின்புறத்தை கருப்பாலும், மற்றும் அறியப்படாத பகுதியை சாம்பலாலும் குறி.;அடுக்கு திருத்த இயலாது.;உரை அடுக்கு முதலில் பரவாக்கப்பட வேண்டும்;சூட்டிகை பொருள் முதலில் பரவாக்கப்பட வேண்டும்;பல அடுக்குகளைத் தேர்வெடு;அடுக்கை நேராக்கு;முதலில் ஒரு ஆவணத்தைத் திற.;நடப்பு சாளரத்தை முதலில் மூடு.;நடப்பு கருவி மட்டும்];[பதிவு செய்;புதிய செயல் தொகுப்பு;புதிய செயல்];[மின்னெழுத்தாணி அழுத்தம் ஒளிபுகாநிலையை கட்டுப்படுத்துகிறது;மின்னெழுத்தாணி அழுத்தம் அளவைக் கட்டுப்படுத்துகிறது];[இயல்பானது;கரைப்பு;இருளாக்கு;பெருக்கு;நிற எரிப்பு;நேரியல் எரிப்பு;இருண்ட நிறம்;ஒளிரச்செய்;புகுத்திக்காட்டு;நிற ஒளிர்வு;நேரியல் ஒளிர்வு;இலகுவான நிறம்;மேலே கவி;மென்மையான ஒளி;கடின ஒளி;தெளிவான ஒளி;நேரியல் ஒளி;குத்திய ஒளி;கடின கலவை;வேறுபாடு;விலக்கம்;கழித்தம்;வகுத்தம்;சாயல்;செறிவு;நிறம்;ஒளிர்வு;ஒளி ஊடு]];[முன்னணி;பின்தொடர்;அடிக்கோடு மாற்றம்;[புள்ளி உரைக்கு மாற்ற்று;பத்தி உரைக்கு மாற்று]];[எல்லா அடுக்குகளும்;நடப்பு அடுக்கு;தேர்வு;நடப்பு & கீழே];[பதிலிடங்கொள்;ஒருசேர்;கழி;ஊடறு;தவிர்;ஒன்றிணை];[[நேரியல்;ஆரியல்;கோணம்;எதிரொளித்தது;வைரம்;வடிவ வெடிப்பு];[மென்மையான;துல்லியமான];[வெளி நுனி;உள் நுனி;புடைப்பு;தலையணை புடைப்பு;கீறல் புடைப்பு;கீறல் அகலம்];[மென்மையாக்கு;கடின உளி;மெல்லிய உளி;மென்மை];[மேல்;கீழ்];[வெளிப்புறம்;நடுவே;உட்புறம்;நடுவிலிருந்து];[நிழல்கள்;நடு தொனிகள்;ஒளிர்வுகள்];[செறிவு குறை;செறிவு கூட்டு];[சிறிது;நடுத்தரம்;பெரிது];[தலையெழுத்து;மூலைகள்;தொடர் கோடுகள்]];[சுட்டியின் கீழுள்ள பொருளைத் தேர்வி;உருமாற்றி கட்டுகள்;படத்தொனிகளுக்குள்;பகுதிக்குள் பொருத்து;[இடது விளிம்புகளை சீரமை;கிடைமட்டமாக நடுநிறுத்து;வலது விளிம்புகளை சீரமை;மேல் விளிம்புகளை சீரமை;செங்குத்தாக நடுநிறுத்து;கீழ் விளிம்புகளை சீரமை;சம இடைவெளிகள்]];[இதனுள் இடு;நடப்பு திட்டம்;புதிய திட்டம்;நுணுக்கம்;நடப்பு திட்டத்தில் சேர்க்கப்பட்டது;ஒரு புதிய திட்டம் உருவாக்கப்பட்டது;படமி அணுகல் மறுக்கப்பட்டது];[நோக்குநிலை;வளை;கிடைமட்ட திரிபு;செங்குத்து திரிபு;[கிடைமட்டம்;செங்குத்து;கிடைமட்டமாக;செங்குத்தாக];[எதுவுமில்லை;வில்;தாழ்ந்த வில்;உயர்ந்த வில்;வில்வளைவு;வீக்கம்;தாழ்ந்த சிப்பி;உயர்ந்த சிப்பி;கொடி;அலை;மீன்;ஏழு;மீன் கண்;காற்றேற்று;பிழி;திருகு;தனிவழக்கம்];[எழுத்துரு;கிடைக்கவில்லை;பயன்படுத்தி ஒப்படைக்கப்படும்;சேமிக்கப்படாத பணி இதிலுள்ளது;உண்மையில் அதை மூட விருப்பமா?];[நிறங்களை மாற்று;இயல்புநிலை: வெள்ளை மற்றும் கருப்பு]];[ஏற்றப்பட்டது;சேர்க்கப்பட்டது;வழிக்கோடை நகர்த்து;வழிக்கோடு நீக்கு;வழிக்கோடு சேர்;ஏற்றுகிறது;VAR0 ஏற்று];[வடிகட்டி தொகுப்பு;[[வழிமமாக்கு;[அழுக்காக்கு;புனரமை;மென்மையாக்கு;சுழற்று;சுருக்கு;ஊது;இடற்புறம் தள்ளு;உறை;கட்டவிழ்]];[வில்லை திருத்தம்]];மங்கல்;[நிரலளவு;மங்கலாக்கு;மேலும் மங்கலாக்கு;பெட்டி மங்கல்;காசியன் மங்கல்;வில்லை மங்கல்;அசைவு மங்கல்;ஆரச்சீர் மங்கல்;வடிவ மங்கல்;சூட்டிகை மங்கல்;மேற்பரப்பு மங்கல்];திரி;[பெயரு;கிள்ளு;முனைவு ஒருங்கிணைப்புகள்;சிற்றலை;தரி;கோளமாக்கு;அலை];இரைச்சல்;[இரைச்சல் சேர்;பொட்டுபெருக்கு;தூசி & கீறல்கள்;இடைக்கோடு];படத்துணுக்காக்கு;[நிற தொனிப்பாதி;படிகமாக்கு;முகப்பரப்பு;துண்டு;உலர்ப்புள்ளி முறை;பல்லடுக்கு;புள்ளிப்படமாக்கு];ஒப்படை;[மேகங்கள்;வேற்றுமை மேகங்கள்;வில்லை பட்டொளி];கூர்தீட்டு;[கூர்தீட்டு;முனைகளை கூர்தீட்டு;மேலும் கூர்தீட்டு;சூட்டிகை கூர்தீட்டு;கூரில்லா ஒளிமறை];மிடுக்காகு;[விரவு;புடை;விலக்கு;விளிம்புகளை தேடு;எண்ணெய் வரையல்];மற்றவை;[தனிவழக்கு;உயர் நுழை;பெருமம்;சிறுமம்;ஈடு;ஒப்பி];[வரையறா பகுதி;ஒளிபுகுமையாக்கு;விளிம்பு படத்துணுக்குகளை ஒப்பி;சுற்றி மடக்கு;கடைசி வடிகட்டி;முற்காட்சி]];[வார்ப்புருக்கள்;[எழுத்துரு வடிகட்டி;சிறப்புச் சொற்கள்;சீர்கெடு];[சின்னங்களுடன்;படங்களுடன்];[சிறுபடங்கள்;பட்டியல்]]", + "[བཀྲིས་བདེ་ལེགས།;བཟོ་སྒྲིག;དཔར།;ངོས།;ཡིག་ཁུག;འདེམས།;ཚགས།;ལྟ་སྣང་།;སྒེའུ་ཁུང་།;སྐད་ཡིག;ནང་དུ་འཛུལ།;སྒོ་གཏན།;ཡིག་སྒྱུར་བྱེད།;[དེབ་སྐྱེལ།;ཞབས་ཞུའི་འགན་རྒྱ།;ཕྱིར་ལོག;ངོ་སྤྲོད།;སྙན་ཞུ།;སྦྱོང་།];དེ་ལས་མང་བ།;དཔེ་དཔང་།;WebGL སྤྱད།;[Photopea-དཔར་བཟོའི་མཉེན་ཆས།;PSD, XCF, Sketch, XD, CDR སོགས་དཔར་རིགས་ལ་རྒྱབ་སྐྱོར་ཐོབ་པའི་རིན་མེད་དཔར་བཟོའི་མཉེན་ཆས།;ཡིག་ཆ་གསར་པ་བཟོ་བའམ་ཡང་ན་གློག་ཀླད་ནང་ཡོད་པའི་དཔར་ཞིག་ཁ་འབྱེད། བཟོ་སྒྲིག་ཚར་བ་དང་ PSD (ཡིག་ཆ། - PSD རྣམ་པར་ཉར།) དང་ JPG / PNG / SVG (ཡིག་ཆ། - ཕབས་སྟངས་གཞན།) སོགས་རྣམ་པ་ཅི་རིགས་ཐོག་ཕབ་ལེན་ཉར་ཚགས་བྱེད་ཆོག;ཁྱད་ཆོས་གསར་པའི་རིགས་བསམ་འཆར་ཡོད་ན་ དང་ ཐོག་སྤེལ་རོགས། < ང་ཚོའི་དམིགས་ཡུལ་ནི་རིན་མེད་ཀྱི་དཔར་བཟོའི་མཉེན་ཆས་སྤུས་དག་ཞིག་མཁོ་འདོན་བྱེད་རྒྱུ་ཡིན།>.;སྦྱིན་བདག་ཚོའི་སྒེའུ་ཁུང་།;མཐུན་རྐྱེན་དེ་མིན་འདུག;]];[ཁ་འབྱེད།;དྲ་གནས་སུ་སྤེལ།;ཉར་ཚགས།;PSD རྣམ་པར་ཉར།;དཔར་སློག;དྲ་ཐག་ནས་ཁ་འབྱེད།;གློག་ཀླད་ནས་ཁ་འབྱེད།;Google Drive དང་མཐུད།;ཕབས་སྟངས་གཞན།;ངོས་ཕྱིར་ཕབས།;བརྡ་ཡིག;འདིར་ཁ་ཕྱེ།;ཁ་རྒྱབས།;ས་གནས་སུ་ཉར་གསོག;];[མདུན་གཤིག;རྒྱབ་གཤིག;སུབ།;འགེང།;གཟུགས་འགྱུར།;བསྐོར།;སྐོར་ཚད། 0;ཆེ་ཆུང་། ཚད། 0;ཕྱོར་ལོག / སྔོན་ལོག;སྣང་ཚོད།;[རང་འགུལ་དུ་བསྲེ།;རང་འགུལ་རུ་སྒྲིག];ཡལ།;];སྙོམ་སྒྲིག;[བཀྲག་མདངས། / ལྡོག་ཆོས།;ཆ་སྙོམ།;གུག་ཐིག;འཚེར་ཤུགས།;ཚོན་ཤུགས།;ཚོན། / ཧར་ལོད།;ཚོན་དོ་སྙོམ།;དཀར་པོ་དང་ནག་པོ།;དཔར་ཚགས།;ཁ་དོག་སྲེ་སྦྱོར།;ཁ་དོག་དཔྱད་བསྡུར།;ཕྱི་ནང་སློག་པ།;པར་གཞི་བཟོ་བ།;ཡས་ཆོད།;སྟེགས་རིས་ས་ཁྲ།;གདམ་ག་ཅན་གྱི་ཁ་དོག;[ཚོན་མདངས་རང་སྒྲིག;ལྡོག་ཆོས་རང་སྒྲིག;ཁ་དོག་རང་སྒྲིག];ཚོས་བརྗེ།];[གཏུབ།;བཤུ།;སྦྱར།;གསར་པ།;དོར།;ནུས་ཡོད་བཟོ།;ནུས་མེད་བཟོ།;ཟླ་སྒྲིལ་བྱས་པ་དེ་བཤུས།;སྤྱད།;ཡང་བསྐྱར་བྱེད།;རིམ་སྤར།];[ངོས་འདྲ་བཤུས།;སྒྲིག་ངོས་གསར་པ།;ལྷུ་འབག;སྲ་འབག;གནོན། (ཆ་ཚང་);[སྣོན། (ཆ་ཚང་བསྐུང་);འདེམ་གཞི་མངོན་པ་བཟོ།;འདེམ་གཞི་མི་མངོན་པ་བཟོ།;དྭངས་མ་ནས།];[འབག་བཅད་ཤོག;འབག་གི་རྣམ་པ།];བསྡུ་རིས་ལ་བཟོ།;ལྷུ་བཤིག;ངོས་སྡེ་ཚན་དུ་བཟོ།;འོག་ཏུ་ཟླ་སྒྲིལ།;ཡར་ཟླ་སྒྲིལ།;[ངོས་རྣམས་ཟླ་སྒྲིལ་གཏོང་།;ངོས་གཅིག་ལ་བསྒྲིལ།];ངོས་གསར་པ།;ལྷུ་འབག་ནུས་ཡོད་བཟོ།;ལྷུ་འབག་ནུས་མེད་བཟོ།;སྲ་འབག་ནུས་ཡོད་བཟོ།;སྲ་འབག་ནུས་མེད་བཟོ།;འབག་བཅད་ཤོག་ནུས་ཡོད་བཟོ།;འབག་བཅད་ཤོག་ནུས་མེད་བཟོ།;ཡིག་ཁུག་གསར་པ།;ལྷུ་འབག་སྣོན།;ལྷུ་འབག་དོར།;སྲ་འབག་སྣོན།;སྲ་འབག་དོར།;ལྷུ་འབག་མཐུད།;ལྷུ་འབག་བཅད།;སྲ་འབག་མཐུད།;སྲ་འབག་བཅད།;ངོས་ཀྱི་ཁྱད་ཆོས་ནུས་ཡོད་བཟོ།;ངོས་ཀྱི་ཁྱད་ཆོས་ནུས་མེད་བཟོ།;ངོས་དོར།;ངོས་གསལ་ཆ་སྒྲིག;སྡེབ་སྦྱོར་སྒྲིག;ངོས་ཀྱི་བཀོད་སྒྲིག་ལྷུ་བཤིག;ངོས་ཀྱི་གོ་རིམ།;[བསྡུ་རིས་བཟོ།;བསྡུ་རིས་ཁ་གསབ།;བསྡུ་རིས་འཇོག;ཁུངས། (བསྡུ་རིས།);བརྩེགས་རིམ།];མིང་བརྗེ།;ཚོན་མདོག་བརྗེ།;སྒྲིག་ངོས་སྒྲིག་སྦྱོར།;དབྱིབས་ལ་འགྱུར།;འབག་ཚགས་ནུས་ལྡན་བཟོ།;འབག་ཚགས་ནུས་མེད་བཟོ།;བསྡུ་ཚགས་ནུས་ཡོད་བཟོ།;བསྡུ་ཚགས་ནུས་མེད་བཟོ།;འབག་ཚགས་སྣོན།;འབག་ཚགས་དོར།;བསྡུ་ཚགས་སུབ།;[[ཚོན་རྡོག་གཏོང་།;ཚོན་སྟེགས་གཏོང་།;བཀོད་དཔེ་གཏོང་།;མངོན་ཤེས།];འགེང་ངོས་གསར་པ།;འགེང་ངོས་འགྱུར་བཅོས།];ཤུལ་ནས་ངོས་སུ།;འབག་ཚགས།;ངོས་ཀྱི་བཀོད་སྒྲིག་དོར།;བསྡུ་ཚགས་སྤོ།;བསྡུ་ཚགས་དོར།;[ངོས་དང་མཐུད།;ངོས་དང་མཐུད་བཅད།];གོ་རིམ་སྒྲིག;[མདུན་མདུན་དུ་འཇོག;མདུན་ལ་གཏོང་།;རྒྱབ་ལ་གཏོང་།;རྒྱབ་་རྒྱབ་ལ་འཇོག];[ངོས་བཀག;འགྱུར་བཅོས་བཀག;];];[ཆ་ཚང་།;སློད།;ཕྱི་ནང་སློག་པ།;བཟོ་བཅོས་གཏོང་།;རྒྱ་སྐྱེད།;འདུས་པ།;བྱ་སྒྲོ།;འདེམས་འགུལ།;ཚོན་མདོག་རིགས།;མཚམས་ཐིག;འདེམ་བྱ་གཟུགས་འགྱུར།;མཐའ་སྣེ་སྤུས་དག་ཏུ་གཏོང་།;འདེམ་བྱ་གསོ་ཐབས།;];[ཆེ་རུ་མངོན།;ཆུང་དུ་མངོན།;སྣོན་ཐིག;ཐིག་ཤིང་།;སྒྲོམ་ཐིག;གནན་པ།;དེར་གནན་པ།;ཤོག་མཚམས།;པིག་ཟེལ་སྒྲོམ་ཐིག;ལམ།;པེག་ཟེལ་སྒང་ལ་བསྡད།;[གཏུབ།;གཏུབ་ཆེད་གདམ་ག];སྟོན།];[བྱུང་རིམ།;ངོས།;ཁྱད་ཆོས།;པིར།;ཡིག་འབྲུ།;དུམ་མཚམས།;གནས་ཚུལ།;ངོས་ཀྱི་གྲུབ་ཆ།;ཚོན་སྟར།;ལས་འགུལ།;སྐྱེད་རིས།;ཟུར་ལྟ།;ཡོ་ཆས་སྔོན་སྒྲིག;];[པིར།;འདྲ་བཟོའི་ལག་ཆ།;གཏུབ་ཆས།;སུབ་ཆས།;སྒོར་སྒོར་འདེམས།;ཚོན་བཤེར།;སྟེགས་ཚོན་ལག་ཆ།;ལག་པ།;ཡིག་བཏགས།;ཐག་པ།;ངར་ལྕགས།;འདེམས་བྱེད།;དབྱུག་པ།;ལྕགས་ཀྲིན།;ཐག་པ་ཟུར་ཅན།;གྲུ་བཞི་ཅན།;རང་མོས་གཟུགས་འགྱུར།;མཐོང་ཆ།;རབ་རིབ་བཟོ་ཆས།;དྭངས་གསལ་གཏོང་ཆས།;ནག་ནོག་བཟོ་ཆས།;སླ་ཆས།;སྲེག་ཆས།;འགྱིག་སོབ།;ནག་ཐིག་གསོ་བའི་པིར།;གསོ་བྱེད་པིར།;ལྷན་པ་བརྒྱབ་ཆས།;ཐིག་འདེམས།;ཐད་ཀར་འདེམས།;སྨྱུ་གུ།;རང་མོས་སྨྱུ་གུ།;རང་མོས་དབྱིབས།;གྲུ་བཞི་ནར་མོ།;སྒོར་དབྱིབས།;དབྱིབས་རྒྱས་པ།;ཐིག;ཐིག་ཤིང་།;མྱུར་འདེམས།;མྱུ་གུའི་ལག་ཆ།;ཟུར་བྲེག;གཏུབ་ཆས།;གཏུབ་ཆ་འདེམས་ཆས།;ཚོན་བརྗེ་འགྱུར།;མིག་དམར་པོའོ་ལག་ཆ།;སྡུས་རིས་གདམ།;རྒྱབ་ལྗོངས་སུབ་བྱེད།;ཉེད་ཉེད།;སྐོར་ལྟ།;དངོས་རྟོགས་ཆེ་ཆུང་།;];[པར་ལེན་པ།;ཚོན་འདེམ་བྱེད།;འབུར་ཀོང་སྒྲིག་ཆས།;རས་གཞི།;འདྲ་བཤུས་སུ་་་;སྟེབས་རིས་སྒྲིག;ངོས་ཀྱི་བཀོད་སྒྲིག;ཡིག་ཆ་གསར་པ།;དྲ་རྒྱའི་ཆེད་དུ་ཉར་ཚགས།;གཅུ་སྒྲིམ།;དཔར་ཆེ་ཆུང་།;ཝེག་ཊར་ལ་འགྱུར།;[གཏུབས།;བྲེག;ཆ་ཚང་མངོན།];མྱུར་མཐེབ།;ཐིག་མཚམས་སྣོན།;[ཐིག་མཚམས་གསུབ།;ངོས་བརྟེན་ཐིག་མཚམས།]];[སྒྲིབ་ཚད།;ཤུགས་རྐྱེན།;བཀྲག་མདངས།;[ལྡོག་ཆོས།;འགྲོ་ལུགས་རྙིང་པ་སྤྱད།];ཁ་དོག;འཚེར་ཤུགས།;ཟུར་འཇོག;ག་མ་བཅོས་སྒྲིག;ཚོན།;ཧར་ལོད།;མདངས།;ཚོན་བརྒྱབ།;ཁྱབ་ཚད།;ཚོན་མདངས།;[ཆེ་ཆུང།;ཁ་གསབ།;གྲོང་པ་ཉེ་ཤོས།;གཉིས་ཐིག];གྲུ་ཟུར།;ཟླུམ་ལོད།;མཁྲེགས་ལོད།;སྟོང་ཆ།;[བསྲེ་སྦྱོར་རྣམ་པ།;བསྲེ་སྦྱོར། གལ་ཏེ།];ཆེ་ཆུང་ཚད་གཞི་འགའ།;འབུར་ཀོང་།;བཀོད་སྒྲིག;[ཕྱིན་ཅི་ལོག;ལྟོས་ས་ལྟོས་འཇོག;འཛིན་ས།];བཟོད་སྲན།;ཉེ་འདབས།;འགེང་།;ཟུར་ཁུག་གཅིག་འགྱུར་སྤྱོད།;རྒྱང་ཚད།;བརྐྱངས།;ལྷད།;ལྷད་འཇོམས་པ།;ཐབས་ཇུས།;ཁ་ཕྱོགས།;གཏིང་།;སོབ་སོབ།;རྣམ་པ།;སྟེགས་ཚོན།;ཆེ་རུ་གཏོང་།;ངོས་དང་འཁོད་སྙོམ།;གནས།;ཞེང་ཁ།;མཐོ་ཚད།;ཕྱོགས་ཡུལ།;བཏགས།;ཁ་ངོས།;རྒྱབ་ངོས།;རང་མོས་ལྟར་སྒྲིག;མིང་།;བཟོ།;རྣམ་གཞག;བསྡུར་ཚད་བརྟན་སྡོད་ཐོག;[སྤུད་ཚད།;ཤོག་ངོས།];འདྲ་བཤུས།;འགུལ།;བསྡུ་ཚགས།;ཚངས་ཐིག;གྲངས་འབོར།;འགྲེམས་སྤེལ།;[གཅིག་གྱུར།;ག་ཤན།];ཚོས་གཅིག་མ།;སེལ་ཆེ་ཆུང་།;བཀོད་རིས།;འགྲོས།;ནུས་ཤུགས།;ཞིབ་ཕྲ་སྲུང་སྐྱོབ།;ཡིག་ཆའི་རྣམ་པ།;ཐགས་རན།;སག་སག;མཐའ།;ཁུངས།;ཁ་གཏད།;རྒྱུ་ལམ།;འབག;གར་ལོད།;རུ་སྒྲིག;[ཐིག;དབྱིབས།;པིག་ཟེལ།;ཨིན་ཅི།;སེན་ཊི་མི་ཊར།;མི་ལི་མི་ཊར།;བརྒྱ་ཆ།];དབྱིབས།;ཟུར།;འདམ་ང་།;[རིང་ཚད།;བསྡུར་ཚད།;གང་རུང་།;སྒྲོམ་ཀྱི་རིགས།;རྫས་མཚུངས།;སྒྲོམ་གྱི་བར་ཐག;ཐིག་ཤིང་ཚད་གཞི།];ལྷད་སེལ།;ཚོན་མདོག;བར་ཐག;ཚད།;རང་འགུལ་ངང་འདེམ།;འཚོལ།;ཚད་གཞི་གསར་བཀོད།;[འདྲ་པར།;འཆར་ངོས།;ཁ་པར།;ཁྱབ་བསྒྲགས།;པར་སློག་རྒྱག];[རིན་མེད།;བསྡུར་ཚད་གཅིག;བསྡུར་ཚད་གཅིག་འཇོག];རོགས་རམ།;[དབྱིབས་དངོས་མཐོང་།;དབྱིབས་དངོས་མཐོང་བཟོ་བཅོས།;ཕྱེད་ཚངས་ཐིག་གཅིག་པ།];ཟིབ་ཟིབ།;[ཟུར་མང་ཅན།;སྐར་མ།;གཅུས་སྒྲིམ་ཅན།;གྲུ་བཞི།];[ཟུར་གདོང་ཚངས་ཐིག;ཚངས་ཐིག་ནང་མ།]];[ཚོན་མདོག;[གང་ཡང་མེད།;དམར་པོ།;ལི་ཝང་།;སེར་པོ།;ལྗང་ཁུ།;སྔོན་པོ།;མུ་མེན།;ཐལ་དོག;དཀར་པོ།;ཕྱི་གསལ་ནང་གསལ།;ནག་པོ།;སྔོ་ལྗང་།;དམར་སྨུག;བར་གནས།];ཆ་ཚང་།;ཚད་རྩོད་མེད།;འོད་ཤུགས་ཉར་སྲུང་།];[གྲིབ་གཟུགས།;གྲིབ་གཟུགས་ནང་མ།;འོད་གཟུགས་ཕྱི་མ།;འོད་གཟུགས་ནང་མ།;འཕྲེད་གསེག་དང་འབུར་རྐོས།;སྒང་ལ་ཚོན་འདེབས།;སྒང་ལ་སྟེགས་ཚོན་འདེབས།;སྒང་ལ་བཀོད་རིས་འདེབས།;འཇམ་འོད།;ཐིག་རིས།;སྡེབ་སྦྱོར་བཀོད་སྒྲིག;པིག་ཟེལ་འདེམ།];[དབྱིབས་རྩེ།;ཤུགས་ལྡན་སྣེ།;ཁ་འཐོར།;ཚོན་ཤུགས་ཅན།;[ཆེ་ཆུང་ཚད་སག་སག;དཀྱིལ་ཐིགཉུང་ཤོས།;གྲུ་ཟུར་སག་སག;ཟླུམ་ཟུར་སག་སག;ཟླུམ་ཟུར་ཉུང་ཤོས།];[གནས་སག་སག;གྲངས་བརྩིས།;གྲངས་སག་སག];[ཁ་ངོས་དང་རྒྱབ་ངོས་སག་སག;ཚོན་སག་སག;ཧར་ལོད་སག་སག;བཀྲག་མདངས་སག་སག];[Alt གནོན་ཞོར་འདྲ་ཤུལ་གྱི་ཁུངས་འདེམས།;ཁ་ངོས་དཀར་པོ་དང་། རྒྱབ་ངོས་ནག་པོ། དེ་ནས་ཧ་མ་གོ་རྣམས་ཐལ་མདོག་གྱིས་རྟགས་བརྒྱབ།;ངོས་འདི་བཟོ་བཅོས་མི་ཐུབ།;ཡིག་ངོས་འདི་སྔོན་ལ་ཁ་གཏོར་དགོས།;སྔོན་ལ་བསྡུ་རིས་ལྷུ་བཤིག;ངོས་མང་པོ་འདེམས།;ངོས་ཁར་ཐུག་བཟོ།;ཡིག་ཆ་ཞིག་སྔོན་ལ་ཁ་ཕྱེ།;ད་ལྟའི་སྒེའུ་ཁུང་དེ་ཁ་རྒྱོབས།;ད་ལྟའི་ལག་ཆ་ཁོ་ན།];[བྱ་རིམ་ཐོ་ལེན།;བྱ་རིམ་སྡེ་གསར་པ།;བྱ་རིམ་གསར་པ།];[གློག་སྨྱུག་གནོན་ཤུགས་ཀྱིས་གསལ་ཆ་ཚོད་འཛིན།;གློག་སྨྱུག་གནོན་ཤུགས་ཀྱིས་ཁ་ཆེ་ཆུང་ཚོད་འཛིན།];[སྤྱིར་བཏང་།;ཐིམ་པ།;ནག་ཏུ་གཏོང་།;འཕེལ་སྐྱེད་གཏོང་།;མཚོན་སྲེག;ཐད་སྲེག;མཚོན་ནག་ཏུ་གཏོང་།;དཀར་རུ་གཏོང་།;གསང་ཡོལ།;མཚོན་གཡོལ།;ཐད་གཡོལ།;དཀར་ཆ་ཆེ་བའི་མཚོན།;ཡོངས་སུ་འགྲེམ་པ།;འོད་འཇམ་པ།;འོད་ཤུགས་ཆེ་བ།;འོད་གསལ།;འོག་ཕྱོགས་གཅིག;འོད་སྣེ་མོ་གཅིག;སྲེ་ཆེ་བ།;བར་ཁྱད་ཅན།;ཟུར་འདོན་ཅན།;འབྲེད་པ་ཅན།;ཆ་བགོས་ཅན།;ཚོན།;ཟབ་ཚོན།;ཚོན་ཁྲ།;འོད་ཀྱི་ཁྱབ་ཤུགས།;གསེབ་ལམ།]];[ཕྱོགས་སྟོན།;རྗེས་འདེད།;མ་ཐིག་སྤར།;[ནག་ཐིག་ཅན་གྱི་ཡི་གེར་སྒྱུར།;ཡི་གེའི་དུམ་མཚམས་ལ་སྒྱུར།]];[ངོས་ཆ་ཚང་།;ད་ལྟའི་ངོས།;འདེམས་བྱ།;ད་ལྟ་དང་འདིའི་འོག་མ།];[བརྗེ་ལེན།;ཟླ་སྒྲིལ།;འཐེན་པ།;འབྲེལ་ཐུག;ཟུར་འདོན།;ཟླ་སྒྲིལ།];[[ནར་མོ།;འཁོར་མོ།;གྲུ་ཟུར།;ལྡོག་འཕྲོས།;ས་ཕག;གཟུགས་འཐོར།];[སོབ་སོབ།;ཏག་ཏག];[ཕྱི་གསེག;ནང་གསེག;འབུར་བཟོ།;འབོལ་འབུར།;ཞུ་འབུར།;ཐིག་གི་སྦོམ་ཚད།];[འཇམ་ཤ;གཟོང་རྩུབ་པ།;གཟོང་འཇམ་པ།;འཇམ་ལོས།];[ཡར།;མར།];[ཕྱི་ལ།;དཀྱིལ་ལ།;ནང་ལ།;དཀྱིལ་ནས།];[གྲིབ་གཟུགས།;གྲིབ་མདངས་དབུས།;དཀར་ཆ།];[ཚོན་སླ་པོ།;ཧར་པོ།];[ཆུང་།;འབྲིང་།;ཆེ།];[རྩེ།;ཟུར།;དུམ་ཐིག]];[བརྡ་མོའི་འོག་དེ་འདེམས།;གཟུགས་འགྱུར་སྟངས་འཛིན།;པིག་ཟེལ་ནས་པིག་ཟེལ།;ངོས་འདིར་བཀངས།;[གཡོན་ཟུར་སྟར་སྒྲིག;འཕྲེད་ཀྱི་དཀྱིལ།;གཡས་ཟུར་སྟར་སྒྲིག;སྟེང་ཟུར་སྟར་སྒྲིག;གྱེན་གྱི་དཀྱིལ།;འོག་ཟུར་སྟར་སྒྲིག;བར་སྟོང་གཅིག་པ།]];[སྟེང་དུ་འཇོག;ད་ལྟའི་ལས་འཆར།;ལས་འཆར་གསར་པ།;སྤུས་ཚད།;ད་ལྟའི་ལས་འཆར་ཐོག་སྣོན།;ལས་འཆར་གསར་པ་ཕྱེ་ཟིན།;པར་ཆས་སྤྱོད་རྒྱུར་བཀག་འགོག་བྱུང་སོང་།];[ཁ་ཕྱོགས།;གུག་གུག;འཕྲེད་ལ་སྣར།;གྱེན་ལ་སྣར།;[འཕྲེད་ལ།;གྱེན་ལ།;འཕྲེད་ལ།;གྱེན་ལ།];[གང་ཡང་མིན།;གཞུ་དབྱིབས།;གཞུ་དབྱིབས་འོག་མ།;གཞུ་དབྱིབས་སྒང་མ།;གུག་ཆ།;འབུར་འབུར།;ཉ་སྐོགས་འོག་མ།;ཉ་སྐོགས་སྒང་མ།;དར་ཆ།;རླབས།;ཉ།;ཐོན་པ།;ཉ་མིག;རྒྱངས་པ།;བཙིར་བ།;གཅུ་སྒྲིམ།;རང་མོས་ལྟར།];[ཡིག་གཟུགས།;དེ་ད་ལྟ་མིན་འདུག;སྤྱད་དེ་སྒྲིག་ངེས།;ལས་འཕྲོས་ཤིག་འདིར་འདུག;འདི་ཁ་རྒྱབ་མཁན་ཡིན་ནམ།];[ཚོན་བརྗེ་རེས།;དང་ཐོག དཀར་ནག]];[འདྲེན་ཟིན།;སྣོན་ཟིན།;སྣོན་ཐིག་འགུལ།;སྣོན་ཐིག་སུབ།;སྣོན་ཐིག་གསར་པ།;འདྲེན་བཞིན་པ།;ཕབས། ཚད། 0];[ཚགས་སྡེ།;[[གཤེར་ཁུ།;[ནག་ནོག;བསྐྱར་གསོ།;འཇམ་ཤ;སྦྲུལ་འཁྱིལ།;འཁུམ་པ།;རྒྱང་པ།;གཡོན་ལ་སྐུལ།;ཧྲེང་།;མ་ཧྲེང་།]];[དྭངས་ཤེལ་སྒྲིག]];རབ་རིབ།;[ཆ་སྙོམ།;རབ་རིབ།;རབ་རིབ་མང་ཙམ།;ས་ཕག་རབ་རིབ།;ག་ཤན་རབ་རིབ།;དྭངས་ཤེལ་རབ་རིབ།;གཡོ་འགུལ་རབ་རིབ།;འཁོར་མོ་རབ་རིབ།;གཟུགས་རབ་རིབ།;བསྡུ་རབ་རིབ།;ཕྱི་ངོས་རབ་རིག];སྣར།;[གནས་སྤོ།;ཕྲན་ཙམ།;གཞུང་ཐིག་འབྲེལ་གནས།;རླབས་ཕྲན།;གཏུབ་པ།;ཟླུམ་གཟུགས།;རླབས།];ལྷད།;[ལྷད་སྣོན།;ཟེགས་རྡུལ་འཇོམས།;ཐལ་བ་དང་བྲད་ཤུལ།;གུང་ཐིག];པིག་ཟེལ་བཟོ་བ།;[ཚོན་མདངས་ཕྱེད།;དྭངས་ཤེལ་ཅན།;ཟུར་ངོས།;དུམ་བུ།;མེ་ཛོ་ཊིན།;རྡོ་ཧྲུག;ཚོན་འབྲུ།];སྒྲིག་སྦྱང་།;[སྤྲིན།;བར་ཁྱད་ཅན་གྱི་སྤྲིན་པ།;དྭངས་ཤེལ་འོད་འཚེར།];གསལ་ཆ།;[དྭངས་གསལ།;མཐའ་ཟུར་དྭངས་གསལ།;དྭང་གསལ་མང་ཙམ།;བསྡུ་དྭང་གསལ།;འབག་དྭངས་གསལ་མེད་པ།];བཀོད་སྒྲིག་བྱས།;[གྲམ་པ།;འབུར་འབུར།;བཙིར་འདོན།;མཐའ་ཟུར་བཙལ།;སྣུམ་ཚོན་རི་མོ།];གཞན།;[རང་མོས་ལྟར།;ལ་མཐོ་བ།;མཐོ་ཤོས།;ཉུང་ཤོས།;ཟུར་འཇོག;བསྐྱར་ལྡབ།];[ཚད་ཐིག་མེད་པའི་ས་ཆ།;ཕྱི་གསལ་ནང་གསལ་འདེམས།;མཐའ་ཟུར་པིག་ཟེར་བསྐྱར་ལྡབ།;ཕྱོགས་མཚམས་ནས་བསྐོར།;ཚགས་མཐའ་མ།;སྔོན་ལྟ།]];[དཔེ་དཔང་།;[ཡིག་གཟུགས་ཚགས།;གནད་ཚིག;གང་བྱུང་བྱུང་ཞིག];[དཔེ་མཚོན་མཉམ་དུ།;དཔར་དང་མཉམ་དུ།];[དཔེ་རིས།;ཐོ།]]", + "[Fitxer;Editar;Imatge;Capa;Carpeta;Selecciona;Filtre;Veure;Finestra;Llengua;Inici de sessió;Surt;Crear traducció;[Compte;Condicions d'ús;Endarrere;Sobre;Informa d'un error;Aprendre];Més;Tema;Utilitza WebGL;[Photopea: editor d'imatges avançat;Editor en línia gratuït que admet formats PSD, XCF, Sketch, XD i CDR.;Creeu una imatge nova o obriu els fitxers existents des de l’ordinador. Deseu el vostre treball com a PSD (Fitxer - Desar com a PSD) o com a JPG / PNG / SVG (Fitxer - Exportar com).;Suggeriu noves funcions al nostre o . El nostre objectiu és crear .;Els enllaços dels patrocinadors s'obren en una finestra nova.;;Instal·la Photopea]];[Obrir;Publicar en línia;Desar;Desar com a PSD;Imprimir;Obrir des d'enllaç;Obrir des de l'ordinador;Connecta amb Google Drive;Exportar com a;Exportar les capes;Script;Obrir i situar;Tancar;Emmagatzematge local;];[Pas endavant;Pas enrere;Neteja;Omple;Transformar;Gira;Gireu VAR0;Escala VAR0;Desfer / Refer;Perspectiva;[Fusionar automàticament;];Esvaeix;];Ajustaments;[Brillantor/Contrast;Nivells;Corbes;Exposició;Vivor;To/Saturació;Balanç de color;Blanc i negre;Filtre fotogràfic;Mesclador de canals;Cerca de colors;Invertir;Redueix el nombre de colors;Llindar;Mapa de degradat;Color selectiu;[To automàtic;Contrast automàtic;Color automàtic];Reemplaça color];[Tallar;Copiar;Enganxar;Nou;Eliminar;Habilitar;Inhabilitar;Còpiar fusionada;Aplica;De nou;Actualització];[Duplica la capa;Nova capa d'ajustament;Màscara ràster;Màscara vectorial;Afegir (mostra-ho tot);[Afegir (amaga-ho tot);Revelar la selecció;Amaga la selecció;A partir de transparència];[Màscara de retall;Mode de màscara ràpida];Convertir en objecte intel·ligent;Aplana;Agrupa les capes;Fusiona cap avall;Fusiona cap amunt;[Fusiona les capes;Aplana la imatge];Nova capa;Habilita màscara ràster;Inhabilita màscara ràster;Habilita màscara vectorial;Inhabilita màscara vectorial;Habilita màscara de retall;Inhabilita máscara de retall;Nova Carpeta;Afegir màscara ràster;Eliminar màscara ràster;Afegir màscara vectorial;Eliminar màscara vectorial;Enllaça màscara ràster;Desenllaça màscara ràster;Enllaça màscara vectorial;Desenllaça màscara vectorial;Habilita els efectes de capa;Inhabilita els efectes de capa;Eliminar capa;Canvia l'opacitat de la capa;Canvia de fusió;Aplana l'estil de la capa;Ordre de les capes;[Creant objecte intel·ligent;Actualitzant objecte intel·ligent;Situant objecte intel·ligent;Font (objecte intel·ligent);];Canvia el nom;Canvia color;Edita la capa d'ajustament;Convertir en forma;Habilita màscara de filtre;Inhabilita màscara de filtre;Habilita els filtres intel·ligents;Inhabilita filtres intel·ligents;Afegir màscara de filtre;Eliminar màscara de filtre;Neteja filtres intel·ligents;[[Emplena amb color sòlid;Emplena amb degradat;Emplena amb un patró;Segons el contingut];Nova capa d'emplenament;Modifica la capa d'emplenament];Capa a través d'una còpia;Màscara de filtre;Eliminar l'estil de la capa;Mou filtre intel·ligent;Eliminar filtre intel·ligent;[Enllaça capes;Desenllaça capes];Organitza;[Porta al davant;Porta endavant;Mou cap al fons;Envia cap endarrere];[La capa està blocada;Bloqueja canvis;];];[Tot;Deseleccionar;Inverteix;Modifica;Expandeix;Redueix;Pluma;Mou la selecció;Rang de color;Vora;Transformar la selecció;Refina la vora;Sanar la selecció;];[Ampliar;Reduir;Guies;Regles;Quadrícula;Ajusta;Ajusta a;Límits del document;Quadrícula de píxels;Camí;Ajusta a píxels;[Sectors;Opcions delliçans];Mostrar];[Historial;Capes;Propietats;Pinzell;Caràcters;Paràgraf;Informació;Composició de capa;Mostres;Accions;Histograma;Navegador;Predefinits de l'eina;];[Eina pinzell;Eina de clonació;Eina escapça;Eina borrador;Selecció el·líptica;Comptagotes;Degradat;Eina mà;Eina de text;Selecció lliure;Selecció llaç magnètic;Eina mou;Vareta màgica;Eina cubell de pintura;Selecció amb llaç poligonal;Selecció rectangular;Transformació lliure;Lupa;Eina desenfoca;Perfila;Eina difumina;Eina esvaeix;Eina crema;Esponja;Eina pinzell corrector puntual;Eina pinzell corrector;Eina pedaç;Selecció de camí;Selecció directa;Llapis;Llapis lliure;Forma personalitzada;Rectangle;El·lipse;Forma paramètrica;Línia;Regle;Selecció ràpida;Eina pinzell;Escapça amb perspectiva;Eina de Sectors;Eina de Selecció de Sectors;Substitució de color;Eina Ull Vermell;Selecció d'objecte;Esborra fons;;;;];[Prendre una foto;Tria un color;Editor de contorn;Mida del llenç;Duplica a ...;Editor de degradat;Estil de la capa;Projecte nou;Desar per web;Deforma;Mida de la imatge;Vectoritza el mapa de bits;[Retalla;Buida;];Dreceres del teclat;Afegir guies;[Neteja guies;Guies de la capa]];[Opacitat;Efectes;Brillantor;[Contrast;Utilitzeu l’algorisme anterior];Canal;Exposició;Desplaçament;Correcció gamma;To;Saturació;Brillantor;Acoloreix;Tram;Vivesa;[Mida;Interpolació;Veí més proper;Bilinear];Angle;Arrodoniment;Duresa;Espaiat;[Mode de fusió;Fusionar si és];Mida de la mostra;Contorn;Estil;[Inverteix;Relatiu;Àncora];Tolerància;Contigu;Emplena;Utilitza angle global;Distància;Escampa;Soroll;Amaga l'ombra paral·lela;Tècnica;Direcció;Profunditat;Suavitza;Mode;Degradat;Escala;Alinea amb la capa;Posició;Amplada;Alçada;Destinació;Tipus;Primer pla;Fons;Personalitzat;Nom;Crea;Format;Mantén la relació d'aspecte;[Qualitat;Pàgines];Duplica;Mou;Filtres intel·ligents;Radi;Quantitat;Distribució;[Uniforme;Gausià];Monocromàtic;Mida de la cel·la;Patró;Flux;Intensitat;Protegir detall;Tipus d'emplenament;Textura;Fluctuació;Vora;Font;Objectiu;Canals;Màscara;Densitat;Alineat;[Camí;Forma;Píxels;Polzades;Centímetres;Mil·límetres;Percentatge];Formes;Costats;Preferències;[Longitud;Ràtio;Qualsevol;Tipus de quadrícula;Isomètrica;Espaiat de quadrícula;Unitat de regla];Reducció del soroll;Colors;Distàncies;Taxa;Autoselecciona;Cerca;Definir nou;[Foto;Pantalla;Mòbil;Anuncis;Impressió];[Lliure;Fixa relació;Mida fixa];Ajuda;[Formes en directe;Edita formes en directe;Igualar radis];Tolerància;[Polígon;Estrella;Espiral;Quadrat];[Radi de cantonada;Radi interior]];[Color;[Cap;Vermell;Taronja;Groc;Verd;Blau;Lila;Gris;Blanc;Transparent;Negre;Cian;Magenta;Neutre];Total;Absolut;Conservar lluminositat];[Ombra paral·lela;Ombra interior;Resplendor exterior;Resplendor intern;Bissell i relleu;Superposició de color;Superposició de degradat;Superposició de patró;Setinat;Traç;Opcions de fusió;Selecciona píxels];[Forma suggerida;Dinàmica de punta;Dispersió;Dinàmica de color;[Variació de mida;Diàmetre mínim;Variació d'angle;Variació d'arrodoniment;Arrodoniment mínim];[Variació de position;Conta;Variació del conta];[Variació de primer pla/fons;Variació de to;Variació de saturació;Variació de brillantor];[Selecciona la font de clonat mantenint Alt (o K) i fes clic sobre la imatge;Marca el primer pla amb blanc, el fons amb negre, i l'àrea desconeguda amb gris.;La capa no es pot editar.;La capa de text s'ha d'aplanar primer;L'objecte intel·ligent s'ha d'aplanar primer (rasterize);Selecciona diverses capes;Redreçar la capa;Obriu un document primer.;Tanqueu la finestra actual primer.;Només eina actual];[Gravar;Nou conjunt d'accions;Nova acció];[La pressió de stylus controla l'opacitat;La pressió de stylus controla la mida];[Normal;Dissol;Enfosqueix;Multiplica;Crema de color;Crema lineal;Color més fosc;Aclareix;Pantalla;Aclareix de color;Aclareix lineal;Color més clar;Superposa;Llum suau;Llum forta;Llum intensa;Llum lineal;Llum focal;Mescla màxima;Diferència;Exclusió;Sostreu;Divideix;To;Saturació;Color;Lluminositat;Transferència]];[Iniciar;Seguiment;Canvi de la línea base;[Convertir en text de punt;Convertir en text de paràgraf]];[Totes les capes;Capa actual;Selecció;Actual i de sota];[Reemplaça;Uneix;Resta;Intersecciona;Exclou;Fusiona];[[Lineal;Radial;Angle;Reflexa;Diamant;Explosió de forma];[Suavitzar;Precisió];[Bisell extern;Bisell intern;Relleu;Relleu tipus coixí;Traç de relleu;Amplada de traç];[Suau;Tall fort;Tall suau;Suavització];[Amunt;Avall];[Fora;Centre;Dins;Des del centre];[Ombres;Tons mitjans;Ressaltats];[Dessatura;Satura];[Petit;Mitjà;Gran];[Tapes;Cantonades;Guions]];[Tria l'objecte a sota del cursor;Controls de transformació;Píxel a píxel;Adapta a l'àrea;[Alinea les vores a l'esquerra;Centra horitzontalment;Alinea les vores a la dreta;Alinea les vores a dalt;Centra verticalment;Alinea les vores a sota;Iguala els buits]];[Situar a;Projecte actual;Projecte nou;Resolució;Afegit a el projecte actual.;S'ha creat un nou projecte.;S'ha denegat l'accés a la càmara.];[Orientació;Torça;Distorció horitzontal;Distorció vertical;[Horitzontal;Vertical;horitzontalment;verticalment];[Cap;Arc;Arc inferior;Arc superior;Arc;Infla;Closca Inferior;Capa Superior;Senyal;Ona;Peix;Augmentar;Ull de peix;Infla;Comprimeix;Gira;Personalitzat];[Font;no està disponible;Es renderitzarà utilitzant;Hi ha treball no guardat en;Realment vols tancar-lo?];[Intercanvia colors;Per defecte: Blanc i negre]];[carregat;afegit;Mou guia;Eliminar guia;Afegeix guia;Carregant;Carregar VAR0];[Galeria de filtres;[[Liqua;[Escampa;Reconstrueix;Suavitza;Regira;Encongeix;Bufa;Empeny a l'esquerra;Congela;Descongela]];[Correcció de les lents]];Desenfoca;[Promig;Difumina;Difumina més;Control de difuminat;Difuminat gaussià;Difuminat de lent;Difumina mode moviment;Difuminat radial;Difuminat de forma;Difuminat intel·ligent;Difuminat de superfície];Distorciona;[Desplaça;Pessiga;Coordenades polars;Onades del mar;Inclina;Esfèric;Onada];Soroll;[Afegeix soroll;Elimina els pics;Pols i ratllades;Mitjana];Pixela;[Mig to de color;Cristal·litza;Faceta;Fragment;Manera negra;Mosaic;Puntillisme];Renderitza;[Núvols;Diferencia de núvols;Llum enlluernador];Realça la vora;[Realça la vora;Ressalta les vores;Ressalta més;Realçat intel·ligent;Emmascara les parts borroses];Estilitza;[Difusió;Esculpeix;Extrusió;Detecta els contorns;];Altres;[Personalitza;Filtre passaalt;Màxim;Mínim;Desplaçament;Repetir];[Àrea indefinida;Fes transparent;Repeteix els píxels de la vora;Ajusta al voltant;Últim filtre;Previsualització]];[Plantilles;[Filtre de tipus de lletra;Paraules clau;Aleatori];[Amb símbols;Amb fotografia];[Miniatura;Llista]]", + "[Fil;Rediger;Bilde;Lag;Mappe;Velg;Filter;Visning;Vindu;Språk;Logg inn;Logg ut;Opprett oversettelse;[Konto;Brukervilkår;Tilbake;Om appen;Rapporter en feil;Læring];Mer;Tema;Bruk WebGL;[Photopea: avansert bilderedigerer;Gratis online editor som støtter PSD, XCF, Sketch, XD og CDR formater.;Opprett et nytt bilde eller åpne eksisterende filer fra datamaskinen. Lagre arbeidet ditt som PSD (Fil - Lagre som PSD) eller som JPG / PNG / SVG (Fil - Eksporter som).;Foreslå nye funksjoner på vår eller . Målet vårt er å lage .;Sponsorlenker åpnes i nytt vindu.;Denne funksjonen er ikke tilgjengelig.;Installer Photopea]];[Åpne;Publiser online;Lagre;Lagre som PSD;Skriv ut;Åpne fra URL;Åpne fra datamaskin;Koble til Google Drive;Eksporter som;Eksporter lag;Skript;Åpne og plassér;Lukk;Lokallagring;];[Gå frem;Gå tilbake;Tøm;Fyll;Transformer;Roter;Vend VAR0;Skalér VAR0;Angre/gjenta;Perspektiv;[Automatisk blanding;Juster automatisk];Uttoning;Bruk bilde];Justeringer;[Lysstyrke/kontrast;Nivåer;Kurver;Eksponering;Dynamikk;Kulør/metning;Fargebalanse;Svart-hvitt;Fotofilter;Kanaler;Fargeoppslag;Invertér;Fargereduksjon;Terskel;Graderingskart;Selektiv farge;[Automatisk tone;Automatisk kontrast;Automatisk farge];Erstatt farge];[Klipp ut;Kopier;Lim inn;Ny;Slett;Aktiver;Deaktiver;Kopier sammenflettet;Bruk;På nytt;Oppdater];[Duplisér lag;Nytt justeringslag;Rastermaskering;Vektormaskering;Legg til (vis alle);[Legg til (skjul alle);Vis markering;Skjul markering;Fra gjennomsiktighet];[Utklippsmaskering;Hurtigmaskemodus];Gjør om til Smartobjekt;Rastrer;Gruppér lag;Slå sammen nedover;Slå sammen oppover;[Slå sammen lag;Slå sammen alle lag];Nytt lag;Aktiver rastermaskering;Deaktiver rastermaskering;Aktiver vektormaskering;Deaktiver vektormaskering;Aktiver utklippsmaskering;Deaktiver utklippsmaskering;Ny mappe;Legg til rastermaskering;Slett rastermaskering;Legg til vektormaskering;Slett vektormaskering;Koble sammen rastermaskering;Koble fra rastermaskering;Koble til vektormaskering;Koble fra vektormaskering;Aktiver lageffekter;Deaktiver lageffekter;Slett lag;Laggjennomsiktighetsendring;Blandingsmodus endring;Rastrer lagstil;Lagrekkefølge;[Oppretter Smartobjekt;Oppdaterer Smartobjekt;Plasserer Smartobjekt;Kilde (Smartobjekt);Stakkmodus];Navneeendring;Fargeendring;Rediger justeringslag;Konverter til form;Aktiver filtermaskering;Deaktiver filtermaskering;Aktiver Smart-filtre;Deaktiver Smart-filtre;Legg til filtermaskering;Slett filtermaskering;Slett Smart-filtre;[[Ensfarget fyll;Graderingsfyll;Mønsterfyll;Innholdstilpasset];Nytt fyllag;Modifiser fyllag];Nytt lag via kopier;Filtermaskering;Slett lagstil;Flytt Smart-filter;Slett Smart-filter;[Koble til lag;Koble fra lag];Ordne;[Plasser lengst frem;Flytt fremover;Flytt bakover;Plasser lengst bak];[Laget er låst.;Låsendring;Lås];];[Alt;Fravelg;Inverter;Endre;Utvid;Trekk sammen;Uttoning;Flytt markering;Fargespekter;Ramme;Transformer markering;Finjuster kant;Forbedre markering;];[Zoom inn;Zoom ut;Hjelpelinjer;Linjaler;Rutenett;Fest;Fest til;Dokumentgrenser;Rutenett for bildepunkter;Baner;Fest til piksler;[Stykker;Alternativer for stykke];Vis];[Historie;Lag;Egenskaper;Pensel;Tegn;Avsnitt;Info;Lagsammensetninger;Fargekart;Prosedyrer;Histogram;Navigatør;Forhåndsinnstillinger for verktøy;Tegnvarianter];[Pensel;Kloneverktøy;Beskjæring;Viskelær;Ellipsemarkering;Pipette;Graderingsverktøyet;Hånd;Tekstverktøy;Lassomarkering;Magnetisk lassomarkering;Flytt;Tryllestavverktøy;Malingsspann;Mangekantet lassomarkering;Rektangelmarkering;Fri transformer;Zoom;Gjør uskarpt;Gjør skarpere;Finger;Lysne;Mørkne;Svamp;Flekkreparering;Repareringspensel;Lappeverktøy;Banemerkingsverktøyet;Hurtigvalgverktøy;Penn;Fri penn;Egendefinert form;Rektangel;Ellipse;Parametrisk form;Linje;Linjal;Hurtigmarkering;Blyant;Perspektivbeskjæring;Stykkeverktøyet;Stykkemarkeringsverktøyet;Fargeerstatningsverktøyet;Røde øyne-verktøyet;Objektvalg;Bakgrunnsviskelæret;Marionettfordreining;Visningsrotering;Innholdstilpasset skala;Innholdstilpasset flytteverktøy];[Ta et bilde;Fargevelger;Konturredigering;Arbeidsområde;Kopier inn i...;Graderingsredigering;Lagstil;Nytt prosjekt;Lagre for web;Fordrei;Bildestørrelse;Vektoriser punktgrafikk;[Skjær til;Beskjære;Vis alt];Tastatursnarveier;Legg til hjelpelinjer;[Fjern hjelpelinjer;Hjelpelinjer fra lag]];[Gjennomsiktighet;Effekter;Lysstyrke;[Kontrast;Bruk utdatert];Kanal;Eksponering;Forskyvning;Gammakorreksjon;Kulør;Metning;Lyshet;Fargelegg;Område;Tilpasset metning;[Størrelse;Interpolering;Nærmeste nabo;Bilineær];Vinkel;Rundhet;Hardhet;Mellomrom;[Blandingsmodus;Bruk overgang hvis];Størrelse på eksempel;Kontur;Stil;[Reverser;Relativ;Anker];Toleranse;Sammenhengende;Fyll;Bruk global vinkel;Avstand;Spre;Støy;Fjern bakgrunnsskygge;Teknikk;Retning;Dybde;Mykgjør;Modus;Gradering;Skala;Juster etter lag;Posisjon;Bredde;Høyde;Mål;Type;Forgrunn;Bakgrunn;Tilpasset;Navn;Opprett;Format;Behold størrelsesforhold;[Kvalitet;Sider];Dupliser;Flytt;Smarte filtre;Radius;Mengde;Distribusjon;[Ensartet;Gaussisk];Ensfarget;Cellestørrelse;Mønster;Flyt;Styrke;Beskytt detaljer;Fylltype;Tekstur;Variasjon;Kant;Kilde;Mål;Kanaler;Maskering;Tetthet;Justert;[Bane;Form;Piksler;Tommer;Centimeter;Millimeter;Prosent];Former;Sider;Innstillinger;[Lengde;Forhold;Vilkårlig;Rutenetttype;Isometrisk;Linjeavstand i rutenett;Linjalenheter];Reduser støy;Farger;Avstander;Hastighet;Velg automatisk;Finn;Definer ny;[Foto;Skjerm;Mobiltelefon;Annonser;Utskrift];[Fri;Fast forhold;Fast størrelse];Hjelp;[Live form;Rediger live form;Lik hjørneavrunding];Toleranse;[Mangekant;Stjerne;Spiral;Kvadratisk];[Hjørneradius;Indre radius]];[Farge;[Ingen;Rød;Oransje;Gul;Grønn;Blå;Lilla;Grå;Hvit;Gjennomsiktig;Svart;Cyan;Magenta;Nøytral];Total;Absolutt;Bevar lysstyrke];[Skygger;Indre skygge;Ytre glød;Indre glød;Skråkant og preg;Fargeoverlapping;Graderingsoverlapping;Mønsteroverlapping;Sateng;Strøk;Blandingsvalg;Velg piksler];[Spissform;Spissdynamikk;Spredning;Fargedynamikk;[Størrelsesvariasjon;Minste diameter;Vinkelvariasjon;Rundhetsvariasjon;Minimal rundhet];[Posisjonsvariasjon;Antall;Antallvariasjon];[Forgrunns/bakgrunns-variasjon;Kulørvariasjon;Metningvariasjon;Lysstyrkevariasjon];[Velg kilde for kloning ved å trykke Alt (eller K) og klikke på bildet.;Angi forgrunn med hvitt, bakgrunn med sort og ukjent område med grått.;Laget kan ikke endres.;Tekstlaget må gjøres om til punktgrafikk først;Smartobjekt må gjøres om til punktgrafikk først;Velg flere lag;Rett lag;Åpne et dokument først.;Lukk gjeldende vindu først.;Bare gjeldende verktøy];[Start opptak;Ny prosedyrersett;Ny prosedyre];[Stylus-trykk styrer gjennomsiktighet;Stylus-trykk styrer størrelsen];[Normal;Dryss;Gjør mørkere;Flere;Mørkne farge;Lineær mørkning;Mørkere farge;Gjør lysere;Skjerm;Lysne farge;Lineær lysning;Lysere farge;Legg over;Mykt lys;Hardt lys;Sterkt lys;Lineært lys;Punktlys;Hard fargeblanding;Differens;Utelatelse;Trekk fra;Del;Kulør;Metning;Farge;Lysstyrke;Gjennomgang]];[Linjeavstand;Bokstavmellomrom;Grunnlinjeforskyvning;[Konverter til punkttekst;Konverter til avsnittstekst]];[Alle lag;Gjeldende lag;Markering;Gjeldende og under];[Erstatt;Slå sammen;Trekk fra;Overlapp;Utelat;Slå sammen];[[Lineær;Sirkulær;Vinkel;Speilet;Rombe;Shape Burst];[Mykere;Nøyaktig];[Ytre skråkant;Indre skråkant;Relieff;Putepreg;Strekrelieff;Strøkbredden];[Jevn ut;Hard meisel;Myk meisel;Utjevning];[Opp;Ned];[Utsiden;Sentrum;Innsiden;Fra midten];[Skygger;Mellomtoner;Høylys];[Mindre metning;Metning];[Liten;Medium;Stor];[Endepunkter;Hjørner;Streger]];[Velg objektet under markøren;Transformeringskontroller;Piksel til piksel;Tilpass området;[Juster venstrekanter;Sentrer horisontalt;Juster høyrekanter;Juster øvre kanter;Sentrer vertikalt;Juster nedre kanter;Selv avstander]];[Plasser inn;Gjeldende prosjekt;Nytt prosjekt;Oppløsning;Lagt til i gjeldende prosjekt.;Et nytt prosjekt ble opprettet.;Ingen tilgang til kameraet.];[Retning;Bøy;Horisontal forvrengning;Vertikal forvrengning;[Horisontal;Vertikal;horisontalt;vertikalt];[Ingen;Bue;Bue nedover;Bue oppover;Hvelv;Utbulning;Skjellform nedover;Skjellform oppover;Flagg;Bølge;Fisk;Stige;Fisheye;Pump opp;Trykk sammen;Vri;Egendefinert];[Font;er ikke tilgjengelig;Vil bli rendert med;Det er ulagrede endringer i;Er du sikker på at du vil lukke det?];[Bytt farger;Standard: Hvit og sort]];[lastet;lagt til;Flytt hjelpelinje;Slett hjelpelinje;Legg til hjelpelinje;Laster;Laster inn VAR0];[Filtergalleri;[[Gjør flytende;[Gni ut;Rekonstruer;Jevn ut;Snurr;Krymp;Øk størrelse;Skyv til venstre;Frys;Tin]];[Objektivkorrigering]];Uskarpt-filtre;[Gjennomsnittlig;Uskarphet;Mer uskarphet;Boksuskarphet;Gaussisk uskarphet;Linseuskarphet;Bevegelsesuskarphet;Radial uskarphet;Formuskarphet;Smart uskarphet;Overflateuskarphet];Forvreng;[Forflytning;Knip;Polare koordinater;Krusninger;Klipp;Kuleformet;Bølger];Støy-filtre;[Legg til støy;Flekkfjerning;Støv og skrammer;Median];Bryt opp-filtre;[Rastermønster;Krystalliser;Fasetter;Fragmenter;Mezzotint;Mosaikk;Pointilist];Gjengi-filtre;[Skyer;Dobbelteksponerte skyer;Motlysslør];Gjør skarpere-filtre;[Gjør skarpere;Skarpere kanter;Gjør enda skarpere;Smart skarphet;Uskarp maske];Spesialeffekter;[Diffus;Preg;Ekstruder;Finn kanter;Oljemaleri];Andre-filtre;[Egendefinert;Høypass;Maksimum;Minimum;Forskyvning;Gjenta];[Udefinert område;Sett til gjennomsiktig;Gjenta kantpiksler;Flyt rundt;Forrige filter;Forhåndsvis]];[Maler;[Fontfilter;Nøkkelord;Bland];[Med symboler;Med foto];[Miniatyrer;Liste]]", + "[Fail;Muuda;Pilt;Kiht;Kaust;Märgista;Filter;Vaade;Aken;Keel;Logi sisse;Logi välja;Loo tõlge;[Konto;Kasutustingimused;Tagasi;Rakenduse kohta;Probleemist teatamine;Koolitus];Veel;Teema;Kasuta WebGL;[Photopea: Täiustatud pildiredaktor;Tasuta online toimetaja, mis toetab PSD, XCF, Sketch, XD ja CDR formaate.;Looge uus pilt või avage arvutis olemasolevad failid. Salvestage oma töö PSD (Fail - Salvesta nagu PSD) või JPG / PNG / SVG (Fail - Ekspordi nagu).;Soovita uusi funktsioone meie või . Meie eesmärk on luua .;Sponsori lingid avatakse uues aknas.;;]];[Ava;Avalda veebis;Salvesta;Salvesta nagu PSD;Prindi;Ava veebiaadressilt;Ava arvutist;Ühendu Google Drive abil;Ekspordi nagu;Ekspordi kihid;Skript;Ava & Aseta;Sulge;Kohalik salvestus;];[Samm edasi;Samm tagasi;Tühjenda;Täida;Transformeeri;Pööra;VAR0 ümberpööre;VAR0 skaleerimine;Tagasi / Edasi;Perspektiiv;[Automaatne segamine;];Tuhmuma;];Kohandused;[Heledus/Kontrast;Heledustasemed;Kurvid;Säri;Paindlik värviküllastus;Toon/Küllastus;Värvi tasakaal;Must & Valge;Foto filter;Kanalite mikser;Värvi leidja;Pööra ringi;Posteriseeri;Barjäär;Gradiendi kaart;Valikuline Värv;[Auto Toon;Auto Kontrast;Auto Värv];Asenda Värv];[Lõika;Kopeeri;Kleebi;Uus;Kustuta;Võimalda;Keela;Kopeeri Kõik;Rakenda;Uuesti;Värskenda];[Koopia Kihist;Uus Kohanduskiht;Rastermask;Vektormask;Lisa (Näita kõik);[Lisa (Peida kõik);Näita Märgistust;Peida Märgistust;Läbipaistvusest];[Lõikemask;];Teisenda Targaks Objektiks;Rasteriseeri;Grupeeri Kihid;Liida alumisega;Liida Ülemisega;[Liida Kihid;];Uus Kiht;Võimalda Rastermask;Keela Rastermask;Võimalda Vektormask;Keela Vektormask;Võimalda Lõikemask;Keela Lõikemask;Uus Kaust;Lisa Rastermask;Kustuta Rastermask;Lisa Vektormask;Kustuta Vektormask;Ühenda Rastermask;Ühenda Lahti Rastermask;Ühenda Vektormask;Ühenda Lahti Vektormask;Võimalda Kihiefektid;Keela Kihiefektid;Kustuta Kiht;Kihi Nähtavuse Muutus;Segamisreziimi Muutus;Rasteriseeri Kihi Stiil;Kihtide Järjekord;[Loon Targa Objekti;Uuendan Targa Objekti;Paigutan Targa Objekti;Allikas (Tark objekt);];Nime Muutus;Värvi Muutus;Muuda kohanduskihti;Teisenda Kujuks;Võimalda Filtrite Mask;Keela Filtrite Mask;Võimalda Targad Filtrid;Keela Targad Filtrid;Lisa Filtri Mask;Kustuta Filtri Mask;Tühjenda Targad Filtrid;[[Ühevärviline täide;Gradiendi täide;Mustri täide;Sisutundliku];Uus Täitekiht;Muuda Täitekihti];Kiht Kopeerides;Filtri Mask;Kustuta Kihi Stiil;Liiguta Tark Filter;Kustuta Tark Filter;[Ühenda Kihid;Ühenda Kihid Lahti];Järjesta;[Too Esimeseks;Too ettepoole;Saada Tahapoole;Saada Tagumiseks];[Kiht on Lukus;Luku Muutus;];Animatsioon];[Kõik;Eemalda Märgistus;Pööra Ringi;Muuda;Laienda;Tõmba koomale;Pehme Serv;Liiguta Märgistust;Värvi Piirkond;Serv;Transformeeri Märgistust;Täpsusta Serva;Tervenda Märgistust;];[Suurenda Sisse;Suurenda Välja;Abijooned;Joonlauad;Võrk;Napsa;Tõmme;Dokumendi Piirid;Pikslite Võrk;Vektorjooned;Tõmme pikslitesse;[;];];[Kulgemine;Kihid;Seaded;Pintsel;Kiri;Lõik;Info;Kihikomplektid;Värvikaardid;Makros;Histogramm;;Tööriista eelseadistused;];[Pintsel;Kloonimistööriist;Kärpimistööriist;Kustutaja;Ovaalne märgistus;Pipett;Gradiendi tööriist;Liigutamistööriist;Trükkimistööriist;Lasso Märgistus;Magnet Lasso Märgistus;Liigutamistööriist;Võlukepp;Värvitäite Tööriist;Nurklasso Tööriist;Nelinurk Märkimine;Vaba Transformatsioon;Suurendamise Tööriist;Udutamise Tööriist;Teravustamise Tööriist;Hägustamise Tööriist;Helestamise Tööriist;Põletamise Tööriist;Värvilahusti Tööriist;Punkti Tervendamise Tööriist;Ravipintsel;Plaaster;Vektorjoone Märkimine;Komponendi Märkimise Tööriist;Sulepea;Vabakäe Pliiats;Eriilmeline Kujund;Ristkülik;Ovaal;Parameetriline Kujund;Joon;Joonlaud;Kiirmärgistus;Pliiats;Perspektiivse kärpimistööriist;;;;;;;;;;];[Tee pilt;Värvi Korjaja;Kontuuri muutja;Lõuendi Suurus;Tee koopia ...;Gradiendi muutja;Kihi Stiil;Uus Projekt;Salvesta Veebi jaoks;Venita;Pildi Suurus;Vektoriseeri raster;[Trimmi;;];Klaviatuuri kiirkäsud;Lisa abijooned;[;]];[Nähtavus;Efektid;Heledus;[Kontrast;];Kanal;Säri;Nihe;Gamma korrektsioon;Toon;Küllastus;Heledus;Värvi;Piirkond;Dünaamiline küllastus;[Suurus;Interpoleerimine;Lähim naaber;Bilineaarne];Nurk;Ümarus;Nurgelisus;Vaheruum;[Segamisrežiim;];Näidise Suurus;Kontuur;Stiil;[Pööra Ümber;Relatiivne;Ankur];Tolerants;Jätkuv;Täida;Kasuta globaalnurka;Vahemaa;Valguvus;Müra;Peida varju langemine;Tehnika;Suund;Sügavus;Pehmenda;Reziim;Gradient;Skaala;Joonda Kihiga;Positsioon;Laius;Kõrgus;Sihtpunkt;Tüüp;Eesplaani värv;Tagaplaani värv;Juhuslik;Nimi;Loo;Formaat;Hoia Külgede Suhet;[Kvaliteet;Leheküljed];Tee koopia;Liiguta;Targad Filtrid;Raadius;Mõju;Jagamine;[Ühtlane;Gaussi];Monokromaatiline;Killu Suurus;Muster;Voolavus;Tugevus;Säilita Detaile;Täitmise tüüp;Tekstuur;Värelus;Serv;Allikas;Sihtmärk;Kanalid;Mask;Tugevus;Joondatud;[Joon;Kujund;Pikslid;Toll;Sentimeeter;Millimeeter;Protsent];Kujundid;Küljed;Seaded;[Pikkus;Suhe;Vaba;Võrgu tüüp;Isomeetrilise;Võrgu lõhe;Joonlaua ühikud];Vähenda müra;Värvid;Vahemaad;Suhe;Auto-märgistus;Leia;Defineeri uus;[Foto;Ekraan;Mobiil;Reklaamid;Trükised];[Vaba;Fikseeritud Suhe;Fikseeritud Suurus];Abi;[Muudetavad Kujundid;Muuda kujundit;Sama raadius];Lubatud kõrvalekalle;[Hulknurk;Täht;Spiraal;Ruut];[Nurga raadius;Sisemine raadius]];[Värv;[Ei ole;Punane;Oranz;Kollane;Roheline;Sinine;Lilla;Hall;Valge;Läbipaistev;Must;Tsüaan;Magenta;Neutraalne];;Absoluutne;Hoidke värvi heledus];[Vari;Sisemine vari;Helendav serv;Sisemine helendus;Tõstetud serv;Värvi ülekate;Gradiendiga ülekate;Mustriga ülekate;Satiin;Servajoon;Segamise seaded;];[Tipu kuju;Tipu dünaamika;Jaotus;Värvi dünaamika;[Suuruse jaotus;Minimaalne diameeter;Nurga jaotus;Ümaruse jaotus;Minimaalne ümarus];[Positsiooni jaotus;Arv;Arvu jaotus];[Esi/Tagaplaani jaotus;Tooni jaotus;Küllastuse jaotus;Heleduse jaotus];[Märgi kloonimise allikas hoides Alt (või K) ja kliki pildil.;Märgi esiplaan valgega, tagaplaan mustaga ja tundmatu ala halliga;Kiht ei ole muudetav.;Tekstikiht tuleb kõigepealt rasteriseerida;Tark objekt tuleb kõigepealt rasteriseerida;Vali mitu kihti;;Esmalt avage dokument.;Sulgege esmalt praegune aken.;Ainult praegune tööriist];[Salvesta;Uus makrokomplekt;Uus makro];[;];[;;;;;;;;Ekraan;;;;;;;;;;;;;;;Toon;Küllastus;Värv;Värvi heledus;]];[Rea kõrgus;Tähe vahe;Baasjoone nihe;[;]];[Kõik kihid;Praegune kiht;Märgistus;Praegune & Allpool olev];[Asenda;Ühenda;Lahuta;Ristuv;Jäta välja;Liida];[[Lineaarne;Radiaalne;Nurk;Peegeldatud;Teemant;Kujundi kiirgus];[Pehmendus;Täpne];[Väljapoole tõstuserv;Sissepoole tõstuserv;Emboss;Sisse vajutatud;Servaga vajutatud;];[Pehme;Meisel tugev;Meisel pehme;];[Üles;Alla];[Väljaspool;Keskel;Seespool;Keskusest];[Varjud;Kesktoonid;Heledad];[Desatureeri;Satureeri];[Väike;Keskmine;Suur];[;;]];[Vali kursori all olev objekt;Transformatsiooni kontrollid;Piksel pikslile;Mahuta piirkonda;[Joonda vasakud servad;Joonda horisontaalsed keskmised;Joonda paremad servad;Joonda ülemised servad;Joonda vertikaalselt keskele;Joonda alumised servad;Võrdsed vahed]];[Paiguta sisse;Praegune projekt;Uus projekt;Resolutsioon;Lisatud praegusesse projekti;Uus projekt loodi;Ligipääs kaamerale on keelatud];[Orientatsioon;Painuta;Horisontaalne painutus;Vertikaalne painutus;[Horisontaalne;Vertikaalne;Horisontaalne;Vertikaalne];[Tühista;Kaar;Alumine kaar;Ülemine kaar;Kaared;Mõhk;Alumine karp;Ülemine karp;Lipp;Laine;Kala;Tõus;Kalasilm;Täidetud;Kokku pressitud;Väänatud;Vabakäeline];[Kirjastiil;ei ole saadaval;Renderdatakse kasutades;Selles projektis on salvestamata tööd:;Kas sa tõesti tahad selle sulgeda?];[Vaheta värvid;Vaikimisi: Valge ja Must]];[laaditud;lisatud;Liiguta abijoont;Kustuta abijoon;Lisa abijoon;Laadib;Laadi VAR0];[Filtrite galerii;[[Vedelda;[Sega;Konstrueeri tagasi;Pehmenda;Keeruta;Vähenda;Täida õhuga;Suru vasakule;Külmuta;Sulata]];[Läätsekorrektsioon]];Udu;[Keskmine;Udu;Uduta rohkem;Kandiline Udu;Gaussiani Udu;Läätse udu;Liikuv udu;Radiaalne udu;Kujundi Udu;Tark Udu;Pinna udu];Vääna;[Paiguta ümber;Venita kokku;Polaarkordinaadid;Lainetus;Rebi;Sfääri;Laine];Müra;[Lisa Müra;Despeckle;Mustus & Kriimud;Mediaan];Pikseliseeri;[Värvide pooltoonid;Kristalliseeri;Facet;Fragment;Mezzotint;Mosaiik;Punktita];Renderda;[Pilved;Eriilmelised pilved;];Teravusta;[Teravusta;Teravusta servi;Teravusta rohkem;Tark teravustamine;Teravusmask];Stiliseeri;[Hajutus;Süvatrükk;Välja kasvatama;Leia servad;];Teine;[Eripärane;Kõrge läbilase;Maksimum;Miinimum;Nihe;Korda];[Defineerimata ala;Sea läbipaistvaks;Korda servapiksleid;Mähi ümber;Viimati kasutatud filter;Eelvaade]];[Mallid;[Kirjastiili filter;Märksõnad;Juhuslik];[Sümbolitega;Fototega];[Pisipildid;Nimekiri]]", + "[Failas;Redaguoti;Vaizdas;Sluoksniai;Aplankas;Žymėjimas;Filtrai;Rodymas;Langai;Kalba;Prisijungti;Atsijungti;Išversti;[Paskyra;Paslaugos teikimo sąlygos;Atgal;Apie programą;Praneškite apie riktą;Mokymai];Kita;Apipavidalinimas;Naudoti biblioteką „WebGl“;[Photopea: Išsamesnė vaizdo rengyklė;Nemokamas internetinis redaktorius, palaikantis PSD, XCF, Sketch, XD ir CDR formatus.;Sukurti naują vaizdą arba atverti kompiuteryje esantį failą. Išsaugoti darbą PSD forrmatu (Failas - Įrašyti kaip PSD) arba kaip JPG / PNG / SVG (Failas - Eksportuoti kaip).;Pasiūlykite naujų funkcijų mūsų arba . Siekiame sukurti .;Rėmėjų nuorodas atverti naujame lange;Ši funkcija negalima;Įdiegti Photopea]];[Atverti;Publikuoti internete;Įrašyti;Irašyti kaip PSD;Spausdinti;Atverti URL nuorodą;Atverti įrašytą kompiuteryje;Prisijungti prie Google disko;Eksportuoti kaip;Eksportuoti sluoksnius;Skriptas;Atverti ir padėti;Užverti;Vietinės saugyklos;Failo informacija];[Žingsnis pirmyn;Žingsnis atgal;Išvalyti;Užpildyti;Transformuoti;Pasukti;Apvertimas VAR0;Mastelio keitimas VAR0;Atšaukti / Grąžinti;Perspektyva;[Automatiškai sukloti;Automatinis lygiavimas];Išnykimas;Pritaikyti paveikslą];Pakeitimai;[Šviesumas/Kontrastas;Šviesumo lygiai;Kreivės;Ekspozicija;Spalvingumas;Atspalvis/Grynis;Spalvinis balansas;Nespalvota;Foto filtras;Kanalų maišiklis;Spalvinė ieška;Inversija;Posterizavimas;Slenkstis;Gradiento planas;Spalvų atranka;[Atspalvio korekcija;Automatinis kontrasto koregavimas;Automatinis spalvų koregavimas];Pakeisti spalvą];[Iškirpti;Kopijuoti;Įdėti;Naujas;Pašalinti;Įjungti;Išjungti;Kopijuoti apjungiant visus sluoksnius;Taikyti;Kartoti;Atnaujinti];[Dubliuoti sluoksnį;Naujas koregavimo sluoksnis;Rastro kaukė;Vektorinė kaukė;Pridėti (Rodyti viską);[Pridėti (Slėpti viską);Atskleisti žymėjimą;Paslėpti žymėjimą;Nuo skaidrumo];[Daugiasluoksnė kaukė;Sparčiojo maskavimo veiksena];Konvertuoti į „Smart Object“;Rasterizuoti;Grupuoti sluoksnius;Apjungti su žemesniu;Apjungti su aukštesniu;[Apjungti sluoksnius;Suploti sluoksnius];Naujas sluoksnis;Įjungti rastro kaukę;Išjungti rastro kaukę;Įjungti vektorinę kaukę;Išjungti vektorinę kaukę;Įjungti daugiasluoksnę kaukę;Išjungti daugiasluoksnę kaukę;Naujas aplankas;Pridėti rastro kaukę;Pašalinti rastro kaukę;Pridėti vektorinę kaukę;Pašalinti vektorinę kaukę;Susieti rastro kaukę;Atsieti rastro kaukę;Susieti vektorinę kaukę;Atsieti vektorinę kaukę;Įjungti sluoksnių efektus;Išjungti sluoksnių efektus;Pašalinti sluoksnį;Sluoksnio neskaidrumo pakeitimas;Suklojimo būdo pakeitimas;Sluoksnio stilius;Sluoksnių eilės tvarka;[„Smart Object“ sukūrimas;„Smart Object“ atnaujinimas;„Smart Object“ įkėlimas;Šaltinis (Smart Object);Dėklas];Pervardyti;Keisti spalvą;Keisti koregavimo sluoksnį;Konvertuoti į figūrą;Įjungti filtro kaukę;Išjungti filtro kaukę;Įjungti išmaniuosius filtrus;Išjungti išmaniųjus filtrus;Pridėti filtro kaukę;Pašalinti filtro kaukę;Išvalyti išmaniuosius filtrus;[[Užlieti ištisa spalva;Užlieti gradientiškai;Užlieti raštais;Kontekstinis užpildas];Naujas užliejimo sluoksnis;Užliejimo sluoksnio koregavimas];Kopijuoti sluoksnį;Filtro kaukė;Pašalinti sluoksnio stilių;Perkelti išmanųjį filtrą;Pašalinti išmanųjį filtrą;[Susieti sluoksnius;Atsieti sluoksnius];Rikiuoti;[Iškelti į priekį;Nukelti pirmyn;Nukelti žemyn;Nukelti į dugną];[Sluoksnis užrakintas;Užrakinti pakeitimus;Užrakinti];Animacija];[Pažymėti viską;Naikinti žymėjimą;Inversija;Keisti;Išplėsti;Sutraukti;Neryškūs žymėjimo kraštai;Perkelti žymėjimą;Žymėti spalva;Rėmeliu;Transformuoti žymėjimą;Kraštų tobulinimas;Tobulinti žymėjimą;Magiškas iškirpimas];[Artinti;Tolinti;Gairės;Liniuotės;Tinklelis;Pritraukti;Pritraukti prie;Dokumento ribos;Pikselių tinklelis;Kontūrai;Pritraukti prie pikselių;[Pjūviai;Pjūviai];Rodyti];[Istorija;Sluoksniai;Savybės;Teptukas;Tekstas;Pastraipa;Informacija;Sluoksnių kompozicija;Paletė;Operacijos;Histograma;Navigatorius;Įrankių nustatymai;Glifas];[Teptukas;Klonavimo įrankis;Apkirpimo įrankis;Trintukas;Žymėti elipse;Pipetė spalvai parinkti;Gradientas;Ranka;Rašymas;Lasas;Magnetinis lasas;Nešimo įrankis;Stebuklų lazdelė;Dažų kibirėlis;Daugiakampis lasas;Stačiakampis žymėjimas;Transformuoti laisvai;Lęšis;Liejimo įrankis;Aštrinimo įrankis;Glodinimo įrankis;Šviesinimas;Tamsinimas;Kempinė;Pleistras spuogams;Pleistras;Lopymo įrankis;Žymėti kontūru;Tiesioginis žymėjimas;Pieštukas;Piešti iš rankos;Savita figūra;Stačiakampis;Elipsė;Parametrinė figūra;Linija;Liniuotė;Žymėti aptiktus kraštus;Pieštukas;Perspektyvos apkarpymas;Pjūvių Įrankis;Žymėjimo skiltimis įrankis;Spalvos pakeitimas;Raudonų akių taisymas;Objekto pažymėjimas;Fono trintukas;Lėlės lankstymas;Pasukti vaizdą;Išmanusis mastelio keitimas;Nuotraukos turinio perkėlimo įrankis];[Fotografuoti;Spalvos parinkimas;Kontūro keitimas;Paveikslo drobės dydis;Dubliuoti į ...;Gradiento koregavimas;Sluoksnio stilius;Naujas kūrinys;Išsaugoti interneto tinklui;Lankstyti;Paveikslo dydis;Rastro vektorinimas;[Apkirpti;Apkirpti;Išskleisti (viską)];Spartieji klavišai;Pridėti gairių;[Panaikinti gaires;Gairės pagal sluoksnį]];[Nepermatomumas;Efektai;Šviesumas;[Kontrastas;Naudoti senuoju būdu];Kanalas;Ekspozicija;Poslinkis;Gama korekcija;Atspalvis;Grynis;Šviesumas;Spalvinimas;Rėžis;Spalvingumas;[Dydis;Interpoliacija;Artimiausių kaimynų;Bilinear];Kampas;Apvalumas;Kietumas;Intervalai;[Sluoksnių suliejimo būdas;Sąlyginis suliejimas];Pavyzdžio dydis;Kontūras;Stilius;[Apgręžti;Reliatyvus;Prieraišas];Tolerancija;Ištisai;Lieti;Kampas globaliai;Nuotolis;Paplitimas;Triukšmas;Pašalinti šešėlį;Metodas;Kryptis;Gylis;Švelninti;Būdas;Gradientas;Mastelis;Lygiavimas į sluoksnį;Vietą;Plotis;Aukštis;Paskirties vieta;Tipas;Priekinis planas;Fono sluoksnis;Nustatytoji spalva;Pavadinimas;Sukurti;Formatas;Išlaikyti proporcijas;[Kokybė;Psl.];Dubliuoti;Perkelti;Išmanieji filtrai;Spindulys;Poveikio stiprumas;Paskirstymas;[Paskirstyti vienodai;Gauso];Vienspalviai;Mozaikos elemento dydis;Raštas;Liejimas;Stiprumas;Išsaugoti detalumą;Užliejimo būdas;Tekstūra;Triukšmas aureolės kraštuose;Kraštas;Šaltinis;Tikslas;Kanalai;Kaukė;Tankumas;Lygiuota;[Kontūras;Figūra;Pikselių;Colis;Centimetras;Milimetras;Procentas];Figūros;Pusės;Savybės;[Ilgis;Santykis;Laisvai;Tinklelio tipas;Izometriškai;Tinklelio tarpai;Liniuotės vienetai];Triukšmų šalinimas;Spalvos;Atstumai;Pakeitimų laipsnis;Automatinis žymėjimas;Rasti;Iš naujo;[Nuotrauka;Ekranas;Mobilus įrenginys;Reklama;Spaudiniai];[Laisvai;Fiksuotas santykis;Fiksuotas dydis];Žinynas;[Gyvosios figūros;Keisti gyvąsias figūras;Vienodi kreivumo spinduliai];Leistinas nuokrypis;[Daugiakampis;Žvaigždė;Spiralė;Kvadratas];[Kampo spindulys;Vidinis spindulys]];[Spalva;[Spalva neparinkta;Raudona;Oranžinė;Geltona;Žalia;Mėlyna;Violetinė;Pilka;Balta;Skaidri;Juoda;Ciano;Purpurinė;Neutralios];Iš viso;Absoliutus;Išlaikyti spalvos šviesumą];[Šešėlis;Vidinis šešėlis;Išorinis švytėjimas;Vidinis švytėjimas;Kanto profilis ir reljefiškumas;Spalvos užklojimas;Gradiento užklojimas;Rašto užklojimas;Satininis;Apvadas;Užklojimo parinktys;Parinkti taškus];[Antgalio forma;Antgalio dinamika;Išsklaidymas;Spalvų dinamika;[Išbarstymo zona;Minimalus diametras;Barstymo kampas;Barstymo apvalumas;Minimalus apvalumas];[Barstymo pozicija;Antgalių skaičius;Barstymų skaičius];[Barstymas priekinio plano/fono;Barstymo atspalvis;Barstymo grynis;Barstymo šviesumas];[Pažymėkite spusteldami pelės klavišu klonuojamą vietą kartu laikydami Alt (arba K) klavišą.;Žymėkite pirmą planą baltai, foną juodai, o nežinomas zonas pilkai.;Nekeistinas sluoksnis;Teksto sluoksnis pirmiausiai turėtų būti rasterizuotas;„Smart Object“ turi būti pirmiausia rastruotas;Pažymėkite keletą sluoksnių;Tiesinti;Pirmiausia atidarykite dokumentą.;Pirmiausia uždarykite dabartinį langą.;Tik dabartinis įrankis];[Įrašyti;Naujas operacijų rinkinys;Nauja operacija];[Pieštuko prispaudimas valdys permatomumą;Pieštuko prispaudimas valdys storį];[Normalus;Ištirpinti;Tamsinti;Dauginti;Spalvos ryškinimas;Tiesinis ryškinimas;Tamsinti spalvas;Šviesinti;Šviesinti atrenkant;Spalvos šviesinimas;Linijinis spalvos pašviesinimas;Spalvos šviesinimas;Perdengti;Išsklaidyta šviesa;Kontrastinga šviesa;Ryški šviesa;Linijinė šviesa;Šviesa iš taško;Maišymas (Hard Mix);Skirtumų ryškinimas;Išimtys (Exclusion);Atimti;Dalyba (Divide);Atspalvis;Grynis;Spalva;Spalvos ryškumas;Perkloti (Pass Through)]];[Priekinis tarpas;Tarpai tarp raidžių;Bazinės linijos poslinkis;[Konvertuoti į tekstą taškučiais;Konvertavimas į tekstą pastraipoje]];[Visi sluoksniai;Darbinis sluoksnis;Žymėjimas;Darbinis ir žemyn];[Pakeisti;Prijungimas;Atimti;Persiklojimas;Nepersiklojimai;Apjungti];[[Linijinis;Radialinis;Kampas;Atspindėtas;Deimantas;Sprogimo forma];[Minkštesnis;Tikslumas];[Kantas į išorę;Kantas į vidų;Išgaubimas;Išgaubimas pagalvėle;Išgaubimas su apvadu;Kontūro plotis];[Švelniai;Iškalti kietai;Iškalti minkštai;Glotnumas];[Aukštyn;Žemyn];[Išorėn;Centras;Vidus;Iš centro];[Šešėliai;Vidutiniai tonai;Šviesumos];[Išblukinimas;Gryninti];[Mažas;Vidutinis;Didelis];[Didžiosios raidės;Kampai;Brūkšniai]];[Žymekliu pasirinkite objektą;Transformavimo valdikliai;Normalus mastelis (100%);Sutalpinti;[Lygiuoti kairėn;Centruoti horizontaliai;Lygiuoti dešinėn;Lygiuoti į viršų;Centruoti vertikaliai;Lygiuoti į apačią;Išdėlioti lygiais tarpais]];[Idėti;Darbinis projektas;Naujas projektas;Raiška;Pridėta į darbinį projektą.;Naujas projektas sėkmingai sukurtas.;Prieiga prie kameros uždrausta.];[Orientacija;Lankstyti;Horizontalūs iškraipymai;Vertikalūs iškraipymai;[Horizontaliai;Vertikaliai;Horizontalus;Vertikalus];[Be poveikio;Lankas;Lankas žemyn;Lankas aukštyn;Arka;Išpūstumas;Žemutinis apvalkalas;Viršutinis apvalkalas;Vėliava;Banga;Žuvis;Pakilimas;Žuvies akis;Išpūsti;Suspausti;Suvyti;Nustatytai];[Šriftas;nepasiekiama;Bus atvaizduota naudojant;Šiame projekte yra neišsaugotų darbų:;Ar tikrai norite jį uždaryti?];[Spalvų sukeitimas;Numatytosios: balta ir juoda]];[įkeltas;pridėtas;Perkelti gairę;Šalinti gairę;Pridėti gairę;Įkeliama;Įkelti VAR0];[Filtrų galerija;[[Suskystinimas;[Glodinimas;Rekonstruoti;Švelninti;Sukti;Sutraukti;Išpūsti;Stumti kairėn;Užšaldyti;Atšildyti]];[Objektyvo iškraipymų korekcija]];Liejimas;[Vidurkinimas;Liejimas;Dar lieti;Lieti dėžute;Gauso liejimas;Optinis liejimas;Judesio liejimas;Radialinis liejimas;Liejimas forma;Selektyvusis liejimas;Paviršinis liejimas];Iškraipymai;[Sudėti pagal kitą;Gnybti;Poliarinės koordinatės;Raibuliavimas;Žirklės;Sfera;Banga];Triukšmas;[Pridėti triukšmo;Dėmių valymas;Dulkės ir įbrėžimai;Mediana];Pikseliuoti;[Pustonis;Kristalai;Facetas;Fragmentas;Pusiau tapyta (mezzo-tinto);Mozaika;Puantilizmas];Vaizduoti;[Debesys;Debesų įvairovė;Objektyvo atspindžiai];Aštrinti;[Aštrinti;Aštrinti kraštus;Aštrinti stipriau;Aštrinti selektyviai;Neryškumų maskavimas];Stilizuoti;[Difuzija;Išgaubimas;Ištraukimas;Kraštų aptikimas;Tapyba aliejumi];Kita;[Nustatytai;Aukštieji dažniai;Maksimumas;Minimumas;Poslinkis;Kartoti];[Neapibrėžta sritis;Tebūnie skaidru;Kartoti pikselius kraštuose;Aplankstyti;Paskiausias filtras;Peržiūra]];[Šablonai;[Šriftų filtras;Raktiniai žodžiai;Išmaišyti];[Su simboliais;Su nuotrauka];[Miniatiūros;Sąrašas]]" + ] +} \ No newline at end of file diff --git a/www.photopea.com/code/LNG2.js b/www.photopea.com/code/LNG2.js index 5bb208d..5a9418e 100644 --- a/www.photopea.com/code/LNG2.js +++ b/www.photopea.com/code/LNG2.js @@ -1,33 +1,35246 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - +var LNG = { + "langs": [ + { + "name": "English", + "code": "en", + "table": 0 + }, + { + "name": "Česky", + "code": "cs", + "table": 1 + }, + { + "name": "Español", + "code": "es", + "table": 2 + }, + { + "name": "Deutsch", + "code": "de", + "table": 3 + }, + { + "name": "Français", + "code": "fr", + "table": 4 + }, + { + "name": "Ελληνικά", + "code": "el", + "table": 5 + }, + { + "name": "العربية", + "code": "ar", + "table": 6 + }, + { + "name": "Português", + "code": "pt", + "table": 7 + }, + { + "name": "Русский", + "code": "ru", + "table": 8 + }, + { + "name": "Українська", + "code": "uk", + "table": 9 + }, + { + "name": "עברית", + "code": "he", + "table": 10 + }, + { + "name": "Hrvatski", + "code": "hr", + "table": 11 + }, + { + "name": "Italiano", + "code": "it", + "table": 12 + }, + { + "name": "Română", + "code": "ro", + "table": 13 + }, + { + "name": "Nederlands", + "code": "nl", + "table": 14 + }, + { + "name": "Svenska", + "code": "sv", + "table": 15 + }, + { + "name": "Dansk", + "code": "da", + "table": 16 + }, + { + "name": "Suomi", + "code": "fi", + "table": 17 + }, + { + "name": "Slovenščina", + "code": "sl", + "table": 18 + }, + { + "name": "Türkçe", + "code": "tr", + "table": 19 + }, + { + "name": "Polski", + "code": "pl", + "table": 20 + }, + { + "name": "Bahasa Indonesia", + "code": "id", + "table": 21 + }, + { + "name": "简化字 中文", + "code": "zh-CN", + "table": 22 + }, + { + "name": "正體字 中文", + "code": "zh-HK", + "table": 23 + }, + { + "name": "ภาษาไทย", + "code": "th", + "table": 24 + }, + { + "name": "日本語", + "code": "ja", + "table": 25 + }, + { + "name": "한국어", + "code": "ko", + "table": 26 + }, + { + "name": "Português do Brasil", + "code": "pt-BR", + "table": 27 + }, + { + "name": "Magyar", + "code": "hu", + "table": 28 + }, + { + "name": "Slovenčina", + "code": "sk", + "table": 29 + }, + { + "name": "Tiếng Việt", + "code": "vi", + "table": 30 + }, + { + "name": "Български език", + "code": "bg", + "table": 31 + }, + { + "name": "Српски језик", + "code": "sr", + "table": 32 + }, + { + "name": "Shqip", + "code": "sq", + "table": 33 + }, + { + "name": "தமிழ்", + "code": "ta", + "table": 34 + }, + { + "name": "བོད་ཡིག", + "code": "bo", + "table": 35 + }, + { + "name": "Català", + "code": "ca", + "table": 36 + }, + { + "name": "Norsk", + "code": "no", + "table": 37 + }, + { + "name": "Eesti", + "code": "et", + "table": 38 + }, + { + "name": "Lietuvių", + "code": "lt", + "table": 39 + } + ], + "tables": [ + [ + [ + "File", + "Edit", + "Image", + "Layer", + "Folder", + "Select", + "Filter", + "View::noun (Top Menu)", + "Window", + "Language", + "Log In", + "Log Out", + "Create translation::Click it to get to www.Photopea.com/translate", + [ + "Account", + "Terms of Service", + "Back", + "About::\"About a program\" - the orange button at the top", + "Report a bug", + "Learn" + ], + "More", + "Theme", + "Use WebGL", + [ + "Photopea: advanced image editor::The header at the top of the page", + "Free online editor supporting PSD, XCF, Sketch, XD and CDR formats.::Will be at the top of the page", + "Create a new image or open existing files from your computer. Save your work as PSD (File - Save as PSD) or as JPG / PNG / SVG (File - Export as).::Will be at the top of the page", + "Suggest new features at our or . Our goal is to create .::Parts between < and > will become links.", + "Sponsor links open in a new window.", + "This feature is not available.", + "Install Photopea" + ] + ], + [ + "Open::verb", + "Publish online", + "Save::verb", + "Save as PSD", + "Print::Press to print on a printer", + "Open from URL", + "Open From Computer", + "Connect With Google Drive", + "Export as", + "Export Layers", + "Script", + "Open & Place::Open a document and insert it into a current document", + "Close", + "Local Storage", + "File Info" + ], + [ + "Step Forward::In history of changes", + "Step Backward::In history of changes", + "Clear::Verb, press to clear the selected area", + "Fill::Verb, press to fill the selected area", + "Transform::Transform the image", + "Rotate", + "Flip VAR0::VAR0 will be replaced with Horizontally/Vertically", + "Scale VAR0::VAR0 will be replaced with Horizontally/Vertically", + "Undo / Redo", + "Perspective", + [ + "Auto-Blend::Auto-Blend layers together", + "Auto-Align::Auto-Align layers against each other" + ], + "Fade", + "Apply Image" + ], + "Adjustments", + [ + "Brightness/Contrast", + "Levels::Levels adjustment", + "Curves::Curves adjustment", + "Exposure", + "Vibrance", + "Hue/Saturation", + "Color Balance", + "Black & White", + "Photo Filter", + "Channel Mixer", + "Color Lookup", + "Invert", + "Posterize", + "Threshold", + "Gradient Map", + "Selective Color", + [ + "Auto Tone", + "Auto Contrast", + "Auto Color" + ], + "Replace Color" + ], + [ + "Cut", + "Copy", + "Paste::like \"insert\", not like \"toothpaste\"", + "New", + "Delete", + "Enable", + "Disable", + "Copy Merged::Copy not from a layer, but from all layers (all merged together)", + "Apply::Apply Mask - \"combine\" it with a layer", + "Again::Repeat the same aciton one more time", + "Update::A verb" + ], + [ + "Duplicate Layer", + "New Adjustment Layer", + "Raster Mask", + "Vector Mask", + "Add (Reveal All)::Add a mask", + [ + "Add (Hide All)::Add a mask", + "Reveal Selection", + "Hide Selection", + "From Transparency" + ], + [ + "Clipping Mask", + "Quick Mask Mode" + ], + "Convert to Smart Object", + "Rasterize::Convert Text layer/vector layer to pixels", + "Group Layers::Put selected layers into a new group", + "Merge Down::Merge a layer with one below it", + "Merge Up::Merge a layer with one above it", + [ + "Merge Layers::Merge selected layers", + "Flatten Image::Merge all layers in a document into one" + ], + "New Layer", + "Enable Raster Mask", + "Disable Raster Mask", + "Enable Vector Mask", + "Disable Vector Mask", + "Enable Clipping Mask", + "Disable Clipping Mask", + "New Folder", + "Add Raster Mask", + "Delete Raster Mask", + "Add Vector Mask", + "Delete Vector Mask", + "Link Raster Mask", + "Unlink Raster Mask", + "Link Vector Mask", + "Unlink Vector Mask", + "Enable Layer Effects", + "Disable Layer Effects", + "Delete Layer", + "Layer Opacity Change", + "Blending Change", + "Rasterize Layer Style", + "Layer Order::Name of the step, when reordering layers", + [ + "Creating Smart Object", + "Updating Smart Object", + "Placing Smart Object", + "Source (Smart Object)", + "Stack Mode::the mode of combining (stacking) multiple images into one" + ], + "Name Change", + "Color Change", + "Edit Adjustment Layer", + "Convert to Shape", + "Enable Filter Mask", + "Disable Filter Mask", + "Enable Smart Filters", + "Disable Smart Filters", + "Add Filter Mask", + "Delete Filter Mask", + "Clear Smart Filters", + [ + [ + "Color Fill", + "Gradient Fill", + "Pattern Fill", + "Content Aware" + ], + "New Fill Layer", + "Modify Fill Layer" + ], + "Layer Via Copy", + "Filter Mask", + "Delete Layer Style", + "Move Smart Filter", + "Delete Smart Filter", + [ + "Link Layers", + "Unlink Layers" + ], + "Arrange::Arrange layers", + [ + "Bring to Front", + "Bring Forward", + "Send Backward", + "Send to Back" + ], + [ + "This layer is Locked.", + "Lock Change", + "Lock::verb - lock this, lock that" + ], + "Animation" + ], + [ + "All::As in Select - All", + "Deselect", + "Inverse", + "Modify", + "Expand::Expand Selection", + "Contract", + "Feather::Feather (blur) a Selection", + "Move Selection", + "Color Range", + "Border::The border of a Selection", + "Transform Selection", + "Refine Edge::A tool for improving the edge of a selection", + "Heal Selection", + "Magic Cut" + ], + [ + "Zoom In", + "Zoom Out", + "Guides::Vertical and horizontal lines over the image, to help us be more precise", + "Rulers", + "Grid", + "Snap::When moving objects, they will \"stick\" to other objects, guides, etc.", + "Snap To", + "Document Bounds", + "Pixel Grid", + "Paths::Elements of vector graphics", + "Snap to Pixels", + [ + "Slices", + "Slice Options" + ], + "Show::A verb: to show." + ], + [ + "History::History of steps", + "Layers", + "Properties", + "Brush::A brush tool", + "Character::= a Letter (like a, b, c, ...)", + "Paragraph", + "Info", + "Layer Comps::Compositions of layers", + "Swatches::Gallery of colors", + "Actions", + "Histogram::Usually the same in other languages", + "Navigator", + "Tool Presets", + "Glyphs" + ], + [ + "Brush Tool", + "Clone Tool", + "Crop Tool", + "Eraser Tool", + "Ellipse Select", + "Eyedropper::A tool to pick color from the image", + "Gradient Tool", + "Hand Tool::To move (pan) across the image area", + "Type Tool", + "Lasso Select", + "Magnetic Lasso Select", + "Move Tool", + "Magic Wand", + "Paint Bucket Tool", + "Polygonal Lasso Select", + "Rectangle Select", + "Free Transform", + "Zoom Tool", + "Blur Tool", + "Sharpen Tool", + "Smudge Tool", + "Dodge Tool::Make Brighter", + "Burn Tool::Make Darker", + "Sponge Tool::Desaturate", + "Spot Healing Brush Tool", + "Healing Brush Tool", + "Patch Tool::Cut from one place and put to another place", + "Path Select::a tool to select / move paths", + "Direct Select::a tool to select / move knots of paths", + "Pen", + "Free Pen::Draw freely with this pen", + "Custom Shape", + "Rectangle", + "Ellipse", + "Parametric Shape", + "Line", + "Ruler::A ruler tool to measure distances", + "Quick Selection", + "Pencil Tool", + "Perspective Crop", + "Slice Tool", + "Slice Select Tool", + "Color Replacement", + "Red Eye Tool", + "Object Selection", + "Background Eraser", + "Puppet Warp", + "Rotate View", + "Content-Aware Scale", + "Content-Aware Move Tool" + ], + [ + "Take a picture::Press the button to take a picture", + "Color Picker", + "Contour Editor", + "Canvas Size", + "Duplicate Into ...", + "Gradient Editor", + "Layer Style", + "New Project", + "Save for web", + "Warp", + "Image Size", + "Vectorize Bitmap::Convert raster pixels into vector paths", + [ + "Trim::cut away an empty area around the object", + "Crop::(verb) Crop the image", + "Reveal All" + ], + "Keyboard Shortcuts", + "Add Guides", + [ + "Clear Guides", + "Guides from Layer" + ] + ], + [ + "Opacity", + "Effects", + "Brightness", + [ + "Contrast", + "Use Legacy" + ], + "Channel::Color Channel", + "Exposure", + "Offset", + "Gamma correction", + "Hue", + "Saturation", + "Lightness", + "Colorize", + "Range", + "Vibrance", + [ + "Size", + "Interpolation", + "Nearest Neighbor", + "Bilinear" + ], + "Angle", + "Roundness", + "Hardness", + "Spacing", + [ + "Blend Mode", + "Blend If::Specifies a tonal range for blending" + ], + "Sample Size", + "Contour", + "Style", + [ + "Reverse", + "Relative::When ON, you only write a number, which will be added to the original value", + "Anchor::To which side the object should be anchored" + ], + "Tolerance", + "Contiguous", + "Fill::Noun, the content (filling) of something.", + "Use global angle", + "Distance", + "Spread::Spread the effected area", + "Noise::add random image noise", + "Knock out drop shadow::No drop shadow behind the object", + "Technique", + "Direction", + "Depth", + "Soften", + "Mode::One of possible modes of the effect", + "Gradient::from one color to another", + "Scale::scale the content - 10% or even 200%", + "Align with layer", + "Position::Position of the effect", + "Width", + "Height", + "Destination", + "Type", + "Foreground", + "Background", + "Custom::Color: not foreground or background, but a custom color", + "Name::Name of something", + "Create", + "Format", + "Keep Aspect Ratio", + [ + "Quality", + "Pages" + ], + "Duplicate", + "Move::When you move layers, the Move step will be added to History", + "Smart Filters", + "Radius", + "Amount::Strength of the effect (0 ... 100)", + "Distribution", + [ + "Uniform::uniform random distribution", + "Gaussian" + ], + "Monochromatic", + "Cell Size::Mosaic filter creates \"cells\"", + "Pattern", + "Flow::A brush has the opacity and the flow", + "Strength", + "Protect Detail", + "Fill Type", + "Texture", + "Jitter::Add Noise in Outer Glow", + "Edge::The inner glow is either from the center, or from the Edge", + "Source", + "Target", + "Channels", + "Mask::A noun, e.g. a vector mask or a raster mask ", + "Density", + "Aligned", + [ + "Path", + "Shape", + "Pixels", + "Inches", + "Centimeters", + "Millimeters", + "Percent" + ], + "Shapes", + "Sides", + "Preferences", + [ + "Length", + "Ratio", + "Any::Any ratio of a rectangle", + "Grid Type", + "Isometric", + "Grid Gap", + "Ruler Units" + ], + "Reduce noise", + "Colors", + "Distances", + "Rate::Liquify filter: Rate of modification", + "Auto-Select::Move tool option: click the object to select its layer", + "Find", + "Define New", + [ + "Photo", + "Screen::computer screen", + "Mobile::Mobile device", + "Ads::Advertisement", + "Print::A noun" + ], + [ + "Free::Not Restricted / Not Limited", + "Fixed Ratio", + "Fixed Size" + ], + "Help", + [ + "Live Shape::Shape, that can be reconstructed from parameters at any time", + "Edit Live Shape", + "Same Radii::all radiuses of a rectangle should be the same" + ], + "Fuzziness", + [ + "Polygon", + "Star", + "Spiral", + "Square" + ], + [ + "Corner Radius", + "Inner Radius" + ] + ], + [ + "Color", + [ + "None::No Color", + "Red", + "Orange", + "Yellow", + "Green", + "Blue", + "Purple", + "Gray", + "White", + "Transparent", + "Black", + "Cyan::A color", + "Magenta::A color", + "Neutral::Apply to neutral colors" + ], + "Total", + "Absolute", + "Preserve Luminosity" + ], + [ + "Drop Shadow", + "Inner Shadow", + "Outer Glow", + "Inner Glow", + "Bevel and Emboss", + "Color Overlay", + "Gradient Overlay", + "Pattern Overlay", + "Satin", + "Stroke::Thick line around an object", + "Blending Options", + "Select Pixels" + ], + [ + "Tip Shape", + "Tip Dynamics", + "Scatter::dont put brush exactly, but randomly around the target spot", + "Color Dynamics", + [ + "Size Jitter::change the size randomly", + "Minimal Diameter", + "Angle Jitter::change the angle randomly", + "Roundness Jitter::change the roundness randomly", + "Minimal Roundness" + ], + [ + "Position Jitter", + "Count::The number of brush tips", + "Count Jitter" + ], + [ + "Foreground/Background Jitter", + "Hue Jitter", + "Saturation Jitter", + "Brightness Jitter" + ], + [ + "Select clone source by holding Alt (or K) and clicking on the image.", + "Mark Foreground with White, Background with Black, and the unknown area with Gray.", + "Layer is not editable.", + "Text Layer must be rasterized first", + "Smart Object must be rasterized first", + "Select multiple layers", + "Straighten Layer::Will rotate the layer, so that the horizon is horizontal", + "Open a document first.", + "Close the current window first.", + "Current Tool Only::Tool Presets only for the current tool" + ], + [ + "Record::To record actions", + "New Action Set", + "New Action" + ], + [ + "Stylus Pressure controls Opacity", + "Stylus Pressure controls Size" + ], + [ + "Normal::One of Blend Modes (when empty, English version will be used)", + "Dissolve::One of Blend Modes (when empty, English version will be used)", + "Darken::...", + "Multiply::...", + "Color Burn::...", + "Linear Burn::...", + "Darker Color::...", + "Lighten", + "Screen", + "Color Dodge", + "Linear Dodge", + "Lighter Color", + "Overlay", + "Soft Light", + "Hard Light", + "Vivid Light", + "Linear Light", + "Pin Light", + "Hard Mix", + "Difference", + "Exclusion", + "Subtract", + "Divide", + "Hue", + "Saturation", + "Color", + "Luminosity", + "Pass Through::Blend Mode only for Folders" + ] + ], + [ + "Leading::Text style - vertical distance between lines", + "Tracking::Text style - horizontal spacing between characters", + "Baseline shift::Move the bottom line of the text", + [ + "Convert to Point Text", + "Convert to Paragraph Text" + ] + ], + [ + "All Layers", + "Current Layer", + "Selection", + "Current & Below::Current layers and all layers below it" + ], + [ + "Replace::The new thing replaces the old one", + "Unite", + "Subtract", + "Intersect", + "Exclude", + "Merge" + ], + [ + [ + "Linear", + "Radial", + "Angle", + "Reflected", + "Diamond", + "Shape Burst" + ], + [ + "Softer", + "Precise" + ], + [ + "Outer Bevel", + "Inner Bevel", + "Emboss", + "Pillow Emboss", + "Stroke Emboss", + "Stroke Width::The thickness of the stroke line (contour)" + ], + [ + "Smooth::A verb: to smooth something", + "Chisel Hard", + "Chisel Soft", + "Smoothness" + ], + [ + "Up", + "Down" + ], + [ + "Outside", + "Center", + "Inside", + "From Center::Draw an object from the center" + ], + [ + "Shadows", + "Midtones", + "Highlights" + ], + [ + "Desaturate", + "Saturate" + ], + [ + "Small", + "Medium", + "Large" + ], + [ + "Caps", + "Corners", + "Dashes" + ] + ], + [ + "Choose the object under the cursor", + "Transform controls", + "Pixel to Pixel::Zoom the image to 100% (1 image pixel = 1 screen pixel)", + "Fit The Area", + [ + "Align Left Edges", + "Center Horizontally", + "Align Right Edges", + "Align Top Edges", + "Center Vertically", + "Align Bottom Edges", + "Equal Gaps::Equal spacing between objects" + ] + ], + [ + "Place into::Place the new photo into:", + "Current Project", + "New Project", + "Resolution", + "Added into the current project.", + "A new project was created.", + "Access to the camera was denied." + ], + [ + "Orientation::Vertical or horizontal", + "Bend::Text warping: bend the text to a wave, etc.", + "Horizontal Distortion", + "Vertical Distortion", + [ + "Horizontal", + "Vertical", + "Horizontally", + "Vertically" + ], + [ + "None::No Warp", + "Arc", + "Arc Lower", + "Arc Upper", + "Arch", + "Bulge", + "Shell Lower", + "Shell Upper", + "Flag", + "Wave", + "Fish", + "Rise", + "Fish Eye", + "Inflate", + "Squeeze", + "Twist", + "Custom" + ], + [ + "Font", + "is not available", + "Will be rendered using", + "There is unsaved work in::File name will be added after this", + "Do you really want to close it?" + ], + [ + "Swap Colors", + "Default: White and Black" + ] + ], + [ + "loaded::File was loaded", + "added::Font was added", + "Move Guide", + "Delete Guide", + "Add Guide", + "Loading", + "Load VAR0::Keep VAR0 in a phrase, it will be replaced with a Noun when used" + ], + [ + "Filter Gallery", + [ + [ + "Liquify::A filter", + [ + "Smudge::Draw over image to spread colors along your stroke", + "Reconstruct::Recover to original state", + "Smoothen::Make the effect more smooth", + "Twirl::Rotate in a spiral", + "Shrink::Make smaller", + "Blow::Make bigger", + "Push Left::ush colors to the left along the stroke", + "Freeze", + "Unfreeze" + ] + ], + [ + "Lens Correction" + ] + ], + "Blur::A noun", + [ + "Average::Average filter - fills the image with an average color", + "Blur:: A verb", + "Blur More", + "Box Blur", + "Gaussian Blur", + "Lens Blur", + "Motion Blur", + "Radial Blur", + "Shape Blur", + "Smart Blur", + "Surface Blur" + ], + "Distort", + [ + "Displace::Filter: move parts of image according to the brightness from another image", + "Pinch::Blow or shring around the center", + "Polar Coordinates", + "Ripple::Add tiny waves to the image", + "Shear", + "Spherize", + "Wave" + ], + "Noise::Filetr => Noise", + [ + "Add Noise", + "Despeckle", + "Dust & Scratches", + "Median" + ], + "Pixelate", + [ + "Color Halftone", + "Crystallize", + "Facet", + "Fragment", + "Mezzotint", + "Mosaic", + "Pointillize" + ], + "Render", + [ + "Clouds", + "Difference Clouds", + "Lens Flare" + ], + "Sharpen", + [ + "Sharpen", + "Sharpen Edges", + "Sharpen More", + "Smart Sharpen", + "Unsharp Mask" + ], + "Stylize", + [ + "Diffuse", + "Emboss", + "Extrude", + "Find Edges", + "Oil Paint" + ], + "Other", + [ + "Custom::A Custom kernel of the convolution", + "High Pass", + "Maximum", + "Minimum", + "Offset::Filter: shift the image horizontally and vertically", + "Repeat::Filter: Repeat the image many times" + ], + [ + "Undefined Area", + "Set to Transparent", + "Repeat Edge Pixels", + "Wrap Around", + "Last Filter", + "Preview" + ] + ], + [ + "Templates", + [ + "Font Filter", + "Keywords", + "Randomize" + ], + [ + "With Symbols", + "With Photo" + ], + [ + "Thumbnails", + "List" + ] + ] + ], + [ + [ + "Soubor", + "Úpravy", + "Obraz", + "Vrstva", + "Složka", + "Výběr", + "Filtr", + "Zobrazení", + "Okno", + "Jazyk", + "Přihlášení", + "Odhlášení", + "Přeložit", + [ + "Účet", + "Podmínky služby", + "Zpět", + "O programu", + "Nahlas chybu", + "Nauč se" + ], + "Více", + "Motiv vzhledu", + "Použít WebGL", + [ + "Photopea: pokročilý grafický editor", + "Bezplatný online editor podporující formáty PSD, XCF, Sketch, XD, CDR a další.", + "Vytvořte nový obrázek nebo otevřete existující soubory z počítače. Uložte práci jako PSD (Soubor - Uložit jako PSD) nebo jako JPG / PNG / SVG (Soubor - Uložit jako).", + "Navrhněte nové funkce na našem nebo . Naším cílem je vytvořit .", + "Odkazy sponzorů se otevřou v novém okně.", + "Tato funkce není dostupná.", + "Nainstalovat Photopea" + ] + ], + [ + "Otevřít", + "Zveřejnit online", + "Uložit", + "Uložit jako PSD", + "Tisk", + "Otevřít z URL", + "Otevřít z počítače", + "Spojit s Google Drive", + "Uložit jako", + "Exportovat vrstvy", + "Skript", + "Otevřít a Umístit", + "Zavřít", + "Místní Úložiště", + "O Souboru" + ], + [ + "Krok vpřed", + "Krok zpět", + "Vyčistit", + "Vyplnit", + "Transformace", + "Natočit", + "Překlopit VAR0", + "Roztáhnout VAR0", + "Vpřed / Zpět", + "Perspektivní", + [ + "Automaticky prolnout", + "Automaticky zarovnat" + ], + "Zeslabit", + "Aplikovat Obraz" + ], + "Úpravy", + [ + "Jas/Kontrast", + "Úrovně", + "Křivky", + "Expozice", + "Živost", + "Odstín/Sytost", + "Vyvážení barev", + "Černobílé", + "Fotografický filtr", + "Míchání kanálů", + "Vyhledání Barev", + "Invertovat", + "Posterizovat", + "Práh", + "Mapa na přechod", + "Selektivní barva", + [ + "Auto Tón", + "Auto Kontrast", + "Auto Barvy" + ], + "Nahradit barvu" + ], + [ + "Vyjmout", + "Kopírovat", + "Vložit", + "Nový", + "Smazat", + "Zapnout", + "Vypnout", + "Kopírovat z celku", + "Aplikovat", + "Znovu", + "Obnovit" + ], + [ + "Duplikovat vrstvu", + "Nová vrstva úprav", + "Rastrová maska", + "Vektorová maska", + "Přidat (zobrazit vše)", + [ + "Přidat (skrýt vše)", + "Odhalit Výběr", + "Skrýt Výběr", + "Podle Průhlednosti" + ], + [ + "Maska Ořezu", + "Režim Rychlá Maska" + ], + "Převést na Smart Object", + "Rastrovat", + "Seskupit vrstvy", + "Sloučit dolů", + "Sloučit nahoru", + [ + "Sloučit vrstvy", + "Sloučit Vše" + ], + "Nová vrstva", + "Zapnout rastrovou masku", + "Vypnout rastrovou masku", + "Zapnout vektorovou masku", + "Vypnout vektorovou masku", + "Zapnout ořezovou masku", + "Vypnout ořezovou masku", + "Nová složka", + "Přidat rastrovou masku", + "Smazat rastrovou masku", + "Přidat vektorovou masku", + "Smazat vektorovou masku", + "Připojit rastrovou masku", + "Odpojit rastrovou masku", + "Připojit vektorovou masku", + "Odpojit vektorovou masku", + "Zapnout efekty vrstvy", + "Vypnout efekty vrstvy", + "Smazat vrstvu", + "Změna průhlednost vrstvy", + "Změna režimu prolnutí", + "Rastrovat styl vrstvy", + "Pořadí vrstev", + [ + "Vytváření Smart Object", + "Aktualizace Smart Object", + "Vkládání Smart Object", + "Zdroj (Smart Object)", + "Režim balíčku" + ], + "Změna názvu", + "Změna barvy", + "Změna vrstvy úprav", + "Převést na tvar", + "Zapnout masku filtrů", + "Vypnout masku filtrů", + "Zapnout chytré filtry", + "Vypnout chytré filtry", + "Přidat masku filtrů", + "Smazat masku filtrů", + "Smazat chytré filtry", + [ + [ + "Vyplnění jednolitou barvou", + "Vyplnění přechodem", + "Vyplnění vzorkem", + "Podle Obsahu" + ], + "Nová krycí vrstva", + "Úprava krycí vrstvy" + ], + "Vrstva zkopírováním", + "Maska filtru", + "Smazat styl vrstvy", + "Přesun smart filtru", + "Smazat smart filtr", + [ + "Propojit vrstvy", + "Zrušit propojení vrstev" + ], + "Uspořádat", + [ + "Poslat na Začátek", + "Poslat Dopředu", + "Poslat Dozadu", + "Poslat na Konec" + ], + [ + "Vrstva je Zamčená.", + "Změna Zámku", + "Zamkni" + ], + "Animace" + ], + [ + "Vše", + "Odznačit", + "Invertovat", + "Upravit", + "Rozšířit", + "Zúžit", + "Změkčit okraj", + "Posunout výběr", + "Barevný rozsah", + "Okraj", + "Transformovat výběr", + "Zpřesnit okraje", + "Opravit výběr", + "Kouzelný Ořez" + ], + [ + "Přiblížit", + "Oddálit", + "Vodítka", + "Pravítka", + "Mřížka", + "Přichytávat", + "Přichytávat k", + "Okraj dokumentu", + "Pixelová mřížka", + "Cesty", + "Přichytávat k pixelům", + [ + "Řezy", + "Parametry Řezu" + ], + "Zobrazit" + ], + [ + "Historie", + "Vrstvy", + "Vlastnosti", + "Štětec", + "Znak", + "Odstavec", + "Info", + "Kompozice", + "Vzorky", + "Akce", + "Histogram", + "Navigátor", + "Konfigurace Nástroje", + "Znaky" + ], + [ + "Štětec", + "Klonovací razítko", + "Ořez", + "Guma", + "Eliptický výběr", + "Kapátko", + "Přechod", + "Ručička", + "Vodorovný text", + "Laso", + "Magnetické laso", + "Přesun", + "Kouzelná hůlka", + "Kyblík barvy", + "Mnohoúhelníkové laso", + "Obdélníkový výběr", + "Volná transformace", + "Lupa", + "Rozostření", + "Zostření", + "Rozmazání", + "Zesvětlení", + "Ztmavení", + "Houba", + "potřísnění", + "Retušovací štětec", + "Záplata", + "Výběr cesty", + "Přímý výběr", + "Pero", + "Pero od ruky", + "Jiný tvar", + "Obdélník", + "Elipsa", + "Tvar s parametry", + "Čára", + "Pravítko", + "Rychlý výběr", + "Tužka", + "Perspektivní ořez", + "Nástroj řez", + "Nástroj výběr řezu", + "Nahradit Barvu", + "Červené oči", + "Výběr objektů", + "Mazání pozadí", + "Pokřivení Loutky", + "Natočit Obraz", + "Transformace s ohledem na obsah", + "Přesun podle obsahu" + ], + [ + "Vyfotit", + "Výběr barvy", + "Editor kontur", + "Velikost plátna", + "Duplikovat do…", + "Editor přechodu", + "Styl vrstvy", + "Nový projekt", + "Uložit pro web", + "Pokřivení", + "Velikost obrazu", + "Vektorizovat bitmapu", + [ + "Oříznout podle", + "Oříznout", + "Odhalit Vše" + ], + "Klávesové zkratky", + "Přidat Vodítka", + [ + "Odstranit vodítka", + "Vodítka podle vrstvy" + ] + ], + [ + "Krytí", + "Efekty", + "Jas", + [ + "Kontrast", + "Použít kompatibilitu" + ], + "Kanál", + "Expozice", + "Posun", + "Gama korekce", + "Odstín", + "Sytost", + "Světlost", + "Obarvit", + "Rozsah", + "Živost", + [ + "Velikost", + "Interpolace", + "Nejbližší soused", + "Bilineární" + ], + "Úhel", + "Zaoblení", + "Tvrdost", + "Mezery", + [ + "Režim prolnutí", + "Prolnout když" + ], + "Velikost vzorku", + "Kontura", + "Styl", + [ + "Otočit", + "Relativní", + "Ukotvit" + ], + "Tolerance", + "Souvislé", + "Výplň", + "Použít globální úhel", + "Vzdálenost", + "Rozšíření", + "Šum", + "Vyseknout vržený stín", + "Metoda", + "Směr", + "Hloubka", + "Změkčit", + "Režim", + "Přechod", + "Velikost", + "Zarovnat s vrstvou", + "Poloha", + "Šířka", + "Výška", + "Cíl", + "Typ", + "Popředí", + "Pozadí", + "Vlastní", + "Název", + "Vytvořit", + "Formát", + "Zachovat poměr stran", + [ + "Kvalita", + "Stránky" + ], + "Duplikovat", + "Přesun", + "Chytré filtry", + "Poloměr", + "Míra", + "Distribuce", + [ + "Rovnoměrná", + "Gaussovská" + ], + "Monochromatický", + "Velikost buňky", + "Vzorek", + "Hustota", + "Síla", + "Zachovat detaily", + "Typ výplně", + "Textura", + "Šum", + "Hrana", + "Zdroj", + "Cíl", + "Kanály", + "Maska", + "Hustota", + "Zarovnaný", + [ + "Cesta", + "Tvar", + "Pixely", + "Palce", + "Centimetry", + "Milimetry", + "Procenta" + ], + "Tvary", + "Strany", + "Předvolby", + [ + "Délka", + "Poměr", + "Libovolný", + "Typ mřížky", + "Isometrický", + "Velikost mřížky", + "Jednotky pravítek" + ], + "Redukovat šum", + "Barvy", + "Vzdálenosti", + "Míra", + "Auto-výběr", + "Najít", + "Definovat nový", + [ + "Foto", + "Obrazovka", + "Mobil", + "Reklamy", + "Tisk" + ], + [ + "Volný", + "Pevný poměr", + "Pevná velikost" + ], + "Nápověda", + [ + "Živý Tvar", + "Úprava Živého Tvaru", + "Stejné Poloměry" + ], + "Rozmazanost", + [ + "Mnohoúhelník", + "Hvězda", + "Spirála", + "Čtverec" + ], + [ + "Poloměr Rohů", + "Vnitřní Poloměr" + ] + ], + [ + "Barva", + [ + "Žádná", + "Červená", + "Oranžová", + "Žlutá", + "Zelená", + "Modrá", + "Fialová", + "Šedá", + "Bílá", + "Průhledná", + "Černá", + "Azurová", + "Purpurová", + "Neutrální" + ], + "Celkem", + "Absolutní", + "Zachovat světlost" + ], + [ + "Vržený stín", + "Vnitřní stín", + "Vnější záře", + "Vnitřní záře", + "Úkos a reliéf", + "Překrytí barvou", + "Překrytí přechodem", + "Překrytí vzorkem", + "Satén", + "Vytažení", + "Možnosti prolnutí", + "Vybrat Pixely" + ], + [ + "Tvar špičky", + "Dynamika špičky", + "Rozptyl", + "Dynamika barvy", + [ + "Kolísání velikosti", + "Minimální průměr", + "Kolísání úhlu", + "Kolísání zaoblení", + "Minimální zaoblení" + ], + [ + "Rozptyl polohy", + "Počet", + "Kolísání počtu" + ], + [ + "Kolísání popředí/pozadí", + "Kolísání odstínu", + "Kolísání sytosti", + "Kolísání jasu" + ], + [ + "Zvolte zdroj klonování přidržením Alt a kliknutím do obrazu.", + "Označte popředí Bílou, pozadí Černou a neznámou oblast Šedou.", + "Vrstvu nelze upravovat.", + "Textovou vrstvu je nejprve třeba rasterizovat", + "Smart Object je nejprve třeba rasterizovat", + "Vyberte několik vrstev", + "Vyrovnat Vrstvu", + "Nejdříve otevřete dokument.", + "Nejdříve zavřete aktuální okno.", + "Jen současný nástroj" + ], + [ + "Nahrát", + "Nová skupina akci", + "Nová akce" + ], + [ + "Přítlak pera mění Průhlednost", + "Přítlak pera mění hrúbku" + ], + [ + "Normální", + "Rozpustit", + "Ztmavit", + "Násobit", + "Ztmavit barvy", + "Lineárně ztmavit", + "Tmavší barva", + "Zesvětlit", + "Závoj", + "Zesvětlit barvy", + "Lineárně zesvětlit", + "Světlejší barva", + "Překrýt", + "Měkké světlo", + "Tvrdé světlo", + "Jasné světlo", + "Lineární světlo", + "Bodové světlo", + "Tvrdé míchání", + "Rozdíl", + "Vyloučit", + "Odečíst", + "Rozdělit", + "Odstín", + "Sytost", + "Barva", + "Světlost", + "Projít skrz" + ] + ], + [ + "Proklad", + "Prostrkání", + "Posun účaří", + [ + "Převést na Bodový text", + "Převést na Odstavcový text" + ] + ], + [ + "Všechny vrstvy", + "Stávající vrstva", + "Výběr", + "Vrstva a ty pod ní" + ], + [ + "Nahradit", + "Spojit", + "Odečtení", + "Průnik", + "XOR", + "Spojit" + ], + [ + [ + "Lineární", + "Kruhový", + "Úhlový", + "Zrcadlený", + "Diamant", + "Podle tvaru" + ], + [ + "Měkčí", + "Přesná" + ], + [ + "Vnější úkos", + "Vnitřní úkos", + "Reliéf", + "Poduškový reliéf", + "Reliéfní tah", + "Tloušťka vytažení" + ], + [ + "Vyhladit", + "Tvrdá", + "Měkká", + "Hladkost" + ], + [ + "Nahoru", + "Dolů" + ], + [ + "Vně", + "Na střed", + "Uvnitř", + "Ze Středu" + ], + [ + "Stíny", + "Střední tóny", + "Světla" + ], + [ + "Snížit Sytost", + "Zvýšit Sytost" + ], + [ + "Malý", + "Střední", + "Velký" + ], + [ + "Zakončení", + "Rohy", + "Čárky" + ] + ], + [ + "Vybrat objekt pod kurzorem", + "Ovládací prvky transformace", + "Skutečné pixely", + "Přizpůsobit obrazovce", + [ + "Zarovnat levé hrany", + "Vodorovně na střed", + "Zarovnat pravé hrany", + "Zarovnat horní hrany", + "Svisle na střed", + "Zarovnat spodní hrany", + "Stejné mezery" + ] + ], + [ + "Vložit do", + "Současný projekt", + "Nový projekt", + "Rozlišení", + "Přidáno do současného projektu.", + "Nový projekt vytvořen.", + "Nepovolen přístup ke kameře." + ], + [ + "Orientace", + "Prohnutí", + "Vodorovná deformace", + "Svislá deformace", + [ + "Vodorovně", + "Svisle", + "Vodorovně", + "Svisle" + ], + [ + "Žádné", + "Oblouk", + "Dolní oblouk", + "Horní oblouk", + "Klenba", + "Vyboulení", + "Mušle dolů", + "Mušle nahoru", + "Vlajka", + "Vlna", + "Ryba", + "Vyvýšení", + "Rybí oko", + "Nafouknutí", + "Zmáčknutí", + "Zkroucení", + "Vlastní" + ], + [ + "Písmo", + "není dostupný", + "Pro vykreslení se použije", + "Máte neuloženou práci v", + "Opravdu to chcete zavřít?" + ], + [ + "Prohodit barvy", + "Základní: černobílá" + ] + ], + [ + "načten", + "přidány", + "Posun vodítka", + "Smazání vodítka", + "Přidání vodítka", + "Načítání", + "Načíst VAR0" + ], + [ + "Galerie filtrů", + [ + [ + "Zkapalnit", + [ + "Rozmazat", + "Obnovit", + "Vyhladit", + "Zatočit", + "Smrsknout", + "Nafouknout", + "Posun doleva", + "Zmrazit", + "Rozmrazit" + ] + ], + [ + "Korekce Čočky Objektivu" + ] + ], + "Rozostření", + [ + "Průměr", + "Rozostřit", + "Rozostřit více", + "Hranolové rozostření", + "Gaussovské rozostření", + "Rozostření čočkou", + "Rozostření pohybem", + "Kruhové rozostření", + "Rozostření tvarem", + "Chytré rozostření", + "Rozostření povrchu" + ], + "Zkreslení", + [ + "Pokřivit", + "Štípnout", + "Polární Souřadnice", + "Zvlnit", + "Střihnout", + "Zakulatit", + "Vlna" + ], + "Šum", + [ + "Přidat šum", + "Vyhladit", + "Prach a škrábance", + "Medián" + ], + "Pixelizace", + [ + "Barevné půltónování", + "Krystalizace", + "Faseta", + "Fragment", + "Mezzotinta", + "Mozaika", + "Vytečkovat" + ], + "Vykreslit", + [ + "Mraky", + "Mraky: Rozdíl", + "Odlesk Objektivu" + ], + "Zaostřit", + [ + "Zaostřit", + "Zaostřit hrany", + "Zaostřit více", + "Chytré zaostření", + "Maska zaostření" + ], + "Stylizace", + [ + "Difúze", + "Reliéf", + "Vytáhnout", + "Najít hrany", + "Olejová Malba" + ], + "Ostatní", + [ + "Vlastní", + "Výšky", + "Maximum", + "Minimum", + "Posun", + "Opakovat" + ], + [ + "Oblast okolo", + "Zprůhlednit", + "Zopakovat pixely na hraně", + "Zopakovat obrázek", + "Poslední Filtr", + "Náhled" + ] + ], + [ + "Šablony", + [ + "Filtr Písma", + "Klíčová slova", + "Zamíchat" + ], + [ + "Se symboly", + "S fotkou" + ], + [ + "Miniatury", + "Seznam" + ] + ] + ], + [ + [ + "Archivo", + "Editar", + "Imagen", + "Capa", + "Carpeta", + "Seleccionar", + "Filtro", + "Visualizar", + "Ventana", + "Idioma", + "Iniciar sesión", + "Cerrar sesión", + "Crear traducción", + [ + "Cuenta", + "Términos del Servicio", + "Atrás", + "Acerca de", + "Reportar un error", + "Aprender" + ], + "Más", + "Tema", + "Usar WebGL", + [ + "Photopea: Editor Avanzado de Imágenes", + "Editor en línea gratuito que admite formatos PSD, XCF, Sketch, XD y CDR.", + "Crea una nueva imagen o abre archivos existentes desde tu computadora. Guarde tu trabajo como PSD (Archivo - Guardar como PSD) o como JPG / PNG / SVG (Archivo - Exportar como).", + "Sugiere nuevas funciones en nuestro o . Nuestro objetivo es crear .", + "Enlaces de los patrocinadores se abren en una nueva ventana.", + "Esta característica no está disponible.", + "Instalar Photopea" + ] + ], + [ + "Abrir", + "Publicar en línea", + "Guardar", + "Guardar como PSD", + "Imprimir", + "Abrir desde URL", + "Abrir desde computadora", + "Conectar con Google Drive", + "Exportar como", + "Exportar Capas", + "Script", + "Abrir y Colocar", + "Cerrar", + "Almacenamiento Local", + "Informarción del archivo" + ], + [ + "Paso Adelante", + "Paso Atrás", + "Limpiar", + "Rellenar", + "Transformar", + "Rotar", + "Voltear VAR0", + "Escalar VAR0", + "Deshacer / Rehacer", + "Perspectiva", + [ + "Fusionar automáticamente", + "Alinear automáticamente" + ], + "Transición", + "Aplicar imagen" + ], + "Ajustes", + [ + "Brillo/Contraste", + "Niveles", + "Curvas", + "Exposición", + "Intensidad de color", + "Tono/Saturación", + "Balance de Color", + "Blanco y Negro", + "Filtro de Foto", + "Mezclador de Canales", + "Búsqueda de Color", + "Invertir", + "Posterizar", + "Umbral", + "Mapa de degradado", + "Color Selectivo", + [ + "Tono Automático", + "Contraste Automático", + "Color Automático" + ], + "Reemplazar Color" + ], + [ + "Cortar", + "Copiar", + "Pegar", + "Nuevo", + "Eliminar", + "Activar", + "Desactivar", + "Copiar combinado", + "Aplicar", + "Otra vez", + "Actualizar" + ], + [ + "Duplicar capa", + "Nueva capa de ajuste", + "Máscara ráster", + "Máscara vectorial", + "Añadir (Mostrar todo)", + [ + "Añadir (Ocultar todo)", + "Descubrir selección", + "Ocultar selección", + "A partir de transparencia" + ], + [ + "Máscara de recorte", + "Máscara rápida" + ], + "Convertir a Objeto Inteligente", + "Rasterizar", + "Agrupar capas", + "Combinar hacia abajo", + "Combinar hacia arriba", + [ + "Combinar capas", + "Acoplar imagen" + ], + "Nueva capa", + "Activar máscara ráster", + "Desactivar máscara ráster", + "Activar máscara vectorial", + "Desactivar máscara vectorial", + "Activar máscara de recorte", + "Desactivar máscara de recorte", + "Nueva carpeta", + "Añadir máscara ráster", + "Eliminar máscara ráster", + "Añadir máscara vectorial", + "Eliminar máscara vectorial", + "Enlazar máscara ráster", + "Desenlazar máscara ráster", + "Enlazar máscara vectorial", + "Desenlazar máscara vectorial", + "Activar efectos de capa", + "Desactivar efectos de capa", + "Eliminar capa", + "Cambio de opacidad de capa", + "Cambio de modo de fusión", + "Rasterizar el estilo de capa", + "Orden de capas", + [ + "Crear Objeto Inteligente", + "Actualizar Objeto Inteligente", + "Colocar Objeto Inteligente", + "Fuente (Objeto Inteligente)", + "Modo de apilamiento" + ], + "Cambio de nombre", + "Cambio de color", + "Editar capa de ajuste", + "Convertir a figura", + "Activar máscara de filtro", + "Desactivar máscara de filtro", + "Activar filtros inteligentes", + "Desactivar filtros inteligentes", + "Añadir máscara de filtro", + "Eliminar máscara de filtro", + "Limpiar filtros inteligentes", + [ + [ + "Relleno de color sólido", + "Relleno de degradado", + "Relleno de patrón", + "Según el contenido" + ], + "Nueva capa de relleno", + "Modificar la capa de relleno" + ], + "Capa a través de la copia", + "Máscara de filtro", + "Eliminar estilo de capa", + "Mover filtro inteligente", + "Eliminar filtro inteligente", + [ + "Enlazar capas", + "Desenlazar capas" + ], + "Organizar", + [ + "Traer al frente", + "Hacia delante", + "Hacia atrás", + "Enviar detrás" + ], + [ + "Esta capa está bloqueada.", + "Cambio de bloqueo", + "Bloquear" + ], + "Animación" + ], + [ + "Todo", + "Deseleccionar", + "Invertir", + "Modificar", + "Expandir", + "Contraer", + "Calar", + "Mover selección", + "Gama de colores", + "Borde", + "Transformar selección", + "Perfeccionar borde", + "Sanar selección", + "Corte mágico" + ], + [ + "Aumentar", + "Reducir", + "Guías", + "Reglas", + "Cuadrícula", + "Pegarse", + "Pegarse a", + "Límites de documentos", + "Cuadrícula de píxeles", + "Trazados", + "Pegarse a píxeles", + [ + "Sectores", + "Opciones de sector" + ], + "Mostrar" + ], + [ + "Historial", + "Capas", + "Propiedades", + "Pincel", + "Carácter", + "Párrafo", + "Info", + "Composiciones de capas", + "Muestras", + "Acciones", + "Histograma", + "Navegador", + "Herramientas preestablecidas", + "Glifos" + ], + [ + "Herramienta Pincel", + "Clonar", + "Recortar", + "Borrador", + "Selección elíptica", + "Gotero", + "Degradado", + "Herramienta Mano", + "Texto", + "Selección de lazo", + "Selección de lazo magnético", + "Mover", + "Varita mágica", + "Bote de pintura", + "Selección de lazo poligonal", + "Selección rectangular", + "Transformación libre", + "Herramienta Zoom", + "Herramienta de desenfoque", + "Sacapuntas", + "Herramienta de borrado", + "Herramienta de esquivado", + "Herramienta de grabación", + "Herramienta Esponja", + "Pincel corrector de punto", + "Pincel corrector", + "Herramienta Parche", + "Selección de trazado", + "Selección directa", + "Pluma", + "Pluma libre", + "Forma personalizada", + "Rectangulo", + "Elipse", + "Forma paramétrica", + "Línea", + "Regla", + "Selección rápida", + "Herramienta Lápiz", + "Recorte con perspectiva", + "Sector", + "Seleccionar sector", + "Sustitución de color", + "Pincel de ojos rojos", + "Selección de objeto", + "Borrador de fondos", + "Deformación de posición libre", + "Rotar vista", + "Escala según el contenido", + "Herramienta Movimiento con detección de contenido" + ], + [ + "Tomar una foto", + "Elegir color", + "Editor de contorno", + "Tamaño de lienzo", + "Duplicar en …", + "Editor de degradado", + "Estilo de capa", + "Nuevo proyecto", + "Guardar para web", + "Deformar", + "Tamaño de la imagen", + "Vectorizar mapa de bits", + [ + "Cortar", + "Recortar", + "Mostrar todo" + ], + "Atajos de teclado", + "Añadir guías", + [ + "Borrar guías", + "Guías de capa" + ] + ], + [ + "Opacidad", + "Efectos", + "Brillo", + [ + "Contraste", + "Usar heredado" + ], + "Canal", + "Exposición", + "Desplazamiento", + "Corrección gamma", + "Tono", + "Saturación", + "Luminosidad", + "Colorear", + "Rango", + "Vibración", + [ + "Tamaño", + "Interpolación", + "Por aproximación", + "Bilineal" + ], + "Ángulo", + "Redondez", + "Dureza", + "Espaciar", + [ + "Modo de fusión", + "Fusionar si es" + ], + "Tamaño de muestra", + "Contorno", + "Estilo", + [ + "Revertir", + "Relativo", + "Ancla" + ], + "Tolerancia", + "Contiguo", + "Relleno", + "Usar ángulo global", + "Distancia", + "Dispersión", + "Ruido", + "Ocultar sombra paralela", + "Técnica", + "Dirección", + "Profundidad", + "Suavizar", + "Modo", + "Degradado", + "Escalar", + "Alinear con capa", + "Posición", + "⬌ Ancho", + "⬍ Alto", + "Destinación", + "Tipo", + "Primer plano", + "Fondo", + "Personalizado", + "Nombre", + "Crear", + "Formato", + "Mantener relación de aspecto", + [ + "Calidad", + "Páginas" + ], + "Duplicar", + "Mover", + "Filtros inteligentes", + "Radio", + "Cantidad", + "Distribución", + [ + "Uniforme", + "Desenfoque gaussiano" + ], + "Monocromático", + "Tamaño de la celda", + "Motivo", + "Flujo", + "Fuerza", + "Proteger detalle", + "Tipo de relleno", + "Textura", + "Variación", + "Borde", + "Fuente", + "Destino", + "Canales", + "Máscara", + "Densidad", + "Alineado", + [ + "Trazado", + "Forma", + "Píxeles", + "Pulgada", + "Centímetros", + "Milímetros", + "Porcentaje" + ], + "Formas", + "Lados", + "Preferencias", + [ + "Longitud", + "Proporción", + "Cualquiera", + "Tipo de cuadrícula", + "Isometrico", + "Espaciado de cuadrícula", + "Unidad de regla" + ], + "Reducir ruido", + "Colores", + "Distancias", + "Velocidad", + "Seleccion automatica", + "Buscar", + "Definir nuevo", + [ + "Foto", + "Pantalla", + "Móvil", + "Anuncios", + "Impresión" + ], + [ + "Liberar", + "Proporcion fija", + "Tamaño fijo" + ], + "Ayuda", + [ + "Forma dinamica", + "Editar forma dinamica", + "Mismo radio" + ], + "Tolerancia", + [ + "Polígono", + "Estrella", + "Espiral", + "Cuadrado" + ], + [ + "Radio de esquina", + "Radio interior" + ] + ], + [ + "Color", + [ + "Ninguno", + "Rojo", + "Naranja", + "Amarillo", + "Verde", + "Azul", + "Violeta", + "Gris", + "Blanco", + "Transparente", + "Negro", + "Cian", + "Magenta", + "Neutro" + ], + "Total", + "Absoluto", + "Conservar luminosidad" + ], + [ + "Sombra paralela", + "Sombra interior", + "Resplandor exterior", + "Resplandor interior", + "Bisel y relieve", + "Superposición de colores", + "Superposición de degradado", + "Superposición de motivo", + "Satinar", + "Contorno", + "Opciones de fusión", + "Seleccionar píxeles" + ], + [ + "Forma de la punta", + "Dinámica de punta", + "Dispersión", + "Dinámica de color", + [ + "Variación del tamaño", + "Diámetro Mínimo", + "Variación del ángulo", + "Variación de la redondez", + "Redondez Mínima" + ], + [ + "Variación de la posición", + "Cuenta", + "Variación de la cuenta" + ], + [ + "Variación frontal/de fondo", + "Variación del tono", + "Variación de la saturación", + "Variación del brillo" + ], + [ + "Selecciona la fuente de clonado manteniendo Alt (o K) y dando clic sobre la imagen", + "Marcar el area de enfrente como blanca, la del fondo como negra y el area desconocida como gris", + "Esta capa no es editable", + "Hay que rasterizar la capa de texto antes", + "Hay que rasterizar el objeto inteligente antes", + "Seleccionar múltiples capas", + "Enderezar la capa", + "Abra un documento primero.", + "Cierre la ventana actual primero.", + "Solo herramienta actual" + ], + [ + "Grabar", + "Nuevo conjunto de acciones", + "Nueva accion" + ], + [ + "La presión de stylus controla la opacidad", + "La presión de stylus controla el tamaño" + ], + [ + "Normal", + "Disolver", + "Oscurecer", + "Multiplicar", + "Subexponer color", + "Subexposición lineal", + "Color más oscuro", + "Aclarar", + "Trama", + "Sobreexponer color", + "Sobreexposición lineal", + "Color más claro", + "Superponer", + "Luz suave", + "Luz fuerte", + "Luz intensa", + "Luz lineal", + "Luz focal", + "Mezcla definida", + "Diferencia", + "Exclusión", + "Restar", + "Dividir", + "Tono", + "Saturación", + "Color", + "Luminosidad", + "Pass Through" + ] + ], + [ + "Interlineado", + "Rastrear", + "Desplazamiento vertical", + [ + "Convertir a escritura de caracteres", + "Convertir a escritura de párrafo" + ] + ], + [ + "Todas las capas", + "Capa actual", + "Selección", + "Actual y anteriores" + ], + [ + "Reemplazar", + "Unión", + "Diferencia", + "Intersecar", + "Excluir", + "Combinar" + ], + [ + [ + "Lineal", + "Radial", + "Ángulo", + "Reflejado", + "Diamante", + "Explosión de forma" + ], + [ + "Más suave", + "Precisar" + ], + [ + "Bisel Externo", + "Bisel Interno", + "Relieve", + "Relieve tipo Almohada", + "Relieve del Trazo", + "Anchura de trazo" + ], + [ + "Suavizar", + "Cincel Duro", + "Cincel Suave", + "Suavizado" + ], + [ + "Arriba", + "Abajo" + ], + [ + "Afuera", + "Centrado", + "Adentro", + "Desde el centro" + ], + [ + "Sombras", + "Tonos medios", + "Altas luces" + ], + [ + "Desaturar", + "Saturar" + ], + [ + "Pequeño", + "Mediano", + "Largo" + ], + [ + "Tapas", + "Esquinas", + "Guiones" + ] + ], + [ + "Selecciona el objeto bajo el cursor", + "Controles de transformación", + "Píxel por píxel", + "Ajustar al área", + [ + "Alinear bordes izquierdos", + "Centrar horizontalmente", + "Alinear bordes derechos", + "Alinear bordes superiores", + "Centrar verticalmente", + "Alinear bordes inferiores", + "Mismo espaciado" + ] + ], + [ + "Insertar en", + "Proyecto actual", + "Nuevo proyecto", + "Resolución", + "Añadido al proyecto actual.", + "Se ha creado un nuevo proyecto.", + "El acceso a la cámara fue denegado." + ], + [ + "Orientación", + "Curvar", + "Distorsión horizontal", + "Distorsión vertical", + [ + "Horizontal", + "Vertical", + "horizontalmente", + "verticalmente" + ], + [ + "Ninguno", + "Arco", + "Arco Inferior", + "Arco Superior", + "Bóveda", + "Abombar", + "Caparazón hacia abajo", + "Caparazón hacia arriba", + "Bandera", + "Onda", + "Pez", + "Elevar", + "Ojo de pez", + "Inflar", + "Estrechar", + "Torcer", + "Personalizado" + ], + [ + "Fuente", + "no está disponible", + "Se renderizará utilizando", + "Hay trabajo no guardado en", + "¿Realmente quieres cerrarlo?" + ], + [ + "Intercambiar Colores", + "Predefinido: Blanco y Negro" + ] + ], + [ + "cargado", + "agregado", + "Mover Guía", + "Eliminar guía", + "Añadir guía", + "Cargando", + "Cargar VAR0" + ], + [ + "Galería de filtros", + [ + [ + "Licuar", + [ + "Manchar", + "Reconstruir", + "Suavizar", + "Molinete", + "Achicar", + "Expandir", + "Empurrar para a Esquerda", + "Congelar", + "Descongelar" + ] + ], + [ + "Corrección del lente" + ] + ], + "Desenfoque", + [ + "Promediar", + "Desenfocar", + "Desenfocar más", + "Desenfoque de rectángulo", + "Desenfoque Gaussiano", + "Desenfoque de lente", + "Desenfoque de movimiento", + "Desenfoque radial", + "Desenfoque de forma", + "Desenfoque suavizado", + "Desenfoque de superficie" + ], + "Filtros de distorsión", + [ + "Desplazar", + "Encoger", + "Coordenadas polares", + "Rizo", + "Distorsionar", + "Esferizar", + "Onda" + ], + "Filtros de ruido", + [ + "Añadir ruido", + "ARICHIVOS", + "Polvo y Rascaduras", + "Mediana" + ], + "Filtros para pixelizar", + [ + "Medios tonos de color", + "Cristalizar", + "Faceta", + "Fragmentos", + "Grabado mezzotinto", + "Mosaico", + "Puntillismo" + ], + "Hacer", + [ + "Nubes", + "Nubes de diferencia", + "Destello" + ], + "Filtros de enfoque", + [ + "Afilar", + "Agudizar los bordes", + "Afilar más", + "Afilado inteligente", + null + ], + "Estilizar", + [ + "Difusión", + "Realzar", + "Extrusión", + "Encontrar bordes", + "Pintura al óleo" + ], + "Otros filtros", + [ + "Personalizado", + "Paso alto", + "Máximo", + "Mínimo", + "Compensar", + "Repetir" + ], + [ + "Área indefinida", + "Establecer como transparente", + "Repita los píxeles de los bordes", + "Envolver alrededor", + "Último filtro", + "Previsualizar" + ] + ], + [ + "Plantillas", + [ + "Filtro de fuente", + "Palabras clave", + "Aleatorizar" + ], + [ + "Con símbolos", + "Con foto" + ], + [ + "Miniaturas", + "Lista" + ] + ] + ], + [ + [ + "Datei", + "Bearbeiten", + "Bild", + "Ebene", + "Ordner", + "Auswahl", + "Filter", + "Ansicht", + "Fenster", + "Sprache", + "Anmelden", + "Abmelden", + "Übersetzung erstellen", + [ + "Konto", + "Nutzungsbedingungen", + "Zurück", + "Über", + "Fehler melden", + "Lernen" + ], + "Mehr", + "Farbschema", + "WebGL verwenden", + [ + "Photopea: Fortschrittliche Bildbearbeitung", + "Kostenloses Online-Bildbearbeitungsprogramm mit Unterstützung für PSD-, XCF-, Sketch-, XD- und CDR-Formate.", + "Erstellen Sie ein neues Bild oder öffnen Sie vorhandene Dateien von Ihrem Computer. Sichern Sie Ihre Arbeit als PSD (Datei - Speichern als PSD) oder als JPG / PNG / SVG (Datei - Exportieren als).", + "Vorschläge für neue Funktionen gerne über oder . Unser Ziel ist es, zu schaffen.", + "Sponsorenlinks werden in neuem Fenster geöffnet.", + "Diese Funktion ist nicht verfügbar.", + "Photopea installieren" + ] + ], + [ + "Öffnen", + "Online veröffentlichen", + "Speichern", + "Speichern als PSD", + "Drucken", + "Von URL öffnen", + "Vom Computer öffnen", + "Mit Google Drive verbinden", + "Exportieren als", + "Ebenen exportieren", + "Skripten", + "Öffnen & einfügen", + "Schließen", + "Lokaler Speicher", + "Datei-Informationen" + ], + [ + "Schritt vorwärts", + "Schritt rückwärts", + "Löschen", + "Füllen", + "Transformieren", + "Drehen", + "VAR0 spiegeln", + "VAR0 skalieren", + "Rückgängig / Wiederholen", + "Perspektive", + [ + "Automatisch überblenden", + "Automatisch ausrichten" + ], + "Verblassen", + "Bildberechnungen" + ], + "Anpassungen", + [ + "Helligkeit/Kontrast", + "Tonwertkorrektur", + "Gradationskurven", + "Belichtung", + "Dynamik", + "Farbton/Sättigung", + "Farbbalance", + "Schwarzweiß", + "Fotofilter", + "Kanalmixer", + "Farbfinder", + "Umkehren", + "Tontrennung", + "Schwellwert", + "Verlaufsumsetzung", + "Selektive Farbkorrektur", + [ + "Auto-Farbton", + "Auto-Kontrast", + "Auto-Farbe" + ], + "Farbe ersetzen" + ], + [ + "Ausschneiden", + "Kopieren", + "Einfügen", + "Neu", + "Löschen", + "Aktivieren", + "Deaktivieren", + "Vereint kopieren", + "Anwenden", + "Erneut", + "Aktualisieren" + ], + [ + "Ebene duplizieren", + "Neue Einstellungsebene", + "Rastermaske", + "Vektormaske", + "Hinzufügen (alle einblenden)", + [ + "Hinzufügen (alle ausblenden)", + "Auswahl einblenden", + "Auswahl ausblenden", + "Von Transparenz" + ], + [ + "Schnittmaske", + "Maskierungsmodus" + ], + "In Smartobjekt konvertieren", + "Rastern", + "Ebenen gruppieren", + "Abwärts vereinen", + "Aufwärts vereinen", + [ + "Ebenen vereinen", + "Auf Hintergrundebene reduzieren" + ], + "Neue Ebene", + "Rastermaske aktivieren", + "Rastermaske deaktivieren", + "Vektormaske aktivieren", + "Vektormaske deaktivieren", + "Schnittmaske aktivieren", + "Schnittmaske deaktivieren", + "Neuer Ordner", + "Rastermaske hinzufügen", + "Rastermaske entfernen", + "Vektormaske hinzufügen", + "Vektormaske entfernen", + "Rastermaske verbinden", + "Rastermaske trennen", + "Vektormaske verbinden", + "Vektormaske trennen", + "Ebeneneffekte aktivieren", + "Ebeneneffekte deaktivieren", + "Ebene löschen", + "Deckkraftänderung der Ebene", + "Mischmodus-Änderung", + "Ebenenstil rastern", + "Ebenenreihenfolge", + [ + "Smartobjekt erstellen", + "Smartobjekt aktualisieren", + "Smartobjekt platzieren", + "Quelle (Smartobjekt)", + "Stapelmodus" + ], + "Namensänderung", + "Farbänderung", + "Einstellungsebene bearbeiten", + "In Form umwandeln", + "Filtermaske aktivieren", + "Filtermaske deaktivieren", + "Smartfilter aktivieren", + "Smartfilter deaktivieren", + "Filtermaske hinzufügen", + "Filtermaske entfernen", + "Smartfilter löschen", + [ + [ + "Volltonfüllung", + "Verlaufsfüllung", + "Musterfüllung", + "Inhaltsbasiert" + ], + "Neue Füllebene", + "Füllebene verändern" + ], + "Ebene aus Kopie", + "Filtermaske", + "Ebenenstil löschen", + "Smartfilter verschieben", + "Smartfilter löschen", + [ + "Ebenen verbinden", + "Ebenenverbindung aufheben" + ], + "Anordnen", + [ + "In den Vordergrund", + "Schrittweise nach vorne", + "Schrittweise nach hinten", + "In den Hintergrund" + ], + [ + "Diese Ebene ist fixiert", + "Fixierungsänderung", + "Fixieren" + ], + "Animation" + ], + [ + "Alles", + "Auswahl aufheben", + "Umkehren", + "Auswahl verändern", + "Erweitern", + "Verkleinern", + "Weiche Kante", + "Auswahl verschieben", + "Farbbereich", + "Rand", + "Auswahl transformieren", + "Kante verbessern", + "Auswahl reparieren", + "Magic Cut" + ], + [ + "Einzoomen", + "Auszoomen", + "Hilfslinien", + "Lineale", + "Raster", + "Ausrichten", + "Ausrichten an", + "Dokumentbegrenzungen", + "Pixelraster", + "Pfade", + "An Pixeln ausrichten", + [ + "Slices", + "Slice-Optionen" + ], + "Einblenden" + ], + [ + "Protokoll", + "Ebenen", + "Eigenschaften", + "Pinsel", + "Zeichen", + "Absatz", + "Info", + "Ebenenkompositionen", + "Farbfelder", + "Aktionen", + "Histogramm", + "Navigator", + "Werkzeugvorgaben", + "Glyphen" + ], + [ + "Pinsel-Werkzeug", + "Kopierstempel-Werkzeug", + "Freisteller", + "Radiergummi", + "Ellipsen-Auswahl", + "Pipette", + "Verlaufswerkzeug", + "Hand-Werkzeug", + "Text-Werkzeug", + "Lasso-Auswahl", + "Magnetlasso-Auswahl", + "Verschieben-Werkzeug", + "Zauberstab-Werkzeug", + "Füllwerkzeug", + "Polygonlasso-Auswahl", + "Rechteck-Auswahl", + "Frei transformieren", + "Zoom-Werkzeug", + "Weichzeichner", + "Scharfzeichner", + "Wischfinger-Werkzeug", + "Abwedler", + "Nachbelichter", + "Schwamm-Werkzeug", + "Bereichsreparatur-Pinsel", + "Reparatur-Pinsel", + "Ausbessern-Werkzeug", + "Pfad-Auswahl", + "Direkt-Auswahl", + "Stift", + "Freihand-Stift", + "Eigene Form", + "Rechteck", + "Ellipse", + "Parametrische Form", + "Linie", + "Lineal", + "Schnell-Auswahl", + "Bleistift-Werkzeug", + "Perspektivischer Freisteller", + "Slice-Werkzeug", + "Slice-Auswahlwerkzeug", + "Farbe-ersetzen-Werkzeug", + "Rote-Augen-Werkzeug", + "Objektauswahl", + "Hintergrund-Radiergummi", + "Formgitter", + "Ansichtdrehung", + "Inhaltsbasiert skalieren", + "Inhaltsbasiert verschieben" + ], + [ + "Foto aufnehmen", + "Farbwähler", + "Konturen-Editor", + "Arbeitsfläche", + "Duplizieren in …", + "Verlaufseditor", + "Ebenenstil", + "Neues Projekt", + "Für Web speichern", + "Verkrümmen", + "Bildgröße", + "Bitmap vektorisieren", + [ + "Zuschneiden", + "Freistellen", + "Alle einblenden" + ], + "Tastaturkürzel", + "Hilfslinien hinzufügen", + [ + "Hilfslinien löschen", + "Hilfslinien aus Ebene" + ] + ], + [ + "Deckkraft", + "Effekte", + "Helligkeit", + [ + "Kontrast", + "Altes Verfahren verwenden" + ], + "Kanal", + "Belichtung", + "Versatz", + "Gammakorrektur", + "Farbton", + "Sättigung", + "Helligkeit", + "Färben", + "Bereich", + "Dynamik", + [ + "Größe", + "Interpolation", + "Pixelwiederholung", + "Bilinear" + ], + "Winkel", + "Rundheit", + "Härte", + "Abstand", + [ + "Modus", + "Farbbereich" + ], + "Aufnahmebereich", + "Kontur", + "Stil", + [ + "Umkehren", + "Relativ", + "Anker" + ], + "Toleranz", + "Benachbart", + "Füllung", + "Globaler Winkel", + "Distanz", + "Überfüllen", + "Rauschen", + "Schlagschatten aussparen", + "Technik", + "Richtung", + "Tiefe", + "Weichz.", + "Modus", + "Farbverlauf", + "Skalieren", + "An Ebene ausrichten", + "Position", + "Breite", + "Höhe", + "Ziel", + "Typ", + "Vordergrund", + "Hintergrund", + "Benutzerdefiniert", + "Name", + "Erstellen", + "Format", + "Seitenverhältnis beibehalten", + [ + "Qualität", + "Seiten" + ], + "Duplizieren", + "Verschiebung", + "Smartfilter", + "Radius", + "Stärke", + "Verteilung", + [ + "Gleichmäßig", + "Gauß" + ], + "Monochrom", + "Zellengröße", + "Muster", + "Fluss", + "Stärke", + "Detail schützen", + "Füllart", + "Stuktur", + "Jitter", + "Kante", + "Quelle", + "Ziel", + "Kanäle", + "Maske", + "Dichte", + "Ausgerichtet", + [ + "Pfad", + "Form", + "Pixel", + "Zoll", + "Zentimeter", + "Millimeter", + "Prozent" + ], + "Formen", + "Seiten", + "Einstellungen", + [ + "Länge", + "Verhältnis", + "Beliebig", + "Rasterart", + "Isometrisch", + "Rasterweite", + "Linealeinheiten" + ], + "Rauschen reduzieren", + "Farben", + "Distanzen", + "Geschwindigkeit", + "Auto-Auswahl", + "Suchen", + "Neu festlegen", + [ + "Foto", + "Bildschirm", + "Mobiltelefon", + "Online-Werbung", + "Druck" + ], + [ + "Normal", + "Festes Verhältnis", + "Feste Größe" + ], + "Hilfe", + [ + "Liveform", + "Liveform bearbeiten", + "Gleiche Radien" + ], + "Toleranz", + [ + "Polygon", + "Stern", + "Spirale", + "Quadratisch" + ], + [ + "Eckenradius", + "Innenradius" + ] + ], + [ + "Farbe", + [ + "Ohne", + "Rot", + "Orange", + "Gelb", + "Grün", + "Blau", + "Lila", + "Grau", + "Weiß", + "Transparent", + "Schwarz", + "Cyan", + "Magenta", + "Neutral" + ], + "Gesamt", + "Absolut", + "Luminanz erhalten" + ], + [ + "Schlagschatten", + "Schatten nach innen", + "Schein nach außen", + "Schein nach innen", + "Abgeflachte Kante und Relief", + "Farbüberlagerung", + "Verlaufsüberlagerung", + "Musterüberlagerung", + "Glanz", + "Kontur", + "Mischoptionen", + "Pixel auswählen" + ], + [ + "Spitzenform", + "Spitzendynamik", + "Streuung", + "Farbdynamik", + [ + "Größen-Jitter", + "Mindestdurchmesser", + "Winkel-Jitter", + "Rundheit-Jitter", + "Minimale Rundheit" + ], + [ + "Positions-Jitter", + "Anzahl", + "Anzahl-Jitter" + ], + [ + "Vorder-/Hintergrund-Jitter", + "Farbton-Jitter", + "Sättigungs-Jitter", + "Helligkeits-Jitter" + ], + [ + "Die zu klonende Quelle mit Alt (oder K) plus Klick auf das Bild auswählen.", + "Den Vordergrund mit Weiß, den Hintergrund mit Schwarz und die unbekannte Fläche mit Grau markieren.", + "Ebene ist nicht veränderbar.", + "Textebene muss zuerst gerastert werden.", + "Smartobjekt muss zuerst gerastert werden.", + "Bitte mehrere Ebenen auswählen", + "Ebene gerade ausrichten", + "Es ist noch kein Dokument geöffnet.", + "Das aktuelle Fenster muss zuerst geschlossen werden.", + "Nur aktuelles Werkzeug" + ], + [ + "Aufzeichnen", + "Neues Aktionsset", + "Neue Aktion" + ], + [ + "Stiftandruck steuert Deckkraft", + "Stiftandruck steuert Größe" + ], + [ + "Normal", + "Sprenkeln", + "Abdunkeln", + "Multiplizieren", + "Farbig nachbel.", + "Linear nachbel.", + "Dunklere Farbe", + "Aufhellen", + "Negativ multipl.", + "Farbig abwedeln", + "Linear abwedeln", + "Hellere Farbe", + "Überlagern", + "Weiches Licht", + "Hartes Licht", + "Strahlendes Licht", + "Lineares Licht", + "Lichtpunkt", + "Hart mischen", + "Differenz", + "Ausschluss", + "Subtrahieren", + "Dividieren", + "Farbton", + "Sättigung", + "Farbe", + "Luminanz", + "Hindurchwirken" + ] + ], + [ + "Zeilenabstand", + "Zeichenabstand", + "Grundlinienversatz", + [ + "In Punkttext konvertieren", + "In Absatztext konvertieren" + ] + ], + [ + "Alle Ebenen", + "Aktuelle Ebene", + "Auswahl", + "Aktuelle und darunter" + ], + [ + "Ersetzen", + "Vereinen", + "Subtrahieren", + "Schnittmenge", + "Ausschließen", + "Vereinen" + ], + [ + [ + "Linear", + "Radial", + "Winkel", + "Reflektiert", + "Raute", + "Shape Burst" + ], + [ + "Weicher", + "Präzise" + ], + [ + "Abgeflachte Kante außen", + "Abgeflachte Kante innen", + "Relief", + "Relief an allen Kanten", + "Reliefkontur", + "Konturstärke" + ], + [ + "Abrunden", + "Hart meißeln", + "Weich meißeln", + "Glättung" + ], + [ + "Nach oben", + "Nach unten" + ], + [ + "Außerhalb", + "Mittig", + "Innerhalb", + "Vom Mittelpunkt aus" + ], + [ + "Tiefen", + "Mitteltöne", + "Lichter" + ], + [ + "Sättigung verringern", + "Sättigung erhöhen" + ], + [ + "Klein", + "Mittel", + "Groß" + ], + [ + "Enden", + "Ecken", + "Striche" + ] + ], + [ + "Das Objekt unter dem Cursor auswählen", + "Transformationsstrg.", + "Pixel für Pixel", + "Ganzes Bild", + [ + "Linke Kanten ausrichten", + "Waagerecht zentrieren", + "Rechte Kanten ausrichten", + "Obere Kanten ausrichten", + "Senkrecht zentrieren", + "Untere Kanten ausrichten", + "Gleichmäßige Abstände" + ] + ], + [ + "Einfügen in", + "Aktuelles Projekt", + "Neues Projekt", + "Auflösung", + "Zum aktuellen Projekt hinzugefügt.", + "Ein neues Projekt wurde erstellt.", + "Der Zugriff auf die Kamera wurde verweigert." + ], + [ + "Ausrichtung", + "Biegung", + "Horizontale Verzerrung", + "Vertikale Verzerrung", + [ + "Horizontal", + "Vertikal", + "Horizontal", + "Vertikal" + ], + [ + "Ohne", + "Bogen", + "Bogen unten", + "Bogen oben", + "Wölbung", + "Wulst", + "Muschel unten", + "Muschel oben", + "Flagge", + "Welle", + "Fisch", + "Ansteigend", + "Linse", + "Aufblasen", + "Stauchen", + "Strudel", + "Benutzerdefiniert" + ], + [ + "Schrift", + "ist nicht verfügbar", + "Wird gerendert mit", + "Es gibt ungesicherte Änderungen in", + "Wollen Sie es wirklich schließen?" + ], + [ + "Farben tauschen", + "Standard: Weiß und Schwarz" + ] + ], + [ + "geladen", + "hinzugefügt", + "Hilfslinie verschieben", + "Hilfslinie löschen", + "Hilfslinie hinzufügen", + "Laden", + "VAR0 laden" + ], + [ + "Filtergalerie", + [ + [ + "Verflüssigen", + [ + "Verschmieren", + "Rekonstruieren", + "Glätten", + "Strudel", + "Schrumpfen", + "Aufblasen", + "Nach links schieben", + "Fixieren", + "Lösen" + ] + ], + [ + "Objektivkorrektur" + ] + ], + "Weichzeichnen", + [ + "Durchschnitt", + "Weichzeichnen", + "Stark weichzeichnen", + "Feld weichzeichnen", + "Gaußscher Weichzeichner", + "Tiefenschärfe abmildern", + "Bewegungsunschärfe", + "Radialer Weichzeichner", + "Form weichzeichnen", + "Selektiver Weichzeichner", + "Matter machen" + ], + "Verzerrungsfilter", + [ + "Versetzen", + "Distorsion", + "Polarkoordinaten", + "Kräuseln", + "Verbiegen", + "Wölben", + "Schwingungen" + ], + "Rauschfilter", + [ + "Rauschen hinzufügen", + "Rauschen entfernen", + "Staub und Kratzer", + "Median" + ], + "Vergröberungsfilter", + [ + "Farbraster", + "Kristallisieren", + "Facetteneffekt", + "Verwackelungseffekt", + "Mezzotint", + "Mosaik", + "Punktieren" + ], + "Renderfilter", + [ + "Wolken", + "Differenzwolken", + "Blendenflecke" + ], + "Scharfzeichnen", + [ + "Scharfzeichnen", + "Kanten schärfen", + "Stark scharfzeichnen", + "Selektiver Scharfzeichner", + "Unscharf maskieren" + ], + "Stilisierungsfilter", + [ + "Korneffekt", + "Relief", + "Extrudieren", + "Konturen finden", + "Ölgemälde" + ], + "Andere Filter", + [ + "Angepasst", + "Hochpass", + "Maximum", + "Minimum", + "Verschiebungseffekt", + "Wiederholen" + ], + [ + "Undefin. Bereich", + "Auf transparent setzen", + "Kantenpixel wiederholen", + "Umfließen", + "Letzter Filter", + "Vorschau" + ] + ], + [ + "Vorlagen", + [ + "Schrift-Filter", + "Schlüsselwörter", + "Neu mischen" + ], + [ + "Mit Symbolen", + "Mit Foto" + ], + [ + "Miniaturen", + "bangla" + ] + ] + ], + [ + [ + "Fichier", + "Édition", + "Image", + "Calque", + "Dossier", + "Sélection", + "Filtre", + "Affichage", + "Fenêtre", + "Langue", + "Se connecter", + "Se déconnecter", + "Créer une traduction", + [ + "Compte", + "Conditions d'utilisation", + "Retour", + "À propos", + "Signaler un bug", + "Apprendre" + ], + "Plus", + "Thème", + "Utiliser WebGL", + [ + "Photopea: éditeur d'image avancé", + "Éditeur en ligne gratuit prenant en charge les formats PSD, XCF, Sketch, XD et CDR.", + "Créez une nouvelle image ou ouvrez des fichiers existants à partir de votre ordinateur. Enregistrez votre travail au format PSD (Fichier - Enregistrer en tant que PSD) ou JPG / PNG / SVG (Fichier - Exporter en tant que).", + "Suggérez de nouvelles fonctionnalités sur notre ou . Notre objectif est de créer .", + "Liens des sponsors s'ouvrent dans une nouvelle fenêtre.", + "Cette fonctionnalité n'est pas disponible.", + "Installer Photopea" + ] + ], + [ + "Ouvrir", + "Publier en ligne", + "Enregistrer", + "Enregistrer en tant que PSD", + "Imprimer", + "Ouvrir depuis une URL", + "Ouvrir depuis l'ordinateur", + "Se connecter avec Google Drive", + "Exporter en tant que", + "Exporter les calques", + "Script", + "Ouvrir & placer", + "Fermer", + "Stockage local", + null + ], + [ + "Étape suivante", + "Étape précédente", + "Effacer", + "Remplir", + "Transformer", + "Rotation", + "Retourner VAR0", + "Echelle VAR0", + "Annuler / Restaurer", + "Point de vue", + [ + "Fusion automatique", + "Alignement automatique" + ], + "Atténuer", + "Appliquer une image" + ], + "Ajustements", + [ + "Luminosité/contraste", + "Niveaux", + "Courbes", + "Exposition", + "Vibrance", + "Teinte/saturation", + "Balance de couleur", + "Noir et blanc", + "Filtre photo", + "Mélangeur de canaux", + "Recherche de Couleur", + "Inverser", + "Postériser", + "Seuil", + "Courbe de transfert de dégradé", + "Couleur sélective", + [ + "Tonalité automatique", + "Contraste automatique", + "Couleur automatique" + ], + "Remplacer couleur" + ], + [ + "Couper", + "Copier", + "Coller", + "Nouveau", + "Supprimer", + "Activer", + "Désactiver", + "Copie fusionnée", + "Appliquer", + "De nouveau", + "Mettre à jour" + ], + [ + "Dupliquer le calque", + "Nouveau calque d'ajustement", + "Masque raster", + "Masque vectoriel", + "Ajouter (Tout montrer)", + [ + "Ajouter (Tout cacher)", + "Faire apparaître la sélection", + "Masquer la sélection", + "D’après la transparence" + ], + [ + "Masque d'écrêtage", + "Mode Masque" + ], + "Convertir en objet dynamique", + "Rastériser", + "Grouper les calques", + "Fusionner vers le bas", + "Fusionner vers le haut", + [ + "Fusionner les calques", + "Aplatir l’image" + ], + "Nouveau calque", + "Activer le masque raster", + "Désactiver le masque raster", + "Activer le masque vectoriel", + "Désactiver le masque vectoriel", + "Activer le masque d'écrêtage", + "Désactiver le masque d'écrêtage", + "Nouveau dossier", + "Ajouter un masque raster", + "Supprimer un masque raster", + "Ajouter un masque vectoriel", + "Supprimer un masque vectoriel", + "Lier le masque raster", + "Délier le masque raster", + "Lier le masque vectoriel", + "Délier le masque vectoriel", + "Activer les effets de calque", + "Désactiver les effets de calque", + "Supprimer le calque", + "Modifier l'opacité du calque", + "Modifier le Mode de fusion", + "Rastériser le style de calque", + "Ordre des calques", + [ + "Créer un objet dynamique", + "Mettre à jour un objet dynamique", + "Placer un objet dynamique", + "Source (objet dynamique)", + "Mode empilage" + ], + "Modifier le nom", + "Changer la Couleur", + "Modifier le calque de réglages", + "Convertir en forme", + "Activer le masque filtrant", + "Désactiver le masque filtrant", + "Activer les filtres dynamiques", + "Désactiver les filtres dynamiques", + "Ajouter un masque filtrant", + "Supprimer le masque filtrant", + "Effacer les filtres dynamiques", + [ + [ + "Remplissage couleur unie", + "Remplissage en dégradé", + "Remplissage à partir d’un motif", + "Contenu pris en compte" + ], + "Nouveau calque de remplissage", + "Modifier la calque de remplisage" + ], + "Calque par copie", + "Masque filtrant", + "Supprimer le style de calque", + "Déplacer filtre dynamique", + "Supprimer filtre dynamique", + [ + "Lier les calques", + "Délier les calques" + ], + "Arranger", + [ + "Premier plan", + "En avant", + "En arrière", + "Arrière plan" + ], + [ + "Le calque est verrouillé", + "Changement de vérouillage", + "Verrouiller" + ], + null + ], + [ + "Tout", + "Désélectionner", + "Inverser", + "Modifier", + "Étendre", + "Contracter", + "Plume", + "Déplacer la sélection", + "Intervalle de couleur", + "Contour", + "Transformer la sélection", + "Améliorer le contour", + "Reconstruire la sélection", + null + ], + [ + "Zoom avant", + "Zoom arrière", + "Repères", + "Règles", + "Grille", + "Capturer", + "Capturer vers", + "Limites du document", + "Grille de pixels", + "Tracés", + "Capturer vers pixels", + [ + "Tranches", + "Option de tranche" + ], + "Afficher" + ], + [ + "Historique", + "Calques", + "Propriétés", + "Pinceau", + "Caractères", + "Paragraphes", + "Informations", + "Compositions de calques", + "Nuancier", + "Actions", + "Histogramme", + "Navigation", + "Outils prédéfinis", + "Glyphes" + ], + [ + "Outil Pinceau", + "Outil Duplication", + "Outil Recadrage", + "Outil Gomme", + "Sélection en ellipse", + "Pipette", + "Outil Dégradé", + "Outil Main", + "Outil Texte", + "Sélection avec lasso", + "Sélection avec lasso magnétique", + "Outil Déplacement", + "Baguette magique", + "Outil Pot de peinture", + "Sélection avec lasso polygonal", + "Sélection en rectangle", + "Transformation libre", + "Outil Zoom", + "Outil de Flou", + "Outil de netteté", + "Outil doigt", + "Outil densité -", + "Outil densité +", + "Outil éponge", + "Outil correcteur de tons directs", + "Pinceau correcteur", + "Outil tampon", + "Sélectionner le tracé", + "Sélection directe", + "Crayon", + "Crayon libre", + "Forme personnalisée", + "Rectangle", + "Ellipse", + "Forme parametrique", + "Ligne", + "Règle", + "Sélection rapide", + "Crayon", + "Correction de perspective par recadrage", + "Tranche", + "Sélection de tranche", + "Remplacement de couleur", + "Œil rouge", + "Sélection de l'objet", + "Gomme d’arrière-plan", + "Déformation de la marionnette", + "Rotation de l’affichage", + "Echelle basée sur le contenu", + "Déplacement basé sur le contenu" + ], + [ + "Prendre une photo", + "Sélecteur de couleur", + "Éditeur de contour", + "Taille de la zone de travail", + "Dupliquer vers …", + "Editeur de dégradé", + "Style de calque", + "Nouveau projet", + "Enregistrer pour le Web", + "Déformation", + "Taille de l'image", + "Vectoriser Bitmap", + [ + "Rognage", + "Recadrage", + "Tout montrer" + ], + "Raccourcis clavier", + "Ajouter les repères", + [ + "Effacer les repères", + "Repères à partir de calque" + ] + ], + [ + "Opacité", + "Effets", + "Luminosité", + [ + "Contraste", + "Utiliser l’ancien algorithme" + ], + "Canal", + "Exposition", + "Décalage", + "Correction Gamma", + "Teinte", + "Saturation", + "Luminosité", + "Colorisation", + "Gamme", + "Eclat", + [ + "Taille", + "Interpolation", + "Au plus proche", + "Bilinéaire" + ], + "Angle", + "Rondeur", + "Dureté", + "Espacement", + [ + "Mode", + "Comparaison" + ], + "Taille de l'échantillon", + "Contour", + "Style", + [ + "Inverser", + "Relative", + "Position" + ], + "Tolérance", + "Contigu", + "Remplir", + "Utilisez angle global", + "Distance", + "Propager", + "Bruit", + "Ombre portée", + "Technique", + "Direction", + "Profondeur", + "Adoucir", + "Mode", + "Dégradé", + "Echelle", + "Aligner avec la calque", + "Position", + "Largeur", + "Hauteur", + "Destination", + "Type", + "Premier plan", + "Arrière plan", + "Personnalisé", + "Nom", + "Créer", + "Format", + "Garder les proportions", + [ + "Qualité", + "Pages" + ], + "Dupliquer", + "Déplacer", + "Filtres dynamiques", + "Angle", + "Taux", + "Répartition", + [ + "Uniforme", + "Gaussien" + ], + "Monochrome", + "Taille de la cellule", + "Motif", + "Flux", + "Dureté", + "Protéger les détails", + "Type de remplissage", + "Texture", + "Instabilité", + "Contour", + "Source", + "Cible", + "Canaux", + "Masque", + "Densité", + "Aligné", + [ + "Tracé", + "Forme", + "Pixels", + "Pouces", + "Centimètres", + "Millimètres", + "Pourcent" + ], + "Formes", + "Côtés", + "Préférences", + [ + "Longueur", + "Ratio", + "Tous", + "Type de grille", + "Isométrique", + "Écart de grille", + "Unités de la règle" + ], + "Réduire le bruit", + "Couleurs", + "Distances", + "Pas", + "Sélection automatique", + "Trouver", + "Définir nouveau", + [ + "Photo", + "Écran", + "Mobile", + "Annonces", + "Impression" + ], + [ + "Libre", + "Ratio fixe", + "Taille fixe" + ], + "Aide", + [ + "Forme dynamique", + "Modifier la forme dynamique", + "Même rayon" + ], + "Tolérance", + [ + "Polygone", + "Étoile", + "Spirale", + "Carré" + ], + [ + "Rayon de l’angle", + "Rayon intérieur" + ] + ], + [ + "Couleur", + [ + "Aucun", + "Rouge", + "Orange", + "Jaune", + "Vert", + "Bleu", + "Violet", + "Gris", + "Blanc", + "Transparent", + "Noir", + "Cyan", + "Magenta", + "Neutre" + ], + "Total", + "Absolu", + "Conserver la luminosité" + ], + [ + "Ombre portée", + "Ombre interne", + "Lueur externe", + "Lueur interne", + "Biseautage & estampage", + "Incrustation couleur", + "Incrustation en dégradé", + "Incrustation de motif", + "Satin", + "Contour", + "Options de fusion", + "Sélectionner les pixels" + ], + [ + "Forme de la pointe", + "Dynamique de forme", + "Diffusion", + "Dynamique de la couleur", + [ + "Variation de la taille", + "Diamètre minimal", + "Variation de l'angle", + "Variation de l'arrondi", + "Arrondi minimal" + ], + [ + "Variation de la position", + "Nombre", + "Variation numérique" + ], + [ + "Variation premier plan/arrière plan", + "Variation de teinte", + "Variation de la saturation", + "Variation de la luminosité" + ], + [ + "Sélectionner la source de duplication en maintenant la touche Alt (ou K) et en cliquant sur l'image", + "Marquer premier plan en blanc, arrière-plan en noir, et zone inconnue en gris.", + "Calque non modifiable", + "Calque texte doit être rastérisé en premier", + "Smart Object doit être rastérisé en premier", + "Sélectionner plusieurs calques", + "Redresser le calque", + "Ouvrir d'abord un document.", + "Fermez d'abord la fenêtre actuelle.", + "Outil sélectionné uniquement" + ], + [ + "Enregistrer", + "Nouveau ensemble d'actions", + "Nouvelle action" + ], + [ + "La pression du stylo contrôle l'opacité", + "La pression du stylo contrôle la taille" + ], + [ + "Normal", + "Fondu", + "Obscurcir", + "Produit", + "Densité couleur +", + "Densité linéaire +", + "Couleur plus foncée", + "Eclaircir", + "Superposition", + "Densité couleur -", + "Densité linéaire -", + "Couleur plus claire", + "Incrustation", + "Lumière tamisée", + "Lumière crue", + "Lumière vive", + "Lumière linéaire", + "Lumière ponctuelle", + "Mélange maximal", + "Différence", + "Exclusion", + "Soustraire", + "Division", + "Teinte", + "Saturation", + "Couleur", + "Luminosité", + "Transfert" + ] + ], + [ + "Interlignage", + "Crénage", + "Décalage vertical", + [ + "Convertir en texte de point", + "Convertir en texte de paragraphe" + ] + ], + [ + "Tous les calques", + "Calque actif", + "Sélection", + "Actif et inférieurs" + ], + [ + "Remplacer", + "Union", + "Différence", + "Intersection", + "OU Exclusif", + "Fusionner" + ], + [ + [ + "Linéaire", + "Radial", + "Angle", + "Reflété", + "Diamant", + "Éclater la forme" + ], + [ + "Tamisé", + "Précis" + ], + [ + "Biseau externe", + "Biseau interne", + "Estampage", + "Estampage Oreiller", + "Estampage de contour", + "Largeur du contour" + ], + [ + "Lisser", + "Burin dur", + "Burin mou", + "Lissage" + ], + [ + "Haut", + "Bas" + ], + [ + "Extérieur", + "Centre", + "Interieur", + "A partir du centre" + ], + [ + "Tons foncés", + "Tons moyens", + "Tons clairs" + ], + [ + "Désaturer", + "Saturer" + ], + [ + "Petit", + "Moyen", + "Grand" + ], + [ + "Extrémités", + "Angles", + "Tirets" + ] + ], + [ + "Choisir l'objet sous le pointeur", + "Contrôles de transformation", + "Pixel à pixel", + "Ajuster à la zone", + [ + "Aligner sur le côté gauche", + "Centrer horizontalement", + "Aligner sur le côté droit", + "Aligner en haut", + "Centrer verticalement", + "Aligner en bas", + "Écarts égaux" + ] + ], + [ + "Insérer dans", + "Projet Actuel", + "Nouveau projet", + "Resolution", + "Ajouté dans le projet actuel/courant.", + "Un nouveau projet a été créé.", + "L'accès à la caméra à été refusé." + ], + [ + "Orientation", + "Inflexion", + "Déformation horizontale", + "Déformation verticale", + [ + "Horizontal", + "Vertical", + "horizontalement", + "verticalement" + ], + [ + "Sans", + "Arc", + "Arc Inférieur", + "Arc Supérieur", + "Voûte", + "Bosse", + "Coque inférieure", + "Coque supérieure", + "Marqueur", + "Vague", + "Poisson", + "Elever", + "Fish Eye", + "Gonfler", + "Comprimer", + "Tordre", + "Personnalisé" + ], + [ + "Police", + "n'est pas disponible", + "Va être rendu avec", + "Il y a du travail non sauvegardé dans", + "Voulez-vous vraiment le fermer?" + ], + [ + "Echanger couleurs", + "Défaut : Blanc et Noir" + ] + ], + [ + "chargé", + "ajouté", + "Déplacement de repère", + "Suppression du repère", + "Ajout d'un repère", + "Chargement", + "Charger VAR0" + ], + [ + "Galerie de filtres", + [ + [ + "Liquéfier", + [ + "Étaler", + "Reconstruire", + "Lisser", + "Tourbillon", + "Diminuer", + "Augmenter", + "Décaler à gauche", + "Figer", + "Libérer" + ] + ], + [ + "Correction de l'objectif" + ] + ], + "Flou", + [ + "Moyenne", + "Flou", + "Plus flou", + "Flou par moyenne", + "Flou gaussien", + "Flou de l’objectif", + "Flou directionnel", + "Flou radial", + "Flou de forme", + "Flou optimisé", + "Flou de surface" + ], + "Déformation", + [ + "Dispersion", + "Contraction", + "Coordonnées polaires", + "Ondulation", + "Cisaillement", + "Sphérisation", + "Onde" + ], + "Bruit", + [ + "Ajout de bruit", + "Flou intérieur", + "Antipoussière", + "Median" + ], + "Pixellisation", + [ + "Demi-teintes couleur", + "Cristallisation", + "Facettes", + "Fragmentation", + "Mezzo-tinto", + "Mosaïque", + "Pointillisme" + ], + "Rendu", + [ + "Nuages", + "Nuages par différence", + "Halo" + ], + "Netteté", + [ + "Plus net", + "Contours plus nets", + "Encore plus net", + "Netteté optimisée", + "Accentuation" + ], + "Stylisation", + [ + "Diffusion", + "Estampage", + "Extrusion", + "Tracé des contours", + "Peinture à l'huile" + ], + "Filtres divers", + [ + "Personnalisé", + "Passe-haut", + "Maximum", + "Minimum", + "Décalage", + "Répéter" + ], + [ + "Zone indéfinie", + "Définir à transparent", + "Répéter les pixels des bords", + "Envelopper autour", + "Dernier filtre", + "Aperçu" + ] + ], + [ + "Modèles", + [ + "Filtre de police", + "Mots clés", + "Mélanger aléatoirement" + ], + [ + "Avec Symboles", + "Avec Photo" + ], + [ + "Vignettes", + "Liste" + ] + ] + ], + [ + [ + "Αρχείο", + "Επεξεργασία", + "Εικόνα", + "Επίπεδο", + "Φάκελος", + "Επιλογή", + "Φίλτρα", + "Προβολή", + "Παράθυρο", + "Γλώσσα", + "Σύνδεση", + "Αποσύνδεση", + "Δημιουργία μετάφρασης", + [ + "Λογαριασμός", + "Όροι Χρήσης", + "Πίσω", + "Σχετικά", + "Αναφορά σφάλματος", + "Εκπαίδευση" + ], + "Περισσότερα", + "Θέμα", + "Χρήση WebGL", + [ + "Photopea: προηγμένη επεξεργασία εικόνας", + "Δωρεάν online επεξεργαστή που υποστηρίζει PSD, XCF, Sketch, XD και CDR.", + "Δημιουργήστε μια νέα εικόνα ή ανοίξτε τα υπάρχοντα αρχεία από τον υπολογιστή σας. Αποθηκεύστε την εργασία σας ως PSD (Αρχείο - Αποθήκευση ως PSD) ή ως JPG / PNG / SVG (Αρχείο - Εξαγωγή ως).", + "Προτείνετε νέες λειτουργίες στο ή στο . Στόχος μας είναι να δημιουργήσουμε <το πιο εξελιγμένο και οικονομικό πρόγραμμα επεξεργασίας φωτογραφιών>.", + "Οι σύνδεσμοι του σπόνσορα ανοίγουν σε νέο παράθυρο.", + null, + "Εγκατάσταση εφαρμογής Photopea" + ] + ], + [ + "Άνοιγμα", + "Δημοσίευσε online", + "Αποθήκευση", + "Αποθήκευση ως PSD", + "Εκτύπωση", + "Άνοιγμα από URL", + "Άνοιγμα από υπολογιστή", + "Σύνδεση με Google Drive", + "Εξαγωγή ως", + "Εξαγωγή επίπεδων", + "Σενάριο", + "Άνοιγμα & Τοποθέτηση", + "Κλείσιμο", + "Τοπική αποθήκευση", + null + ], + [ + "Βήμα εμπρός", + "Βήμα πίσω", + "Απαλοιφή", + "Γεμίζω", + "Μετασχηματισμός", + "Περιστροφή", + "VAR0 αναστροφή", + "VAR0 κλίμακα", + "Αναίρεση / Επανάληψη", + "Προοπτική", + [ + "Αυτόματη ανάμειξη", + null + ], + "Ξεθώριασμα", + null + ], + "Ρυθμίσεις", + [ + "Φωτεινότητα/αντίθεση", + "Στάθμες", + "Καμπύλες", + "Έκθεση", + "ζωηράδα χρώματος", + "Απόχρωση/κορεσμός", + "Ισορροπία χρώματος", + "Ασπρόμαυρο", + "Φίλτρο φωτογραφίας", + "Μείκτης καναλιού", + "Χρωματικές συνθέσεις", + "Αντιστροφή", + "Πόστερ", + "Κατώφλι", + "Τονική διαβάθμιση", + "Επιλεγμένο χρώμα", + [ + "Αυτόματος τόνος", + "Αυτόματη αντίθεση", + "Αυτόματο χρώμα" + ], + "Αντικατάσταση χρώματος" + ], + [ + "Αποκοπή", + "Αντιγραφή", + "Επικόληση", + "Νέο", + "Διαγραφή", + "Ενεργοποίησε", + "Απενεργοποίησε", + "Αντιγραφή συγχωνευμένη", + "Εφαρμογή", + "Επανάληψη", + "Ενημέρωση" + ], + [ + "Διπλασιάσμός επίπεδο", + "Νέο επίπεδο ρύθμισης", + "Μάσκα ράστερ", + "Διανυσματική μάσκα", + "Προσθήκη (Δείξε όλα)", + [ + "Προσθήκη (Κρύψε όλα)", + "Αποκάλυψη επιλογής", + "Απόκρυψη επιλογής", + "Από τη διαφάνεια" + ], + [ + "Μάσκα αποκοπής", + "Quick Mask" + ], + "Μετατροπή σε Έξυπνο αντικείμενο", + "Ραστεροποιήσετε", + "Στρώματα επίπεδων", + "Συγχώνευση κάτω", + "Συγχώνευση πάνω", + [ + "Συγχώνευση επίπεδων", + "Ισοπέδωση εικόνας" + ], + "Νέο επίπεδο", + "Ενεργοποίηση μάσκας ράστερ", + "Απενεργοποίηση μάσκας ράστερ", + "Ενεργοποίηση διανυσματικής μάσκας", + "Απενεργοποίηση διανυσματικής μάσκας", + "Ενεργοποίηση μάσκα αποκοπής", + "Απενεργοποίηση μάσκα αποκοπής", + "Νέος φάκελος", + "Προσθήκη μάσκας ράστερ", + "Διαγραφή μάσκας ράστερ", + "Προσθήκη διανυσματικής μάσκας", + "Διαγραφή διανυσματικής μάσκας", + "Σύνδεση μάσκας ράστερ", + "Αποσύνδεση μάσκας ράστερ", + "Σύνδεση διανυσματικής μάσκας", + "Αποσύνδεση διανυσματικής μάσκας", + "Ενεργοποίηση των εφέ επιπέδου", + "Απενεργοποίηση των εφέ επιπέδου", + "Διαγραφή επίπεδο", + "Αδιαφάνεια επιπέδου αλλαγή", + "Ανάμιξης αλλαγή", + "Ραστεροποιήσετε στυλ επιπέδου", + "Διάταξη επιπέδων", + [ + "Δημιουργία Έξυπνου αντικειμένου", + "Ενημέρωση Έξυπνου αντικειμένου", + "Τοποθέτηση Έξυπνου αντικειμένου", + "Προέλευση (Έξυπνο αντικείμενο)", + null + ], + "Ονομα αλλαγή", + "Χρώμα αλλαγή", + "Επεξεργασία επιπέδου ρύθμισης", + "Μετατροπή σε σχήμα", + "Ενεργοποίηση μάσκας φίλτρου", + "Απενεργοποίηση μάσκας φίλτρου", + "Ενεργοποίηση έξυπνων φίλτρων", + "Απενεργοποίηση έξυπνων φίλτρων", + "Προσθήκη μάσκας φίλτρου", + "Διαγραφή μάσκας φίλτρου", + "Απαλοιφή έξυπνων φίλτρων", + [ + [ + "Γέμισμα σταθερού χρώματος", + "Γέμισμα ντεγκραντέ", + "Γέμισμα με μοτίβο", + "Με βάση το περιεχόμενο" + ], + "Νέο επίπεδο γεμίσματος", + "Τροποποίηση επίπεδο γεμίσματος" + ], + "Επίπεδο μέσω αντιγραφή", + "Μάσκα φίλτρου", + "Διαγραφή στυλ επιπέδου", + "Μετακίνηση έξυπνου φίλτρου", + "Διαγραφή έξυπνου φίλτρου", + [ + "Σύνδεση επίπεδων", + "Αποσύνδεση επίπεδων" + ], + "Διάταξη", + [ + "Μεταφορά σε πρώτο πλάνο", + "Μεταφορά ένα επίπεδο εμπρός", + "Μεταφορά ένα επίπεδο πίσω", + "Μεταφορά στο φόντο" + ], + [ + "Αυτό το επίπεδο είναι κλειδωμένο.", + "Κλείδωμα αλλαγή", + null + ], + null + ], + [ + "Όλα", + "Αποεπιλογή", + "Αντιστροφή", + "Τροποποίηση", + "Επέκταση", + "Συρρίκνωση", + "Άμβλυνση", + "Μετακίνηση επιλογής", + "Χρωματικό εύρος", + "Όριο", + "Μετατροπή επιλογής", + "Εξομάλυνση Άκρων", + "Διόρθωση επιλογής", + null + ], + [ + "Μεγένθυνε", + "Σμίκρυνση", + "Οδηγοί", + "Χάρακες", + "Πλέγμα", + "Προσκόλληση", + "Προσκόλληση σε", + "Όρια εγγράφου", + "Πλέγμα pixel", + "Διαδρομές", + "Προσκόλληση σε pixel", + [ + "Slices", + "Επιλογές slice" + ], + "Προβολή" + ], + [ + "Ιστορικό", + "Επίπεδα", + "Ιδιότητες", + "Βούρτσα", + "Χαρακτήρας", + "Παράγραφος", + "Πληροφορίες", + "Επίπεδα Comps", + "Δείγματα", + "Ενέργειες", + "Ιστόγραμμα", + "Περιήγηση", + "Προεπιλογές εργαλείων", + null + ], + [ + "Βούρτσα", + "Εργαλείο αντιγραφής", + "Περικοπή", + "Γόμα", + "Ελλειπτικό μαρκάρίσμα", + "Σταγονόμετρο", + "Ντεγκραντέ", + "Χέρι", + "Κείμενο", + "Λάσο", + "Μαγνητικό λάσο", + "Μετακίνηση", + "Μαγικό ραβδί", + "Κάδος γεμίσματος", + "Πολυγωνικό λάσο", + "Ορθογωνικό μαρκάρίσμα", + "Δωρεάν μετασχηματισμός", + "Ζουμ", + "Θόλωμα", + "Όξυνση", + "Μουτζούρωμα", + "Φωτισμός", + "Κάψιμο", + "Σπόγγος", + "Πινέλο διόρθωσης σημείου", + "Πινέλο διόρθωσης", + "Μπάλωμα", + "Επιλογή διαδρομής", + "Απευθείας διαδρομή", + "Πένα", + "Πένα ελεύθερης σχεδίασης", + "Προσαρμοσμένο σχήμα", + "Ορθογώνιο", + "Ελλειψη", + "Παραμετρικό σχήμα", + "Γραμμή", + "Χάρακας", + "Γρήγορη επιλογή", + "Μολύβι", + "Προοπτική περικοπή", + "Slice", + "Επιλογή slice", + "Αντικατάσταση χρώματος", + "Εργαλείο για κόκκινα μάτια", + "Επιλογή αντικειμένου", + "Γόμα παρασκηνίου", + null, + null, + null, + null + ], + [ + "Πάρε μια φωτογραφία", + "Επιλογέας χρώματος", + "Επεξεργαστής περιγράμματος", + "Μέγεθος καμβά", + "Διπλότυπο σε...", + "Επεξεργαστή ντεγκραντέ", + "Στυλ επιπέδου", + "Νέο έργο", + "Αποθήκευση για ιστό", + "Στρέβλωση", + "Μέγεθος εικόνας", + "Μετατροπή σε διάνυσμα", + [ + "Ψαλίδιση", + "Περικοπή", + null + ], + "Συντομεύσεις πληκτρολογίου", + "Προσθήκη οδηγών", + [ + "Απαλοιφή οδηγών", + "Οδηγοί από Διαφάνειες" + ] + ], + [ + "Αδιαφάνεια", + "Εφέ", + "Φωτεινότητα", + [ + "Αντίθεση", + "Χρήση κληρονομιά" + ], + "Κανάλι", + "θέση", + "Αντιστάθμιση", + "Διόρθωση Γάμμα", + "Απόχρωση", + "Κορεσμός", + "Ελαφρότητα", + "Τίντα", + "Εύρος", + "ζώνη", + [ + "Μέγεθος", + "Παρεμβολή", + "Πλησιέστερη γειτονική", + "Διγραμμική" + ], + "Γωνία", + "Στρογγυλότητα", + "Σκληρότητα", + "Απόσταση", + [ + "Τρόπος ανάμειξης", + "Συνδυάστε αν" + ], + "Μέγεθος δείγματος", + "Τύπος περιγράμματος", + "Στυλ", + [ + "Αναστροφή", + "Σχετική", + "Σημείο αναφοράς" + ], + "Ανοχή", + "Συνεχόμενο", + "Γέμισμα", + "Χρήση καθολικής γωνίας", + "Απόσταση", + "Άπλωμα", + "Θόρυβος", + "Απωθεί την προσπίπτουσα σκιά", + "Τεχνική", + "Κατεύθυνση", + "Βάθος", + "Απάλυνση", + "Κατάσταση", + "Ντεγκραντέ", + "Κλίμακα", + "Στοίχιση με επιπέδο", + "θέση", + "Πλάτος", + "Ύψος", + "Προορισμός", + "Τύπος", + "Προσκήνιο", + "Παρασκηνίου", + "Προσαρμοσμένο", + "Ονομα", + "Δημιουργία", + "Μορφή", + "Σταθερή αναλογία", + [ + "Ποιότητα", + "Σελίδες" + ], + "Διπλασιάσμός", + "Μετακίνηση", + "Έξυπνα φίλτρα", + "Ακτίνα", + "Ποσότητα", + "Διανομή", + [ + "Ομοιόμορφη", + "Γκαουσιανό" + ], + "Μονοχρωματικό", + "Μέγεθος κελιού", + "Μοτίβου", + "Ροή", + "Δύναμη", + "Προστασία λεπτομέρειας", + "Τύπος γέμισης", + "Υφή", + "Τρέμουλο", + "Γωνία", + "Προέλευση", + "Στόχος", + "Κανάλια", + "Μάσκα", + "Πυκνότητα", + "Ευθυγραμμισμένος", + [ + "Διαδρομή", + "Σχήμα", + "Pixel", + "Ίντσες", + "Εκατοστά", + "Χιλιοστά", + "Ποσοστό" + ], + "Σχήματα", + "Πλευρές", + "Προτιμήσεις", + [ + "Μήκος", + "Αναλογία", + "Οποιοδήποτε", + "Τύπος πλέγματος", + "Ισομετρική", + "Απόσταση πλέγματος", + "Μονάδες χάρακα" + ], + "Μείωση θορύβου", + "Χρώματα", + "Αποστάσεις", + "Ρυθμός", + "Αυτόματη επιλογή", + "Αναζήτηση", + "Καθορίζω", + [ + "Φωτογραφία", + "Οθόνη", + "Κινητό", + "Διαφημίσεις", + "Εκτύπωση" + ], + [ + "Κανονικό", + "Σταθερή αναλογία", + "Σταθερό μέγεθος" + ], + "Βοήθεια", + [ + "Ζωντανή Σχήμα", + "Επεξεργασία Ζωντανού Σχήματος", + "Ίδια ακτίνα" + ], + "Ασάφεια", + [ + "Πολύγωνο", + "Αστέρι", + "Σπειροειδής", + "Τετράγωνο" + ], + [ + "Ακτίνα γωνίας", + "Εσωτερική ακτίνα" + ] + ], + [ + "Χρώμα", + [ + "Καμία", + "Κόκκινο", + "Πορτοκαλί", + "Κίτρινο", + "Πράσινο", + "Μπλε", + "Μωβ", + "Γκρι", + "Λευκό", + "Διάφανο", + "Μαύρο", + "Κυανό", + "Ματζέντα", + "Ουδέτερος" + ], + "Σύνολο", + "Απόλυτος", + "Διατήρηση φωτεινότητας" + ], + [ + "Πίπτουσα σκιά", + "Εσωτερική σκίαση", + "Εξωτερική λάμψη", + "Εσωτερική λάμψη", + "Λοξοτομή και ανάγλυφο", + "Επικάλυψη χρώματος", + "Επικάλυψη ντεγκραντέ", + "Επικάλυψη μοτίβου", + "Σατέν", + "Περίγραμμα", + "Επιλογές ανάμειξης", + "Επιλέξτε pixels" + ], + [ + "Σχήμα άκρου", + "Δυναμικό άκρου", + "Διασπορά", + "Δυναμικό χρώμα", + [ + "Μέγεθος τρέμουλο", + "Ελάχιστη διάμετρος", + "Γωνία τρέμουλο", + "Στρογγυλότητα τρέμουλο", + "Ελάχιστη στρογγυλότητα" + ], + [ + "θέση τρέμουλο", + "Μέτρημα", + "Μέτρημα τρέμουλο" + ], + [ + "Προσκήνιο/παρασκηνίου τρέμουλο", + "Απόχρωση τρέμουλο", + "Κορεσμός τρέμουλο", + "Φωτεινότητα τρέμουλο" + ], + [ + "Επιλέξτε την πηγή κλώνου κρατώντας Alt (ή K) και κάνοντας κλικ στην εικόνα.", + "Επισημάνετε το προσκήνιο με λευκό, το παρασκηνίο με μαύρο και την άγνωστη περιοχή με γκρι.", + "Το επίπεδο δεν επιδέχεται επεξεργασία", + "Το επίπεδο κειμένου πρέπει πρώτα να είναι ραστεροποιημένο", + "Έξυπνο αντικείμενο πρέπει πρώτα να είναι ραστεροποιημένο.", + "Επιλέξτε πολλαπλά επιπέδα", + "Αποστρέβλωση επίπεδο", + "Ανοίξτε πρώτα ένα έγγραφο.", + "Κλείστε πρώτα το παρόν παράθυρο.", + "Μόνο παρόν εργαλείο" + ], + [ + "Καταγραφή", + "Νέο σύνολο ενεργειών", + "Νέα ενέργεια" + ], + [ + "Η πίεση πένας ελέγχει την αδιαφάνεια", + "Η πίεση πένας ελέγχει το μέγεθος" + ], + [ + "Κανονικό", + "Διάχυση", + "Σκοτείνιασμα", + "Πολλαπλασιασμός", + "Κάψιμο χρώματος", + "Γραμμικό κάψιμο", + "Σκουρότερο χρώμα", + "Φωτισμός", + "Οθόνη", + "Φωτισμός χρώματος", + "Γραμμικός φωτισμός", + "Ανοιχτότερο χρώμα", + "Υπέρθεση", + "Απαλό φως", + "Σκληρό φως", + "Έντονο φως", + "Γραμμικός φωτισμός", + "Σημειακό φως", + "Σκληρή μείξη", + "Διαφορά", + "Αποκλεισμός", + "Αφαίρεση", + "Διαίρεση", + "Απόχρωση", + "Κορεσμός", + "Χρώμα", + "Φωτεινότητα", + "Διέλευση" + ] + ], + [ + "Διάκενο γραμμής", + "Διάκενο γραμμάτων", + "Γραμμή βάσης", + [ + "Μετατροπή σε σημειακό κείμενο", + "Μετατροπή σε κείμενο παραγράφου" + ] + ], + [ + "Όλα τα επίπεδα", + "Παρόν επίπεδο", + "Επιλογή", + "Παρόν και προηγούμενο" + ], + [ + "Αντικατάσταση", + "Πρόσθεση", + "Αφαίρεση", + "Τομή συνόλων", + "XOR", + "Συγχώνευση" + ], + [ + [ + "Γραμμικός", + "Ακτινικό", + "Γωνία", + "Αντικατοπτρισμένο", + "Διαμάντι", + "Σχήμα βούρτσας" + ], + [ + "Απαλή", + "Ακριβείς" + ], + [ + "Εξωτερική λοξοτομή", + "Εσωτερική λοξοτομή", + "Ανάγλυφο", + "Σφράγισμα", + "Ανάγλυφο περίγραμμα", + "Πλάτος γραμμής" + ], + [ + "Ομαλοποίηση", + "Σκληρό chisel", + "Μαλακό chisel", + "Ομαλότητα" + ], + [ + "Πάνω", + "Κάτω" + ], + [ + "Εκτός", + "Κέντρο", + "Εντός", + "Από το κέντρο" + ], + [ + "Σκιές", + "Μεσαίοι τόνοι", + "Τονισμοί" + ], + [ + "Αποκορεσμός", + "Αύξηση κορεσμού" + ], + [ + "Μικρό", + "Μεσαίο", + "Μεγάλο" + ], + [ + "Άκρα", + "Γωνίες", + "Παύλες" + ] + ], + [ + "Επιλογή του αντικειμένου κάτω από το δρομέα", + "Έλεγχοι μετασχηματισμού", + "1:1", + "Προσαρμογή στο παράθυρο", + [ + "Στοίχιση αριστερά άκρα", + "Οριζόντια κέντρα", + "Στοίχιση δεξιά άκρα", + "Στοίχιση επάνω άκρα", + "Κατακόρυφα κέντρα", + "Στοίχιση κάτω άκρα", + "Ίση απόσταση" + ] + ], + [ + "Τοποθέτηση σε", + "Παρόν έργο", + "Νέο έργο", + "Ανάλυση", + "Προστέθηκε στο παρόν έργο.", + "Δημιουργήθηκε ένα νέο έργο.", + "Η πρόσβαση στην κάμερα απορρίφθηκε." + ], + [ + "Προσανατολισμός", + "Κάμψη", + "Οριζόντια παραμόρφωση", + "Κατακόρυφη παραμόρφωση", + [ + "Οριζόντια", + "Κάθετη", + "Οριζόντια", + "Κάθετη" + ], + [ + "Κανένα", + "Arc", + "Arc Lower", + "Arc Upper", + "Arch", + "Bulge", + "Shell Lower", + "Shell Upper", + "Flag", + "Wave", + "Fish", + "Rise", + "Fish Eye", + "Inflate", + "Squeeze", + "Twist", + "Προσαρμοσμένο" + ], + [ + "Γραμματοσειρά", + "δεν είναι διαθέσιμη", + "Θα παρασχεθεί με χρήση του", + "Υπάρχει μη αποθηκευμένη εργασία στο", + "Θέλετε πραγματικά να το κλείσετε;" + ], + [ + "Ανταλλάξουν χρωμάτων", + "Προεπιλογή: Λευκό και μαύρο" + ] + ], + [ + "φορτωμένο", + "προστέθηκε", + "Μετακίνηση οδηγός", + "Διαγραφή οδηγός", + "Προσθήκη οδηγός", + "Φόρτωση", + "Φόρτωση VAR0" + ], + [ + "Συλλογή φίλτρων", + [ + [ + "Ρευστοποίηση", + [ + "Μουτζούρα", + "Ανοικοδομώ", + "Ομαλοποίηση", + "Συστροφή", + "Συρρίκνωση", + "Φουσκώνουν", + "Ώθηση αριστερά", + "Πάγωμα", + "Ξεπάγωμα" + ] + ], + [ + "Διόρθωση φακού" + ] + ], + "Θολούρα", + [ + "Μέσος", + "Θολούρα", + "Περισσότερο θόλωμα", + "Θόλωμα πλαισίου", + "Γκαουσιανό θόλωμα", + "Θόλωση φακού", + "Θόλωμα κίνησης", + "Ακτινικό θόλωμα", + "Θόλωμα σχήματος", + "Έξυπνο θόλωμα", + "Θόλωμα επιφάνειας" + ], + "Παραμόρφωση", + [ + "Μετατόπιση", + "Καμπή", + "Πολικές συντεταγμένες", + "Κυματισμός", + "Στρέβλωση", + "Σφαιροποίηση", + "Κύμα" + ], + "Θόρυβος", + [ + "Προσθήκη θορύβου", + "Αποκηλίδωση", + "Σκόνη & αμυχές", + "Διάμεσος" + ], + "Κουκκιδοποίηση", + [ + "Μεσαίοι χρωματικοί τόνοι", + "Κρυσταλλοποίηση", + "Όψη", + "Τμήμα", + "Τρόπος χαλκογραφίας", + "Μωσαϊκό", + "Σημειοποίηση" + ], + "Απόδοση", + [ + "Σύννεφα", + "Σύννεφα διαφοράς", + "Αναλαμπή φακού" + ], + "Όξυνση", + [ + "Όξυνση", + "Όξυνση άκρων", + "Περισσότερη όξυνση", + "Έξυπνη όξυνση", + "Μάσκα όξυνσης" + ], + "Στυλιζάρισμα", + [ + "Διάχυση", + "Aνάγλυφο", + "Εξώθηση", + "Εύρεση άκρων", + null + ], + "Άλλο", + [ + "Προσαρμοσμένη", + "Υψιπερατό", + "Μέγιστο", + "Ελάχιστο", + "Αντιστάθμιση", + "Επανάληψη" + ], + [ + "Απροσδιόριστη περιοχή", + "Ορισμός σε διαφανή", + "Επανάληψη pixel άκρων", + "Αναδίπλωση γύρω", + "Τελευταίο φίλτρο", + "Προεπισκόπηση" + ] + ], + [ + "Πρότυπα", + [ + "Φίλτρο γραμματοσειράς", + "Λέξεις-κλειδιά", + "Τυχαία" + ], + [ + "Με σύμβολα", + "Με φωτογραφία" + ], + [ + "Μικρογραφίες", + "Λίστα" + ] + ] + ], + [ + [ + "ملف", + "تحرير", + "صورة", + "طبقة", + "مجلد", + "تحديد", + "مرشح", + "عرض", + "نافذة", + "اللغة", + "تسجيل الدخول", + "تسجيل الخروج", + "إنشاء ترجمة", + [ + "الحساب", + "سياسة الخصوصية", + "الخلف", + "نبذة", + "تبليغ عن خطأ برمجي", + "تعلم" + ], + "المزيد", + "شكل", + "استخدام WebGL", + [ + "Photopea: محرر صور متقدم", + "محرر أونلاين مجاني يدعم PSD, XCF, Sketch, XD و CDR", + "إنشاء صورة جديدة أو فتح ملف متواجد على الحاسوب. حفظ العمل كـ (PSDملف - حفظ كـ) PSD أو كـ (ملف - تصدير كـ) JPG / PNG / SVG", + "إقترح خاصيات جديدة على or . هدفنا هو <تطوير محرر صور أكثر تقدما و في المتناول>", + "الروابط الإعلانية تنفتح في نافذة جديدة", + "هاته الخاصية غير متوفرة", + "تثبيت برنامج فوتوبيا" + ] + ], + [ + "فتح", + "نشر على الويب", + "حفظ", + "حفظ كملف PSD", + "طباعة", + "فتح من رابط URL", + "فتح ملف من الحاسب", + "جلب ملفات من جوجل درايف", + "تصدير كـ", + "تصدير الطبقة", + "الاسکریپت", + "فتح والصاق", + "إغلاق", + "التخزين المحلي", + "معلومات الملف" + ], + [ + "للأمام", + "للخلف", + "مسح", + "ملء", + "تدوير / تحويل", + "تدوير", + "إقلب VAR0", + "مقياس VAR0", + "رجوع", + "منظور", + [ + "دمج تلقائي", + "توسيط آلي" + ], + "تلاشي", + "تطبيق الصورة" + ], + "تعديلات", + [ + "الإضاءة", + "مستويات", + "مُنحنيات", + "تعريض", + "حيويتها", + "صبغة اللون/تشبع", + "توازن الالوان", + "ابيض واسود", + "فلتر صور", + "خلاط القنوات", + "بحث عن لون", + "عكس", + "تتال", + "عتبة", + "خريطة التدرج", + "لون انتقائي", + [ + "نغمة تلقائية", + "تبيان تلقائى", + "تلوين تلقائي" + ], + "استبدال اللون" + ], + [ + "قطع", + "نسخ", + "لصق", + "جديد", + "حذف", + "تفعيل", + "تعطيل", + "نسخ مدمج", + "تطبيق", + "مرة أخرى", + "تحديث" + ], + [ + "نسخ الطبقة", + "طبقة تعديل جديدة", + "قناع النقطية", + "قناع الفيكتور", + "اضافة(اظهار الجميع)", + [ + "اضافة (اخفاء الجميع)", + "كشف التحديد", + "اخفاء التحديد", + "من الشفافية" + ], + [ + "قناع التشذيب", + "العربية" + ], + "حول إلى عنصر ذكي", + "دمج", + "تجميع الطبقات", + "دمج للاسفل", + "دمج للاعلى", + [ + "دمج الطبقات", + "تسطيح الصورة" + ], + "طبقة جديدة", + "تمكين قناع النقطية", + "تعطيل قناع النقطية", + "تمكين قناع المتجهات", + "تعطيل قناع المتجهات", + "تمكين قناع القصاصة", + "تعطيل قناع القصاصة", + "مجلد جديد", + "إضافة قناع تنقيطي", + "(Swimming)", + "إضافة قناع فيكتور", + "حذف قناع فيكتور", + "ربط القناع النقطي", + "عدم ربط القناع النقطي", + "ربط قناع فيكتور", + "عدم ربط قناع فيكتور", + "تفعيل تأثيرات الطبقة", + "تعطيل تأثيرات الطبقة", + "حذف الطبقة", + "تغيير شفافية الطبقة", + "تغيير المزج", + "تنقيط نمط الطبقة", + "ترتيب الطبقة", + [ + "انشاء عنصر ذكي", + "تحديث عنصر ذكي", + "وضع هدف ذكي", + "مصدر )عنصر ذكي(", + "وضع التجميع" + ], + "تغيير الاسم", + "تغيير اللون", + "تعديل تنظيم الطبقة", + "تحويل إلى شكل", + "تفعيل قناع الفلتر", + "الغاء قناع الفلتر", + "تفعيل الفلتر الذكي", + "الغاء تفعيل الفلاتر الذكية", + "اضافة قناع للفلتر", + "مسح فلتر القناع", + "فلاتر نقية وذكية", + [ + [ + "تلوين مصمت", + "تلوين متدرج", + "الملء النمطي", + "إدراك بالمحتوى" + ], + "ملئ لون جديد", + "تعديل طبقة التلوين" + ], + "طبقة عبر النسخ", + "وجه الفلترة", + "حذف استايل الطبقة", + "تحريك الفلتر الذكي", + "حذف الفلتر", + [ + "ربط الطبقات", + "فك ارتباط الطبقات" + ], + "ترتيب الطبقات", + [ + "جلب للمقدمة", + "إرسال للخلف", + "إرسال للوراء", + "إرسال للخلف" + ], + [ + "الطبقة مقفلة", + "إغلاق التعديلات", + "قفل" + ], + "تحريك" + ], + [ + "الكل", + "إلغاء", + "قلب", + "تعديل", + "توسيع", + "انكماش", + "ترييش", + "تحريك المحدد", + "مدى اللون", + "حد", + "خيار التحول", + "تحسين الحواف", + "معالجة التحديد", + "المقص السحري" + ], + [ + "تقريب", + "تكبير", + "الخطوط الإرشادية", + "مساطر", + "شبكة", + "لقطة", + "التقط إلى", + "حدود المستند", + "شبكة بيكسل (عند التكبير)", + "مسارات", + "الإلتصاق بالبكسل", + [ + "شرائح", + "العربية" + ], + "إظهار" + ], + [ + "السجل", + "الطبقات", + "خصائص", + "فرشة", + "حرف", + "فقرة", + "معلومات", + "تراكيب الطبقات", + "معرض الألوان", + "العربيه", + "الرسم البياني", + "متصفح", + "مُسْبَقات الأداة", + "حروف" + ], + [ + "أداة الفرشة", + "اداة النسخ", + "أداة القطع", + "اداة الممحاة", + "اختر الإهليلج", + "قطارة", + "أداة التدريج", + "أداة اليد", + "اداة الكتابة", + "اختيار بالوهق", + "اختيار بالوهق الجاذب", + "اداة التحريك", + "عصا سحرية", + "أداة دلو الدهن", + "اختيار بالوهق الكثير الضلع", + "اختيار مستطيل", + "تحول حر", + "أداة التكبير", + "اداة الضبابية", + "اداة الحدة", + "اداة الطمس", + "اداة التفادي", + "اداة الحرق", + "اداة الاسفنجه", + "فرشاة معالجة البقع", + "فرشاة المعالجة", + "أداة التصحيح", + "اختيار المسار", + "اختيار تلقائي", + "قلم", + "قلم حر", + "هاي", + "مستطيل", + "بيضاوي", + "شكل حدودي", + "خط", + "مسطرة", + "تحديد سريع", + "اداة القلم", + "قص منظوري", + "أداة القطع:التشريح", + "أداة انتقاء الشرائح", + "استبدال اللون", + "أداة العين الحمراء", + "اختار العينة", + "ممحاة الخلفية", + "تعديل الوضعية", + "تدويرالمنظور", + "موازنة المحتوى", + "أداة تحريك المحتوى" + ], + [ + "لون", + "لاقط اللون", + "محرر الحدود", + "حجم الاطار", + "التكرار داخل...", + "محرر التدرج اللوني", + "نمط الطبقه", + "مشروع جديد", + "حفظ للويب", + "إلتواء", + "حجم الصورة", + "تحويل الى صورة متجهة", + [ + "قص", + "قص", + "عرض الكل" + ], + "اختصارات لوحة المفاتيح", + "إضافة خطوط إرشاد", + [ + "إزالة أداة التوجيه", + "أداة توجيه من الطبقة" + ] + ], + [ + "الشفافية", + "تأثيرات", + "السطوع", + [ + "التباين", + "إستخدام النظم القديمة" + ], + "قناة", + "التعريض", + "الازاحة", + "تعديل جاما", + "صبغة اللون", + "تشبع", + "الاضاءة", + "تلوين", + "مدى", + "حيوية", + [ + "الحجم", + "إسقاط", + "أقرب جوار", + "شبه خطيه" + ], + "زاوية", + "استدارة", + "الحدة", + "مباعدة", + [ + "وضع الدمج", + "دمج إذا" + ], + "حجم العينة", + "هله", + "تصميم", + [ + "عكسي", + "نسبي", + "إرساء" + ], + "التباين", + "التلامس", + "ملء", + "استخدام زاوية شامله", + "منانت", + "انتشار", + "ضجيج", + "عدم عرض التظليل", + "تقنية", + "اتجاه", + "عمق", + "تنعيم", + "الوضع", + "ميل", + "مقياس", + "محاذاة مع طبقة", + "مركز", + "العرض", + "الطول", + "المكان المقصود", + "النوع", + "المقدمة", + "خلفية", + "محدد", + "اسم", + "إنشاء", + "التنسيق", + "إبقاء نسبة القياس", + [ + "الجودة", + "صفحات" + ], + "تكرار", + "نقل", + "الفلاتر الذكية", + "نصف القطر", + "كمية", + "التوزيع", + [ + "منتظم", + "تمويه" + ], + "أحادي اللون", + "حجم الخلية", + "نمط", + "تدفق", + "سَمِيك", + "حماية التفاصيل", + "نوع الملء", + "النقش", + "تقطع", + "حافة", + "المصدر", + "هدف", + "قنوات", + "قناع", + "كثافة", + "الانحياز", + [ + "مسار", + "شكل", + "بكسل", + "بوصات", + "سنتيمترات", + "ملليمترات", + "بالمئة" + ], + "الأشكال", + "الجوانب", + "التفضيلات", + [ + "الطول", + "النسبة", + "أيّ", + "نوع الشبكة", + "متساوي القياس", + "فراغ الشبكة", + "وحدات المسطرة" + ], + "تقليل التشويش", + "ألوان", + "المسافات", + "معدل التعديل", + "تحديد تلقائي", + "بحث", + "تعريف جديد", + [ + "صورة", + "شاشة", + "هاتف ذكي", + "اعلانات", + "اطبع" + ], + [ + "مجاني", + "نسبة ثابتة", + "حجم ثابت" + ], + "مساعدة", + [ + "شكل حي", + "تحرير شكل حي", + "نفس الشعاع" + ], + "ضبابي", + [ + "متعدد الأضلاع", + "نجم", + "حلزوني", + "مربع" + ], + [ + "شعاع الزاوية", + "الشعاع الداخلي" + ] + ], + [ + "لون", + [ + "لا شيء", + "أحمر", + "برتقالي", + "أصفر", + "اخضر", + "ازرق", + "أرجواني", + "الرمادي", + "أبيض", + "شفاف", + "أسود", + "السيان", + "ماجنتا", + "محايدة" + ], + "مجموع", + "مطلق", + "الحفاظ على اللمعان" + ], + [ + "الظل الساقط", + "التظليل الداخلي", + "التوهج الخارجي", + "التوهج الداخلي", + "تشطيب وزخرفة", + "تراكيب الالوان", + "تأثير تدريج لوني", + "نمط تراكب", + "صقيل", + "جرة قلم", + "خيارات المزج", + "تحديد النقاط" + ], + [ + "شكل التلميح", + "ديناميكية التلميحات", + "بعثرة", + "ديناميكية اللون", + [ + "حجم الغضب", + "الحد الأدنى من القطر", + "زاوية القطع", + "القطع الدائري", + "الحد الأدنى من الاستدارة" + ], + [ + "وضع القطع", + "عَدّ", + "عد القطع" + ], + [ + "مقدمة\\خلفية القطع", + "درجة ألوان القطع", + "تشبع القطع", + "سطوع القطع" + ], + [ + "حدد مصدر النسخ عن طريق الضغط على Alt (أو K) والنقر فوق الصورة", + "تحديد الواجهة بالأبيض, الخلفية بالأسود, و المساحة المجهولة بالرمادي", + "الطبقة لايمكن تعديلها", + "يجب أولا أن تحول طبقة الكتابة الى صورة نقطية", + "يجب تحويل الغرض الذكي لبكسل أولاً", + "حدد طبقات متعددة", + "استقامة طبقة", + ".افتح مستند أولاً", + "أغلق النافذة الحالية أولا", + "الأداة الحالية فقط" + ], + [ + "تسجيل", + "مجموعة عمل جديدة", + "عمل جديد" + ], + [ + "ضغط القلم يتحكم في العتامة", + "ضغط القلم يتحكم في الحجم" + ], + [ + "عادي", + "Dissolve", + "Darken", + "Multiply", + "Color Burn", + "Linear Burn", + "Darker Color", + "Lighten", + "Screen", + "Color Dodge", + "Linear Dodge", + "Lighter Color", + "Overlay", + "Soft Light", + "Hard Light", + "Vivid Light", + "Linear Light", + "Pin Light", + "Hard Mix", + "Difference", + "Exclusion", + "Subtract", + "Divide", + "Hue", + "Saturation", + "اللون", + "Luminosity", + "المرور من خلال" + ] + ], + [ + "تقديم", + "تتبع", + "التحول الأساسي", + [ + "تحويل إلى نقطة النص", + "تحويل إلى نقطة الفقرة" + ] + ], + [ + "إجمالي المحتوى", + "الطبقة الحالية", + "التحديد", + "الحالي والأسفل" + ], + [ + "إستبدال", + "جمع", + "خصم", + "تقاطع", + "استبعاد", + "دمج" + ], + [ + [ + "خطي", + "شعاعي", + "زاوية", + "منعكس", + "ماسي", + "شكل انفجار" + ], + [ + "انعم", + "تدقيق" + ], + [ + "الحافة الخارجية", + "الحافة الداخلية", + "منقوش", + "وسادة منقوشة", + "ضرب الوسادة", + "ضربة عرض" + ], + [ + "ناعم", + "إزميل معقد", + "إزميل سهل", + "النعومة" + ], + [ + "أعلى", + "أسفل" + ], + [ + "خارج", + "وسط", + "داخل", + "من الوسط" + ], + [ + "الظلال", + "الدرجات اللونية المتوسطة", + "تسليط الضوء" + ], + [ + "تشبع", + "نقع" + ], + [ + "صغير", + "وسط", + "كبير" + ], + [ + "غطاء الشىء", + "الزوايا", + "شرطات" + ] + ], + [ + "اختر الشكل تحت المؤشر", + "ضوابط التحول", + "بكسل إلي بكسل", + "تناسب المنطقة", + [ + "محاذاة الحواف اليسرى", + "منتصف أفقي", + "hd", + "محاذاة أعلى الحواف", + "ر", + "محاذاة الحواف السفلية", + "فراغات متساوية" + ] + ], + [ + "ادخل في", + "المشروع الحالي", + "مشروع جديد", + "دقة", + "يضاف إلى المشروع الحالي", + "تم إنشاء مشروع جديد", + "تم منع الدخول للكاميرا" + ], + [ + "الاتجاه", + "انحناء", + "تشويه أفقي", + "تشويه عمودي", + [ + "أفقي", + "عمودي", + "أفقياً", + "عموديا" + ], + [ + "لا شيء", + "قوس", + "قوس السفلى", + "قوس الاعلى", + "قوس", + "انتفاخ", + "صدف أسفلي", + "صدف علوي", + "علم", + "موج", + "تصيد", + "ترتفع", + "عين السمكة", + "تضخيم", + "كبس", + "لف", + "مخصوص" + ], + [ + "خط", + "غير متوفر", + "سيتم تقديم باستخدام", + "هناك عمل غير محفوظ في", + "هل تريد حقًا إغلاقه؟" + ], + [ + "مبادلة الالوان", + "الإفتراضى: ابيض واسود" + ] + ], + [ + "تم التحميل", + "اضافة", + "دليل التحريك", + "دليل المسح", + "دليل الإضافة", + "جاري التحميل", + "VAR0تحميل الــ" + ], + [ + "معرض الفلاتر", + [ + [ + "تذويب", + [ + "فرك", + "إعادة البناء", + "تنعيم", + "لف", + "تقليص", + "تكبير", + "إدفع لليسار", + "تجميد", + "إزالة التجميد" + ] + ], + [ + "تصحيح العدسة" + ] + ], + "التشويش", + [ + "متوسط", + "ضباب", + "أكثر ضباباً", + "صندوق الضباب", + "التمويه الضبابي", + "ضبابية العدسة", + "ضبابية الحركة", + "ضبابية التدوير", + "ضبابية الشكل", + "الضباب الذكي", + "تنعيم الأسطح" + ], + "تشويه", + [ + "إزاحة", + "قَرْص", + "الإحداثيات القطبية", + "تموجات", + "مستعرض", + "تكوير", + "موجة" + ], + "ضجيج", + [ + "إضافة ضجيج", + "إزالة البقع", + "غبار و خدوش", + "التوسيط" + ], + "التهيئة النقطية", + [ + "الألوان النصفية", + "تبلور", + "تصغير الأسطح", + "تجزئة", + "نقش تظليلي", + "فسيفساء", + "تنقيط" + ], + "تحويل", + [ + "غيوم", + "غيوم الإختلاف", + "لمعة العدسة" + ], + "حدة", + [ + "حدة", + "حدة الحواف", + "أكثر حدة", + "الحدة الذكية", + "قناة التوضيح" + ], + "تحديد الاسلوب", + [ + "تفكيك", + "بروز", + "إطلاق", + "اوجد الحواف", + "تلوين زيتى" + ], + "غير ذلك", + [ + "مخصوص", + "مرشح ترددات عالية", + "اقصى قيمة", + "ادنى قيمة", + "إزاحة", + "تكرار" + ], + [ + "منطقة غير معرفة", + "اجعله شفاف", + "كرر نقاط الحافة", + "الإلتفاف حول", + "آخِر مرشح", + "عرض" + ] + ], + [ + "قوالب جاهزة", + [ + "مرشح الخط", + "الكلمات الرئيسية", + "عشوائية" + ], + [ + "مع الرموز", + "مع الصورة" + ], + [ + "صورة مصغّرة", + "قائمة" + ] + ] + ], + [ + [ + "Arquivo", + "Editar", + "Imagem", + "Camada", + "Pasta", + "Selecionar", + "Filtro", + "Visualizar", + "Janela", + "Idioma", + "Entrar", + "Sair", + "Criar tradução", + [ + "Conta", + "Termos de Uso", + "Voltar", + "Sobre", + "Reportar um erro", + "Aprender" + ], + "Mais", + "Tema", + "Usar WebGL", + [ + "Photopea: Editor de imagem avançado", + "Editor online gratuito que suporta os formatos PSD, XCF, Sketch, XD e CDR.", + "Crie uma nova imagem ou abra arquivos existentes no seu computador. Salve o seu trabalho como PSD (Arquivo - Gravar como PSD) ou como JPG / PNG / SVG (Arquivo - Exportar como).", + "Sugira novas funções no nosso ou . O nosso objetivo é criar .", + "Os links de patrocinadores são abertos numa nova janela.", + "Este recurso não está disponível.", + "Instale Photopea" + ] + ], + [ + "Abrir", + "Publicar Online", + "Gravar", + "Gravar como PSD", + "Imprimir", + "Abrir de URL", + "Abrir do computador", + "Conectar com Google Drive", + "Exportar como", + "Exportar Camadas", + "Script", + "Abrir e colocar", + "Fechar", + "Armazenamento local", + "Informação do Ficheiro" + ], + [ + "Avançar", + "Retroceder", + "Limpar", + "Preencher", + "Transformar", + "Rodar", + "Espelhar VAR0", + "Escalar VAR0", + "Anular / Refazer", + "Perspetiva", + [ + "Misturar automaticamente", + "Alinhar automaticamente" + ], + "Desvanecer", + "Aplicar Imagem" + ], + "Ajustamentos", + [ + "Brilho/Contraste", + "Níveis", + "Curvas", + "Exposição", + "Vibração", + "Matiz/Saturação", + "Balanço de Cores", + "Preto e branco", + "Filtro fotográfico", + "Misturador de Canais", + "Procura de Cor", + "Inverter", + "Posterizar", + "Limite", + "Mapa de gradiente", + "Cor Seletiva", + [ + "Tom automático", + "Contraste automático", + "Cor automática" + ], + "Substituir cor" + ], + [ + "Cortar", + "Copiar", + "Colar", + "Novo(a)", + "Apagar", + "Ativar", + "Desativar", + "Copiar Mesclado", + "Aplicar", + "Novamente", + "Atualizar" + ], + [ + "Duplicar Camada", + "Nova Camada de Ajustamento", + "Máscara de rasterização", + "Máscara de vetor", + "Adicionar (Revelar Tudo)", + [ + "Adicionar (Esconder Tudo)", + "Revelar seleção", + "Ocultar seleção", + "Da transparência" + ], + [ + "Máscara de recorte", + "Modo de máscara rápido" + ], + "Converter para Objeto inteligente", + "Rasterizar", + "Agrupar camadas", + "Mesclar para baixo", + "Mesclar para cima", + [ + "Mesclar camadas", + "Achatar imagem" + ], + "Nova Camada", + "Ativar máscara de rasterização", + "Desativar máscara de rasterização", + "Ativar máscara de vetor", + "Desativar máscara de vetor", + "Ativar máscara de recorte", + "Desativar máscara de recorte", + "Nova Pasta", + "Adicionar máscara de rasterização", + "Apagar máscara de rasterização", + "Adicionar máscara de vetor", + "Apagar máscara de vetor", + "Conectar máscara de rasterização", + "Desconectar máscara de rasterização", + "Conectar máscara de vetor", + "Desconectar máscara de vetor", + "Ativar efeitos de camada", + "Desativar efeitos de camada", + "Apagar Camada", + "Mudança de Opacidade da Camada", + "Mudança de Mistura", + "Rasterizar Estilo de Camada", + "Ordem de Camadas", + [ + "A Criar Objeto inteligente", + "A Atualizar Objeto inteligente", + "A Colocar Objeto inteligente", + "Fonte (Objeto inteligente)", + "Modo de pilha" + ], + "Mudança de Nome", + "Mudança de Cor", + "Editar Camada de Ajustamento", + "Converter para Forma", + "Ativar máscara de filtro", + "Desativar máscara de filtro", + "Ativar Filtros Inteligentes", + "Desativar Filtros Inteligentes", + "Adicionar máscara de filtro", + "Apagar máscara de filtro", + "Limpar Filtros Inteligentes", + [ + [ + "Preenchimento com Cor", + "Preenchimento com Gradiente", + "Preenchimento com Padrão", + "Ciente ao conteúdo" + ], + "Nova Camada de Preenchimento", + "Modificar camada de preenchimento" + ], + "Camada via cópia", + "Máscara de filtro", + "Apagar Estilo de Camada", + "Mover o Filtro Inteligente", + "Apagar o Filtro Inteligente", + [ + "Juntar Camadas", + "Separar Camadas" + ], + "Organizar", + [ + "Trazer para primeiro", + "Trazer para a frente", + "Enviar para trás", + "Enviar para último" + ], + [ + "Esta Camada está Bloqueada.", + "Travar mudança", + "Bloquear" + ], + "Animação" + ], + [ + "Tudo", + "Anular Seleção", + "Inverso", + "Modificar", + "Expandir", + "Contrair", + "Difusão", + "Mover seleção", + "Intervalo de cores", + "Borda", + "Transformar seleção", + "Refinar arestas", + "Curar seleção", + "Corte Mágico" + ], + [ + "Mais Zoom", + "Menos Zoom", + "Guias", + "Réguas", + "Grade", + "Encaixar", + "Encaixar a", + "Limites do Documento", + "Grade de pixel", + "Demarcadores", + "Encaixar a pixels", + [ + "Fatias", + "Opções de fatiar" + ], + "Mostrar" + ], + [ + "Histórico", + "Camadas", + "Propriedades", + "Pincel", + "Caractere", + "Parágrafo", + "Informações", + "Composições de camada", + "Amostras", + "Ações", + "Histograma", + "Navegação", + "Predefinições de Ferramenta", + "Glifos" + ], + [ + "Ferramenta pincel", + "Clonagem", + "Corte", + "Borracha", + "Seleção Elipsoidal", + "Conta-gotas", + "Gradiente", + "Mão", + "Texto", + "Seleção com Laço", + "Seleção com Laço Magnético", + "Mover", + "Varinha Mágica", + "Balde de Tinta", + "Seleção com Laço Poligonal", + "Seleção retangular", + "Transformação Livre", + "Ampliar", + "Ferramenta de desfoque", + "Ferramenta de foco", + "Ferramenta para borrar", + "Ferramenta de exposição", + "Ferramenta para queimar", + "Ferramenta de esponja", + "Ferramenta de cura localizada", + "Ferramenta de cura", + "Ferramenta de remendo", + "Seleção de demarcador", + "Seleção Direta", + "Caneta", + "Caneta livre", + "Forma personalizada", + "Rectângulo", + "Elipse", + "Forma paramétrica", + "Linha", + "Régua", + "Seleção rápida", + "Ferramenta lápis", + "Corte de perspectiva", + "Ferramenta de fatia", + "Ferramenta de seleção de fatia", + "Substituição de cor", + "Olhos vermelhos", + "Seleção de objeto", + "Borracha de plano de fundo", + "Distorção de marionete", + "Girar Visualização", + "Escala sensível a conteúdo", + "Movimento Sensível ao Conteúdo" + ], + [ + "Tirar foto", + "Escolher Cor", + "Editor de Contornos", + "Tamanho da Tela de pintura", + "Duplicar para...", + "Editor de Gradiente", + "Estilo da Camada", + "Novo Projeto", + "Gravar para a Web", + "Deformar", + "Tamanho da Imagem", + "Vetorizar bitmap", + [ + "Aparar", + "Cortar", + "Revelar Tudo" + ], + "Atalhos do Teclado", + "Adicionar Guias", + [ + "Apagar Guias", + "Guias da Camada" + ] + ], + [ + "Opacidade", + "Efeitos", + "Brilho", + [ + "Constraste", + "Usar Legado" + ], + "Canal", + "Exposição", + "Deslocamento", + "Correção de Gama", + "Matiz", + "Saturação", + "Luminosidade", + "Colorir", + "Extensão", + "Vibração", + [ + "Tamanho", + "Interpolação", + "Vizinho mais próximo", + "Bilinear" + ], + "Ângulo", + "Arredondamento", + "Dureza", + "Espaçamento", + [ + "Modo de Mistura", + "Mesclar Se" + ], + "Tamanho da Amostra", + "Contorno", + "Estilo", + [ + "Reverter", + "Relativa", + "Âncora" + ], + "Tolerância", + "Contíguo", + "Preenchimento", + "Usar ângulo global", + "Distância", + "Espalhamento", + "Ruído", + "Cortar Sombra", + "Técnica", + "Direção", + "Profundidade", + "Suavizar", + "Modo", + "Gradiente", + "Escalar", + "Alinhar À Camada", + "Posição", + "Largura", + "Altura", + "Destino", + "Tipo", + "Primeiro Plano", + "Plano de Fundo", + "Personalizado", + "Nome", + "Criar", + "Formatar", + "Manter Aspeto", + [ + "Qualidade", + "Páginas" + ], + "Duplicar", + "Mover", + "Filtros Inteligentes", + "Raio", + "Quantidade", + "Distribuição", + [ + "Uniforme", + "Gaussian" + ], + "Monocromático", + "Tamanho da célula", + "Padrão", + "Corrente", + "Força", + "Proteger detalhe", + "Tipo de preenchimento", + "Textura", + "Tremulação", + "Aresta", + "Fonte", + "Alvo", + "Canais", + "Máscara", + "Densidade", + "Alinhado", + [ + "Demarcador", + "Forma", + "Pixels", + "Polegadas", + "Centímetros", + "Milímetros", + "Porcentagem" + ], + "Formas", + "Lados", + "Preferências", + [ + "lange", + "Ratio", + "Qualquer", + "Tipo de grade", + "Isométrico", + "Espaçamento da grade", + "Unidades da régua" + ], + "Reduzir Ruído", + "Cores", + "Distâncias", + "Ritmo", + "Seleção automática", + "Procurar", + "Definir novo", + [ + "Foto", + "Tela", + "Celular", + "Anúncios", + "Cópia impressa" + ], + [ + "Livre", + "Taxa Fixa", + "Tamanho Fixo" + ], + "Ajuda", + [ + "Forma viva", + "Editar forma viva", + "O mesmo Raio" + ], + "Grau de seleção", + [ + "Polígono", + "Estrela", + "Espiral", + "Quadrado" + ], + [ + "Raio do canto", + "Raio interno" + ] + ], + [ + "Cor", + [ + "Nenhum", + "Vermelho", + "Laranja", + "Amarelo", + "Verde", + "Azul", + "Roxo", + "Cinzento", + "Branco", + "Transparente", + "Preto", + "Ciano", + "Magenta", + "Neutral" + ], + "Total", + "Absoluto", + "Preservar Luminosidade" + ], + [ + "Sombra", + "Sombra Interna", + "Brilho Exterior", + "Brilho Interior", + "Bisel e Relevo", + "Sobreposição de cor", + "Sobreposição de gradiente", + "Sobreposição de padrão", + "Cetim", + "Traçado", + "Opções de mistura", + "Selecionar pixels" + ], + [ + "Forma da ponta", + "Dinâmica da ponta", + "Espalhamento", + "Dinâmica de cor", + [ + "Tremulação do tamanho", + "Diâmetro mínimo", + "Tremulação de ângulo", + "Tremulação de redondez", + "Redondez mínima" + ], + [ + "Tremulação da posição", + "Quantidade", + "Tremulação da quantidade" + ], + [ + "Tremulação do Plano de fundo/Primeiro plano", + "Tremulação do matiz", + "Tremulação de saturação", + "Tremulação de brilho" + ], + [ + "Selecione a fonte de clonagem segurando Alt (ou K) e clicando na imagem.", + "Marque primeiro plano com Branco, fundo com Preto e a área desconhecida com Cinza.", + "Camada não é editável.", + "Camada de Texto têm de ser rasterizada primeiro", + "Objeto inteligente deve der rasterizado primeiro", + "Selecionar múltiplas camadas", + "Retificar camada", + "Abra um documento primeiro.", + "Feche a janela atual primeiro.", + "Somente Ferramenta Atual" + ], + [ + "Gravar", + "Novo conjunto de ações", + "Nova ação" + ], + [ + "Pressão da caneta controla a opacidade", + "Pressão da caneta controla o tamanho" + ], + [ + "Normal", + "Dissolver", + "Escurecer", + "Multiplicação", + "Superexposição de cor", + "Superexposição linear", + "Cor mais escura", + "Clarear", + "Tela", + "Subexposição de cor", + "Subexposição linear", + "Cor mais clara", + "Sobrepor", + "Luz indireta", + "Luz direta", + "Luz brilhante", + "Luz linear", + "Luz do pino", + "Mistura sólida", + "Diferença", + "Exclusão", + "Subtrair", + "Dividir", + "Matiz", + "Saturação", + "Cor", + "Luminosidade", + "Passagem" + ] + ], + [ + "Entrelinhas", + "Encalço", + "Deslocamento de linha de base", + [ + "Converter para Texto de Ponto", + "Converter para Texto de Parágrafo" + ] + ], + [ + "Todas as camadas", + "Camada atual", + "Seleção", + "Atual e abaixo" + ], + [ + "Substituir", + "União", + "Diferença", + "Intersecção", + "Excluir", + "Mesclar" + ], + [ + [ + "Linear", + "Radial", + "Ângulo", + "Reflectido", + "Diamante", + "Estouro de forma" + ], + [ + "Mais suave", + "Preciso" + ], + [ + "Bisel exterior", + "Bisel interior", + "Entalhe", + "Relevo travesseiro", + "Relevo de risco", + "Largura do traçado" + ], + [ + "Suavizar", + "Cinzel sólido", + "Cinzel suave", + "Suavidade" + ], + [ + "Cima", + "Baixo" + ], + [ + "Fora", + "Centro", + "Dentro", + "A partir do centro" + ], + [ + "Sombras", + "Tons Médios", + "Realces" + ], + [ + "Dessaturar", + "Saturar" + ], + [ + "Pequeno", + "Médio", + "Ampla" + ], + [ + "Arremates", + "Cantos", + "Traços" + ] + ], + [ + "Escolher o objeto debaixo do cursor", + "Controlos de transformação", + "Pixel a Pixel", + "Ajustar a área", + [ + "Alinhar cantos esquerdos", + "Centralizar horizontalmente", + "Alinhar cantos direitos", + "Alinhar cantos de cima", + "Centralizar verticalmente", + "Alinhar cantos de baixo", + "Lacunas iguais" + ] + ], + [ + "Insira dentro de", + "Projeto atual", + "Novo projeto", + "Resolução", + "Adicionado ao projeto atual.", + "Um novo projeto foi criado.", + "O acesso à câmera foi negado." + ], + [ + "Orientação", + "Curvatura", + "Distorção Horizontal", + "Distorção Vertical", + [ + "Horizontal", + "Vertical", + "horizontalmente", + "verticalmente" + ], + [ + "Nenhum(a)", + "Arco", + "Arco Inferior", + "Arco Superior", + "Arquear", + "Protuberância", + "Escudo Inferior", + "Escudo Superior", + "Bandeira", + "Onda", + "Peixe", + "Subir", + "Olho de Peixe", + "Esticar", + "Apertar", + "Torcer", + "Customizado" + ], + [ + "Tipo de Letra", + "não está disponível", + "Vai ser desenhado usando", + "Há trabalho não guardado no", + "Você realmente quer fechá-lo?" + ], + [ + "Permutar Cores", + "Padrão: Branco e Preto" + ] + ], + [ + "carregado", + "adicionado", + "Mover guia", + "Apagar guia", + "Adicionar guia", + "Carregando", + "Carregar VAR0" + ], + [ + "Galeria de filtros", + [ + [ + "Dissolver", + [ + "Borrar", + "Reconstruir", + "Suavizar", + "Redemoinho", + "Encolher", + "Inflar", + "Empurre à esquerda", + "Congelar", + "Descongelar" + ] + ], + [ + "Correção de lente" + ] + ], + "Desfoque", + [ + "Médio", + "Desfoque", + "Desfoque Maior", + "Desfoque de Caixa", + "Desfoque Gaussiano", + "Desfoque de Lente", + "Desfoque de Movimento", + "Desfoque Radial", + "Desfoque de Forma", + "Desfoque Inteligente", + "Desfoque de Superfície" + ], + "Distorcer", + [ + "Mesclar", + "Sucção", + "Coordenadas Polares", + "Ondulação", + "Cisalhamento", + "Esferização", + "Ondas" + ], + "Ruído", + [ + "Adicionar Ruído", + "oi", + "Poeira e Rabiscos", + "Mediana" + ], + "Pixelizar", + [ + "Meio-Tom em Cores", + "Cristalizar", + "Facetar", + "Fragmentar", + "Meia-Tinta", + "Mosaico", + "Pontilhar" + ], + "Renderizar", + [ + "Nuvens", + "Nuvens por Diferença", + "Reflexo de Flash" + ], + "Aguçar", + [ + "Tornar Nítido", + "Tornar Arestas Nítidas", + "Nitidez Maior", + "Aplicação Inteligente de Nitidez", + "Máscara de Nitidez" + ], + "Estilizar", + [ + "Difusão", + "Realçar", + "Extrusão", + "Indicação de Arestas", + "Pintura a óleo" + ], + "Outros Filtros", + [ + "Customizado", + "Alta frequência", + "Máximo", + "Mínimo", + "Deslocamento", + "Repetir" + ], + [ + "Área indefinida", + "Definir como transparente", + "Repetir pixels da aresta", + "Preencher com lado oposto", + "Último filtro", + "Visualizar" + ] + ], + [ + "Modelos", + [ + "Filtro de fontes", + "Palavras-chave", + "Aleatória" + ], + [ + "Com símbolos", + "Com foto" + ], + [ + "Miniaturas", + "Lista" + ] + ] + ], + [ + [ + "Файл", + "Редактирование", + "Изображение", + "Слой", + "Папка", + "Выделить", + "Фильтр", + "Просмотр", + "Окно", + "Язык", + "Войти", + "Выйти", + "Создать перевод", + [ + "Аккаунт", + "Правила использования", + "Назад", + "О приложении", + "Сообщить об ошибке", + "Обучение" + ], + "Больше", + "Тема", + "Использовать WebGL", + [ + "Photopea: расширенный редактор изображений", + "gjadm", + "Создайте новое изображение или откройте существующие файлы с компьютера. Сохраните свою работу как PSD (Файл - Сохранить как PSD) или как JPG / PNG / SVG (Файл - Экспортировать как).", + "Предлагайте новые возможности в нашем или . Нашей целью является создание <наиболее продвинутого и доступного по цене редактора фотографий>.", + "Ссылки на спонсоров открываются в новом окне.", + "Эта функция недоступна.", + null + ] + ], + [ + "Открыть", + "Опубликовать онлайн", + "Сохранить", + "Сохранить как PSD", + "Печать", + "Открыть по ссылке", + "Открыть с компьютера", + "Подключиться к Google Диску", + "Экспортировать как", + "Экспортировать слои", + "Скрипт", + "Открыть и поместить", + "Закрыть", + "Локальное хранилище", + null + ], + [ + "Шаг вперед", + "Шаг назад", + "Очистить", + "Заливка", + "Трансформация", + "Поворот", + "Отразить VAR0", + "Масштабирование VAR0", + "Отменить / Повторить", + "Перспектива", + [ + "Автоматическое смешивание", + "Автоматически выравнивать" + ], + "Ослабить", + "Внешний канал" + ], + "Коррекция", + [ + "Яркость/Контрастность", + "Уровни", + "Кривые", + "Экспозиция", + "Сочность", + "Тон/Насыщенность", + "Цветовой баланс", + "Черно-белое", + "Фотофильтр", + "Миксер каналов", + "Поиск цвета", + "Инвертировать", + "Постеризация", + "Порог", + "Карта градиента", + "Выборочный цвет", + [ + "Автотон", + "Автоконтраст", + "Авто цветовая коррекция" + ], + "Замена цвета" + ], + [ + "Вырезать", + "Копировать", + "Вставить", + "Новый", + "Удалить", + "Включить", + "Выключить", + "Объединение копий", + "Применить", + "Повторно", + "Обновить" + ], + [ + "Дублировать слой", + "Новый корректирующий слой", + "Растровая маска", + "Векторная маска", + "Добавить (показать все)", + [ + "Добавить (скрыть все)", + "Показать выделенную область", + "Скрыть выделенную область", + "Из прозрачности" + ], + [ + "Маска отсечения", + "Режим быстрой маски" + ], + "Конвертировать в Смарт-объект", + "Растрирование", + "Группа слоёв", + "Объединить с предыдущим", + "Объединить с верхним слоем", + [ + "Объединить слои", + "Выполнить сведение" + ], + "Новый слой", + "Включить растровую маску", + "Выключить растровую маску", + "Включить векторную маску", + "Выключить векторную маску", + "Включить маску отсечения", + "Выключить маску отсечения", + "Новая папка", + "Добавить растровую маску", + "Удалить растровую маску", + "Добавить векторную маску", + "Удалить векторную маску", + "Привязать растровую маску", + "Отвязать растровую маску", + "Привязать векторную маску", + "Отвязать векторную маску", + "Включить эффекты слоев", + "Выключить эффекты слоев", + "Удалить слой", + "Изменение прозрачности слоя", + "Изменение смешивания", + "Растеризовать стиль слоя", + "Порядок слоёв", + [ + "Создание Смарт-объекта", + "Обновление Смарт-объекта", + "Размещение Смарт-объекта", + "Источник (Смарт-объект)", + "Режим стека" + ], + "Изменение названия", + "Изменение цвета", + "Редактировать корректирующий слой", + "Преобразовать в Форму", + "Включить маску фильтра", + "Выключить маску фильтра", + "Включить умные фильтры", + "Выключить умные фильтры", + "Добавить маску фильтра", + "Удалить маску фильтра", + "Очистить умные фильтры", + [ + [ + "Заливка сплошным цветом", + "Градиентная заливка", + "Заливки узором", + "С учетом содержимого" + ], + "Новый заполняющий слой", + "Изменить заполнениние слоя" + ], + "Слой через копию", + "Маска фильтра", + "Удалить стиль слоя", + "Передвинуть Смарт фильтр", + "Удалить смарт фильтр", + [ + "Объединить слои", + "Разделить слои" + ], + "Расставить", + [ + "На передний план", + "Выдвинуть", + "Отправить назад", + "На задний план" + ], + [ + "Этот слой заблокирован.", + "Блокировать изменения", + null + ], + "Анимация" + ], + [ + "Все", + "Отменить выделение", + "Инвертировать", + "Модификация", + "Развернуть", + "Стягивать", + "Перо", + "Передвинуть выделение", + "Цветовой диапазон", + "Граница", + "Трансформировать выделение", + "Уточнить край", + "Пометить выбранное", + null + ], + [ + "Приблизить", + "Отдалить", + "Направляющие", + "Линейки", + "Сетка", + "Привязка", + "Привязка к", + "Границы документа", + "Пиксельная сетка", + "Контуры", + "Привязка к пикселям", + [ + "Фрагменты", + "Параметры среза" + ], + "Показать" + ], + [ + "История", + "Слои", + "Свойства", + "Кисть", + "Характер", + "Параграф", + "Инфо", + "Наборы слоев", + "Образы", + "Операция", + "Гистограмма", + "Навигатор", + "Наборы параметров для инструмента", + "Глифы" + ], + [ + "Кисть", + "Штамп", + "Рамка", + "Ластик", + "Выделение в форме эллипса", + "Пипетка", + "Градиент", + "Рука", + "Текст", + "Выделение лассо", + "Выделение магнитное лассо", + "Перемещение", + "Волшебная палочка", + "Заливка", + "Выделение полигональное лассо", + "Прямоугольное выделение", + "Свободное трансформирование", + "Лупа", + "Инструмент «Размытие»", + "Инструмент «Резкость»", + "Палец", + "Инструмент «Осветлитель»", + "Инструмент «Затемнитель»", + "Инструмент \"Губка\"", + "Точечная восстанавливающая кисть", + "Восстанавливающая кисть", + "Заплатка", + "Выделение контура", + "Прямой выбор", + "Ручка", + "Свободная ручка", + "Произвольная фигура", + "Прямоугольник", + "Эллипс", + "Параметрическая Форма", + "Линия", + "Линейка", + "Быстрое выделение", + "Карандаш", + "Кадрирование перспективы", + "Фрагмент", + "Выделение фрагмента", + "Замена цвета", + "Красные глаза", + "Выбор объекта", + "Убрать фон", + "Кукольное искажение", + "Поворот вида", + "Масштаб с учетом содержимого", + "Перемещение с учетом содержимого" + ], + [ + "Сделать снимок", + "Выбор цвета", + "Редактор контура", + "Размер холста", + "Дублировать в ...", + "Редактор градиента", + "Стиль слоя", + "Новый проект", + "Сохранить для интернета", + "Деформация", + "Размер изображения", + "Трассировка", + [ + "Тримминг", + "Вырезать", + "Раскрыть все" + ], + "Горячие клавиши", + "Добавить направляющие", + [ + "Удалить направляющие", + "Направляющие из слоя" + ] + ], + [ + "Непрозр.", + "Эффекты", + "Яркость", + [ + "Контраст", + "Использовать прежние" + ], + "Канал", + "Выдержка", + "Смещение", + "Коррекция гаммы", + "Тон", + "Насыщенность", + "Освещенность", + "Раскрасить", + "Диапозон", + "Сочность", + [ + "Размер", + "Интерполяция", + "Ближайшего соседа", + "Билинейная" + ], + "Угол", + "Скругленность", + "Жесткость", + "Интервал", + [ + "Режим смешивания", + "Наложить, если" + ], + "Размер образца", + "Контур", + "Стиль", + [ + "Обратить", + "Относительно", + "Расположение" + ], + "Допуск", + "Непрерывный", + "Заливка", + "Использовать глобальный угол", + "Смещение", + "Разброс", + "Шум", + "Убрать тень", + "Метод", + "Направление", + "Глубина", + "Смягчать", + "Режим", + "Карта градиента", + "Масштаб", + "Выровнять по слою", + "Позиция", + "Ширина", + "Высота", + "Цель", + "Тип", + "Передний план", + "Задний план", + "Специальный", + "Имя", + "Создать", + "Формат", + "Сохранять пропорции", + [ + "Качество", + "Страницы" + ], + "Дублировать", + "Двигать", + "Умные фильтры", + "Радиус", + "Количество", + "Дистрибуция", + [ + "Форма", + "По Гауссу" + ], + "Однотонный", + "Размер Ячейки", + "Шаблон", + "Нажим", + "Сила", + "Защитить детали", + "Тип обводки", + "Текстура", + "Колебание", + "край", + "Источник", + "Цель", + "Каналы", + "Маска", + "Плотность", + "Выравнивание", + [ + "Контур", + "форма", + "Пиксели", + "Дюймы", + "Сантиметры", + "Миллиметры", + "Процент" + ], + "Формы", + "Стороны", + "Предпочтения", + [ + "Длина", + "Соотношение", + "Любой", + "Сетка стиль", + "Изометрический", + "Размеры сетки", + "Разметка линеек" + ], + "Уменьшить шум", + "Краски", + "Расстояния", + "Рейтинг", + "Авто-выбор", + "Поиск", + "Определить новый", + [ + "Фото", + "Экран", + "Мобильный", + "Реклама", + "Печать" + ], + [ + "Свободный", + "Фикс. соотношение", + "Фикс. размер" + ], + "Помощь", + [ + "Живые фигуры", + "Изменить фигуру", + "Те же радиусы" + ], + "Разброс", + [ + "Многоугольник", + "Звезда", + "Спираль", + "Квадратный" + ], + [ + "Радиус скруглений", + "Внутренний радиус" + ] + ], + [ + "Цвет", + [ + "Отсутствует", + "Красный", + "Оранжевый", + "Желтый", + "Зеленый", + "Синий", + "Фиолетовый", + "Серый", + "Белый", + "Прозрачный", + "Чёрный", + "голубой", + "пурпурный", + "Нейтральный" + ], + "Всего", + "Абсолютная", + "Сохранить свечение" + ], + [ + "Тень", + "Внутренняя тень", + "Внешнее свечение", + "Внутреннее свечение", + "Тиснение", + "Наложение цвета", + "Наложение градиента", + "Наложение узора", + "Глянец", + "Обводка", + "Параметры наложения", + "Выберите точки" + ], + [ + "Форма кончика", + "Динамический советник", + "разброс", + "Цветовая динамика", + [ + "Размер Джиттер", + "Минимальный диаметр", + "Угол дрожания", + "Округлость дрожания", + "Минимальная окружность" + ], + [ + "Позиция угла", + "Подсчёт", + "Подсчёт углов" + ], + [ + "Переднего/Заднего плана угла", + "Тон угла", + "Колебание насыщенности", + "Колебание яркости" + ], + [ + "Выберите источник клонирования, удерживая Alt и нажав на изображение.", + "Выбрать цвет переднего плана Белым, заднего плана Черным и не известную зону Серым", + "Слой не редактируемый", + "Слой с текстом должен быть растрирован вначале", + "Смарт-объект должен быть сначала растрирован", + "Выберите нескольких слоев", + "Выпрямить слой", + "Сначала откройте документ.", + "Сначала закройте текущее окно.", + "Только активный инструмент" + ], + [ + "Запись", + "Новый набор операций", + "Новая операция" + ], + [ + "Нажим управляет непрозрачностью", + "Нажим управляет размером" + ], + [ + "Обычный", + "Растворение", + "Замена темным", + "Умножение", + "Затемнение основы", + "Линейный затемнитель", + "Темнее", + "Замена светлым", + "Осветление", + "Осветление основы", + "Линейный осветлитель", + "Светлее", + "Перекрытие", + "Рассеянный свет", + "Направленный свет", + "Яркий свет", + "Линейный свет", + "Точечный свет", + "Жесткое смешение", + "Разница", + "Исключение", + "Вычитание", + "Разделение", + "Тон", + "Насыщенность", + "Цвет", + "Свечение", + "Пропустить" + ] + ], + [ + "Интерлиньяж", + "Трекинг", + "Базовая линия", + [ + "Преобразовать в короткий текст", + "Преобразовать в блочный текст" + ] + ], + [ + "Все слои", + "Текущий слой", + "Выделение", + "Текущий и следующие" + ], + [ + "Заменить", + "Объединение", + "Разница", + "Пересечение", + "Исключающее ИЛИ", + "Слияние" + ], + [ + [ + "Линейный", + "Радиальные", + "Угол", + "Отражение", + "Алмаз", + "Разбивка фигуры" + ], + [ + "Мягче", + "Точное" + ], + [ + "Внешний скос", + "Внутренний Скос", + "рельеф", + "Выпуклый рельеф", + "Рельефная кайма", + "Обводка ширина" + ], + [ + "Оптимизировать", + "Твердый резец", + "Мягкий резец", + "Гладкость" + ], + [ + "Вверх", + "Вниз" + ], + [ + "Снаружи", + "Центр", + "Внутри", + "От центра" + ], + [ + "Тени", + "Средние тоны", + "Свет" + ], + [ + "Десатурация", + "Сатурация" + ], + [ + "Маленький", + "Средний", + "Большой" + ], + [ + "Концы", + "Углы", + "Тире" + ] + ], + [ + "Выбрать объект под курсором", + "Контроль трансформации", + "Пиксель в пиксель", + "Подогнать площадь", + [ + "Выровнять левые края", + "Горизонтально по центру", + "Выровнять правые края", + "Выровнять верхние края", + "Вертикально по центру", + "Выровнять нижние края", + "Равные пробелы" + ] + ], + [ + "Вставить в", + "Текущий Проект", + "Новый Проект", + "Разрешение", + "Добавлено в текущий проект", + "Был создан новый проект.", + "Доступ к камере было отказано." + ], + [ + "Ориентация", + "Изгиб", + "Искажение по горизонтали", + "Искажение по вертикали", + [ + "Горизонтальная", + "Вертикальная", + "по горизонтали", + "по вертикали" + ], + [ + "Нет", + "Дуга", + "Дуга вниз", + "Дуга вверх", + "Арка", + "выпуклость", + "Нижняя оболочка", + "Верхняя оболочка", + "Флаг", + "Волна", + "Рыба", + "Рост", + "Рыбий Глаз", + "Надуть", + "Выжать", + "Поворот", + "Пользовательский" + ], + [ + "Шрифт", + "недоступен", + "Будет отображаться с использованием", + "Существует несохраненные работы в", + "Вы действительно хотите закрыть это?" + ], + [ + "Замена цветов", + "По умолчанию: Белое и черное" + ] + ], + [ + "загружается", + "Добавлено", + "Переместить направляющую", + "Удалить направляющую", + "Добавить направляющую", + "Загрузка", + "Загрузить VAR0" + ], + [ + "Галерея фильтров", + [ + [ + "Пластика", + [ + "Размазать", + "Перестроить", + "Разглаживать", + "Скручивать", + "Сжать", + "Надуть", + "Нажать влево", + "Заморозить", + "Разморозить" + ] + ], + [ + "Корректировка объектива" + ] + ], + "Размытие", + [ + "Среднее", + "Размытие", + "Больше размытия", + "Размытие по рамке", + "Размытие по Гауссу", + "Lens Blur", + "Motion Blur", + "Radial Blur", + "Shape Blur", + "Интеллектуальная Размытость", + "Поверхностное размытие" + ], + "Исказить", + [ + "Заменить", + "Щепотка", + "Полярные координаты", + "Волнистый", + "Сдвиг", + "Сферизация", + "Волна" + ], + "Шум", + [ + "Добавить шум", + "Удаление пятен", + "Пыль и Царапины", + "Медиана" + ], + "Оформление", + [ + "Цвет Полутонов", + "кристаллизовать", + "Фасет", + "Фрагмент", + "глубокая печать", + "Мозаика", + "Акварель" + ], + "Рендеринг", + [ + "Облака", + "Разные облака", + "Блики" + ], + "Резкость", + [ + "Резкость", + "Резкие границы", + "Больше резкости", + "Умная Резкость", + "Нерезкая Маска" + ], + "Стилизовать", + [ + "Рассеить", + "Тиснение", + "Вытянуть", + "Найти края", + "Масляная краска" + ], + "Другие", + [ + "Настройка", + "Цветовой контраст", + "Максимум", + "Минимум", + "Смещение", + "Повторить" + ], + [ + "Неопределенная Область", + "Обозначить Прозрачным", + "Повторить Крайние Пиксели", + "Обернуть Вокруг", + "Предыдущий фильтр", + "Просмотр" + ] + ], + [ + "Шаблоны", + [ + "Фильтр шрифтов", + "Ключевые слова", + "Случайно" + ], + [ + "С символами", + "С фото" + ], + [ + "Миниатюры", + "Список" + ] + ] + ], + [ + [ + "Файл", + "Редагувати", + "Зображення", + "Шар", + "Папка", + "Виділити", + "Фільтр", + "Перегляд", + "Вікно", + "Мова", + "Увійти", + "Вийти", + "Створення перекладу", + [ + "Профіль", + "Умови використання", + "Назад", + "Про програму", + "Повідомити про помилку", + "Навчання" + ], + "Більше", + "Тема", + "Використовувати WebGL", + [ + "Photopea: Розширений редактор зображень", + "Безкоштовний онлайн-редактор, що підтримує формати PSD, XCF, Sketch, XD і CDR.", + "Створити нове зображення або відкрити наявні файли з комп'ютера. Збережіть роботу як PSD (Файл - Зберегти як PSD) або як JPG / PNG / SVG (Файл - Експортувати як).", + "Запропонуйте нові функції на нашому або . Нашою метою є створення <найбільш передових і доступних фото-редактор>.", + "Спонсорські посилання відкриваються в новому вікні.", + "Ця функція недоступна.", + null + ] + ], + [ + "Відкрити", + "Опублікувати онлайн", + "Зберегти", + "Зберегти як PSD", + "Друк", + "Відкрити з URL", + "Відкрити з комп'ютера", + "Під'єднати до Google Drive", + "Експортувати як", + "Експортувати шари", + "Скрипт", + "Відкрити і помістити", + "Закрити", + "Локальне Сховище", + null + ], + [ + "Крок уперед", + "Крок назад", + "Очистити", + "Заповнити", + "Трансформувати", + "Повернути", + "Перевернути VAR0", + "Масштабувати VAR0", + "Скасувати / Повторити", + "Перспектива", + [ + "Автоматичне накладання", + "Автовирівнювання" + ], + "Затухання", + "Застосувати зображення" + ], + "Коригування", + [ + "Яскравість / Контрастність", + "Рівні", + "Криві", + "Експозиція", + "Соковитість", + "Відтінок/Насиченість", + "Баланс Кольорів", + "Чорно-білий", + "Фільтр Фото", + "Мікшер каналів", + "Пошук кольорів", + "Інвертувати", + "Постеризація", + "Поріг", + "Градієнтна Карта", + "Вибірковий колір", + [ + "Автоматичний відтінок", + "Автоматичний контраст", + "Автоматичний колір" + ], + "Замінити колір" + ], + [ + "Вирізати", + "Копіювати", + "Вставити", + "Створити", + "Видалити", + "Увімкнути", + "Вимкнути", + "Копіювати об'єднано", + "Застосувати", + "Знову", + "Оновити" + ], + [ + "Дублікувати шар", + "Новий шар корекції", + "Растрова маска", + "Векторна маска", + "Додати (показати все)", + [ + "Додати (сховати все)", + "Показати виділення", + "Сховати виділення", + "З прозорості" + ], + [ + "Маска відсікання", + "Режим швидкої маски" + ], + "Перетворити на смарт-об'єкт", + "Растеризувати", + "Групувати шари", + "Об'єднати з нижче", + "Об'єднати з вище", + [ + "Об'єднати шари", + "Виконати зведення" + ], + "Новий шар", + "Увімкнути растрову маску", + "Вимкнути растрову маску", + "Увімкнути векторну маску", + "Вимкнути векторну маску", + "Увімкнути відсічну маску", + "Вимкнути відсічну маску", + "Нова папка", + "Додати растрову маску", + "Видалити растрову маску", + "Додати векторну маску", + "Видалити векторну маску", + "Пов'язати растрову маску", + "Від’єднати растрову маску", + "Пов'язати векторну маску", + "Від’єднати векторну маску", + "Увімкнути ефекти шарів", + "Вимкнути ефекти шарів", + "Видалити шар", + "Зміна непрозорості шару", + "Зміна змішування", + "Растеризувати стиль шару", + "Порядок шарів", + [ + "Створення смарт-об'єкта", + "Оновлення смарт-об'єкта", + "Розміщення смарт-об'єкта", + "Джерело (Смарт-об'єкт)", + "Пакетний режим" + ], + "Зміна назви", + "Зміна кольору", + "Редагувати шар коригування", + "Перетворити на фігуру", + "Увімкнути маску фільтра", + "Вимкнути маску фільтра", + "Увімкнути розумні фільтри", + "Вимкнути розумні фільтри", + "Додати маску фільтра", + "Видалити маску фільтра", + "Очистити розумні фільтри", + [ + [ + "Заповнення суцільним кольором", + "Заповнення градієнтом", + "Заповнення патерном", + "Відповідно до вмісту" + ], + "Новий шар заповнення", + "Змінити шар заповнення" + ], + "Скопіювати на новий шар", + "Маска фільтра", + "Видалити стиль шару", + "Пересунути смарт фільтр", + "Видалити смарт фільтр", + [ + "Зв'язування шари", + "Звільнення шари" + ], + "Розставити", + [ + "На передній план", + "Перемістити вперед", + "Перемістити назад", + "На задній план" + ], + [ + "Цей шар заблокований.", + "Зміна блокування", + null + ], + null + ], + [ + "Усе", + "Скасувати виділення", + "Інвертувати", + "Змінити", + "Розгорнути", + "Стиснути", + "Перо", + "Перемістити виділення", + "Колірний діапазон", + "Межа", + "Трансформувати виділення", + "Уточнити край", + "Виправити виділення", + null + ], + [ + "Збільшити масштаб", + "Зменшити масштаб", + "Напрямні", + "Лінійки", + "Сітка", + "Прив'язка", + "Прив'язати до", + "Межі документа", + "Піксельна сітка", + "Контури", + "Прив'язати до пікселів", + [ + "Фрагменти", + "Параметри фрагменту" + ], + "Показати" + ], + [ + "Історія", + "Шари", + "Властивості", + "Пензель", + "Символ", + "Параграф", + "Інформація", + "Композиції шарів", + "Зразки", + "дії", + "Гістограма", + "Навігатор", + "Стилі інструментів", + "Гліфи" + ], + [ + "Пензель", + "Інструмент клонування", + "Кадр", + "Гумка", + "Вибір еліпсом", + "Піпетка", + "Градієнт", + "Рука", + "Текст", + "Вибір ласо", + "Вибір магнітним ласо", + "Переміщення", + "Чарівна Паличка", + "Заливка", + "Виділення багатокутним ласо", + "Вибір прямокутником", + "Вільна трансформація", + "Лупа", + "Розмиття", + "Різкість", + "Палець", + "Освітлювач", + "Випалювання", + "Палець", + "Точковий пензель відновлення", + "Пензель відновлення", + "Латка", + "Виділення Контуру", + "Виділення Вузла", + "Ручка", + "Вільна ручка", + "Довільна фігура", + "Прямокутник", + "Еліпс", + "Параметрична форма", + "Лінія", + "Лінійка", + "Швидке виділення", + "Олівець", + "Кадрування перспективи", + "Фрагмент", + "Виділення фрагмента", + "Заміна кольору", + "Червоні очі", + "Вибір об'єкта", + "Фонова гумка", + "Деформація гумової сітки", + "Вигляд обертання", + "Масштабування з урахуванням вмісту", + "Переміщення з урахуванням вмісту" + ], + [ + "Зробити знімок", + "Піпетка", + "Редактор контуру", + "Розмір полотна", + "Дублювати в ...", + "Редактор градієнта", + "Стиль шару", + "Новий проект", + "Зберегти для web", + "Деформація", + "Розмір зображення", + "Перевести картинку в вектор", + [ + "Обрізати", + "Кадрування", + "Показати все" + ], + "поєднання клавіш", + "Додати напрямні", + [ + "Очистити направляючі", + "Направляючі з шару" + ] + ], + [ + "Непрозорість", + "Ефекти", + "Яскравість", + [ + "Контраст", + "Застосувати існуюче" + ], + "Канал", + "Експозиція", + "Зсув", + "Корекція гами", + "Відтінок", + "Насиченість", + "Яскравість", + "Розфарбувати", + "Діапазон", + "Соковитість", + [ + "Розмір", + "Інтерполяція", + "Найближчий сусіда", + "Білінійна" + ], + "Кут", + "Округлість форми", + "Жорсткість", + "Інтервал", + [ + "Режим", + "Накладати якщо" + ], + "Розмір Зразка", + "Контур", + "Стиль", + [ + "Реверс", + "Відносне", + "Прив'язки" + ], + "Толерантність", + "Безперервний", + "Заповнити", + "Використати глобальний кут", + "Відстань", + "Рознести", + "Шум", + "Подолати тінь", + "Техніка", + "Напрям", + "Глибина", + "Зменшити різкість", + "Режим", + "Градієнт", + "Масштаб", + "Вирівняти з шаром", + "Розташування", + "Ширина", + "Висота", + "Призначення", + "Тип", + "Передній план", + "Тло", + "Настроюваний", + "Назва", + "Створити", + "Формат", + "Зберегти коефіцієнт пропорційності", + [ + "Якість", + "Сторінки" + ], + "Дублювати", + "Перемістити", + "Розумні фільтри", + "Радіус", + "Кількість", + "Розподіл", + [ + "Рівномірний", + "Гаус" + ], + "Одноколірний", + "Розмір комірки", + "Візерунок", + "Потік", + "Міцність", + "Захистити деталі", + "Тип заповнення", + "Текстура", + "Тремтіння", + "Край", + "Джерело", + "Мета", + "Канали", + "Маска", + "Густина", + "Вирівняний", + [ + "Контур", + "Форма", + "Пікселі", + "Дюйми", + "Сантиметри", + "Міліметри", + "Відсоток" + ], + "Фігури", + "Сторони", + "Налаштування", + [ + "Довжина", + "Коефіцієнт", + "Будь-яке", + "Тип сітки", + "Ізометричні", + "Лінія сітки кожні", + "Початок координат" + ], + "Зменшити шум", + "Кольори", + "Відстані", + "Скорость", + "Автовиділення", + "Знайти", + "Визначити нове", + [ + "Фото", + "Екран", + "Мобільний", + "Рекламна", + "Друк" + ], + [ + "Звичайний", + "Фіксований коефіцієнт с.", + "Сталий розмір" + ], + "Допомога", + [ + "Динамічні фігуру", + "Редагувати динамічну форму", + "Однаковий радіус" + ], + "Розкид", + [ + "багатокутник", + "Зірка", + "Спіраль", + "Квадратний" + ], + [ + "Радіус кутів", + "Внутрішній радіус" + ] + ], + [ + "Колір", + [ + "Немає", + "Червоний", + "Оранжевий", + "Жовтий", + "Зелений", + "Синій", + "Фіолетовий", + "Сірий", + "Білий", + "Прозорий", + "Чёрный", + "Ціан", + "Маджента", + "Нейтральний" + ], + "Усього", + "Абсолютний", + "Зберігати свічення" + ], + [ + "Тінь", + "Внутрішня тінь", + "Зовнішнє сяйво", + "Внутрішнє сяйво", + "Тиснення", + "Накладання кольору", + "Накладання градієнта", + "Накладання візерунком", + "Атлас", + "Обведення", + "Параметри накладання", + "Вибрати пікселі" + ], + [ + "Форма наконечника", + "Динаміка наконечника", + "Точкова", + "Динаміка кольору", + [ + "Коливання розміру", + "Мінімальний діаметр", + "Коливання кута", + "Коливання заокругленості", + "Мінімальна заокругленість" + ], + [ + "Коливання розташування", + "Кількість", + "Кількість коливань" + ], + [ + "Коливання Переднього плану/Тла", + "Коливання відтінку", + "Коливання насиченості", + "Коливання яскравості" + ], + [ + "Виберіть джерело клонування, тримаючи Alt (або K) та клацаючи на зображення.", + "Позначте передній план з білим, тлом з чорним і невідомою областю з сірим.", + "Шар не можна редагувати.", + "Спочатку шар тексту потрібно растеризованим", + "Спочатку смарт-об'єкт потрібно растеризованим", + "Виберіть кілька шарів", + "Випрямити шар", + "Спочатку відкрийте документ.", + "Спочатку закрийте поточне вікно.", + "Лише поточний інструмент" + ], + [ + "Записувати", + "Новий набір дій", + "Нові дії" + ], + [ + "Контроль непрозорості натиском на планшет", + "Контроль розміру натиском на планшет" + ], + [ + "Звичайний", + "Розчинення", + "Затемнення", + "Множення", + "Затемнення основи", + "Лінійний затемнювач", + "Темніший колір", + "Заміна світлим", + "Екран", + "Освітлення основи", + "Лінійне освітлення", + "Світліший колір", + "Накладання", + "Розсіяне світло", + "Направлене світло", + "Живе світло", + "Лінійне світло", + "Точкове світло", + "Жорстке змішування", + "Різниця", + "Виключення", + "Відняти", + "Розділення", + "Колірний тон", + "Насиченість", + "Колір", + "Свічення", + "Пропускання" + ] + ], + [ + "Інтерліньяж", + "Трекінг", + "Базова лінія", + [ + "Перетворити на точковий текст", + "Перетворити на текст з абзацами" + ] + ], + [ + "Усі шари", + "Поточний шар", + "Виділення", + "Поточний та нижче" + ], + [ + "Замінити", + "Об'єднати", + "Відняти", + "Перетин", + "Виключити", + "Об'єднати" + ], + [ + [ + "Лінійний", + "Радіальний", + "Кут", + "Відбитий", + "Ромб", + "Форма вибух" + ], + [ + "М'якіше", + "Точно" + ], + [ + "Зовнішня рамка", + "Внутрішня рамка", + "Тиснення", + "Тиснення подушка", + "Ударний рельєф", + "Обведення ширина" + ], + [ + "Оптимізувати", + "Жорстке витісування", + "М'яке витісування", + "Плавність" + ], + [ + "Вгору", + "Вниз" + ], + [ + "Ззовні", + "По центру", + "Усередині", + "Від центру" + ], + [ + "Тіні", + "Напівтони", + "Світлі тони" + ], + [ + "Знебарвлення", + "Наситити" + ], + [ + "Малий", + "Середній", + "Великий" + ], + [ + "Наконечники", + "Кути", + "Тире" + ] + ], + [ + "Виберіть об'єкт під курсором", + "Керування трансформацією", + "Піксел до піксела", + "Підібрати під розмір області", + [ + "Вирівняти ліві краї", + "Відцентрувати горизонтально", + "Вирівняти праві краї", + "Вирівняти верхні краї", + "Відцентрувати вертикально", + "Вирівняти нижні краї", + "Рівномірно влаштований" + ] + ], + [ + "Вставити в", + "Поточний проект", + "Новий проект", + "Роздільна здатність", + "Додано до поточного проекту.", + "Було створено новий проект.", + "Доступ до камери було заборонено." + ], + [ + "Орієнтація", + "Вигин", + "Горизонтальне спотворення", + "Вертикальне спотворення", + [ + "Горизональний", + "Вертикальний", + "горизонтально", + "вертикально" + ], + [ + "Немає", + "Дуга", + "Нижня Дуга", + "Верхня Дуга", + "Арка", + "Випуклість", + "Нижня Оболонка", + "Верхня Оболонка", + "Позначка", + "Хвиля", + "Риба", + "Підйом", + "Рибне Око", + "Опукла Лінза", + "Стиснення", + "Крутіння", + "Настроюваний" + ], + [ + "Шрифт", + "недоступний", + "Буде відмальовано за допомогою", + "Існує незбережена робота в", + "Ви дійсно хочете закрити його?" + ], + [ + "Обміняти Кольори", + "Стандартно: Білий та Чорний" + ] + ], + [ + "завантажено", + "додано", + "Переместити напрямну", + "Видалити напрямну", + "Додати напрямну", + "Завантаження", + "Завантажити VAR0" + ], + [ + "Галерея фільтрів", + [ + [ + "Пластика", + [ + "Розмазати", + "Реконструювати", + "Розгладжувати", + "Twirl", + "Стиснути", + "Надути", + "Переміщення ліворуч", + "Заморозити", + "Розморозити" + ] + ], + [ + "Корекція лінз об'єктива" + ] + ], + "Розмивання", + [ + "Середнє значення", + "Розмивання", + "Розмити більше", + "Розмивання Квадратом", + "Розмивання Гауса", + "Розмивання при малій глибині різкості", + "Розмивання в Русі", + "Радіальне Розмиття", + "Розмивання за Фігурою", + "\"Розумне\" Розмивання", + "Розмивання по Поверхні" + ], + "Спотворення", + [ + "Зміщення", + "Стискання", + "Полярні координати", + "Брижі", + "Нахил", + "Сферизація", + "Wave" + ], + "Шум", + [ + "Додати Шум", + "Ретуш", + "Пил та Подряпини", + "Медіана" + ], + "Оформлення", + [ + "Півтон кольору", + "Кристалізувати", + "Грань", + "Фрагмент", + "Меццо-тінто", + "Мозаїка", + "Пуантілізм" + ], + "Відмалювати", + [ + "Хмари", + "Хмари з накладанням", + "Відблиски" + ], + "Посилити різкість", + [ + "Посилити різкість", + "Посилити різкість країв", + "Ще Посилити різкість", + "\"Розумна\" Різкість", + "Контурна Різкість" + ], + "Стилізувати", + [ + "Діффузія", + "Тиснення", + "Видавлення", + "Виявлення Контурів", + "Масляна фарба" + ], + "Інше", + [ + "Власна", + "Фільтр верхніх частот", + "Максимум", + "Мінімум", + "Зсув", + "Повторити" + ], + [ + "Невизначений Район", + "Встановити як Прозорий", + "Повторити пікселі краю", + "Огортання", + "Останній фільтр", + "Перегляд" + ] + ], + [ + "Шаблони", + [ + "Фільтр шрифтів", + "Ключові слова", + "Випадкові" + ], + [ + "З символами", + "З фото" + ], + [ + "Мініатюри", + "Список" + ] + ] + ], + [ + [ + "קובץ", + "ערוך", + "תמונה", + "שכבה", + "תיקייה", + "בחר", + "מסנן", + "תצוגה", + "חלון", + "שפה", + "היכנס", + "צא", + "צור תרגום", + [ + "חשבון", + "תנאי שימוש", + "חזור", + "אודות", + "דיווח על שגיאה", + "למד" + ], + "עוד", + "נושא", + "השתמש בספריה מקוונת", + [ + "Photopea: עורך תמונות מתקדמות", + "מערכת באינטרנט לעריכת קבצים מסוג PSD, XCF, Sketch, XD, CRR", + "צור תמונה חדשה או פתח קבצים קיימים מהמחשב שלך. שמור את עבודתך כ- PSD (קובץ - שמור כ- PSD) או כ- JPG / PNG / SVG (קובץ - ייצוא).", + "הצע פיצ'רים חדשים ב שלנו או ב<פייסבוק>. המטרה שלנו היא ליצור את <עורך התמונות הזול והמתקדם ביותר>", + "הקישור של נותנים החסות ייפתח בחלון חדש", + null, + null + ] + ], + [ + "פתח", + "פרסם ברשת", + "שמור", + "שמור כקובץ PSD", + "הדפס", + "פתח מכתובת רשת", + "פתח מהמחשב שלך", + "התחבר עם גוגל דרייב", + "יצא כקובץ", + "ייצא שכבות", + "תסריט", + "פתח ומקם", + "סגור", + "אחסון מקומי", + null + ], + [ + "קדימה", + "אחורה", + "נקה", + "מלא", + "המר", + "סובב", + "הפוך VAR0", + "קנה מידה VAR0", + "לבטל", + "פרספקטיבה", + [ + "שילוב אוטומטי", + null + ], + "דהייה", + null + ], + "התאמות", + [ + "בהירות / ניגודיות", + "דרגות", + "עקומות", + "רמת חשיפה", + "חיוניות", + "גוון / רוויה", + "איזון צבע", + "שחור לבן", + "מסנן תמונה", + "מערבל ערוצים", + "חיפוש צבע", + "הפוך", + "פוסטריזציה", + "סף", + "מפת מעבר צבע", + "התאמת צבעים", + [ + "גוון אוטומטי", + "ניגודיות אוטומטית", + "צבע אוטומטי" + ], + "החלף צבע" + ], + [ + "גזור", + "העתק", + "הדבק", + "חדש", + "מחק", + "אפשר", + "השבת", + "העתק מאוחדים", + "החל", + "שוב", + "עדכן תוכנה" + ], + [ + "שכפל שכבה", + "שכבת התאמה חדשה", + "שורון סריקה", + "מסיכה וקטורית", + "הוסף (הראה הכול)", + [ + "הוסף (הסתר הכול)", + "הצג בחירה", + "הסתר בחירה", + "משקיפות" + ], + [ + "מסיכת חיתוך", + "מצב \"מסכה מהירה\"" + ], + "המר לעצם חכם", + "הפוך למפת סיביות", + "קבץ שכבות", + "מזג מטה", + "מזג מעלה", + [ + "מזג שכבות", + "שיטוח התמונה" + ], + "שכבה חדשה", + "אפשר מסיכת סיביות", + "בטל מסיכת סיביות", + "אפשר מסיכת וקטור", + "בטל מסיכת וקטור", + "אפשר מסיכת חיתוך", + "בטל מסיכת חיתוך", + "תיקייה חדשה", + "הוסף מסיכת סיביות", + "מחק מסיכת סיביות", + "הוסף מסיכת וקטור", + "בטל מסיכת וקטור", + "קשר מסיכת סיביות", + "נתק מסיכת סיביות", + "חבר מסיכת וקטור", + "נתק מסיכת וקטור", + "אפשר אפקטי שכבה", + "השבת אפקטי שכבה", + "מחק שכבה", + "שינוי שקיפות שכבה", + "שינוי ערבוב", + "הפוך שכבת סגנון לפיקסלים", + "סדר שכבות", + [ + "יצירת אובייקט חכם", + "עדכון אובייקט חכם", + "הצבת אובייקט חכם", + "מקור (אוביקט חכם)", + null + ], + "שינוי שם", + "שינוי צבע", + "ערוך שכבת התאמה", + "המר לצורה", + "אפשר מסיכת פילטר", + "בטל מסיכת פילטר", + "אפשר מסננים חכמים", + "השבת מסננים חכמים", + "הוסף מסיכת פילטר", + "מחק מסיכת פילטר", + "נקה מסננים חכמים", + [ + [ + "מילוי צבע אחיד", + "מילוי הדרגתי", + "מילוי דוגמה", + "מבוסס-תוכן" + ], + "שכבת מילוי חדשה", + "שנה שכבת מילוי" + ], + "שכבה דרך העתקה", + "מסיכת פילטר", + "מחק שכבת סגנון", + "הזז פילטר חכם", + "מחק פילטר חכם", + [ + "קשר שכבות", + "בטל קישור שכבות" + ], + "סדר", + [ + "העבר לקדמה", + "העבר קדימה", + "העבר אחורה", + "העבר לרקע" + ], + [ + "שכבה נעולה.", + "נעל שינויים", + null + ], + "sdf" + ], + [ + "הכל", + "בטל בחירה", + "הפוך בחירה", + "שנה", + "הרחב", + "צמצם", + "נוצה", + "הזז בחירה", + "טווח צבעים", + "גבול", + "הזז בחירה", + "לטש קצוות", + "אחה בחירה", + null + ], + [ + "הגדל", + "הקטן", + "קווי עזר", + "סרגלים", + "רשת", + "צלם", + "צלם אל", + "גבולות מסמך", + "רשת פיקסלים", + "שבילים", + "דבק לפיקסל", + [ + "פרוסות", + "הגדרות חיתוך" + ], + "הצג" + ], + [ + "היסטוריה", + "שכבות", + "מאפיינים", + "מברשת", + "אות", + "פסקה", + "מידע", + "מרכיבי שכבה", + "דוגמיות", + "פעולות", + "היסטוגרמה", + "הניווט", + null, + null + ], + [ + "כלי מברשת", + "כלי שכפול", + "כלי גזירה", + "כלי מחק", + "בחירה אליפטית", + "טפטפת", + "כלי גרדיאנט", + "כלי יד", + "כלי דפוס", + "בחירת לאסו", + "בחירת לאסו מגנטי", + "כלי הזזה", + "מטה הקסם", + "כלי דלי צבע", + "בחירת לאסו פוליגוני", + "בחירה מלבנית", + "שינוי חופשי", + "זכוכית מגדלת", + "כלי עירפול", + "כלי חידוד", + "כלי מריחה", + "כלי הבהרה", + "כלי שריפה", + "כלי ספוג", + "כלי מברשת איחוי כתמים", + "כלי מברשת איחוי", + "כלי טלאי", + "בחירת נתיב", + "בחירה ישירה", + "עט", + "עט חופשי", + "צורה מותאמת אישית", + "מרובע", + "אליפסה", + "צורה פרמטרית", + "קו", + "סרגל", + "בחירה מהירה", + "עפרון", + "חתך פרספקטיבה", + "כלי פריסה", + "כלי בחירת פריסה", + "החלפת צבעים", + "כלי עיניים אדומות", + "בחירת אוביקט", + "מחק רקע", + null, + null, + "asdasf", + null + ], + [ + "צלם תמונה", + "בוחר צבע", + "עורך קו מתאר", + "גודל בד ציור", + "שכפל לתוך ...", + "עורך גרדיאנט", + "סגנון שכבה", + "מיזם חדש", + "שמור עבור הצגה ברשת", + "עוות", + "גודל תמונה", + "הפוך מפת סיביות לוקטור", + [ + "קיטום", + "חתוך", + null + ], + "קיצורי מקלדת", + "הוסף מדריכים", + [ + null, + null + ] + ], + [ + "שקיפות", + "אפקטים", + "בהירות", + [ + "ניגודיות", + null + ], + "ערוץ", + "חשיפה", + "היסט", + "תיקון גמא", + "גוון", + "רוויה", + "בהירות", + "צבע", + "טווח", + "חיוניות", + [ + "גודל", + "אינטרפולציה", + "השכן הקרוב", + "ביליניארית" + ], + "זווית", + "עגלגלות", + "קשיות", + "ריווח", + [ + "סגנון ערבוב", + "ערבב אם" + ], + "גודל דגימה", + "קונטור", + "סגנון", + [ + "הפוך", + null, + null + ], + "סבילות", + "רציף", + "מלא", + "השתמש בזווית גלובלית", + "מרחק", + "פרוס", + "רעש", + "הפל את הצל", + "טכניקה", + "כיוון", + "עומק", + "ריכוך", + "מצב", + "גרדיאנט", + "קנה מידה", + "יישר בהתאם לשכבה", + "מיקום", + "רוחב", + "גובה", + "יעד", + "הקלד", + "רקע קדמי", + "רקע", + "התאמה אישית", + "שם", + "צור", + "תבנית", + "שמור יחס רוחב גובה", + [ + "איכות", + "דפים" + ], + "שכפל", + "הזז", + "מסננים חכמים", + "מחוג", + "כמות", + "תפרוסת", + [ + "אחד", + "פרוס" + ], + "חד גוני", + "גודל תא", + "דוגמה", + "זרימה", + "חוזק", + "הגן על פרט", + "סוג מילוי", + "מרקם", + "ריצוד", + "קצה", + "מקור", + "יעד", + "ערוצים", + "מסיכה", + "צפיפות", + "מיושר", + [ + "שביל", + "צורה", + "פיקסלים", + "אינצ'ים", + "סנטימטרים", + "מילימטרים", + "אחוזים" + ], + "צורות", + "צדדים", + "העדפות", + [ + "אורך", + "יחס", + "הכול", + "סוג תשבוץ", + "יסומטרי", + "דבק תשבוץ", + "יחידות מידה" + ], + "הפחת רעש", + "צבעים", + "מרחקים", + "דרג", + "בחר אוטומטית", + "מצא", + "הגדר חדש", + [ + "תמונה", + "מסך", + "נייד", + "פרסומות", + "הדפס" + ], + [ + "חינם", + "יחס קבוע", + "גודל קבוע" + ], + "עזרה", + [ + "צורות חיות", + "ערוך צורות חיות", + "אותם רדיוסים" + ], + "רמת טשטוש", + [ + "פוליגון", + "כוכב", + "ספירלי", + "מרובע" + ], + [ + "רדיוס פינה", + "רדיוס פנימי" + ] + ], + [ + "צבע", + [ + "כלום", + "אדום", + "כתום", + "צהוב", + "ירוק", + "כחול", + "סגול", + "אפור", + "לבן", + "שקוף", + "שחור", + "תכלת", + "מגנטה", + "ניטראלי" + ], + "סך הכל", + "אבסולוטי", + "שמור בהירות" + ], + [ + "הטל צל", + "צל פנימי", + "זוהר חיצוני", + "זוהר פנימי", + "שפוע ו הבלטה", + "כיסוי צבע", + "כיסוי הדרגתי", + "כיסוי תבנית", + "סאטן", + "משיכת קולמוס", + "אפשרויות מיזוג", + null + ], + [ + "צורת חוד", + "דינמיקות קצה", + "פיזור", + "דינמיקות צבע", + [ + "ריצוד גודל", + "קוטר מזערי", + "ריצוד זווית", + "ריצוד עגלגלות", + "עגלגלות מזערית" + ], + [ + "ריצוד מיקום", + "מספר", + "ריצוד מספר פריטים" + ], + [ + "ריצוד צבע רקע/צבע חזית", + "ריצוד גוון", + "ריצוד רוויה", + "ריצוד בהירות" + ], + [ + "בחר מקור לשכפול על ידי החזקת מקש Alt ולחיצה על התמונה", + "סמן רקע קדמי בלבן, רקע אחורי בשחור ואזור לא ידוע באפור", + "שכבה אינה ניתנת לעריכה", + "עליך קודם להפוך את שכבת הטקסט לפיקסלים", + "עליך קודם להפוך את האובייקט החכם לפיקסלים", + "בחר שכבות מרובות", + "ישר שכבה", + "קודם יש לפתוח קובץ", + "סגור חלון זה קודם", + "רק לכלי נוכחי" + ], + [ + "הקלט", + null, + "פעולה חדשה" + ], + [ + null, + null + ], + [ + "רגיל", + "Dissolve", + "Darken", + "Multiply", + "Color Burn", + "Linear Burn", + "Darker Color", + "Lighten", + "Screen", + "Color Dodge", + "Linear Dodge", + "Lighter Color", + "Overlay", + "Soft Light", + "Hard Light", + "Vivid Light", + "Linear Light", + "Pin Light", + "Hard Mix", + "Difference", + "Exclusion", + "Subtract", + "Divide", + "Hue‏‏", + "Saturation", + "Color", + "Luminosity", + "Pass Through" + ] + ], + [ + "מרווח אנכי בין שורות", + "מרווח בין תווים בשורה", + "הזחה של קו הבסיס", + [ + null, + null + ] + ], + [ + "כל השכבות", + "שכבה נוכחית", + "בחירה", + "שכבה נוכחית ומתחתיה" + ], + [ + "החלף", + "איחוד", + "הבדל", + "הצטלבות", + "או' בררני'", + "מזג" + ], + [ + [ + "קווי", + "מחוגי", + "זווית", + "משתקף", + "צורת יהלום", + "התפרצות צורה" + ], + [ + "רך יותר", + "מדויק" + ], + [ + "שיקוע חיצוני", + "שיקוע פנימי", + "תבליט", + "הבלטת כרית", + "הבלטה קווית", + null + ], + [ + "החלק", + "מפסלת קשה", + "מפסלת רכה", + "חלקות" + ], + [ + "מעלה", + "מטה" + ], + [ + "חוץ", + "מרכז", + "פנים", + "ממרכז" + ], + [ + "צללים", + "גווני ביניים", + "אזורי האור" + ], + [ + "הפחתת רוויה", + "רוויה" + ], + [ + "קטן", + "בינוני", + "גדול" + ], + [ + null, + "פינות", + null + ] + ], + [ + "בחר את העצם תחת הסמן", + "בקרי שינוי צורה", + "הגדלה לגודל אמיתי", + "התאם את השטח", + [ + "יישור לקצוות השמאליים", + "יישור לאמצע אופקי", + "יישור לקצוות ימניים", + "יישר לקצה העליון", + "יישר למרכז", + "יישור לקצה תחתון", + "ריווח שווה" + ] + ], + [ + "הדבק אל", + "מיזם נוכחי", + "מיזם חדש", + "כושר אבחנה", + "התווסף אל המיזם הנוכחי.", + "מיזם חדש נוצר", + "גישה אל המצלמה נדחתה" + ], + [ + "כיוון", + "כופף", + "עיוות אופקי", + "עיוות אנכי", + [ + "אופקי", + "אנכי", + "אופקית", + "אנכית" + ], + [ + "כלום", + "קשת", + "קשת תחתונה", + "קשת עליונה", + "קשת", + "בליטה", + "צדפה תחתונה", + "צדפה עליונה", + "דגל", + "גל", + "דג", + "עלייה", + "עין הדג", + "נפח", + "מחץ", + "סיבוב", + "מותאם אישית" + ], + [ + "גופן", + "אינו זמין", + "יעובד באמצעות", + null, + "בטוח שברצונך לסגור?" + ], + [ + "החלפת צבעים", + "ברירת מחדל: לבן ושחור" + ] + ], + [ + "טעון", + "נוסף", + "הזז קו עזר", + "הסר קו עזר", + "הוסף קו עזר", + "טעינה", + "טען VAR0" + ], + [ + "גלריית פילטרים", + [ + [ + "נזילות", + [ + "מריחה", + "שחזור", + "החלק", + "סחרור", + "כיווץ", + "ניפוח", + "דחיפה ימינה", + "הקפאה", + "ביטול הקפאה" + ] + ], + [ + "תיקון עדשות" + ] + ], + "טשטוש", + [ + "ממוצע", + "טשטש", + "טשטש עוד", + "טשטוש קופסה", + "טשטוש מתפרש", + "טשטוש עדשה", + "טשטוש תנועה", + "טשטוש מחוגי", + "טשטש צורה", + "טשטוש חכם", + "טשטש משטח" + ], + "עוות", + [ + null, + null, + null, + null, + null, + null, + "גל" + ], + "רעש", + [ + "הוסף רעש", + "הסר כתמים", + "אבק ושריטות", + "חציון" + ], + "פקסל", + [ + null, + null, + null, + "קטע", + "מצוטינט", + "פסיפס", + "הפוך לנקודות" + ], + "עבד", + [ + "עננים", + null, + null + ], + "חדד", + [ + "חדד", + "חדד קצוות", + "חדד עוד", + "חידוד חכם", + "מסיכה ללא חידוד" + ], + "סגנן", + [ + null, + null, + null, + "מצא קצוות", + null + ], + "אחר", + [ + "התאמה אישית", + null, + "מקסימום", + "מינימום", + "היסט", + null + ], + [ + "אזור לא מוגדר", + "קבע כשקוף", + null, + "עטוף סביב", + "סינון אחרון", + "תצוגה מקדימה" + ] + ], + [ + "תבניות", + [ + "מסנן גופן", + "מילות מפתח", + "אקראי" + ], + [ + "עם סמלים", + "עם תמונה" + ], + [ + "תמונות ממוזערות", + "רשימה" + ] + ] + ], + [ + [ + "Datoteka", + "Uređivanje", + "Slika", + "Sloj", + "Mapa", + "Odabir", + "Filter", + "Prikaz", + "Prozor", + "Jezik", + "Prijava", + "Odjava", + "Stvori prijevod", + [ + "Račun", + "Uvjeti korištenja", + "Natrag", + "O aplikaciji", + "Prijavite pogrešku", + "Nauči se" + ], + "Ostalo", + "Tema", + "Koristi WebGL", + [ + "Photopea: napredni uređivač slika", + "Besplatni online urednik koji podržava PSD, XCF, Sketch, XD i CDR formate.", + "Izradite novu sliku ili otvorite postojeće datoteke s računala. Spremite svoj rad kao PSD (Datoteka - Spremi kao PSD) ili kao JPG / PNG / SVG (Datoteka - Izvezi kao).", + "Predložite nove značajke na našim ili . Naš je cilj stvoriti .", + "Sponzorske veze otvorene u novom prozoru.", + null, + null + ] + ], + [ + "Otvori", + "Objavi", + "Spremi", + "Spremi kao PSD", + "Ispis", + "Otvori URL", + "Učitati s računala", + "Poveži s Google Drive", + "Izvezi kao", + "Izvezi slojeve", + "Skripta", + "Otvori i Postavi", + "Zatvori", + "Lokalne pohrane", + null + ], + [ + "Korak naprijed", + "Korak natrag", + "Očisti", + "Ispuna", + "Transformacija", + "Okreni", + "Okrenite VAR0", + "Skaliranje VAR0", + "Poništi / Ponovi", + "Perspektiva", + [ + "Automatski miješaj", + null + ], + "Izblijedjeti", + null + ], + "Prilagođavanja", + [ + "Svjetlost/Kontrast", + "Razine", + "Krivulje", + "Ekspozicija", + "Živost boja", + "Nijansa / Zasićenje", + "Balans boje", + "Crno i bijelo", + "Filter fotografije", + "Mikser kanala", + "Pronalaženje boja", + "Obrni", + "Posteriziraj", + "Prag", + "Karta gradijenta", + "Selektivna boja", + [ + "Automatski ton", + "Automatski kontrast", + "Automatska boja" + ], + "Zamijeni boju" + ], + [ + "Izreži", + "Kopiraj", + "Zalijepi", + "Novo", + "Izbriši", + "Omogući", + "Onesposobiti", + "Kopiraj stopljeno", + "Primjeni", + "Ponovi radnju", + "Ažuriraj" + ], + [ + "Dupliciraj sloj", + "Novi podešavajući sloj", + "Rasterska maska", + "Vektorska maska", + "Dodaj (Prikaži sve)", + [ + "Dodaj (Sakrij sve)", + "Otkrij odabir", + "Sakrij odabir", + "Od transparentnosti" + ], + [ + "Maska isječka", + null + ], + "Pretvori u Pametni Objekt", + "Rasteriziraj", + "Grupiraj slojeve", + "Spoji donje", + "Spoji gornje", + [ + "Spoji slojeve", + "Spoji sve slojeve" + ], + "Novi sloj", + "Omogući rastersku masku", + "Onesposobiti rastersku masku", + "Omogući vektorsku masku", + "Onesposobiti vektorsku masku", + "Omogući masku isječka", + "Onesposobiti masku isječka", + "Nova mapa", + "Dodaj rastersku masku", + "Izbriši rastersku masku", + "Dodaj vektorsku masku", + "Izbriši vektorsku masku", + "Poveži rastersku masku", + "Prekini vezu rastersku masku", + "Poveži vektorsku masku", + "Prekini vezu vektorsku masku", + "Omogući efekte sloja", + "Onesposobiti efekte sloja", + "Izbriši sloj", + "Promjena providnosti sloja", + "Promjena Miješanja", + "Rasteriziraj stil sloja", + "Redoslijed slojeva", + [ + "Stvaram Pametni Objekt", + "Osvježavam Pametni Objekt", + "Postavljam Pametni Objekt", + "Izvor (Pametni Objekt)", + null + ], + "Promjena imena", + "Promjena Boje", + "Uredi sloj za postavke", + "Pretvori u Oblik", + "Omogući masku filtera", + "Onesposobiti masku filtera", + "Omogući pametne filtere", + "Onesposobiti pametne filtere", + "Dodaj masku filtera", + "Obriši masku filtera", + "Očisti pametne filtere", + [ + [ + "Ispunjenje punom bojom", + "Popuna gradijentom", + "Ispunjenje uzorkom", + "Svijest o sadržaju" + ], + "Novi sloj popune", + "Uredi sloj popune" + ], + "Sloj preko kopiranja", + "Maska filtera", + "Obriši stil sloja", + "Pomakni pametni filter", + "Izbriši pametni filter", + [ + "Poveži slojeve", + "Prekini vezu slojeve" + ], + "Posloži", + [ + "Pomakni na vrh", + "Pomakni naprijed", + "Pomakni nazad", + "Pomakni na kraj" + ], + [ + "Ovaj sloj je zaključan.", + "Zaključaj promjenu", + null + ], + null + ], + [ + "Sve", + "Odznači", + "Inverzija", + "Promjeni", + "Proširi", + "Suzi", + "Pero", + "Pomjeri označeno", + "Raspon Boja", + "Rub", + "Preobrazi označeno", + "Poboljšaj Rub", + "Zaliječi označeno", + null + ], + [ + "Približi", + "Udalji", + "Vodiči", + "Ravnala", + "Mreža", + "Poravnaj", + "Poravnaj s", + "Granice Dokumenta", + "Mreža piksela", + "Putanje", + "Poravnaj s piksele", + [ + "Kriške", + null + ], + null + ], + [ + "Povijest", + "Slojevi", + "Prilagodi", + "Četka", + "Znak", + "Paragraf", + "Informacije", + "Kompozicije sloja", + "Színtár", + "Radnje", + "Histogram", + "Navigator", + "Konfiguracija alata", + null + ], + [ + "Četka", + "Alat za kloniranje", + "Alat za obrezivanje", + "Alat za brisanje", + "Odabir elipse", + "Kapaljka", + "Alat za gradijent", + "Ruka (slobodno pomjeranje)", + "Tekst", + "Laso", + "Magnetni laso", + "Pomicanje", + "Magični štapić", + "Kantica s bojom", + "Poligonalni laso odabir", + "Pravokutni odabir", + "Slobodna transformacija", + "Zumiranje", + "Zamagljivanje", + "Izoštravanje", + "Razmazivanje", + "Alat za zatamnjivanje", + "Alat za posvjetljavanje", + "Spužva", + "Liječenje mrlje", + "Četka za liječenje", + "Alat za krpanje", + "Odabir staze", + "Direktni odabir", + "Kemijska", + "Slobodna kemijska", + "Prilagođen oblik", + "Pravokutnik", + "Elipsa", + "Parametarski oblik", + "Linija", + "Ravnalo", + "Brzi odabir", + "Olovka", + "Obrezivanje perspektive", + "Alat za kriške", + "Alat za odabir kriške", + null, + null, + null, + null, + null, + null, + null, + null + ], + [ + "Snimite fotografiju", + null, + "Uređivač obrisa", + "Veličina radne površine", + "Napravi kopiju", + "Uređivač gradijenta", + "Stil sloja", + "Novi Projekt", + "Spremi za web", + "Iskrivi", + "Veličina slike", + "Vektoriziraj bitnu mapu", + [ + "Skrati", + "Usjev", + null + ], + "Tipkovničke Prečice", + "Dodaj vodiče", + [ + null, + null + ] + ], + [ + "Providnost", + "Efekti", + "Svjetlost", + [ + "Kontrast", + "Koristi kompatibilnost" + ], + "Kanal", + "Ekspozicija", + "Ofset", + "Gama ispravak", + "Nijansa", + "Zasićenost", + "Svjetlina", + "Kolorizacija", + "Domet", + "Živost boja", + [ + "Veličina", + "Interpolacija", + "Najbližeg susjeda", + "Bilinearna" + ], + "Kut", + "Oblina", + "Tvrdoća", + "Razmaci", + [ + "Vrsta Miješanja", + "Izmješaj ako" + ], + "Veličina uzorka", + "Kontura", + "Stil", + [ + "Preokreni", + "Relativno", + "Sidro" + ], + "Tolerancija", + "Granični", + "Ispuniti", + "Koristi globalni kut", + "Udaljenost", + "Proširi", + "Šum", + "Izbaci padnu sjenu", + "Tehnika", + "Smjer", + "Dubina", + "Ublaži", + "Način", + "Gradijent", + "Skala", + "Poravnaj sa slojem", + "Pozicija", + "Širina", + "Visina", + "Destinacija", + "Vrsta", + "Prvi plan", + "Pozadina", + "Prilagođeno", + "Naziv", + "Stvori", + "Format", + "Zadrži Omjer", + [ + "Kvaliteta", + "Stranice" + ], + "Napravi duplikat", + "Pomjeri", + "Pametni filtri", + "Radius", + "Količina", + "Raspodjela", + [ + "Jednolično", + "Gaussov" + ], + "Monokromatski", + "Veličina Ćelije", + "Uzorak", + "Tok", + "Snaga", + "Zaštiti detalj", + "Vrsta ispune", + "Tekstura", + "Nervoza", + "Rub", + "Izvor", + "Cilj", + "Kanali", + "Maska", + "Gustoća", + "Poravnanje", + [ + "Put", + "Oblik", + "Pikseli", + "Inči", + "Centimetri", + "Milimetri", + "Procenat" + ], + "Oblici", + "Strane", + "Postavke", + [ + "Dužina", + "Omjer", + "Bilokoji", + "Vrsta mreže", + "Izometrijska", + "Veličina mreže", + "Jedinice ravnala" + ], + "Smanji šum", + "Boje", + "Udaljenosti", + "Stopa", + "Automatski odabir", + "Nađi", + "Definiraj novi", + [ + "Fotografija", + "Zaslon", + "Mobitel", + "Reklame", + "Štampanje" + ], + [ + "Slobodno", + "Fiksni omjer", + "Fiksna veličina" + ], + "Upomoć", + [ + "Živi Oblik", + "Uredi Živi Oblik", + "Isti radijusi" + ], + "Maljavost", + [ + "Poligon", + "Zvijezda", + "Spirala", + "Kvadrat" + ], + [ + "Radijus kuta", + "Unutarnji radijus" + ] + ], + [ + "Boja", + [ + "Ništa", + "Crvena", + "Narančasta", + "Žuta", + "Zelena", + "Plava", + "Ljubičasta", + "Siva", + "Bijela", + "Prozirno", + "Crna", + "Cijan", + "Magenta", + "Neutralna" + ], + "Sveukupna", + "Apsolutna", + "Zadrži luminoznost" + ], + [ + "Padna sjena", + "Unutarnja sjena", + "Vanjska sjena", + "Unutarnji sjaj", + "Nagib i klesanje", + "Overlay boja", + "Overlay gradijenta", + "Overlay uzorka", + "Saten", + "Zamah", + "Mogućnosti miješanja", + "Izaberi piksele" + ], + [ + "Oblik ruba", + "Dinamičnost ruba", + "Rasprši", + "Dinamičnosti boja", + [ + "Vibracija veličine", + "Minimalni promjer", + "Vibracija ugla", + "Vibracija obline", + "Minimalna oblina" + ], + [ + "Vibracija položaja", + "Zbroj", + "Vibracija broja" + ], + [ + "Vibracija prednje strane i pozadine", + "Vibracija boje", + "Vibracija zasićenosti", + "Vibracija svjetlosti" + ], + [ + "Odaberite izvor klonova tako da držite Alt (ili K) i kliknete na sliku.", + "Označite prednji plan s bijelom, pozadinom s crnom, a nepoznato područje sa sivom.", + "Sloj se ne može uređivati.", + "Tekstni sloj mora biti prvo rasteriziran", + "Pametni Objekt mora biti prvo rasteriziran", + "Odaberite više slojeva", + "Poravnajte sloj", + "Najprije otvorite dokument.", + "Najprije zatvorite trenutnu prozor.", + "Samo trenutni alat" + ], + [ + "Snimi", + "Novi skup radnji", + "Nova radnja" + ], + [ + "Kontrole neprozirnosti za pritisak olovke", + "Kontrole veličine za pritisak olovke" + ], + [ + "Normalno", + "Razlaganje", + "Potamnjivanje", + "Umnožavanje", + "Gorenje boje", + "Linearno gorenje", + "Tamnija boja", + "Posvjetljivanje", + "Ekran", + "Izbjegavanje boje", + "Linearno izbjegavanje", + "Lakša boja", + "Prekrivka", + "Meko svjetlo", + "Teško svjetlo", + "Živahno svjetlo", + "Linearno svjetlo", + "Lagano pribosti", + "Tvrda mješavina", + "Razlika", + "Isključenje", + "Oduzeti", + "Podijeliti", + "Nijansa", + "Zasićenje", + "Boja", + "Luminoznost", + "Proći kroz" + ] + ], + [ + "Vodeće", + "Praćenje", + "Osnovna smjena", + [ + "Pretvori u tekst točke", + "Pretvori u tekst odlomka" + ] + ], + [ + "Ukupni sadržaj", + "Trenutni sloj", + "Odabir", + "Trenutačno & Ispod" + ], + [ + "Zamijeni", + "Ujedini", + "Razlika", + "Presjek", + "XOR", + "Spoji" + ], + [ + [ + "Linearno", + "Radijalno", + "Kut", + "Odraženo", + "Dijamant", + "Prasak oblika" + ], + [ + "Mekše", + "Precizno" + ], + [ + "Vanjski nagib", + "Unutarnji nagib", + "Reljef", + "Uzglavni reljef", + "Udarni reljef", + "Širina linije" + ], + [ + "Glatkost", + "Teško izdubi", + "Lagano izdubi", + "Glatkost" + ], + [ + "Gore", + "Dole" + ], + [ + "Vani", + "Sredina", + "Unutrašnjost", + "Iz centra" + ], + [ + "Sjenke", + "Srednji tonovi", + "Naglasci" + ], + [ + "Manje zasićenje", + "Zasićenje" + ], + [ + "Mali", + "Srednji", + "Veliki" + ], + [ + "Nastavci", + "Kutovi", + "Crtice" + ] + ], + [ + "Odaberi objekt ispod kursora", + "Kontrole transformacije", + "Piksel do piksela", + "Ispuni površinu", + [ + "Poravnaj lijeve rubove", + "Centriraj horizontalno", + "Poravnaj desne rubove", + "Poravnaj gornje rubove", + "Centriraj vertikalno", + "Poravnaj donje rubove", + "Jednake praznine" + ] + ], + [ + "Umetnuti u", + "Trenutni projekat", + "Novi Projekt", + "Rezolucija", + "Dodano u trenutni projekat", + "Novi projekt je stvoren.", + "Pristup kameri odbijen." + ], + [ + "Orijentacija", + "Iskrivi", + "Horizontalno iskrivljenje", + "Vertikalno iskrivljenje", + [ + "Horizontalno", + "Vertikalno", + "horizontalno", + "vertikalno" + ], + [ + "Ništa", + "Luk", + "Donji luk", + "Gornji luk", + "Luk", + "Izbočina", + "Donja ljuska", + "Gornja ljuska", + "Zastava", + "Val", + "Riba", + "Uspon", + "Riblje Oko", + "Napuhati", + "Iscijediti", + "Uviti", + "Prilagođeno" + ], + [ + "Font", + "nije dostupno", + "Izvršiti će se pomoću", + "Neki radovi nisu spremljeni u", + "Želite li ga doista zatvoriti?" + ], + [ + "Razmijeni boje", + "Zadano: bijelo i crno" + ] + ], + [ + "učitano", + "Dodano", + "Vodič za pomicanje", + "Vodič za brisanje", + "Vodič za dodavanje", + "Učitavanje", + "Učitaj VAR0" + ], + [ + "Filtriraj galeriju", + [ + [ + "Otopiti", + [ + "Zamrljati", + "Rekonstruirati", + "Izgladiti", + "Vrtložiti", + "Umanji", + "Napuhnuti", + "Gurni lijevo", + "Zamrzni", + "Odmrzni" + ] + ], + [ + "Korekcija objektiva" + ] + ], + "Zamagli", + [ + "Prosječno", + "Zamagliti", + "Zamagli više", + "Kvadratno zamagljivanje", + "Gaussovo zamagljivanje", + "Objektivno zamagljivanje", + "Pokretno zamagljivanje", + "Radijalno zamaglivanje", + "Oblikovno zamagljivanje", + "Pametno zamagljivanje", + "Površno zamagljivanje" + ], + "Izobličavanje", + [ + "Premještanje", + "Stegnuti", + "Polarne koordinate", + "Valovito", + "Smicanje", + "Sfera", + "Val" + ], + "Šum", + [ + "Dodaj šum", + "Smanji efekt pjega", + "Prašina i ogrebotine", + "Srednja linija" + ], + "Pikselizacija", + [ + "Poluton boja", + "Kristalizacija", + "Aspekt", + "Fragmentiranje", + "Mecotinta", + "Mozaik", + "Efekt uboda" + ], + "Izvrši", + [ + "Oblaci", + "Razlika oblaci", + "Odsjaj sočiva" + ], + "Izoštriti", + [ + "Izoštri", + "Izoštri rubove", + "Izoštri više", + "Pametno izoštravanje", + "Smanji izoštrenost maske" + ], + "Podesiti prema stilu", + [ + "Difuzno", + "Reljef", + "Utiskivanje", + "Pronađi rubove", + null + ], + "Drugo", + [ + "Prilagođeno", + "Visina", + "Maksimum", + "Minimum", + "Ofset", + "Ponovi" + ], + [ + "Nedefinisano područije", + "Podesi da bude providno", + "Ponovi rubne piksele", + "Zamotavanje", + "Posljednji filter", + "Pregled" + ] + ], + [ + "Šabloni", + [ + "Font filteri", + "Ključne riječi", + "Nasumično" + ], + [ + "S simbolima", + "S fotografijom" + ], + [ + "Minijature", + "Popis" + ] + ] + ], + [ + [ + "Archivio", + "Modifica", + "Immagine", + "Livello", + "Cartella", + "Selezione", + "Filtro", + "Visualizza", + "Finestra", + "Lingua", + "Accedi", + "Disconnetti", + "Crea traduzione", + [ + "Account", + "Termini del Servizio", + "Indietro", + "Informazioni", + "Segnalare un bug", + "Apprendi" + ], + "Di più", + "Tema", + "Usa WebGL", + [ + "Photopea: editor di immagini avanzato", + "Editor online gratuito che supporta i formati PSD, XCF, Sketch, XD e CDR.", + "Crea una nuova immagine o apri i file esistenti dal tuo computer. Salva il tuo lavoro come PSD (File - Salva come PSD) o come JPG / PNG / SVG (File - Esporta come).", + "Suggerisci nuove funzionalità nel nostro o . Il nostro obiettivo è creare .", + "Link degli sponsor si aprono in una nuova finestra.", + "Questa funzione non è disponibile.", + "Installa Photopea" + ] + ], + [ + "Apri", + "Pubblica online", + "Salva", + "Salva come PSD", + "Stampa", + "Apri da URL", + "Apri da computer", + "Connetti a Google Drive", + "Esporta come", + "Esporta livelli", + "Script", + "Apri & posiziona", + "Chiudi", + "File locali", + null + ], + [ + "Passo avanti", + "Passo indietro", + "Pulisci", + "Riempi", + "Trasforma", + "Ruota", + "Inverti VAR0", + "Scala VAR0", + "Indietro / Rifai", + "Prospettiva", + [ + "Fusione automatica", + "Allineamento automatico" + ], + "Dissolvi", + "Applica immagine" + ], + "Aggiustamenti", + [ + "Luminosità/Contrasto", + "Livelli", + "Curve", + "Esposizione", + "Vibrance", + "Tinta/Saturazione", + "Bilanciamento del ceolor", + "Bianco e Nero", + "Filtro Fotografico", + "Mixer di canale", + "Ricerca Colore", + "Inverti", + "Posterizza", + "Soglia", + "Mappa sfumatura", + "Colore Selettivo", + [ + "Tono automatico", + "Contrasto automatico", + "Colore automatico" + ], + "Sostituzione Colore" + ], + [ + "Taglia", + "Copia", + "Incolla", + "Nuovo", + "Elimina", + "Abilita", + "Disabilita", + "Copia elementi uniti", + "Applica", + "Ancora", + "Aggiorna" + ], + [ + "Duplica livello", + "Nuovo Livello di aggiustamento", + "Maschera raster", + "Maschera vettoriale", + "Aggiungi (Mostra Tutto)", + [ + "Aggiungi (Nascondi Tutto)", + "Mostra selezione", + "Nascondi selezione", + "Da trasparenza" + ], + [ + "Maschera di ritaglio", + "Maschera veloce" + ], + "Converti in Oggetto Smart", + "Rendi in Bitmap", + "Raggruppa livelli", + "Unisce sotto", + "Unisce sopra", + [ + "Unisci livelli", + "Unico livello" + ], + "Nuovo livello", + "Abilita maschera raster", + "Disabilita maschera raster", + "Abilita maschera vettoriale", + "Disabilita maschera vettoriale", + "Abilita maschera di ritaglio", + "Disabilita maschera di ritaglio", + "Nuova Cartella", + "Aggiungi maschera raster", + "Elimina maschera raster", + "Aggiungi maschera vettoriale", + "Elimina maschera vettoriale", + "Collega maschera raster", + "Scollega maschera raster", + "Collega maschera vettoriale", + "Scollega maschera vettoriale", + "Abilita effetti del livello", + "Disabilita effetti del livello", + "Elimina livello", + "Cambia opacità livello", + "Cambia fusione", + "Rasterizza stile livello", + "Ordine livello", + [ + "Creazione Oggetto Smart", + "Aggiornamento Oggetto Smart", + "Posizionamento Oggetto Smart", + "Fonte (Oggetto Smart)", + "Metodo serie di immagini" + ], + "Cambia nome", + "Cambia Colore", + "Modifica Livello di aggiustamento", + "Converti in forma", + "Abilita maschera filtro", + "Disabilita maschera filtro", + "Abilita Filtri intelligenti", + "Disabilita filtri intelligenti", + "Aggiungi maschera filtro", + "Elimina maschera filtro", + "Pulisci filtri intelligenti", + [ + [ + "Riempimento di colore uniforme", + "Riempimento sfumatura", + "Riempimento pattern", + "In base al contenuto" + ], + "Nuovo Livello di riempimento", + "Modificare livello di riempimento" + ], + "Crea livello da copia", + "Maschera filtro", + "Elimina lo stile del livello", + "Muovi filtro intelligente", + "Elimina filtro intelligente", + [ + "Collega livelli", + "Scollega livelli" + ], + "Organizza", + [ + "Porta in cima", + "Porta avanti", + "Manda indietro", + "Manda in fondo" + ], + [ + "Questo livello è bloccato.", + "Cambia blocco", + "Blocca" + ], + null + ], + [ + "Tutto", + "Deseleziona", + "Inverso", + "Modifica", + "Espandi", + "Contrai", + "Sfuma", + "Sposta selezione", + "Intervallo colori", + "Contorno", + "Trasforma selezione", + "Migliora bordo", + "Correggi la selezione", + null + ], + [ + "Ingrandisci", + "Riduci", + "Guide", + "Righelli", + "Griglia", + "Attacca", + "Attacca a", + "Limiti del documento", + "Griglia pixel", + "Tracciati", + "Attacca a pixels", + [ + "Sezioni", + "Opzioni sezione" + ], + "Mostra" + ], + [ + "Cronologia", + "Livelli", + "Proprietà", + "Pennello", + "Carattere", + "Paragrafo", + "Info", + "Composizioni livelli", + "Campioni", + "Azioni", + "Istogramma", + "Navigazione", + "Strumenti predefiniti", + "Glifi" + ], + [ + "Strumento pennello", + "Strumento Clone", + "Strumento Ritaglia", + "Strumento Gomma", + "Seleziona ellittica", + "Contagocce", + "Strumento sfumatura", + "Strumento Mano", + "Strumento Font", + "Selezione con Lazo", + "Selezione con Lazo magnetico", + "Strumento Sposta", + "Bacchetta Magica", + "Strumento Secchiello", + "Seleziona con Lazo poligonale", + "Selezione rettangolare", + "Trasformazione libera", + "Strumento Zoom", + "Strumento Sfoca", + "Strumento Nitidezza", + "Strumento Sfumino", + "Strumento Scherma", + "Strumento Brucia", + "Strumento Spugna", + "Pennello correttivo al volo", + "Pennello correttivo", + "Strumento Toppa", + "Selezione tracciato", + "Selezione Diretta", + "Penna", + "Penna a mano libera", + "Forma Personale", + "Rettangolo", + "Punto Ellittico", + "Forma parametrica", + "Linea", + "Righello", + "Selezione rapida", + "Strumento matita", + "Ritaglio Prospettico", + "Sezione", + "Selezione sezioni", + "Sostituzione colore", + "Occhi Rossi", + "Selezione oggetti", + "Gomma per sfondo", + "Alterazione marionetta", + "Ruota vista", + "Scala in base al contenuto", + "Sposta in base al contenuto" + ], + [ + "Scatta una foto", + "Tavoletta Colori", + "Editor Contorni", + "Dimensione quadro", + "Duplica in ...", + "Editore sfumatura", + "Stile Livello", + "Nuovo progetto", + "Salva per il web", + "Altera", + "Dimensione immagine", + "Bitmap vettorizzata", + [ + "Rifila", + "Ritagliare", + "Mostra Tutto" + ], + "Scorciatoie da tastiera", + "Aggiungi guide", + [ + "Cancella guide", + "Guide dal livello" + ] + ], + [ + "Opacità", + "Effetti", + "Luminosità", + [ + "Contrasto", + "Usa la vecchia procedura" + ], + "Canale", + "Esposizione", + "Spostamento", + "Correzione Gamma", + "Tonalità", + "Saturazione", + "Luminosità", + "Colorare", + "Range", + "Vibrazione", + [ + "Dimensione", + "Interpolazione", + "Vicina più prossima", + "Bilineare" + ], + "Angolo", + "Rotondità", + "Durezza", + "Spaziatura", + [ + "Metodo fusione", + "Fondi se" + ], + "Dimensione di prova", + "Contorno", + "Stile", + [ + "Inverso", + "Relativo", + "Ancoraggio" + ], + "Tolleranza", + "Contiguo", + "Riempi", + "Usa angolo globale", + "Distanza", + "Propagazione", + "Rumore", + "Setta fuori ombra", + "Tecnica", + "Direzione", + "Profondità", + "Ammorbidire", + "Modalità", + "Sfumature", + "Scala", + "Allinea con livello", + "Posizione", + "Larghezza", + "Altezza", + "Destinazione", + "Tipo", + "Primopiano", + "Sfondo", + "Personale", + "Nome", + "Crea", + "Formato", + "Mantieni proporzioni", + [ + "Qualità", + "Pagine" + ], + "Duplica", + "Muovi", + "Filtri intelligenti", + "Raggio", + "Totale", + "Distribuzione", + [ + "Uniforma", + "Sfoca" + ], + "Monocromatico", + "Dimensione cella", + "Pattern", + "Flusso", + "Intensità", + "Protezione dettagli", + "Tipo di riempimento", + "Trama", + "Jitter", + "Margine", + "Fonte", + "Obbiettivo", + "Canali", + "Maschera", + "Densità", + "Allineato", + [ + "Tracciato", + "Forma", + "Pixels", + "Pollici", + "Centimetri", + "Millimetri", + "Percentuale" + ], + "Sfumature", + "Lati", + "Preferenze", + [ + "Lunghezza", + "Rapporto", + "Qualsiasi", + "Tipo di griglia", + "Isometrico", + "Distanza griglia", + "Unità righello" + ], + "Riduci rumore", + "Colori", + "Distanze", + "Velocità", + "Selezione-Automatica", + "Trova", + "Definisci nuovo", + [ + "Foto", + "Schermo", + "Dispositivo Mobile", + "Pubblicità", + "Stampa" + ], + [ + "Libero", + "Proporzione Fissa", + "Misura fissa" + ], + "Aiuto", + [ + "Forma Viva", + "Modifica Forma Viva", + "Stesso raggio" + ], + "Sfocatura", + [ + "Poligono", + "Stella", + "Spirale", + "Quadrato" + ], + [ + "Raggio d'Angolo", + "Raggio Interno" + ] + ], + [ + "Colore", + [ + "Vuoto", + "Rosso", + "Arancione", + "Giallo", + "Verde", + "Blu", + "Viola", + "Grigio", + "Bianco", + "Trasparente", + "Nero", + "Ciano", + "Magenta", + "Neutro" + ], + "Totale", + "Assoluto", + "Mantenere la Luminosità" + ], + [ + "Ombra", + "Ombra interna", + "Bagliore esterno", + "Bagliore interno", + "Smussatura e rilievo", + "Sovrapposizione colore", + "Sovrapposizione sfumatura", + "Sovrapposizione pattern", + "Satinato", + "Contorno", + "Opzioni di fusione", + "Seleziona pixels" + ], + [ + "Forma della punta", + "Dinamica della forma", + "Diffusione", + "Dinamica dei colori", + [ + "Regola dimensione", + "Diametro minimo", + "Regola angolo", + "Regola rotondità", + "Rotondità minima" + ], + [ + "Regola posizione", + "Conta", + "Regola Conteggio" + ], + [ + "Regola Primopiano/Sfondo", + "Regola Tonalità", + "Regola saturazione", + "Regola luminosità" + ], + [ + "Seleziona la sorgente da clonare tenendo premuto Alt e facendo clic sull'immagine.", + "Segna il Primo Piano con Bianco, Sfondo con Nero e le aree sconosciute con Grigio", + "Livello non modificabile.", + "Il Livello Testo deve prima essere rasterizzato", + "L'Oggetto Smart deve prima essere rasterizzato", + "Seleziona livelli multipli", + "Raddrizza strato", + "Per prima cosa apri un documento.", + "Per prima cosa chiudi la finestra corrente.", + "Solo strumento attivo" + ], + [ + "Registra", + "Nuovo set di azioni", + "Nuova azione" + ], + [ + "Pressione dello Stilo controlla l'Opacità", + "Pressione dello Stilo controlla la Dimensione" + ], + [ + "Normale", + "Dissolvi", + "Scurisci", + "Moltiplica", + "Colore brucia", + "Brucia lineare", + "Colore più scuro", + "Schiarisci", + "Scolora", + "Colore scherma", + "Scherma lineare", + "Colore più chiaro", + "Sovrapponi", + "Luce soffusa", + "Luce intensa", + "Luce vivida", + "Luce lineare", + "Luce puntiforme", + "Miscela dura", + "Differenza", + "Esclusione", + "Sottrai", + "Dividi", + "Tonalità", + "Saturazione", + "Colore", + "Luminosità", + "Attraversa" + ] + ], + [ + "Interlinea", + "Traccia", + "Spostamento linea di base", + [ + "Converti in Testo Punto", + "Converti in Testo Paragrafo" + ] + ], + [ + "Tutti", + "Livello attuale", + "Selezione", + "Attuale e sotto" + ], + [ + "Sostituisci", + "Unione", + "Differenza", + "Intersezione", + "XOR", + "Unisci" + ], + [ + [ + "Lineare", + "Radiale", + "Angolo", + "Riflesso", + "Diamante", + "Shape Burst" + ], + [ + "Ammorbidisci", + "Preciso" + ], + [ + "Smusso Esterno", + "Smusso Interno", + "Effetto rilievo", + "Effetto Rilievo Pillow", + "Effetto Rilievo Stroke", + "Spessore della traccia" + ], + [ + "Arrotonda", + "Scalpello (duro)", + "Scalpello (soft)", + "Omogeneità" + ], + [ + "Su", + "Giù" + ], + [ + "Fuori", + "Centro", + "Dentro", + "Dal Centro" + ], + [ + "Ombre", + "Mezzitoni", + "Luci" + ], + [ + "Togli saturazione", + "Satura" + ], + [ + "Piccolo", + "Medio", + "Grande" + ], + [ + "Tracejada", + "Angoli", + "Trattini" + ] + ], + [ + "Seleziona l'oggetto sotto il cursore", + "Controlli trasformazione", + "Pixel per pixel", + "Riempi l'area", + [ + "Allinea i bordi a SX", + "Centra orizzontalmente", + "Allinea i bordi a DX", + "Allinea i bordi in alto", + "Centra verticalmente", + "Allinea i bordi in basso", + "Spazi Uguali" + ] + ], + [ + "Inserisci in", + "Progetto attuale", + "Nuovo progetto", + "Risoluzione", + "Aggiunto al corrente progetto", + "Un nuovo progetto è stato creato", + "L'accesso alla cam è stato negato" + ], + [ + "Orientamento", + "Curva", + "Distorsione orizzontale", + "Distorsione verticale", + [ + "Orizzontale", + "Verticale", + "orizzontalmente", + "verticalmente" + ], + [ + "Nessuno", + "Arco", + "Arco inferiore", + "Arco superiore", + "Arcata", + "Rigonfiamento", + "Arco conchiglia inf.", + "Arco conchiglia sup.", + "Bandiera", + "Onda", + "Pesce", + "Pendo", + "Grandangolo", + "Gonfio", + "Comprimi", + "Torsione", + "Personale" + ], + [ + "Font", + "non è disponibile", + "Sarà rappresentato utilizzando", + "C'è lavoro non salvato in", + "Vuoi davvero chiuderlo?" + ], + [ + "Inverti colori", + "Base: bianco e nero" + ] + ], + [ + "caricato", + "aggiunto", + "Muovi guide", + "Elimina guide", + "Aggiungi guida", + "Caricamento", + "Carica VAR0" + ], + [ + "Galleria filtri", + [ + [ + "Fluidifica", + [ + "Sbafa", + "Ricostruisci", + "Smussato", + "Rotea", + "Riduci", + "Gonfia", + "Spingi a Sinistra", + "Fissa", + "Rilascia" + ] + ], + [ + "Correzione delle lenti" + ] + ], + "Sfocatura", + [ + "Media", + "Sfocatura", + "Sfoca maggiormente", + "Controllo sfocatura", + "Sfocatura gaussiana", + "Sfocatura lente", + "Sfocatura movimento", + "Sfocatura radiale", + "Sfocatura Forma", + "Sfocatura Intelligente", + "Sfocatura Superficie" + ], + "Distorci", + [ + "Sostituisci", + "Pizzica", + "Coordinate polari", + "Effetto Onde", + "Cesoia", + "Rendi Sferico", + "Onda" + ], + "Disturbo", + [ + "Aggiungi disturbo", + "Smacchia", + "Polvere e grana", + "Mediana" + ], + "Effetto pixel", + [ + "Colore Mezzitoni", + "Cristallizza", + "Sfaccettatura", + "Frammenta", + "Mezzetinte", + "Mosaico", + "Puntinatura" + ], + "Rappresenta", + [ + "Nuvole", + "Nuvole differenziali", + "Riflesso obiettivo" + ], + "Contrasta", + [ + "Contrasta", + "Contrasta Bordi", + "Contrasta maggiormente", + "Contrasto Intelligente", + "Maschera di contrasto" + ], + "Stilizzazione", + [ + "Diffondi", + "Effetto rilievo", + "Estrusione", + "Trova Bordi", + "Pittura a olio" + ], + "Altro", + [ + "Personale", + "Accentua Passaggio", + "Massimo", + "Minimo", + "Sposta", + "Ripeti" + ], + [ + "Area indefinita", + "Imposta Trasparenza", + "Ripeti Pixel del Bordo", + "Involucro attorno", + "Ultimo filtro", + "Anteprima" + ] + ], + [ + "Modelli", + [ + "Filtro font", + "Parole Chiave", + "Rendi casuale" + ], + [ + "Con Simboli", + "Con Foto" + ], + [ + "Miniature", + "Elenco" + ] + ] + ], + [ + [ + "Fișier", + "Editare", + "Imagine", + "Strat", + "Dosar", + "Selectează", + "Filtru", + "Vedere", + "Fereastră", + "Limbă", + "Logare", + "Ieșire", + "Creează traducere", + [ + "Cont", + "Termeni de Utilizare", + "Înapoi", + "Despre", + "Raportează o eroare", + "Învăța" + ], + "Mai mult", + "Opțiuni temă", + "Folosește WebGL", + [ + "Photopea: Editor de imagini avansate", + "Editor gratuit online care acceptă formatele PSD, XCF, Sketch, XD și CDR.", + "Creați o imagine nouă sau deschideți fișierele existente de pe computer. Salvați munca dvs. ca PSD (Fișier - Salvează ca PSD) sau ca JPG / PNG / SVG (Fișier - Exportează că și).", + "Sugerați noi caracteristici la sau . Scopul nostru este de a crea .", + "Linkurile sponsorului se deschid într-o fereastră nouă.", + null, + null + ] + ], + [ + "Deschide", + "Publică online", + "Salvează", + "Salvează ca PSD", + "Printează", + "Deschideți de la URL", + "Deschideți din computer", + "Conectează-te cu Google Drive", + "Exportează că și", + "Exportează straturi", + "Script", + "Deschide & Pune", + "Închide", + "Stocare locală", + null + ], + [ + "Dă cu un pas înainte", + "Dă cu un pas înapoi", + "Curăță", + "Umplere", + "Transformă", + "Rotește", + "Rotiți VAR0", + "Scala VAR0", + "Anulează / Refă", + "Perspectivă", + [ + "Auto-Nuanțare", + null + ], + "Spălăci", + null + ], + "Ajustări", + [ + "Strălucire/Contrast", + "Nivele", + "Curbe", + "Expunere", + "Vibranță", + "Nuanță/Saturație", + "Echilibrare culori", + "Alb-negru", + "Filtru de fotografie", + "Mixer de canale", + "Caută culoare", + "Inversează", + "Posterizează", + "Prag", + "Hartă de gradient", + "Culoare selectivă", + [ + "Ton automat", + "Contrast automat", + "Culoare automată" + ], + "Înlocuiți culoarea" + ], + [ + "Taie", + "Copiază", + "Lipește", + "Nou", + "Șterge", + "Activează", + "Dezactivează", + "Copiază straturi unite", + "Aplică", + "Din nou", + "Actualizați" + ], + [ + "Multiplică strat", + "Nou strat de ajustare", + "Mască de rasterizare", + "Mască vectorială", + "Adaugă (Arată tot)", + [ + "Adaugă (Ascunde tot)", + "Revelați selecția", + "Ascundeți selecția", + "Din transparență" + ], + [ + "Mască de atașare", + "Quick Mask Mode" + ], + "Schimbă ca obiect smart", + "Rasterizează", + "Grupează straturi", + "Unește în jos", + "Unește în sus", + [ + "Unește straturi", + "Flatten Image" + ], + "Strat nou", + "Activează Masca de rasterizare", + "Dezactivează Masca de rasterizare", + "Activează Masca vectorială", + "Dezactivează Masca vectorială", + "Activează Masca de atașare", + "Dezactivează Masca de atașare", + "Dosar nou", + "Adaugă Mască de rasterizare", + "Șterge Masca de rasterizare", + "Adaugă Mască vectorială", + "Șterge Masca vectorială", + "Leagă Masca de rasterizare", + "Dezleagă Masca de rasterizare", + "Leagă Masca vectorială", + "Dezleagă Masca vectorială", + "Activează efectele de strat", + "Dezactivează efectele de strat", + "Șterge strat", + "Schimbă opacitatea stratului", + "Schimbă efectele de amestecare", + "Rasterizează stilul stratului", + "Ordinea straturilor", + [ + "Creează obiect smart", + "Actualizează obiectul smart", + "Plasează obiectul smart", + "Sursă (obiect smart)", + null + ], + "Schimbă nume", + "Schimbă culoare", + "Editează stratul de ajustare", + "Schimbă în forma...", + "Activează Masca de filtre", + "Dezactivează masca de filtre", + "Activează filtrele Smart", + "Dezactivează filtrele Smart", + "Adaugă mască de filtre", + "Șterge masca de filtre", + "Curăță filtrele Smart", + [ + [ + "Umplere cu o culoare solidă", + "Umplere cu gradient", + "Umplere cu model", + "Conștient de conținut" + ], + "Nou strat de umplere", + "Modifică stratul de umplere" + ], + "Strat via copiere", + "Mască de filtre", + "Ştergere Stil Layer", + "Mutare Filtru Smart", + "Ştergere Filtru Smart", + [ + "Linkez straturi", + "Delinkeaza straturi" + ], + "Aranjează", + [ + "Mută în fața", + "Mută înainte", + "Trimite înapoi", + "Trimite în spate" + ], + [ + "Layerul este blocat.", + "Blochează schimbarea", + null + ], + null + ], + [ + "Tot", + "Deselectează", + "Invers", + "Modifică", + "Extinde", + "Strânge", + "Pană", + "Mută selecția", + "Rază de culori", + "Margine", + "Transformă selecția", + "Redefinire Margine", + "Vindecă selecția", + null + ], + [ + "Focalizează mai mult", + "Focalizează mai puțin", + "Ghiduri", + "Riglele", + "Grilă", + "Prinde", + "Prinde la", + "Limite Document", + "Grilă pixel", + "Cale", + "Prinde la pixeli", + [ + "Felii", + "Opțiuni de feliere" + ], + "Arată" + ], + [ + "Istoric", + "Straturi", + "Proprietăți", + "Pensulă", + "Caracter", + "Paragraf", + "Info", + "Compoziții de straturi", + "Specimene", + "Acţiuni", + "Histograma", + "Navigator", + "Presetări de unealtă", + null + ], + [ + "Unealtă Pensulă", + "Clonare", + "Decupare", + "Gumă de șters", + "Selectează cu Oval", + "Pipetă", + "Unealtă de gradient", + "Unealta Mână", + "Unealtă de Scris", + "Selectează cu Lasou", + "Selectează cu Lasou Magnetic", + "Mutare", + "Bagheta magică", + "Găleată de vopsea", + "Selectează ca Lasou Poligonal", + "Selectează cu Dreptunghi", + "Transformă în mod liber", + "Focalizare", + "Încețoșare", + "Evidențiere", + "Pătare", + "Evitare", + "Ardere", + "Burete", + "Pensulă de îndepărtare a petelor", + "Pensulă de îndepărtare", + "Unealtă de Petice", + "Selectează cale", + "Selectează direct", + "Stilou", + "Stilou liber", + "Formă originală", + "Dreptunghi", + "Oval", + "Formă parametrică", + "Linie", + "Riglă", + "Selecție rapidă", + "Creion", + "Trunchiere de Perspectivă", + "Ustensilă de feliere", + "Ustensilă de selectare felie", + "Înlocuire culoare", + "Unealtă ochi roșii", + "Selectare obiect", + "Ștergere fundal", + "Puppet Warp", + null, + null, + null + ], + [ + "Fă o poză", + "Selector de culoare", + "Editor de contur", + "Dimensiune pânză", + "Multiplică în ...", + "Editor de gradiente", + "Stil strat", + "Proiect nou", + "Salvează pentru Internet", + "Teleportează", + "Dimensiuni imagine", + "Vectorizare Bitmap", + [ + "Tăiere", + "Trunchiere", + "Reveal All" + ], + "Comenzi rapide de la tastatură", + "Adaugă ghiduri", + [ + "Curăță ghiduri", + "Guides from Layer" + ] + ], + [ + "Opacitate", + "Efecte", + "Strălucire", + [ + "Contrast", + "Utilizați algoritmul vechi" + ], + "Canal", + "Expunere", + "Ofset", + "Corecție gamma", + "Nuanță", + "Saturație", + "Luminozitate", + "Vopsire", + "Rază", + "Vibranță", + [ + "Mărime", + "Interpolarea", + "Cel-mai-apropiat-vecin", + "Biliniară" + ], + "Unghi", + "Rotunjire", + "Tărie", + "Spațiere", + [ + "Mod amestecare", + "Amestecare dacă" + ], + "Mărime probă", + "Contur", + "Stil", + [ + "Schimbă înapoi", + "Relativă", + "Ancoră" + ], + "Toleranță", + "Continuu", + "Umplere", + "Folosește unghi global", + "Distanță", + "Împrăștiere", + "Zgomot", + "Umbră pe dinafară", + "Tehnică", + "Direcție", + "Adâncime", + "Inmoaie", + "Mod", + "Gradient", + "Scala", + "Aliniază cu stratul", + "Poziție", + "Lățime", + "Înălțime", + "Destinație", + "Tip", + "Prim plan", + "Fundal", + "Personalizat", + "Nume", + "Creați", + "Format", + "Mențineți raportul de aspect", + [ + "Calitate", + "Pagini" + ], + "Duplicat", + "Mișcă", + "Filtrele Smart", + "Rază", + "Cantitate", + "Distribuție", + [ + "Uniformă", + "Gaussian" + ], + "Monocromatic", + "Dimensiunea celulei", + "Model", + "Curgere", + "Putere", + "Protecție detalii", + "Tip de umplere", + "Textură", + "Vibrație", + "Margine", + "Sursă", + "Țintă", + "Canale", + "Mască", + "Densitate", + "Aliniat", + [ + "Cale", + "Formă", + "Pixeli", + "Inci", + "Centimetri", + "Milimetri", + "Procent" + ], + "Forme", + "Fețe", + "Preferințe", + [ + "Lungime", + "Raport", + "Orice", + "Tip de grilă", + "Izometrică", + "Spațiu dintre grile", + "Unități de riglă" + ], + "Reducere zgomot", + "Culori", + "Distanţe", + "Rată", + "Selectare automată", + "Caută", + "Definiți nou", + [ + "Imagine", + "Ecran", + "Mobile", + "Reclame", + "Printuri" + ], + [ + "Liber", + "Raport fix", + "Mărime fixă" + ], + "Ajutor", + [ + "Formă în timp real", + "Editare formă în timp real", + "Aceleași raze" + ], + "Neclaritate", + [ + "Poligon", + "Stea", + "Spirală", + "Pătrat" + ], + [ + "Raza de colț", + "Raza interioară" + ] + ], + [ + "Culoare", + [ + "Nimic", + "Roșu", + "Portocaliu", + "Galben", + "Verde", + "Albastru", + "Purpuriu", + "Gri", + "Alb", + "Transparent", + "Negru", + "Azuriu", + "Purpuriu", + "Neutră" + ], + "Total", + "Absolut", + "Păstrați luminozitatea" + ], + [ + "Umbră", + "Umbră interioară", + "Strălucire exterioară", + "Strălucire interioară", + "Echer si Grava", + "Suprapunere de culoare", + "Suprapunere de gradient", + "Suprapunere de model", + "Satin", + "Lovire", + "Opțiuni de amestecare", + "Selectează Pixeli" + ], + [ + "Formă vârf", + "Tip dinamică", + "Împrăștiere", + "Dinamica culorilor", + [ + "Mărimea variația", + "Diametru minim", + "Unghi variația", + "Rotunjire variația", + "Rotunjire minimă" + ], + [ + "Poziția variația", + "Numărare", + "Numără variația" + ], + [ + "Variația in Prim Plan/Fundal", + "Nuanță variația", + "Saturație variația", + "Strălucire variația" + ], + [ + "Selectați sursa de clonare prin mentinerea tastelor ALT (sau K) și apăsând pe imagine.", + "Marcați în prim plan cu alb, fundal cu negru și zona necunoscută cu gri.", + "Stratul nu poate fi editabil.", + "Stratul de text trebuie rasterizat mai întâi", + "Obiectul Smart trebuie rasterizat mai întâi", + "Selectați mai multe straturi", + "Îndreptare Strat", + "Deschideți mai întâi un document.", + "Închideți mai întâi fereastra curentă.", + "Numai unealtă curentă" + ], + [ + "Înregistrați", + "Noul set de acțiuni", + "Noua acțiune" + ], + [ + "Presiunea penului controlează opacitatea", + "Presiunea penului controlează dimensiunea" + ], + [ + "Normal", + "Dizolvare", + "Întunecare", + "Multiplică", + "Ardere de Culoare", + "Ardere liniară", + "Culoare mai Întunecată", + "Luminează", + "Ecran", + "Evitare de Culoare", + "Evitare Liniară", + "Culoare mai Luminoasă", + "Suprapunere", + "Lumină slabă", + "Lumină puternică", + "Lumină intensă", + "Lumină liniară", + "Pin Light", + "Amestecare Puternică", + "Diferență", + "Excludere", + "Scade", + "Împarte", + "Nuanță", + "Saturație", + "Culoare", + "Luminozitate", + "Treci Prin" + ] + ], + [ + "Spațiere linie", + "Spațiere caractere", + "Linie de bază", + [ + "Convertește la Text Punct", + "Convertește la Text Paragraf" + ] + ], + [ + "Tot straturi", + "Strat curent", + "Selecție", + "Curent și mai jos" + ], + [ + "Înlocuiește", + "Unifică", + "Extrage", + "Intersectează", + "Exclude", + "Unește" + ], + [ + [ + "Liniar", + "Radial", + "Unghi", + "Reflectat", + "Diamant", + "Shape Burst" + ], + [ + "Moale", + "Precis" + ], + [ + "Outer Bevel", + "Inner Bevel", + "Gravare", + null, + null, + "Lăţime liniei" + ], + [ + "Netezire", + null, + null, + "Netezime" + ], + [ + "Sus", + "Jos" + ], + [ + "Exterior", + "Centru", + "Interior", + "Din centru" + ], + [ + "Umbre", + "Tonuri mijlocii", + "Sublinieri" + ], + [ + "Desaturați", + "Saturați" + ], + [ + "Mic", + "Mediu", + "Larg" + ], + [ + null, + "Colțuri", + "Cratime" + ] + ], + [ + "Selecteaza obiectul de sub cursor", + "Transformă controalele", + "Pixel la Pixel", + "Potriviți în zonă", + [ + "Aliniaza dupa muchiile din stinga", + "Centreaza orizontal", + "Aliniaza dupa muchiile din dreapta", + "Aliniaza dupa muchiile de sus", + "Centreaza vertical", + "Aliniaza dupa muchiile de jos", + "Spatiere Egala" + ] + ], + [ + "Plasează în", + "Proiect curent", + "Proiect nou", + "Rezolutie", + "Adaugat la proiectul curent.", + "Un proiect nou a fost creat.", + "Accesul la camera a fost negat." + ], + [ + "Orientare", + "Îndoaie", + "Distorsiuni orizontale", + "Distorsiuni verticale", + [ + "Orizontal", + "Vertical", + "orizontal", + "vertical" + ], + [ + "Niciunul", + null, + null, + null, + null, + null, + null, + null, + "Steag", + null, + null, + null, + null, + null, + null, + null, + null + ], + [ + "Font", + "nu este disponibil", + "Este redat cu", + "Există locuri de muncă nesalvate:", + "Chiar vrei să închizi?" + ], + [ + "Schimba Culori", + "Implicit: Alb și negru" + ] + ], + [ + "încărcat", + "a fost adăugat", + "Mutare ghid", + "Ştergere ghid", + "Adăugare ghid", + null, + null + ], + [ + "galerie de filtre", + [ + [ + null, + [ + null, + null, + null, + null, + "micsoreaza", + null, + null, + "Blochează", + "Deblochează" + ] + ], + [ + null + ] + ], + null, + [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + null, + [ + null, + null, + null, + null, + null, + null, + null + ], + null, + [ + "Adăuga zgomot", + null, + null, + "Median" + ], + "Pixelează", + [ + null, + "Cristalizare", + null, + "Fragment", + null, + "mozaic", + null + ], + "Randare", + [ + "Nori", + null, + null + ], + null, + [ + null, + null, + null, + null, + null + ], + "Stilizează", + [ + "Difuz", + null, + "Extrudare", + "Găsește Colțuri", + null + ], + "Altul", + [ + null, + null, + "Maxim", + "Minim", + null, + "Repetă" + ], + [ + "Arie Nedefinită", + "Setează ca Transparent", + "Repetați pixeli margine", + "Înfășoară în jurul", + "Ultimul filtru", + "Previzual" + ] + ], + [ + "Șabloane", + [ + "Filtru de fonturi", + "Cuvinte cheie", + "Randomizare" + ], + [ + "Cu simboluri", + "Cu fotografie" + ], + [ + "Miniaturi", + "Listă" + ] + ] + ], + [ + [ + "Bestand", + "Bewerken", + "Afbeelding", + "Laag", + "Map", + "Selecteren", + "Filter", + "Beeld", + "Venster", + "Taal", + "Log in", + "Log uit", + "Maak een vertaling", + [ + "Account", + "Algemene voorwaarden", + "Terug", + "Over", + "Meld een bug", + "Leren" + ], + "Meer", + "Thema", + "Gebruik WebGL", + [ + "Photopea: geavanceerde fotobewerking", + "Gratis online bewerker, ondersteunt PSD-, XCF-, Sketch-, XD- en CDR-formaten", + "Maak een nieuwe afbeelding of open bestaande bestanden vanaf uw computer. Sla uw werk op als PSD (Bestand - Opslaan als PSD) of als JPG / PNG / SVG (Bestand - Exporteren als).", + "Stel nieuwe functies voor op onze of . Ons doel is om te maken.", + "Sponsorlinks openen in een nieuw venster.", + "Deze functie is niet beschikbaar.", + "Photopea installeren" + ] + ], + [ + "Open", + "Publiceer online", + "Opslaan", + "Opslaan als PSD", + "Printen", + "Open via URL", + "Open vanaf computer", + "Verbind met Google Drive", + "Exporteren als", + "Exporteer lagen", + "Schrijf", + "Open en plaats", + "Sluiten", + "Lokale opslag", + "Info" + ], + [ + "Stap vooruit", + "Stap terug", + "Leegmaken", + "Vul", + "Transformeer", + "Draaien", + "VAR0 spiegelen", + "VAR0 schalen", + "Ongedaan maken / Opnieuw", + "Perspectief", + [ + "Automatisch overvloeien", + "Automatisch uitlijnen" + ], + "Vervagen", + "Afbeelding toepassen" + ], + "Aanpassingen", + [ + "Helderheid/contrast", + "Niveaus", + "Curves", + "Belichting", + "Levendigheid", + "Kleurtoon/verzadiging", + "Kleurbalans", + "Zwart-wit", + "Fotofilter", + "Kanaalmixer", + "Kleur-opzoektabellen", + "Omkeren", + "Waarden beperken", + "Drempelwaarde", + "Verloop toewijzen", + "Kleurbereik", + [ + "Automatische tint", + "Automatisch contrast", + "Automatische kleuren" + ], + "Vervang kleur" + ], + [ + "Knippen", + "Kopiëren", + "Plakken", + "Nieuw", + "Verwijderen", + "Inschakelen", + "Uitschakelen", + "Verenigd kopiëren", + "Toepassen", + "Opnieuw", + "Bijwerken" + ], + [ + "Dupliceer laag", + "Nieuwe aanpassingslaag", + "Rastermasker", + "Vectormasker", + "Toevoegen (toon alles)", + [ + "Toevoegen (verberg alles)", + "Selectie tonen", + "Selectie verbergen", + "Vanuit transparantie" + ], + [ + "Knipmasker", + "Snelmaskermodus" + ], + "Converteren naar Slim Object", + "Omzetten naar pixels", + "Groepeer lagen", + "Omlaag samenvoegen", + "Omhoog samenvoegen", + [ + "Lagen samenvoegen", + "Alle lagen samenvoegen" + ], + "Nieuwe laag", + "Rastermasker inschakelen", + "Rastermasker uitschakelen", + "Vectormasker inschakelen", + "Vectormasker uitschakelen", + "Knipmasker inschakelen", + "Knipmasker uitschakelen", + "Nieuwe map", + "Rastermasker toevoegen", + "Rastermasker verwijderen", + "Vectormasker toevoegen", + "Vectormasker verwijderen", + "Rastermasker koppelen", + "Rastermasker ontkoppelen", + "Vectormasker koppelen", + "Vectormasker ontkoppelen", + "Laageffecten inschakelen", + "Laageffecten uitschakelen", + "Laag verwijderen", + "Laagdekking wijzigen", + "Overvloeimodus wijzigen", + "Zet laagstijl om naar pixels", + "Laagvolgorde", + [ + "Slim Object creëren", + "Slim Object updaten", + "Slim Object plaatsen", + "Bron (Slim Object)", + "Stapelmodus" + ], + "Naamwijziging", + "Kleurwijziging", + "Wijzig aanpassingslaag", + "Converteer naar vorm", + "Filtermasker inschakelen", + "Filtermasker uitschakelen", + "Slimme filters inschakelen", + "Slimme filters uitschakelen", + "Voeg filtermasker toe", + "Verwijder filtermasker", + "Verwijder slimme filters", + [ + [ + "Effen kleurvulling", + "Verloopvulling", + "Patroonvulling", + "Met behoud van inhoud" + ], + "Nieuwe vullingslaag", + "Wijzig vullingslaag" + ], + "Laag vanuit selectie", + "Filtermasker", + "Verwijder laagstijl", + "Verplaats slim filter", + "Verwijder slim filter", + [ + "Koppel lagen", + "Ontkoppel lagen" + ], + "Rangschikken", + [ + "Verplaats naar voorgrond", + "Verplaats naar voren", + "Verplaats naar achteren", + "Verplaats naar achtergrond" + ], + [ + "Deze laag is vergrendeld.", + "Verander vergrendeling", + "Vergrendelen" + ], + "Animatie" + ], + [ + "Alles", + "Deselecteren", + "Selectie omkeren", + "Bewerken", + "Uitbreiden", + "Inkrimpen", + "Verdoezel", + "Verplaats selectie", + "Kleurbereik", + "Rand", + "Transformeer selectie", + "Rand verfijnen", + "Herstel selectie", + "Magisch knippen" + ], + [ + "Zoom in", + "Zoom uit", + "Hulplijnen", + "Linialen", + "Raster", + "Vastklikken", + "Vastklikken aan", + "Documentsgrenzen", + "Pixelraster", + "Paden", + "Vastklikken aan pixels", + [ + "Segmenten", + "Segmentopties" + ], + "Toon" + ], + [ + "Geschiedenis", + "Lagen", + "Eigenschappen", + "Penseel", + "Karakter", + "Paragraaf", + "Info", + "Laagsamenstellingen", + "Kleurstalen", + "Handelingen", + "Histogram", + "Navigator", + "Voorinstellingen gereedschap", + "Glyphs" + ], + [ + "Penseel", + "Kloonstempel", + "Uitsnijden", + "Gummetje", + "Ovaal selectiekader", + "Pipet", + "Verloop", + "Handje", + "Tekst", + "Lasso", + "Magnetische lasso", + "Verplaatsen", + "Toverstaf", + "Emmertje", + "Veelhoeklasso", + "Rechthoekig selectiekader", + "Vrije transformatie", + "Zoomen", + "Vervagen", + "Verscherpen", + "Natte vinger", + "Tegenhouden", + "Doordrukken", + "Spons", + "Snel retoucheerpenseel", + "Retoucheerpenseel", + "Reparatie", + "Padselectie", + "Directe selectie", + "Pen", + "Pen voor vrije vorm", + "Aangepaste vorm", + "Rechthoek", + "Ellips", + "Parametrische vorm", + "Lijn", + "Liniaal", + "Snelle selectie", + "Potlood", + "Uitsnijden met perspectief", + "Segment", + "Segmentselectie", + "Kleur vervangen", + "Rode ogen verwijderen", + "Object selecteren", + "Achtergrondgummetje", + "Marionet verdraaien", + "Weergave roteren", + "Zo schalen dat inhoud behouden blijft", + "Verplaatsen met behoud van inhoud" + ], + [ + "Neem een foto", + "Kleurkiezer", + "Contouren wijzigen", + "Canvasgrootte", + "Dupliceren naar …", + "Verloop wijzigen", + "Laagstijl", + "Nieuw project", + "Opslaan voor web", + "Verdraaien", + "Afbeeldingsgrootte", + "Bitmap vectoriseren", + [ + "Verkleinen", + "Uitsnijden", + "Toon alles" + ], + "Sneltoetsen", + "Hulplijnen toevoegen", + [ + "Hulplijnen wissen", + "Hulplijnen van Laag" + ] + ], + [ + "Dekking", + "Effecten", + "Helderheid", + [ + "Contrast", + "Verouderde instelling gebruiken" + ], + "Kanaal", + "Belichting", + "Verschuiving", + "Gammacorrectie", + "Kleurtoon", + "Verzadiging", + "Lichtheid", + "Inkleuren", + "Bereik", + "Levendigheid", + [ + "Grootte", + "Interpolatie", + "Naaste buur", + "Bilineair" + ], + "Hoek", + "Rondheid", + "Hardheid", + "Interlinie", + [ + "Overvloeimodus", + "Overvloeien als" + ], + "Monstergrootte", + "Randen", + "Stijl", + [ + "Omkeren", + "Relatief", + "Plaatsing" + ], + "Tolerantie", + "Aangrenzend", + "Vulling", + "Gebruik globale hoek", + "Afstand", + "Verspreiden", + "Ruis", + "Gebruik slagschaduw", + "Techniek", + "Richting", + "Diepte", + "Verzachten", + "Modus", + "Verloop", + "Schalen", + "Uitlijnen met laag", + "Positie", + "Breedte", + "Hoogte", + "Bestemming", + "Type", + "Voorgrond", + "Achtergrond", + "Aangepast", + "Naam", + "Maak", + "Indeling", + "Behoud beeldverhouding", + [ + "Kwaliteit", + "Pagina's" + ], + "Dupliceer", + "Verplaats", + "Slimme filters", + "Straal", + "Hoeveelheid", + "Verspreiding", + [ + "Gelijkmatig", + "Gaussiaans" + ], + "Monochroom", + "Celgrootte", + "Patroon", + "Stroom", + "Sterkte", + "Details beschermen", + "Opvullingstype", + "Textuur", + "Wiebelen", + "Rand", + "Bron", + "Doel", + "Kanalen", + "Masker", + "Dichtheid", + "Uitgelijnd", + [ + "Pad", + "Vorm", + "Pixels", + "Inches", + "Centimeters", + "Millimeters", + "Procent" + ], + "Vormen", + "Zijden", + "Voorkeuren", + [ + "Lengte", + "Verhouding", + "Elke", + "Rastertype", + "Isometrisch", + "Rasterlijn na elke", + "Liniaaleenheden" + ], + "Verminder ruis", + "Kleuren", + "Afstanden", + "Snelheid", + "Automatisch selecteren", + "Zoeken", + "Definieer nieuw", + [ + "Foto", + "Beeldscherm", + "Mobiel", + "Advertenties", + "Afdruk" + ], + [ + "Vrij", + "Vaste verhouding", + "Vaste grootte" + ], + "Help", + [ + "Actieve Vorm", + "Bewerk Actieve Vorm", + "Dezelfde straal" + ], + "Overeenkomst", + [ + "Veelhoek", + "Ster", + "Spiraal", + "Vierkant" + ], + [ + "Hoekstraal", + "Binnenstraal" + ] + ], + [ + "Kleur", + [ + "Geen", + "Rood", + "Oranje", + "Geel", + "Groen", + "Blauw", + "Paars", + "Grijs", + "Wit", + "Transparant", + "Zwart", + "Cyaan", + "Magenta", + "Neutraal" + ], + "Totaal", + "Absoluut", + "Lichtsterkte behouden" + ], + [ + "Slagschaduw", + "Schaduw binnen", + "Gloed buiten", + "Gloed binnen", + "Schuine kant en reliëf", + "Kleurbedekking", + "Verloopbedekking", + "Patroonbedekking", + "Satijn", + "Lijn", + "Opties voor overvloeien", + "Selecteer pixels" + ], + [ + "Puntvorm", + "Puntdynamiek", + "Verstrooien", + "Kleurdynamiek", + [ + "Grootte - jitter", + "Minimale diameter", + "Hoek - jitter", + "Ronding - jitter", + "Minimale rondingen" + ], + [ + "Positie - jitter", + "Aantal", + "Aantal - jitter" + ], + [ + "Voorgrond/achtergrond - jitter", + "Kleurtoon - jitter", + "Verzadiging - jitter", + "Helderheid - jitter" + ], + [ + "Selecteer de kloonbron door Alt (of K) ingedrukt te houden en op de afbeelding te klikken.", + "Markeer de voorgrond met wit, de achtergrond met zwart en het onbekende gebied met grijs.", + "Laag is niet bewerkbaar.", + "Tekstlaag moet eerst gerasteriseerd worden", + "Slim Object moet eerst gerasteriseerd worden", + "Selecteer meerdere lagen", + "Laag rechttrekken", + "Open eerst een document.", + "Sluit het huidige venster eerst.", + "Alleen huidig gereedschap" + ], + [ + "Opnemen", + "Nieuwe handelingenset", + "Nieuwe handeling" + ], + [ + "Pendruk bepaalt dekking", + "Pendruk bepaalt grootte" + ], + [ + "Normaal", + "Verspreiden", + "Donkerder", + "Vermenigvuldigen", + "Kleur doordrukken", + "Lineair doordrukken", + "Donkerdere kleur", + "Lichter", + "Bleken", + "Kleur tegenhouden", + "Lineair tegenhouden", + "Lichtere kleur", + "Bedekken", + "Zwak licht", + "Fel licht", + "Levendig licht", + "Lineair licht", + "Puntlicht", + "Harde mix", + "Verschil", + "Uitsluiting", + "Aftrekken", + "Verdelen", + "Kleurtoon", + "Verzadiging", + "Kleur", + "Lichtsterkte", + "Doorheen halen" + ] + ], + [ + "Regelafstand", + "Letterspatiëring", + "Verticale verplaatsing", + [ + "Omzetten in punttekst", + "Omzetten in alineatekst" + ] + ], + [ + "Alle lagen", + "Huidige laag", + "Selectie", + "Huidige & onderliggende laag" + ], + [ + "Vervangen", + "Samenvoegen", + "Verschil", + "Doorsnede", + "Uitsluiting", + "Samenvoegen" + ], + [ + [ + "Rechtlijnig", + "Radiaal", + "Hoek", + "Gereflecteerd", + "Ruitvormig", + "Uitstralen" + ], + [ + "Zachter", + "Precies" + ], + [ + "Buitenste afschuining", + "Binnenste afschuining", + "Reliëf", + "Kussenreliëf", + "Lijnreliëf", + "Lijndikte" + ], + [ + "Vloeiend maken", + "Harde beitel", + "Zachte beitel", + "Vloeiend" + ], + [ + "Omhoog", + "Omlaag" + ], + [ + "Buiten", + "Midden", + "Binnen", + "Vanuit middelpunt" + ], + [ + "Schaduwen", + "Middentonen", + "Hooglichten" + ], + [ + "Minder verzadiging", + "Verzadigen" + ], + [ + "Klein", + "Middelgroot", + "Groot" + ], + [ + "Uiteinden", + "Hoeken", + "Strepen" + ] + ], + [ + "Kies het object onder de muis", + "Aanpassingsknoppen", + "Pixel naar pixel", + "Vul de ruimte", + [ + "Linkerranden uitlijnen", + "Horizontaal centreren", + "Rechterranden uitlijnen", + "Bovenranden uitlijnen", + "Verticaal centreren", + "Onderranden uitlijnen", + "Gelijke tussenruimte" + ] + ], + [ + "Invoegen in", + "Huidig project", + "Nieuw project", + "Resolutie", + "Toegevoegd aan het huidige project.", + "Er is een nieuw project aangemaakt.", + "Toegang tot de camera geweigerd." + ], + [ + "Oriëntatie", + "Buigen", + "Horizontale vervorming", + "Verticale vervorming", + [ + "Horizontaal", + "Verticaal", + "Horizontaal", + "Verticaal" + ], + [ + "Geen", + "Boog", + "Boog onder", + "Boog boven", + "Boog", + "Bollend", + "Schelp omlaag", + "Schelp omhoog", + "Vlag", + "Golf", + "Vis", + "Omhoog", + "Fisheye-lens", + "Opblazen", + "Samendrukken", + "Draaien", + "Aangepast" + ], + [ + "Lettertype", + "is niet beschikbaar", + "Zal worden weergegeven met", + "Er zijn onopgeslagen bewerkingen in", + "Weet u zeker dat u dit wilt sluiten?" + ], + [ + "Wissel kleuren", + "Standaard: Wit en Zwart" + ] + ], + [ + "geladen", + "toegevoegd", + "Verplaats hulplijn", + "Verwijder hulplijn", + "Voeg hulplijn toe", + "Aan het laden", + "VAR0 laden" + ], + [ + "Filtergalerie", + [ + [ + "Uitvloeien", + [ + "Uitsmeren", + "Reconstrueren", + "Verzachten", + "Verdraaien", + "Krimpen", + "Opblazen", + "Naar links duwen", + "Bevriezen", + "Ontdooien" + ] + ], + [ + "Lenscorrectie" + ] + ], + "Vervaging", + [ + "Gemiddelde", + "Vervagen", + "Meer vervagen", + "Omgevingsvervagen", + "Gaussiaans vervagen", + "Lensvervaging", + "Bewegingsonscherpte", + "Radiaal vervagen", + "Vormvervagen", + "Slim vervagen", + "Oppervlak vervagen" + ], + "Vervormen", + [ + "Verplaatsen", + "Kneep", + "Polaire coördinaten", + "Rimpels", + "Verschuiving", + "Opbollen", + "Golf" + ], + "Ruis", + [ + "Ruis toevoegen", + "Uitstippen", + "Stof & Krassen", + "Mediaan" + ], + "Pixel", + [ + "Kleurhalftoon", + "Kristal", + "Facet", + "Fragmentatie", + "Mezzotint", + "Mozaïek", + "Pointilleren" + ], + "Rendering", + [ + "Wolken", + "Wolken (Verschil)", + "Lens flare" + ], + "Verscherpen", + [ + "Verscherpen", + "Scherpe randen", + "Scherper", + "Slim verscherpen", + "Onscherp masker" + ], + "Stileren", + [ + "Diffuus", + "Reliëf", + "Geef diepte", + "Omtreklijn", + "Olie verf" + ], + "Overige", + [ + "Aangepast", + "Hoogdoorlaat", + "Maximum", + "Minimum", + "Verschuiven", + "Herhaal" + ], + [ + "Ongedefiniëerd gebied", + "Maak transparant", + "Herhaal de pixels aan de randen", + "Wikkel rond documentsgrenzen", + "Vorige filter", + "Voorbeeld" + ] + ], + [ + "Sjablonen", + [ + "Lettertype kleur", + "Sleutelwoorden", + "Willekeurig" + ], + [ + "Met symbolen", + "Met foto" + ], + [ + "Miniaturen", + "Lijst" + ] + ] + ], + [ + [ + "Fil", + "Redigera", + "Bild", + "Lager", + "Mapp", + "Markera", + "Filter", + "Vy", + "Fönster", + "Språk", + "Logga in", + "Logga ut", + "Skapa översättning", + [ + "Konto", + "Användarvillkor", + "Bakåt", + "Om appen", + "Rapportera en bugg", + "Lära sig" + ], + "Mer", + "Tema", + "Använd WebGL", + [ + "Photopea: avancerad bildredigerare", + "Gratis online-editor som stöder PSD, XCF, Sketch, XD och CDR-format.", + "Skapa en ny bild eller öppna befintliga filer från din dator. Spara ditt jobb som PSD (Fil - Spara som PSD) eller som JPG / PNG / SVG (Fil - Exportera som).", + "Föreslå nya funktioner på vår eller . Vårt mål är att skapa .", + "Sponsorlänkar öppnas i ett nytt fönster.", + "Den här funktionen är inte tillgänglig.", + "Installera Photopea" + ] + ], + [ + "Öppna", + "Publicera online", + "Spara", + "Spara som PSD", + "Skriv ut", + "Öppna från URL", + "Öppna från dator", + "Connecta med Google Drive", + "Exportera som", + "Exportera lager", + "Script", + "Öppen & Placera", + "Stäng", + "Lokal lagring", + null + ], + [ + "Stega framåt", + "Stega bakåt", + "Rensa", + "Fyll", + "Omforma", + "Rotera", + "Vänd VAR0", + "Skala VAR0", + "Ångra / Upprepa", + "Perspektiv", + [ + "Blanda automatiskt", + "Justera automatiskt" + ], + "Toning", + "Använd bild" + ], + "Justeringar", + [ + "Ljusstyrka/kontrast", + "Nivåer", + "Kurvor", + "Exponering", + "Lyster", + "Nyans/mättnad", + "Färgbalans", + "Svartvitt", + "Fotofilter", + "Kanalmixer", + "Färgsökning", + "Invertera", + "Färgreduktion", + "Tröskel", + "Övertoningskarta", + "Selektiv färg", + [ + "Automatisk toning", + "Autokontrast", + "Automatisk färg" + ], + "Byt färg" + ], + [ + "Klipp ut", + "Kopiera", + "Klistra in", + "Ny", + "Radera", + "Aktivera", + "Inaktivera", + "Kopiera sammanslagning", + "Tillämpa", + "Igen", + "Uppdatera" + ], + [ + "Duplicera lager", + "Nytt justeringslager", + "Rastermask", + "Vektormask", + "Lägg till (Visa alla)", + [ + "Lägg till (Dölj alla)", + "Visa markering", + "Dölj markering", + "Från Genomskinlighet" + ], + [ + "Urklippsmask", + "Snabbmask" + ], + "Konvertera till Smart objekt", + "Rasterisera", + "Gruppera lager", + "Slå samman nedåt", + "Slå samman uppåt", + [ + "Slå samman lager", + "Gör till ett lager" + ], + "Nytt lager", + "Aktivera Rastermask", + "Inaktivera Rastermask", + "Aktivera Vektormask", + "Inaktivera Vektormask", + "Aktivera Urklippsmask", + "Inaktivera Urklippsmask", + "Ny mapp", + "Lägg till Rastermask", + "Radera Rastermask", + "Lägg till Vektormask", + "Radera Vektormask", + "Länka Rastermask", + "Avlänka Rastermask", + "Länka Vektormask", + "Avlänka Vektormask", + "Aktivera Lagereffekter", + "Inaktivera Lagereffekter", + "Radera lager", + "Lageropacitet ändring", + "Blandningsläge ändring", + "Rasterisera lagerstil", + "Lagerordning", + [ + "Skapar Smart objekt", + "Uppdaterar Smart objekt", + "Placerar Smart objekt", + "Källa (Smart objekt)", + "Stapelläge" + ], + "Namn ändring", + "Färg ändring", + "Ändra Justeringslager", + "Konvertera till Form", + "Aktivera Filtermask", + "Inaktivera Filtermask", + "Aktivera Smarta filter", + "Inaktivera Smarta filter", + "Lägg till Filtermask", + "Radera Filtermask", + "Rensa Smarta filter", + [ + [ + "Enfärgad fyllning", + "Övertoningsfyllning", + "Mönsterfyllning", + "Innehållsmedveten" + ], + "Nytt fyllningslager", + "Ändra fyllningslager" + ], + "Lager via kopia", + "Filtermask", + "Radera lagerstil", + "Flytta smart filter", + "Radera smart filter", + [ + "Länka lager", + "Koppla ifrån Lager" + ], + "Arrangera", + [ + "Flytta Främst", + "Flytta Framåt", + "Flytta Bakåt", + "Flytta Bakerst" + ], + [ + "Lagret är låst.", + "Lås ändring", + "Lås" + ], + null + ], + [ + "Allt", + "Avmarkera", + "Invertera", + "Ändra", + "Expandera", + "Dra samman", + "Ludd", + "Flytta markering", + "Färgintervall", + "Ram", + "Omforma markering", + "Förfina kant", + "Läka markering", + null + ], + [ + "Zooma in", + "Panorera ut", + "Stödlinjer", + "Linjaler", + "Stödraster", + "Fäst", + "Fäst mot", + "Dokument Gräns", + "Pixelrutnät", + "Banor", + "Fäst mot pixelar", + [ + "Segment", + "Segmentalternativ" + ], + "Visa" + ], + [ + "Historik", + "Lager", + "Egenskaper", + "Pensel", + "Tecken", + "Stycke", + "Info", + "Lagerkompositioner", + "Färgrutor", + "Funktionsmakron", + "Histogram", + "Överblick", + "Verktygsförinställningar", + "Specialtecken" + ], + [ + "Penselverktyget", + "Klonverktyget", + "Beskärningsverktyget", + "Suddverktyget", + "Ellipsmarkering", + "Pipetten", + "Övertoningsverktyget", + "Handverktyget", + "Textverktyget", + "Lassomarkering", + "Magnetisk lassomarkering", + "Flyttaverktyget", + "Trollspöet", + "Färgburksverktyget", + "Polygonal lassomarkering", + "Rektangelmarkering", + "Omforma fritt", + "Zoomverktyget", + "Blurra", + "Skärpa", + "Smeta ut", + "Skugga", + "Efterbelys", + "Svamp", + "Smart lagningspensel", + "Lagningspensel", + "lapp verktyg", + "Banmarkering", + "Direktmarkering", + "Penna", + "Fri penna", + "Egen form", + "Rektangel", + "Ellips", + "Parametrisk form", + "Linje", + "Linjal", + "Snabb val", + "Penselverktyg", + "Perspektivbeskärning", + "Segment", + "Markera segment", + "Färgersättning", + "Röda ögon", + "Objektmarkering", + "Bakgrundssuddgummi", + "Tänjning av marionett", + "Rotera vy", + "Skala för innehållsmedvetenhet", + "Innehållsmedveten flyttning" + ], + [ + "Ta en bild", + "Färgväljaren", + "Konturredigeraren", + "Storlek på arbetsyta", + "Duplicera in i...", + "Övertoningsredigeraren", + "Lagerstil", + "Nytt projekt", + "Spara för webb", + "Tänj", + "Bildstorlek", + "Vektorisera bitkarta", + [ + "Rensa", + "Beskära", + "Visa Allting" + ], + "Genvägar Tangentbord", + "Lägg till Stödlinjer", + [ + "Radera stödlinjer", + "Stödlinjer från Lager" + ] + ], + [ + "Opacitet", + "Effekter", + "Ljushet", + [ + "Kontrast", + "Använd äldre" + ], + "Kanal", + "Exponering", + "Förskjutning", + "Gammakorrigering", + "Nyans", + "Mättnad", + "Ljushet", + "Färga", + "Omfång", + "Lyster", + [ + "Storlek", + "Interpolation", + "Närmast intilliggande", + "Bilinjär" + ], + "Vinkel", + "Rundhet", + "Hårdhet", + "Mellanrum", + [ + "Blandningsläge", + "Blanda om" + ], + "Provstorlek", + "Kontur", + "Stil", + [ + "Omvänd", + "Relativ", + "Placering" + ], + "Tolerans", + "Angränsande", + "Fyll", + "Använd Global vinkel", + "Avstånd", + "Spridning", + "Brus", + "Slå ut skugga", + "Teknik", + "Riktning", + "Djup", + "Mjuka upp", + "Läge", + "Övertoning", + "Skala", + "Justera med lager", + "Position", + "Bredd", + "Höjd", + "Destination", + "Typ", + "Förgrund", + "Bakgrund", + "Egen", + "Namn", + "Skapa", + "Format", + "Behåll bildförhållande", + [ + "Kvalitet", + "Sidor" + ], + "Duplicera", + "Flytta", + "Smarta filter", + "Radie", + "Mängd", + "Fördelning", + [ + "Enhetlig", + "Gaussisk" + ], + "mongolia", + "Cellstorlek", + "Mönster", + "flöde", + "Styrka", + "Skyddad detalj", + "Fyll typ", + "Textur", + "Darr", + "Gräns", + "Källa", + "Mål", + "Kanaler", + "Mask", + "Densitet", + "Justera", + [ + "Bana", + "Form", + "Pixelar", + "Tum", + "Centimeter", + "Millimeter", + "Procent" + ], + "Former", + "Sidor", + "Preferenser", + [ + "Längd", + "Förhållande", + "Någon", + "Rutnät Typ", + "Isometrisk", + "Rasterlinje var", + "Linjalenheter" + ], + "Reducera brus", + "Färger", + "Avstånden", + "Hastighet", + "Automarkera", + "Hitta", + "Definiera nya", + [ + "Foto", + "Bildskärm", + "Mobil", + "Reklam", + "Avtryck" + ], + [ + "Fri", + "Fasta proportioner", + "Fastställd storlek" + ], + "Hjälp", + [ + "Aktuell Form", + "Ändra Aktuell Form", + "Samma Radie" + ], + "Överstrålning", + [ + "Polygon", + "Stjärna", + "Spiral", + "Kvadratisk" + ], + [ + "Hörn Radie", + "Inre Radie" + ] + ], + [ + "Färg", + [ + "Ingen", + "Röd", + "Orange", + "Gul", + "Grön", + "Blå", + "Violett", + "Grå", + "Vit", + "Transparent", + "Svart", + "Cyan", + "Magenta", + "Neutral" + ], + "Fullständig", + "Absolut", + "Bevara luminiscens" + ], + [ + "Skugga", + "Innerskugga", + "Yttre glöd", + "Inre glöd", + "Avfasning och relief", + "Färgöverlägg", + "Övertoningsöverlägg", + "Mönsteröverlägg", + "Satäng", + "Ramlinje", + "Blandningsval", + "Välj pixelar" + ], + [ + "Spetsform", + "Spetsdynamik", + "Utspridning", + "Färgdynamik", + [ + "Storleksvariation", + "Minimal diameter", + "Vinkelvariation", + "Rundhetsvariation", + "Minimal rundhet" + ], + [ + "Lägesvariation", + "Antal", + "Antalsvariation" + ], + [ + "Förgrunds-/Bakgrundsvariation", + "Nyansvariation", + "Mättnadsvariation", + "Ljushetsvariation" + ], + [ + "Välj kloningskälla genom att hålla nere Alt (eller K) och klicka på bilden", + "Markera förgrund med vitt, bakgrund med svart, och det okända området med grått.", + "Lagret kan inte ändras.", + "Text Lager måste rastreras först", + "Smart objekt måste rastreras först", + "Välj flera lager", + "Räta upp lager", + "Öppna ett dokument först.", + "Stäng det nuvarande fönsret först.", + "Endast aktuellt verktyg" + ], + [ + "Spela in", + "Ny funktionsmakro uppsättning", + "Nytt funktionsmakro" + ], + [ + "Nåltryck kontroller Opacitet", + "Nåltryck kontroller Storlek" + ], + [ + "Normal", + "Lös upp", + "Mörkare", + "Multiplicera", + "Efterbel. färg", + "Linjär efterbel.", + "Mörkare färg", + "Ljusare", + "Raster", + "Färgskugga", + "Linjär skugga", + "Ljusare färg", + "Täcka över", + "Mjukt ljus", + "Skarpt ljus", + "Klart ljus", + "Linjärt ljus", + "Strålljus", + "Hård blandning", + "Differens", + "Uteslutning", + "Subtrahera", + "Dela upp", + "Nyans", + "Mättnad", + "Färg", + "Luminiscens", + "Gå igenom" + ] + ], + [ + "Radavstånd", + "Knipning", + "Baslinjeförskjutning", + [ + "Konvertera till punkttext", + "Konvertera till stycketext" + ] + ], + [ + "Alla lager", + "Aktuellt lager", + "Markering", + "Aktuellt och underliggande" + ], + [ + "Byt ut", + "Koppling", + "Skillnad", + "Överlappa", + "Uteslut", + "Slå ihop" + ], + [ + [ + "Linjär", + "Radiell", + "Vinkel", + "Reflekterad", + "Diamant", + "Form ström" + ], + [ + "Mjukare", + "Exakt" + ], + [ + "Yttre avfasing", + "Inre avfasning", + "Relief", + "Kuddrelief", + "drag ciselera", + "Stregbredden" + ], + [ + "Utjämna", + "Mejsel hård", + "Mejsel mjuk", + "Släthet" + ], + [ + "Upp", + "Ned" + ], + [ + "Utsidan", + "Mitten", + "Insidan", + "Från mitten" + ], + [ + "Skuggor", + "Mellantoner", + "Högdagrar" + ], + [ + "Tunna ut", + "Mätta" + ], + [ + "Lilla", + "Medium", + "Stor" + ], + [ + "Ändpunkter", + "Hörn", + "Strecken" + ] + ], + [ + "Välj föremålet under markören", + "Omvandla kontroller", + "Pixel till Pixel", + "Anpassa till skärm", + [ + "Justera vänsterkanter", + "Centrera horisontellt", + "Justera högerkanter", + "Justera överkanter", + "Centrera vertikalt", + "Justera nederkanter", + "Lika Mellanrum" + ] + ], + [ + "Placera i", + "Nuvarande projekt", + "Nytt projekt", + "Upplösning", + "Tillagd i det här projektet.", + "Ett nytt projekt skapades.", + "Tillgång till kameran var avvisad." + ], + [ + "Orientering", + "Böj", + "Horisontell förvrängning", + "Vertikal förvrängning", + [ + "Horisontell", + "Vertikal", + "horisontellt", + "vertikalt" + ], + [ + "Ingen", + "Båge", + "Lägre Båge", + "Övre Båge", + "Valv", + "Utbuktning", + "Lägre skal", + "Övre skal", + "Flagga", + "Våg", + "Fisk", + "Res", + "Fisköga", + "Blåsa upp", + "Pressa", + "Vrid", + "Egen" + ], + [ + "Typsnitt", + "är inte tillgänglig", + "Kommer att göras med hjälp av", + "Det är olovat arbete i", + "Vill du verkligen stänga den?" + ], + [ + "Byt färger", + "Standard: Vit och Svart" + ] + ], + [ + "laddad", + "tillagd", + "Flytta stödlinjen", + "Radera stödlinjen", + "Lägg till stödlinjen", + "Läser in", + "Läs in VAR0" + ], + [ + "Filtergalleri", + [ + [ + "Kondensera", + [ + "Fläckar", + "Rekonstruera", + "Jämna till", + "Virvel", + "Krymp", + "Blås", + "Tryck åt vänster", + "Frys", + "Tina" + ] + ], + [ + "Objektivkorrigering" + ] + ], + "Oskärpefilter", + [ + "Jämka", + "Oskärpa", + "Mer oskärpa", + "Rutoskärpa", + "Gaussisk oskärpa", + "Linsoskärpa", + "Rörelseoskärpa", + "Radiell oskärpa", + "Formoskärpa", + "Smart oskärpa", + "Ytoskärpa" + ], + "Förvrängningsfilter", + [ + "Förskjutning", + "Knipning", + "Polära koordinater", + "Krusning", + "Skeva", + "Sfär", + "Våg" + ], + "Brusfilter", + [ + "Lägg till brus", + "Ytutjämning", + "Damm och repor", + "Median" + ], + "Pixelförvandlingsfilter", + [ + "Färgraster", + "Kristallisera", + "Fasett", + "Fragment", + "Mezzotint", + "Mosaik", + "Skapa fläckar" + ], + "Återgivningsfilter", + [ + "Moln", + "Differensmoln", + "Linsöverstrålning" + ], + "Skärpefilter", + [ + "Skärpa", + "Kantskärpa", + "Mera skärpa", + "Smart skärpa", + "Oskarp mask" + ], + "Stiliseringsfilter", + [ + "Diffusera", + "Relief", + "Djup", + "Hitta konturer", + "Oljemålning" + ], + "Andra filter", + [ + "Egen", + "Högpass", + "Maximum", + "Minimum", + "Förflyttning", + "Upprepa" + ], + [ + "Odefinierat område", + "Sätt till transparent", + "Upprepa bildpunkter", + "Vira runt", + "Sista filtret", + "Förhandsvisa" + ] + ], + [ + "Mallar", + [ + "Typsnitt filter", + "Nyckelorden", + "Slumpmässig" + ], + [ + "Med symboler", + "Med foto" + ], + [ + "Miniatyrbilder", + "Lista" + ] + ] + ], + [ + [ + "Fil", + "Rediger", + "Billede", + "Lag", + "Mappe", + "Marker", + "Filter", + "Vis", + "Vindue", + "Sprog", + "Log ind", + "Log ud", + "Lav oversættelse", + [ + "Konto", + "Brugervilkår", + "Tilbage", + "Om", + "Anmeld en fejl", + "Lær" + ], + "Mere", + "Tema", + "Brug WebGL", + [ + "Photopea: avanceret billedredigeringsprogram", + "Gratis online editor, der understøtter PSD, XCF, Sketch, XD og CDR formater.", + "Opret et nyt billede eller åben eksisterende filer fra din computer. Gem dit arbejde som PSD (Fil - Gem som PSD) eller som JPG / PNG / SVG (Fil - Eksporter som).", + "Foreslå nye funktioner på vores eller . Vores mål er at skabe .", + "Sponsorlinks åbnes i et nyt vindue.", + "Denne funktion er ikke tilgængelig.", + "Installer Photopea" + ] + ], + [ + "Åbn", + "Udgiv online", + "Gem", + "Gem som PSD", + "Udskriv", + "Åben fra URL", + "Åben fra computer", + "Forbind med Google Drive", + "Eksporter som", + "Eksporter lag", + "Script", + "Åben og placer", + "Luk", + "Lokalt lager", + null + ], + [ + "Fremad", + "Tilbage", + "Fjern", + "Fyld ud", + "Transformer", + "Roter", + "Vend VAR0", + "Skaler VAR0", + "Fortryd / Gentag", + "Perspektiv", + [ + "Sammenlæg automatisk", + "Juster automatisk" + ], + "Udton", + "Overfør billede" + ], + "Justeringer", + [ + "Lysstyrke/kontrast", + "Niveauer", + "Kurver", + "Udsættelse", + "Dynamik", + "Farvetone/mætning", + "Farvebalance", + "Sort-hvid", + "Fotofilter", + "Kanaler", + "Farveopslag", + "Invertér", + "Farvereduktion", + "Grænse", + "Farveforløbskort", + "Vælg farve", + [ + "Autotone", + "Autokontrast", + "Autofarve" + ], + "Erstat farve" + ], + [ + "Klip", + "Kopier", + "Indsæt", + "Ny", + "Slet", + "Aktiver", + "Deaktiver", + "Kopier sammenflettede", + "Tilføj", + "Gentag", + "Opdater" + ], + [ + "Dupliker lag", + "Nyt justeringslag", + "Rastermaske", + "Vektormaske", + "Tilføj (vis alle)", + [ + "Tilføj (skjul alle)", + "Vis markering", + "Skjul markering", + "Fra gennemsigtighed" + ], + [ + "Klippemaske", + "Ekspresafmaskning" + ], + "Konverter til Smart Objekt", + "Rasteriser", + "Gruppér lag", + "Flet ned", + "Flet op", + [ + "Flet lag", + "Samkopier billede" + ], + "Nyt lag", + "Aktiver rastermaske", + "Deaktiver raster maske", + "Aktiver vektor maske", + "Deaktiver vektor maske", + "Aktiver klippemaske", + "Deaktiver klippemaske", + "Ny mappe", + "Tilføj raster maske", + "Slet raster maske", + "Tilføj vektor maske", + "Slet vektor maske", + "Forbind raster maske", + "Ophæv raster maske", + "Forbind vektor maske", + "Ophæv vektor maske", + "Aktiver lageffekter", + "Deaktiver lageffekter", + "Slet lag", + "Lag opacitet ændring", + "Blanding ændring", + "Rasteriser Lag Stil", + "Lag rækkefølge", + [ + "Opret Smart Objekt", + "Opdatér Smart Objekt", + "Placér Smart Objekt", + "Kilde (Smart Objekt)", + "Staktilstand" + ], + "Navn ændring", + "Farve ændring", + "Rediger justeringslag", + "Konverter til formattributter", + "Aktiver filter maske", + "Deaktiver filter maske", + "Aktiver Smart filtre", + "Deaktiver Smart filtre", + "Tilføj filter maske", + "Slet filter maske", + "Ryd Smart filtre", + [ + [ + "Ren farve fyld", + "Farveforløbsudfyldning", + "Mønster fyld", + "Afhænger af indholdet" + ], + "Nyt udfyldningslag", + "Ændr udfyldningslag" + ], + "Lag via kopi", + "Filter maske", + "Slet Lag Stil", + "Flyt Smart filtre", + "Slet Smart filtre", + [ + "Link Lag", + "Fjern kæde til lag" + ], + "Arrangér", + [ + "Placer forrest", + "Bring frem", + "Flyt bagud", + "Placer bagest" + ], + [ + "Lag er låst", + "Lås ændring", + "Lås" + ], + "Animation" + ], + [ + "Alt", + "Fravælg", + "Inverter", + "Modificer", + "Udvid", + "Træk sammen", + "Udtynding", + "Flyt markering", + "Farvespænd", + "Kant", + "Transformer markering", + "Juster kant", + "Forbedre markering", + null + ], + [ + "Zoom ind", + "Zoom ud", + "Hjælpelinjer", + "Linealer", + "Gitter", + "Fastgør", + "Fastgør til", + "Dokument grænser", + "Pixelgitter", + "Kurver", + "Fastgør til pixels", + [ + "Udsnits", + "Udsnitsindstillinger" + ], + "Vis" + ], + [ + "Oversigt", + "Lag", + "Egenskaber", + "Brush", + "Karakter", + "Afsnit", + "Info", + "Lagsammensætninger", + "Farveprøver", + "Handlinger", + "Histogram", + "Navigator", + "Forudindstillinger til værktøj", + "Glyffer" + ], + [ + "Brush værktøj", + "Kloneværktøj", + "Beskæringsværktøj", + "Sletteværktøj", + "Marker eliptisk", + "Øjendråbe", + "Farveforløbsværktøjet", + "Hånd Værktøj", + "Tekstværktøj", + "Lasso-markering", + "Magnetisk lassomarkering", + "Flytteværktøj", + "Tryllestav", + "Malerspand værktøj", + "Polygonal lassomarkering", + "Firkantet markering", + "Fri transformering", + "Zoom Værktøj", + "Sløringsværktøj", + "Skærpenværktøj", + "Udtværingsværktøjet", + "Svampeværktøj", + "Brænde Værktøj", + "Fjern farvemætning", + "Spot healing brushværktøj", + "Healing brushværktøj", + "Lappe Værktøj", + "Kurvemarkøring", + "Vælg direkte", + "Pen", + "Fri pen", + "Tilpas form", + "Rektangel", + "Ellipo", + "Parametrisk form", + "Linie", + "Lineal", + "Hurtigmarkering", + "Blyantværktøj", + "Perspektivbeskæring", + "Udsnitsværktøjet", + "Udsnitsmarkeringsværktøjet", + "Farveerstatnings-værktøjet", + "Værktøjet til røde øjne", + "Objektmarkering", + "Baggrundsviskelæder", + "Fordrej som marionetdukke", + "Roter visning", + "Skalering, der afhænger af indholdet", + "Indholdsafhængig flytning" + ], + [ + "Tag et foto", + "Farvevælger", + "Kontur redigering", + "Lærredsstørrelse", + "Duplikér ind i...", + "Farveforløbseditor", + "Lagtype", + "Nyt Projekt", + "Gem til web", + "Fordrej", + "Billede størrelse", + "Vektorisér bitmap", + [ + "Studs", + "Beskær", + "Vis alle" + ], + "Genvejstaster", + "Tilføj hjælpelinjer", + [ + "Slet hjælpelinjer", + "Hjælpelinjer fra lag" + ] + ], + [ + "Opacitet", + "Effekter", + "Lysstyke", + [ + "Kontrast", + "Brug ældre" + ], + "Kanal", + "Eksponering", + "Forskydning", + "Gammakorrigering", + "Farvetone", + "Farvemætning", + "Lysstyrke", + "Farvelæg", + "Rækkevidde", + "Klarhed", + [ + "Størrelse", + "Interpolation", + "Nærmeste nabo", + "Bi-lineær" + ], + "Vinkel", + "Runding", + "Hårdhed", + "Plads", + [ + "Blandingstilstand", + "Bland hvis" + ], + "Sample størrelse", + "Kontur", + "Stil", + [ + "Gå tilbage", + "Relativ", + "Anker" + ], + "Tolerance", + "Sammenhængende", + "Fyld", + "Brug global vinkel", + "Afstand", + "Spredning", + "Støj", + "Fjern slagskygge", + "Teknik", + "Retning", + "Dybde", + "Blødgør", + "Tilstand", + "Farveforløb", + "Skaler", + "Juster med lag", + "Placering", + "Bredde", + "Højde", + "Destination", + "Type", + "Forgrund", + "Baggrund", + "Tilpasset", + "Navn", + "Opret", + "Format", + "Bevar proportioner", + [ + "Kvalitet", + "Sider" + ], + "Duplikér", + "Flyt", + "Smart filtre", + "Radius", + "Beløb", + "Distribution", + [ + "Uniform", + "Gaussian" + ], + "Monokromatisk", + "Cellestørrelse", + "Mønster", + "Flow", + "Styrke", + "Beskyt detaljer", + "Fyldtype", + "Tekstur", + "Variation", + "Kant", + "Kilde", + "Modtager", + "Kanaler", + "Maske", + "Massefylde", + "Justeret", + [ + "Kurve", + "Form", + "Pixels", + "Tommer", + "Centimeter", + "Millimeter", + "Procent" + ], + "Former", + "Sider", + "Indstillinger", + [ + "Længde", + "Ratio", + "Nogen", + "Gittertype", + "Isometrisk", + "Gitterlinje for hver", + "Måleenheder" + ], + "Reducér støj", + "Farver", + "Afstande", + "Hastighed", + "Vælg automatisk", + "Søg", + "Definér ny", + [ + "Foto", + "Skærm", + "Mobil", + "Reklamer", + "Aftryk" + ], + [ + "Fri", + "Låst forhold", + "Låst størrelse" + ], + "Hjælp", + [ + "Live Form", + "Rediger Live Form", + "Samme radius" + ], + "Sløring", + [ + "Polygon", + "Stjerne", + "Spirale", + "Kvadratisk" + ], + [ + "Hjørneradius", + "Indre radius" + ] + ], + [ + "Farve", + [ + "Ingen", + "Rød", + "Orange", + "Gul", + "Grøn", + "Blå", + "Lilla", + "Grå", + "Hvid", + "Gennemsigtigt", + "Sort", + "Cyan", + "Magenta", + "Neutral" + ], + "Total", + "Absolut", + "Bevar luminans" + ], + [ + "Slagskygge", + "Indvendig skygge", + "Udvendig glød", + "Indvendig glød", + "Facet og prægning", + "Farvemaske", + "Farveforløbsmaske", + "Mønstermaske", + "Satin", + "Strøg", + "Blandingsmuligheder", + "Vælg pixel" + ], + [ + "Spidsform", + "Spidsdynamik", + "Spredning", + "Farvedynamik", + [ + "Størrelsesvariation", + "Minimal Diameter", + "Vinkelvariation", + "Rundhedsvariation", + "Minimal Rundhed" + ], + [ + "Placering Variation", + "Tæl", + "Tæl Variation" + ], + [ + "Forgrunds/baggrundsvariation", + "Farvetonevariation", + "Farvemætningsvariation", + "Lysstyrkevariation" + ], + [ + "Vælg kilde til kloning ved at holde Alt (eller K) og klikke på billedet.", + "Marker forgrunden med hvid, baggrund med sort, og det ukendte område med grå.", + "Laget kan ikke redigeres.", + "Tekstlag skal først rasteriseres", + "Smart Objekt skal rasteriseres først", + "Vælg flere lag", + "Rett lag", + "Åbn et dokument først.", + "Luk det nuværende vindue først.", + "Kun aktuelt værktøj" + ], + [ + "Indspille", + "Ny handling set", + "Ny handling" + ], + [ + "Stylus tryk styrer opacitet", + "Stylus tryk styrer størrelsen" + ], + [ + "Normal", + "Opløs", + "Mørkere", + "Multiplicer", + "Farvebrænding", + "Lineær brænding", + "Mørkere farve", + "Lysere", + "Skærm", + "Farveudtværing", + "Forøg lysstyrkeforskel", + "Lysere farve", + "Maske", + "Blødt lys", + "Hårdt lys", + "Livligt lys", + "Lineært lys", + "Punktlys", + "Hård", + "Forskel", + "Eksklusion", + "Træk fra", + "Opdel", + "Farvetone", + "Farvemætning", + "Farve", + "Luminans", + "Videregivelse" + ] + ], + [ + "Linjeafstand", + "Sporing", + "Grundlinjeforskydning", + [ + "Konverter til punkttekst", + "Konverter til afsnitstekst" + ] + ], + [ + "Alle lag", + "Nuværende lag", + "Markering", + "Nuværende og under" + ], + [ + "Udskift", + "Forene", + "Træk fra", + "Overlap", + "XOR", + "Flet" + ], + [ + [ + "Lineært", + "Radialt", + "Vinklet", + "Reflekteret", + "Diamant", + "Shape Burst" + ], + [ + "Blødere", + "Præcis" + ], + [ + "Udvendig facet", + "Indvendig facet", + "Prægning", + "Pudeprægning", + "Strøgprægning", + "Stregbredden" + ], + [ + "Udglat", + "Hård mejsel", + "Blød mejsel", + "Udjævning" + ], + [ + "Op", + "Ned" + ], + [ + "Udvendig", + "Midten", + "Indvendig", + "Fra centrum" + ], + [ + "Skygge", + "Mellemtoner", + "Højlys" + ], + [ + "Dæmp farvemætning", + "Mætning" + ], + [ + "Lille", + "Medium", + "Stor" + ], + [ + "Afslutninger", + "Hjørner", + "Streger" + ] + ], + [ + "Vælg objektet under pilen", + "Transformeringshåndtagene", + "Pixel til pixel", + "Tilpas til skærm", + [ + "Juster venstrekanter", + "Vandrette midtpunkter", + "Juster højrekanter", + "Juster øverste kanter", + "Lodrette midtpunkter", + "Juster nederste kanter", + "Selv afstande" + ] + ], + [ + "Placer i", + "Nuværende projekt", + "Nyt projekt", + "Opløsning", + "Tilføjet i det nuværende projekt.", + "Nyt projekt oprettet", + "Kamera adgang afvist" + ], + [ + "Retning", + "Bøj", + "Vandret forvrængning", + "Lodret forvrængning", + [ + "Vandret", + "Lodret", + "horisontalt", + "vertikalt" + ], + [ + "Ingen", + "Bue", + "Bue nede", + "Bue oppe", + "Hvælving", + "Bule", + "Shell form ned", + "Shell form opad", + "Flag", + "Bølge", + "Fisk", + "At stige", + "Fiskeøje", + "Pump op", + "Pres", + "Twist", + "Tilpasset" + ], + [ + "Skrifttype", + "er ikke tilgængelig", + "Vil gengives ved hjælp af", + "Der er ufarvet arbejde i", + "Vil du virkelig lukke den?" + ], + [ + "Byt farver", + "Standard: Hvid og sort" + ] + ], + [ + "indlæst", + "tilføjet", + "Flyt hjælpelinje", + "Slet hjælpelinje", + "Tilføj hjælpelinje", + "Indlæser", + "Indlæs VAR0" + ], + [ + "Filtergalleri", + [ + [ + "Blødgør", + [ + "Udtvære", + "Genopbyg", + "Udglatter", + "Hvirvle", + "Shrink", + "Opblæs", + "Skub til venstre", + "Fastlåse", + "Lås op" + ] + ], + [ + "Linsekorrektion" + ] + ], + "Sløringsfiltre", + [ + "Gennemsnit", + "Sløring", + "Mere sløring", + "Bokssløring", + "Gaussisk sløring", + "Linsesløring", + "Bevægelsessløring", + "Radial sløring", + "Formsløring", + "Smart sløring", + "Overfladesløring" + ], + "Forvræng", + [ + "Kantede strøg", + "Knibning", + "Polære koordinater", + "Krusning", + "Vridning", + "Sfærisk effekt", + "Bølge" + ], + "Støjfiltre", + [ + "Tilføj Støj", + "Fjern støj", + "Støv og ridser", + "Median" + ], + "Pixelér", + [ + "Farvehalvtone", + "Krystallisering", + "Facet", + "Fragment", + "Mezzotint", + "Mosaik", + "Pointillistisk arbejdsmåde" + ], + "Gengivelsesfiltre", + [ + "Skyer", + "Skyblandinger", + "Linsebrydning" + ], + "Skarpere", + [ + "Gør skarpere", + "Gør kanter skarpere", + "Endnu skarpere", + "Smart skarphed", + "Uskarp maskning" + ], + "Effektfiltre", + [ + "Spredning", + "Prægning", + "Ekstrudering", + "Find kanter", + "Oliemaleri" + ], + "Andre filtre", + [ + "Brugerdefineret", + "Højpas", + "Maksimum", + "Minimum", + "Forskydning", + "Gentag" + ], + [ + "Udefineret område", + "Sat til gennemsigtig", + "Gentag kantpixel", + "Bøj rundt", + "Sidste Filter", + "Forhåndsvis" + ] + ], + [ + "Skabeloner", + [ + "Skrifttype filter", + "Nøgleord", + "Tilfældig" + ], + [ + "Med symboler", + "Med foto" + ], + [ + "Miniaturebillede", + "Liste" + ] + ] + ], + [ + [ + "Tiedosto", + "Muokkaa", + "Kuva", + "Taso", + "Kansio", + "Valitse", + "Suodatin", + "Näkymä", + "Ikkuna", + "Kieli", + "Kirjaudu sisään", + "Kirjaudu ulos", + "Luo käännös", + [ + "Tili", + "Palveluehdot", + "Takaisin", + "Tietoja", + "Ilmoita virheestä", + "Oppia" + ], + "Enemmän", + "Teema", + "Käytä WebGL", + [ + "Photopea: Edistynyt kuvankäsittelyohjelma", + "Ilmainen online-editori, joka tukee PSD-, XCF-, Sketch-, XD- ja CDR-muotoja.", + "Luo uusi kuva tai avaa tietokoneesta olemassa olevat tiedostot. Tallenna työsi PSD-muodossa (Tiedosto - Tallenna nimellä PSD) tai JPG / PNG / SVG (Tiedosto - Vie muodossa).", + "Ehdota uusia ominaisuuksia tai . Tavoitteenamme on luoda .", + "Sponsori linkit avautuvat uuteen ikkunaan.", + "Tätä toimintoa ei ole.", + "Asenna Photopea" + ] + ], + [ + "Avaa", + "Julkaise verkossa", + "Tallenna", + "Tallenna nimellä PSD", + "Tulosta", + "Avaa osoitteesta", + "Avaa tietokoneelta", + "Yhdistä Google Drive", + "Vie muodossa", + "Vie tasot", + "Skriptit", + "Avaa ja sijoita", + "Sulje", + "Paikallinen tallennustila", + null + ], + [ + "Askel eteenpäin", + "Askel taaksepäin", + "Pyyhi", + "Täytä", + "Muunna", + "Pyöritä", + "Peilikuvaksi VAR0", + "Skaalaa VAR0", + "Kumoa / Tee uudelleen", + "Perspektiivi", + [ + "Sekoita automaattisesti", + "Tasaa automaattisesti" + ], + "Häivytä", + "Käytä kuvaa" + ], + "Säädöt", + [ + "Kirkkaus/kontrasti", + "Tasojen säätö", + "Käyrien säätö", + "Valotus", + "Sävyeloisuus", + "Sävy/kylläisyys", + "Väritasapaino", + "Mustavalkoinen", + "Valokuvasuodatin", + "Kanavamikseri", + "Värihaku", + "Negatiivi", + "Porrasta", + "Kynnys", + "Liukuvärikartta", + "Valikoiva väri", + [ + "Automaattinen sävy", + "Automaattinen kontrasti", + "Automaattinen väri" + ], + "Korvaa väri" + ], + [ + "Leikkaa", + "Kopioi", + "Liitä", + "Uusi", + "Poista", + "Ota käyttöön", + "Poista käytöstä", + "Kopioi yhdistynyt", + "Käytä", + "Jälleen", + "Päivitä" + ], + [ + "Monista taso", + "Uusi säätötaso", + "Rasterimaski", + "Vektorimaski", + "Lisää (näytä kaikki)", + [ + "Lisää (kätke kaikki)", + "Näytä valinta", + "Piilota valinta", + "Läpinäkyvästä" + ], + [ + "Leikkuumaski", + "Pikamaskaustila" + ], + "Muunna älykkääksi objektiksi", + "Rasteroi", + "Ryhmitä tasot", + "Yhdistä alas", + "Yhdistä ylös", + [ + "Yhdistä tasot", + "Litistä kaikki tasot" + ], + "Uusi taso", + "Ota käyttöön rasterimaski", + "Poista rasterimaski käytöstä", + "Ota käyttöön vektorimaski", + "Poista vektorimaski käytöstä", + "Ota käyttöön leikkuumaski", + "Poista leikkuumaski käytöstä", + "Uusi kansio", + "Lisää rasterimaski", + "Poista rasterimaski", + "Lisää vektorimaski", + "Poista vektorimaski", + "Linkkaa rasterimaski", + "Poista rasterimaskin linkitys", + "Linkkaa vektorimaski", + "Poista vektorimaskin linkitys", + "Ota käyttöön tason tehosteet", + "Poista tason tehosteet käytöstä", + "Poista taso", + "Tason peittävyyden muutos", + "Sekoituksen muutos", + "Rasteroi tason tyyli", + "Tasojen järjestys", + [ + "Uuden älykkään objektin luominen", + "Älykkään objektin päivitys", + "Älykkään objektin sijoitus", + "Lähde (Älykäs objekti)", + "Pinoamistila" + ], + "Nimen muutos", + "Värin muutos", + "Muokkaa säätötasoa", + "Muunna muodoksi", + "Ota käyttöön suodinmaski", + "Poista suodinmaski käytöstä", + "Ota käyttöön älykkäät suotimet", + "Poista älykkäät suotimet käytöstä", + "Lisää suodinmaski", + "Poista suodinmaski", + "Pyyhi älykkäät suotimet", + [ + [ + "Täyttö tasavärillä", + "Täyttö liukuvärillä", + "Täyttö kuviolla", + "Sisältötietoinen" + ], + "Uusi täyttötaso", + "Muokkaa täyttötaso" + ], + "Kopioi tasoksi", + "Suodinmaski", + "Poista tasotyyli", + "Siirrä älykäs suodin", + "Poista älykäs suodin", + [ + "Linkitä tasot", + "Poista tasojen linkitys" + ], + "Järjestä", + [ + "Tuo päälle", + "Siirrä päällemmäksi", + "Siirrä alemmaksi", + "Vie alle" + ], + [ + "Taso on lukittu.", + "Lukitse muutos", + "Lukitse" + ], + null + ], + [ + "Kaikki", + "Kumoa valinta", + "Käänteinen valinta", + "Muuta", + "Laajenna", + "Supista", + "Häivytys", + "Siirrä valintaa", + "Värialue", + "Reunus", + "Muunna valinta", + "Hienosäädä reuna", + "Korjaa valinta", + null + ], + [ + "Zoomaa sisään", + "Zoomaa ulos", + "Apulinjat", + "Viivaimet", + "Ruudukko", + "Kohdista", + "Kohdista kohteeseen", + "Dokumentin rajat", + "Pikseli ruudukko", + "Reitit", + "Kohdista pikseleihin", + [ + "Osia", + "Osan asetukset" + ], + "Näytä" + ], + [ + "Historia", + "Tasot", + "Ominaisuudet", + "Sivellin", + "Kirjain", + "Kappale", + "Tietoja", + "Tasovedokset", + "Värimallit", + "Makrot", + "Histogrammi", + "Navigaattori", + "Työkalujen esimääritykset", + "Kuviot" + ], + [ + "Sivellinyökalulla", + "Kloonisivellin", + "Rajaustyökalu", + "Kumi", + "Ellipsivalinta", + "Pipetti", + "Liukuvärityökalu", + "Käsi", + "Tekstityökalu", + "Lassovalinta", + "Magneettinen lassovalinta", + "Siirtotyökalu", + "Taikasauva", + "Maalipurkki", + "Monikulmiolassovalinta", + "Suorakulmiovalinta", + "Vapaa muunto", + "Zoomaus", + "Häivytä", + "Terävöitä", + "Hankaus", + "Varjostustyökalu", + "Lisävalotustyökalu", + "Pesusieni", + "Spottikorjaussivellin", + "Korjaussivellin", + "Paikkaa valinnalla", + "Reitin valinta", + "Suoravalinta", + "Vektoripiirrin", + "Vektorikynä", + "Vapaa muoto", + "Suorakulmio", + "Ellipsi", + "Parametrinen muoto", + "Viiva", + "Viivain", + "Pikavalintatyökalu", + "Kynätyökalulla", + "Perspektiivirajaustyökalu", + "Ositustyökalulla", + "Osanvalintatyökalulla", + "Värin korvaustyökalulla", + "Punasilmäisyystyökalu", + "Objektin valintatyökalu", + "Taustan pyyhintä", + "Nukketeatterin käyristysmuunnos", + "Kierrä näkymää", + "Sisältötietoinen skaalaus", + "Sisältötietoinen siirto" + ], + [ + "Ota kuva", + "Värivalitsin", + "Korkeusrajan editori", + "Piirtoalue", + "Monista kohteeseen ...", + "Liukuvärieditori", + "Tason tyyli", + "Uusi projekti", + "Tallenna verkkoon", + "Käyristä", + "Kuvan koko", + "Vektoroi bittikartta", + [ + "Poista reunat", + "Rajaus", + "Näytä kaikki" + ], + "Näppäinkomennot", + "Lisää apulinjat", + [ + "Pyyhi apulinjat", + "Apulinjat tasolta" + ] + ], + [ + "Peittävyys", + "Tehosteet", + "Kirkkaus", + [ + "Kontrasti", + "Käytä vanhaa" + ], + "Kanava", + "Valotus", + "Siirtymä", + "Gamman korjaus", + "Sävy", + "Kylläisyys", + "Valoisuus", + "Väritä", + "Aluerajaus", + "Eloisuus", + [ + "Koko", + "Interpolaatioon", + "Lähimmän naapurin", + "Bilineaarinen" + ], + "Kulma", + "Pyöreys", + "Kovuus", + "Välistys", + [ + "Sekoitustapa", + "Sekoita jos" + ], + "Näytteen koko", + "Korkeusraja", + "Tyyli", + [ + "Käänteinen", + "Suhteellinen", + "Tukipiste" + ], + "Toleranssi", + "Vierekkäiset", + "Täyttö", + "Käytä globaalia kulmaa", + "Etäisyys", + "Levitys", + "Kohina", + "Heittovarjon sisäpuolen aukko", + "Tekniikka", + "Suunta", + "Syvyys", + "Pehmennä", + "Moodi", + "Liukuväri", + "Skaalaus", + "Tasaa tason kanssa", + "Sijainti", + "Leveys", + "Korkeus", + "Määränpää", + "Tyyppi", + "Edustan", + "Taustan", + "Mukautettu", + "Nimi", + "Luo", + "Tiedostomuoto", + "Säilytä kuvasuhde", + [ + "Laatu", + "Sivut" + ], + "Monista", + "Siirrä", + "Älykkäät suotimet", + "Säde", + "Voimakkuus", + "Jakauma", + [ + "Tasainen", + "Gaussin" + ], + "Yksisävyinen", + "Solun koko", + "Kuvio", + "Virtaama", + "Voimakkuus", + "Säilytä yksityiskohdat", + "Täytön tyyppi", + "Tekstuuri", + "Hajoama", + "Reuna", + "Lähde", + "Kohde", + "Kanavat", + "Maski", + "Tiheys", + "Kohdistettu", + [ + "Reitin", + "Muoto", + "Pikseliä", + "Tuumaa", + "Senttimetriä", + "Millimetriä", + "Prosentti" + ], + "Muodot", + "Sivut", + "Asetukset", + [ + "Pituus", + "Suhde", + "Kaikki", + "Ruudukon tyyppi", + "Isometrinen", + "Ruudukon tiheys", + "Viivaimen yksiköt" + ], + "Lievitä rakeisuutta", + "Värit", + "Etäisyydet", + "Teho", + "Automaattinen valinta", + "Etsi", + "Määritä uusi", + [ + "Valokuva", + "Näyttö", + "Mobiililaite", + "Mainokset", + "Tuloste" + ], + [ + "Vapaa", + "Vakiosuhde", + "Kiinteä koko" + ], + "Ohje", + [ + "Live Shape", + "Muokkaa Live Shape", + "Yhtenevät säteet" + ], + "Sallittu poikkeama", + [ + "Monikulmio", + "Tähti", + "Spiraali", + "Neliö" + ], + [ + "Kulman säde", + "Sisäinen säde" + ] + ], + [ + "Väri", + [ + "Väritön", + "Punainen", + "Oranssi", + "Keltainen", + "Vihreä", + "Sininen", + "Violetti", + "Harmaa", + "Valkoinen", + "Läpinäkyvä", + "Musta", + "Syaani", + "Magenta", + "Neutraali" + ], + "Totaalinen", + "Absoluuttinen", + "Säilytä värin kirkkaus" + ], + [ + "Heittovarjo", + "Sisävarjo", + "Ulkoinen hohto", + "Sisäinen hohto", + "Viiste ja korkokuva", + "Väripäällyste", + "Liukuväripäällyste", + "Kuviopäällyste", + "Satiini", + "Viiva", + "Sekoitusvaihtoehdot", + "Valitse pikselien" + ], + [ + "Kärjen muoto", + "Kärjen dynaamiset ominaisuudet", + "Hajonta", + "Värien dynamiikka", + [ + "Koko Värinä", + "Minimihalkaisija", + "Kulma Värinä", + "Pyöreys Värinä", + "Minimipyöreys" + ], + [ + "Sijainti Värinä", + "Lukumäärä", + "Lukumäärä Värinä" + ], + [ + "Edustan/Taustan Värinä", + "Sävyn Värinä", + "Kylläisyyden Värinä", + "Kirkkauden Värinä" + ], + [ + "Valitse kloonauksen lähde pitämällä Alt-näppäintä pohjassa ja klikkaamalla kuvaa.", + "Merkitse edusta valkoinen, tausta mustalla ja tuntematon alue harmaalla.", + "Taso ei ole muokattavissa.", + "Tekstin taso on ensin rasteroitava", + "Älykäs objekti on ensin rasteroitava", + "Valitse useita tasoja", + "Suorista taso", + "Avaa dokumentti ensin.", + "Sulje nykyinen ikkuna ensin.", + "Vain nykyinen työkalu" + ], + [ + "Tallenna", + "Uusi Makrojoukko", + "Uusi Makro" + ], + [ + "Kynän paine määrittää peittävyyden", + "Kynän paine määrittää koon" + ], + [ + "Normaali", + "Roiskiva", + "Tummentava", + "Kertova", + "Värilisävalotus", + "Lineaarinen lisävalotus", + "Tummempi väri", + "Vaalentava", + "Rasteri", + "Värivarjostus", + "Lineaarinen varjostus", + "Vaaleampi väri", + "Sulauttava", + "Pehmeä valo", + "Kova valo", + "Kirkas vaalea", + "Lineaarinen valo", + "Kohdevalo", + "Kova sekoitus", + "Erottava", + "Poistava", + "Vähennä", + "Pilko osiin", + "Sävy", + "Kylläisyys", + "Väri", + "Värin kirkkaus", + "Läpiohjaus" + ] + ], + [ + "Rivivälistys", + "Merkkiväli", + "Peruslinjan siirto", + [ + "Muunna pistetekstiksi", + "Muunna kappaletekstiksi" + ] + ], + [ + "Kaikki tasot", + "Nykyinen taso", + "Valinta", + "Nykyinen ja alapuoliset" + ], + [ + "Korvaa", + "Liitto", + "Eroavaisuus", + "Leikkaus", + "XOR", + "Yhdistä" + ], + [ + [ + "Lineaarinen", + "Radiaalinen", + "Kulma", + "Peilattu", + "Timantti", + "Shape Burst" + ], + [ + "Pehmeämpi", + "Tarkempi" + ], + [ + "Ulompi viiste", + "Sisäinen viiste", + "Korkokuva", + "Tyynykorkokuva", + "Reunakorkokuva", + "Viiva leveys" + ], + [ + "Pehmennä", + "Kova taltta", + "Pehmeä taltta", + "Tasaisuus" + ], + [ + "Ylös", + "Alas" + ], + [ + "Ulkopuolelle", + "Keskelle", + "Sisäpuolelle", + "Keskeltä" + ], + [ + "Varjostukset", + "Keskisävyt", + "Korostukset" + ], + [ + "Haalista", + "Kyllästä" + ], + [ + "Pieni", + "Keskikokoinen", + "Suuri" + ], + [ + "Päät", + "Kulmat", + "Viivoja" + ] + ], + [ + "Valitse objekti osoittimen alla", + "Muuntovalinnat", + "Pikseli pikseliin", + "Sovita alueelle", + [ + "Vasemmat reunat", + "Keskusta vaakasuunnassa", + "Vasemmat reunat", + "Yläreunat", + "Keskitä pystysuunnassa", + "Alareunat", + "Yhtä etäisyydet" + ] + ], + [ + "Laittaa sisään", + "Nykyinen projekti", + "Uusi projekti", + "Resoluutio", + "Lisätty nykyiseen projektiin.", + "Uusi projekti luotiin.", + "Käyttöoikeus kameraan estettiin." + ], + [ + "Suuntaus", + "Väännä", + "Vaakavääristys", + "Pystyvääristys", + [ + "Vaaka", + "Pysty", + "vaakasuunnassa", + "pystysuunnassa" + ], + [ + "Ei", + "Kaari", + "Alempi kaari", + "Ylempi kaari", + "Holvikaari", + "Pullistus", + "Alempi kuori", + "Ylempi kuori", + "Lippu", + "Aalto", + "Kala", + "Nosto", + "Kalansilmä", + "Paisutus", + "Puristus", + "Kierre", + "Mukautettu" + ], + [ + "Kirjasin", + "ei ole saatavilla", + "Piirretään käyttäen", + "Tämän työtä ei ole tallennettu:", + "Haluatko todella sulkea sen?" + ], + [ + "Vaihda värit", + "Oletusasetus: valkoinen ja musta" + ] + ], + [ + "ladattu", + "lisätty", + "Siirrä apulinjan", + "Poista apuviiva", + "Lisää apulinja", + "Ladataan", + "Lataa VAR0" + ], + [ + "Suodatingalleria", + [ + [ + "Sulata-suotimen", + [ + "Levittä", + "Uudelleenmuodosta", + "Tasoitaa", + "Pyöräytä", + "Kutista", + "Puhalla", + "Vasemmalle työntävä", + "Jäädytä", + "Vapauta" + ] + ], + [ + "Linssikorjaus" + ] + ], + "Sumenna", + [ + "Keskiarvo", + "Sumenna", + "Sumenna lisää", + "Ruutusumennus", + "Gauss-sumennus", + "Linssisumennus", + "Liike-epäterävyys", + "Säteittäinen sumennus", + "Muotosumennus", + "Älykäs sumennus", + "Pintasumennus" + ], + "Vääristä", + [ + "Poikkeuta", + "Paina kuopalle", + "Napakoordinaatit", + "Väreily", + "Taivuta", + "Pullista", + "Aalto" + ], + "Kohina", + [ + "Lisää kohinaa", + "Poista pilkut", + "Pöly ja naarmut", + "Mediaani" + ], + "Pikselöinti", + [ + "Värirasterointi", + "Kiteytä", + "Fasetti", + "Fragmentoi", + "Mezzotinto", + "Mosaiikki", + "Pistemaalaus" + ], + "Muodosta", + [ + "Pilvet", + "Erottavat pilvet", + "Linssiheijastus" + ], + "Terävöitys", + [ + "Terävöitä", + "Terävöitä reunoja", + "Terävöitä lisää", + "Älykäs terävöinti", + "Epäterävä maski" + ], + "Tyylittele", + [ + "Hajota", + "Korkokuva", + "Työnnä ulos", + "Etsi reunat", + "Öljy Maali" + ], + "Muut suotimet", + [ + "Mukautettu", + "Ylipäästö", + "Maksimi", + "Minimi", + "Siirtymä", + "Toista" + ], + [ + "Määrittämätön alue", + "Aseta läpinäkyväksi", + "Toista reunan pikselit", + "Toisesta reunasta", + "Viimeinen suodatin", + "Esikatselu" + ] + ], + [ + "Mallit", + [ + "Kirjasin suodatin", + "Avainsanat", + "Satunnaista" + ], + [ + "Symboleilla", + "Valokuvalla" + ], + [ + "Miniatyyri", + "Luettelo" + ] + ] + ], + [ + [ + "Datoteka", + "Uredi", + "Slika", + "Plast", + "Mapa", + "Izberi", + "Filter", + "Ogled", + "Okno", + "Jezik", + "Vpis", + "Odjava", + "Ustvari prevod", + [ + "Račun", + "Pogoji storitve", + "Nazaj", + "Opis", + "Prijavi napako", + "Nauči se" + ], + "Več", + "Tema", + "Uporabi WebGL", + [ + "Photopea: napredni urejevalnik slik", + "Brezplačen spletni urejevalnik, ki podpira formate PSD, XCF, Sketch, XD in CDR.", + "Ustvarite novo sliko ali odprite obstoječe datoteke iz računalnika. Shranite svoje delo kot PSD (Datoteka - Shrani kot PSD) ali kot JPG / PNG / SVG (Datoteka - Izvozi kot).", + "Predlagajte nove funkcije v našem ali . Naš cilj je ustvariti .", + "Sponzorske povezave so odprte v novem oknu.", + null, + null + ] + ], + [ + "Odpri", + "Objavi", + "Shrani", + "Shrani kot PSD", + "Natisni", + "Odpri iz URL", + "Odpri iz računalnika", + "Poveži z Google Drive", + "Izvozi kot", + "Izvozi plasti", + "Skripta", + "Odpri & postavi", + "Zapri", + "Lokalni podatki", + null + ], + [ + "Korak naprej", + "Korak nazaj", + "Počisti", + "Zapolni", + "Preoblikuj", + "Zavrti", + "Obrni VAR0", + "Spremeni velikost VAR0", + "Razveljavi / Ponovi", + "Perspektiva", + [ + "Samodejno zmešaj", + null + ], + "Zbledi", + null + ], + "Prilagoditve", + [ + "Svetlost/Kontrast", + "Ravni", + "krivulje", + "Osvetljenost", + "Živahnost", + "Odtenek/Zasičenost", + "Uravnoteženost barv", + "Črno & Belo", + "Foto filter", + "Kanalski mešalnik", + "Barvni pregled", + "Invert", + "Posterizirati", + "Prag", + "Prelivanje", + "Izberi Barvo", + [ + "Samodejni odtenek", + "Samodejni kontrast", + "Samodejna barva" + ], + "Nadomesti barvo" + ], + [ + "Izreži", + "Kopiraj", + "Prilepi", + "Novo", + "Izbriši", + "Omogoči", + "Onemogoči", + "Kopiraj vse", + "Uporabi", + "Ponovno", + "Posodobi" + ], + [ + "Podvoji plast", + "Nova nastavitvena plast", + "Rasterska Maska", + "Vektorska Maska", + "Dodaj (Pokaži vse)", + [ + "Dodaj (Skrij vse)", + null, + null, + null + ], + [ + "Obrezana maska", + null + ], + "Pretvori v Pametni Objekt", + "Rasteriziraj", + "Združi plasti", + "Združi plasti ▼", + "Združi plasti ▲", + [ + "Združi izbrane plasti", + "Združi plasti" + ], + "Nova plast", + "Omogoči Rastersko Masko", + "Onemogoči Rastersko Masko", + "Omogoči Vektorsko Masko", + "Onemogoči Vektorsko Masko", + "Omogoči obrezano masko", + "Onemogoči obrezano masko", + "Nova mapa", + "Dodaj Rastersko Masko", + "Zbriši Rastersko Masko", + "Dodaj Vektorsko Masko", + "Zbriši Vektorsko Masko", + "Poveži Rastersko Masko", + "Razveži Rastersko Masko", + "Poveži Vektorsko Masko", + "Razveži Vektorsko Masko", + "Omogoči Efekte Plasti", + "Onemogoči Efekte Plasti", + "Zbriši plast", + "Sprememba prosojnosti plasti", + "Sprememba mešanja", + "Rasteriziraj Stil Plasti", + "Vrstni Red Plasti", + [ + "Ustvari pametni objekt", + "Osveži Pameti Objekt", + "Postavitev pametnega objekta", + "Vir (pametni objekt)", + null + ], + "Sprememba imena", + "Sprememba barve", + "Uredi nastavitveno plast", + "Pretvori v obliko", + "Omogoči Masko Filtra", + "Onemogoči Masko Filtra", + "Omogoči Pametne Filtre", + "Onemogoči Pametne Filtre", + "Dodaj Masko Filtra", + "Zbriši Masko Filtra", + "Odstrani Pametne Filtre", + [ + [ + "Zapolni z Barvo", + "Zapolni z Prelivom", + "Zapolni z Vzorcem", + "Zavedanje vsebine" + ], + "Nova zapolnitvena plast", + "Uredi zaplonitveno plast" + ], + "Plast prek kopije", + "Maska Filtra", + "Izbriši Stil Plasti", + "Premakni Pametni Filter", + "Izbriši Pametni Filter", + [ + "Poveži Plasti", + "Razveži Plasti" + ], + "Uredi", + [ + "V ospredje", + "Naprej", + "Nazaj", + "Pošlji Nazaj" + ], + [ + "Plast je Zaklenjena", + "Zakleni Spreminjanje", + null + ], + null + ], + [ + "Vse", + "Odznači", + "Obrni", + "Uredi", + "Razširi", + "Stisni", + "Širina Roba", + "Premakni izbiro", + "Razpon Barv", + "Obroba", + "Transformiraj izbiro", + "Izboljšaj Robove", + "Popravi izbiro", + null + ], + [ + "Približaj", + "Oddalji", + "Vodila", + "Ravnila", + "Mreža", + "Pripni", + "Pripni na", + "Meje dokumenta", + "Točkovna Mreža", + "Krivulje", + "Pripni na piksle", + [ + null, + null + ], + "Pokaži" + ], + [ + "Zgodovina", + "Plasti", + "Možnosti", + "Čopič", + "Znak", + "Odstavek", + "Informacije", + "Kompozicije plasti", + "Barve", + "Akcije", + "Histogram", + "Navigator", + "Konfiguracija orodja", + null + ], + [ + "Čopiči", + "Kloniranje", + "Izrezovanje", + "Brisanje", + "Elipsa", + "Kapalka", + "Prelivanje", + "Premik pogleda", + "Pisave", + "Laso", + "Magnetni Laso", + "Premikanje", + "Čarobna palica", + "Barvanje", + "Poligonski Laso", + "Pravokotnik", + "Prosta transformacija", + "Lupa", + "Zameglitev", + "Izostritev", + "Razlivanje", + "Orodje osvetlitve", + "Potemnitev", + "Razbarvaj", + "Čopič za popravljanje madežev", + "Čopič za popravke", + "Premik zaplate", + "Izberi krivulje", + "Izberi direktno", + "Svinčnik", + "Prosto pisalo", + "Oblika po Meri", + "Kvadrat", + "Elipsa", + "Večkotnik", + "Črta", + "Ravnilo", + "Hitra izbira", + "Risanje", + "Obreži s perspektivo", + null, + null, + "Zamenjaj barvo", + "Rdeče oči", + null, + "Odstrani ozadje", + null, + null, + null, + null + ], + [ + "Fotografiraj", + "Izberi barvo", + "Urejanje Obrobe", + "Velikost platna", + "Podvoji v ...", + "Urejanje Prelivanja", + "Stil Plasti", + "Nov Projekt", + "Shrani za Splet", + "Ukrivi", + "Velikost slike", + "Spremeni pike v črte", + [ + "Odreži", + "Izreži", + "Pokaži vse" + ], + "Bljižnice tipkovnice", + "Dodaj vodila", + [ + null, + null + ] + ], + [ + "Gostota", + "Efekti", + "Svetlost", + [ + "Kontrast", + "Použiť kompatibilitu" + ], + "Kanal", + "Osvetlitev", + "Odmakni", + "Gamma Nastavitve", + "Odtenek", + "Nasičenost", + "Svetlost", + "Obarvaj", + "Razpon", + "Živahnost", + [ + "Velikost", + "Interpolacija", + "Najbližja sosednja", + "Bilinearna" + ], + "Naklon", + "Zaobljenost robov", + "Trdota", + "Razmak", + [ + "Način mešanja", + "Mešajte, ko" + ], + "Velikost vzorca", + "Obroba", + "Stil", + [ + "Obrni", + "Relativno", + "Sidro" + ], + "Toleranca", + "Sosednje", + "Zapolni", + "Uporabi Globalni Naklon", + "Razdalija", + "Razširi", + "Šum", + "Ne nariši sence", + "Tehnika", + "Smer", + "Globina", + "Zmehčaj", + "Način", + "Preliv", + "Moč", + "Poravnaj s Plastjo", + "Lokacija", + "Širina", + "Višina", + "Cilj", + "Tip", + "Ospredje", + "Ozadje", + "Po Meri", + "Ime", + "Ustvari", + "Format", + "Ohrani Razmerje Stranic", + [ + "Kvaliteta", + "Strani" + ], + "Podvoji", + "Premakni", + "Pametni Filtri", + "Radij", + "Gostota", + "Porazdelitev", + [ + "Uniformna", + "Gaussova" + ], + "Monokromatsko", + "Velikost Celice", + "Vzorec", + "Tok", + "Moč", + "Zaščiti Podrobnosti", + "Vrsta Polnila", + "Tekstura", + "Dodaj Šum", + "Rob", + "Izvor", + "Cilj", + "Kanali", + "Maska", + "Gostota", + "Poravnano", + [ + "Pot", + "Oblika", + "Pikice", + "Inče", + "Centimetrov", + "Milimetrov", + "Odstotkov" + ], + "Oblike", + "Strani", + "Lastnosti", + [ + "Dolžina", + "Razmerje", + "Katerikoli", + "Vrsta mreže", + "Izometrično", + "Razmak mreže", + "Enote ravnila" + ], + "Zmanjšaj Šum", + "Barve", + "Razdalje", + "Stopnja", + "Samodejno Izberi", + "Najdi", + "Definiraj novo", + [ + "Fotografija", + "Zaslon", + "Mobilna Naprava", + "Oglasi", + "Tisk" + ], + [ + "Brezplačno", + "Zaklenjeno Razmerje", + "Zaklenjena Velikost" + ], + "Pomoč", + [ + "Obstojne oblike", + "Uredi obstojne oblike", + "Enak premer" + ], + "Nejasnost", + [ + "Večkotnik", + "Zvezda", + "Spirala", + "Kvadrat" + ], + [ + "Polmer roba", + "Notranji polmer" + ] + ], + [ + "Barva", + [ + "Brez", + "Rdeča", + "Oranžna", + "Rumena", + "Zelena", + "Modra", + "Vijolična", + "Siva", + "Bela", + "Prosojna", + "Črna", + "Cian", + "Magenta", + "Neutralno" + ], + "Celotno", + "Absolutno", + "Ohrani svetlost" + ], + [ + "Senca", + "Notranja Senca", + "Zunanji Sijaj", + "Notranji Sijaj", + "Zaobljenost in izbočenost", + "Prelij z Barvo", + "Prekrij z Prelivom", + "Prekrij z Vzorcem", + "Saten", + "Obrobi", + "Možnosti mešanja", + null + ], + [ + "Oblika konice", + "Dinamika konice", + "Raztresi", + "Dinamika barve", + [ + "Naključnost velikosti", + "Minimalni premer", + "Naključnost kota", + "Naključnost zaobljenosti", + "Minimalna zaobljenost" + ], + [ + "Naključnost pozicije", + "Število", + "Naključnost števila" + ], + [ + "Naključnost ospredja/ozadja", + "Naključnost odtenka", + "Naključnost nasičenosti", + "Naključnost svetlosti" + ], + [ + "Izberi področje dupliciranja s pritiskom Alt (ali K) in klikom na sliko.", + "Označi Ospredje z Belo, Ozadje z Črno in neznano področje z Sivo barvo.", + "Plasti ni mogoče urejati.", + "Tekstovna Plast mora biti najprej rasterizirana.", + "Pametni Objekt mora biti najprej rasteriziran.", + "Izberi več plasti", + "Poravnaj plast", + "Najprej odpri dokument.", + "Najprej zapri trenutno okno", + "Samo trenutno orodje" + ], + [ + "Snemaj", + "Nov nabor akcij", + "Nova akcija" + ], + [ + "Pritiska stylusa kontrolira prosojnost", + "Pritiska stylusa kontrolira velikost" + ], + [ + "Normalno", + "Raztopi", + "Potemni", + "Zmnoži", + "Vžgi barvo", + "Vžgi linearno", + "Temnejša barva", + "Posvetli", + "Presvetli", + "Izogni se barvam", + "Linearno se izogni", + "Svetlejša barva", + "Prekrij", + "Mehka svetloba", + "Trda svetloba", + "Živa svetloba", + "Linearna svetloba", + "Točkasta svetloba", + "Trda mešanica", + "Razlika", + "Izključitev", + "Odštej", + "Deli", + "Odtenek", + "Nasičenost", + "Barva", + "Svetlost", + "Spusti skozi" + ] + ], + [ + "Razmak vrstic", + "Razpiranje", + "Premik črkovne črte", + [ + "Pretvori v naslovni tekst", + "Pretvori v glavni tekst" + ] + ], + [ + "Vse Plasti", + "Trenutna Plast", + "Izbira", + "Trenutni in spodnji" + ], + [ + "Zamenjaj", + "Združi", + "Odštej", + "Presek", + "Izključi", + "Združi" + ], + [ + [ + "Linearno", + "Krožno", + "Kot", + "Zrcaljeno", + "Diamant", + "Vtis oblike" + ], + [ + "Mehkeje", + "Natančno" + ], + [ + "Zaobljenost zunaj", + "Zaobljenost znotraj", + "Izboči", + "Zaobljenost zamenjana", + "Zaobljenost obrobe", + "Širina poteze" + ], + [ + "Mehko", + "Trdo izklesano", + "Mehko izklesano", + "Mehkost" + ], + [ + "Gor", + "Dol" + ], + [ + "Zunanji Rob", + "Centriraj", + "Znotraj", + "Iz sredine" + ], + [ + "Sence", + "Srednji toni", + "Svetli toni" + ], + [ + "Odstrani barve", + "Nasiči" + ], + [ + "Malo", + "Srednje", + "Veliko" + ], + [ + "Zakončeni", + "Rohy", + "Čiarky" + ] + ], + [ + "Izberi objekt pod kazalcem", + "Kontrole transformacije", + "Piksel za piksel", + "Zapolni prostor", + [ + "Poravnaj leve robove", + "Poravnaj Horizontalno", + "Poravnaj desne robove", + "Poravnaj zgornje robove", + "Poravnaj Vertikalno", + "Poravnaj spodnje robove", + "Enaki razmaki" + ] + ], + [ + "Vstavi v", + "Trenutni Projekt", + "Nov Projekt", + "Ločljivost", + "Dodano v trenutni projekt.", + "Nov projekt je pripravljen", + "Nimam dostopa do kamere." + ], + [ + "Orientacija", + "Ukrivi", + "Vodoravno popačenje", + "Navpično popačenje", + [ + "Horizontalno", + "Vertikalno", + "Vodoravno", + "Navpično" + ], + [ + "Nič", + "Lok", + "Lok spodaj", + "Lok zgoraj", + "Obok", + "Izboklina", + "Školjka spodaj", + "Školjka zgoraj", + "Zastavica", + "Val", + "Riba", + "Dvigni", + "Ribje oko", + "Napihni", + "Stisni", + "Zasuk", + "Po Meri" + ], + [ + "Pisava", + "ni na voljo", + "Se bo prikazalo s pomočjo", + "Nekaj dela ni shranjenega v", + "Želite res zapreti?" + ], + [ + "Zamenjaj Barve", + "Privzeto: Črno - Belo" + ] + ], + [ + "naložen", + "dodan", + "Premakni Vodilo", + "Izbriši Vodilo", + "Dodaj Vodilo", + "Nalagam", + "Naloži VAR0" + ], + [ + "Galerija Filtrov", + [ + [ + "Utekočini", + [ + "Zmehčaj", + "Povrni", + "Zmehčaj", + "Zavrti Spiralno", + "Stisni", + "Razširi", + "Potisni Levo", + "Zamrzni", + "Odmrzni" + ] + ], + [ + "Popravek Leče" + ] + ], + "Zameglitev", + [ + "Povprečje", + "Zameglitev", + "Močna Zameglitev", + "Kvadratna Zameglitev", + "Nastavljiva Zameglitev", + "Zameglitev Leče", + "Smerna Zameglitev", + "Krožna zameglitev", + "Oblikovna Zameglitev", + "Pametna Zameglitev", + "Površinska Zameglitev" + ], + "Popači", + [ + "Razporedi", + "Napihni v sredini", + "Polarne koordinate", + "Valovito", + "Nagni", + "Zaobli", + "Valovito" + ], + "Šum", + [ + "Dodaj Šum", + "Odstrani prah", + "Prah in Praske", + "Mediana" + ], + "Pikčasto", + [ + "Barvni raster", + "Kristaliziraj", + "Pikice", + "Razkoščkaj", + "Jedkanje", + "Mozaik", + "Pointilizem" + ], + "Upodobi", + [ + "Oblaki", + "Drugačni oblaki", + null + ], + "Ostro", + [ + "Ostro", + "Ostri Robovi", + "Več Ostrine", + "Pametna Ostrina", + "Maska Ostrine" + ], + "Stiliziraj", + [ + "Razprši", + "Izboči", + "Iztisni", + "Najdi Robove", + "Oljna slika" + ], + "Drugo", + [ + "Po meri", + "Prepusti visoke frekvence", + "Maximum", + "Minimum", + "Zamakni", + "Ponovi" + ], + [ + "Nedefinirano Področje", + "Nastavi Prosojno", + "Ponovi robne piksle", + "Ovij", + "Zadnji Filter", + "Predogled" + ] + ], + [ + "Predloge", + [ + "Filter pisav", + "Ključne besede", + "Naključno" + ], + [ + "S simboli", + "S sliko" + ], + [ + "Sličice", + "Seznam" + ] + ] + ], + [ + [ + "Dosya", + "Düzenle", + "Resim", + "Katman", + "Klasör", + "Seç", + "Filtre", + "Görünüm", + "Pencere", + "Dil", + "Giriş Yap", + "Çıkış", + "Tercüme Et", + [ + "Hesap", + "Kullanım Şartları", + "Geri", + "Hakkında", + "Hata Bildir", + "Öğren" + ], + "Daha Fazla", + "Tema", + "WebGL Kullan", + [ + "Photopea: Gelişmiş Resim Editörü", + "PSD, XCF, Sketch, XD ve CDR formatlarını destekleyen ücretsiz çevrimiçi editör.", + "Yeni bir resim oluşturun veya mevcut dosyaları bilgisayarınızdan açın. Çalışmanızı PSD (Dosya - PSD Olarak Kaydet) veya JPG / PNG / SVG (Dosya - Farklı Dışa Aktar) olarak kaydedin.", + " veya 'ta yeni özellikler önerin. Amacımız oluşturmaktır.", + "Sponsor bağlantıları yeni bir pencerede açılır.", + "Bu özellik bulunmamaktadır.", + "Photopea uygulamasını yükle" + ] + ], + [ + "Aç", + "Online Yayınla", + "Kaydet", + "PSD Olarak Kaydet", + "Yazdır", + "URL Bağlantısını Aç", + "Bilgisayardan Aç", + "Google Drive bağlan", + "Farklı Dışa Aktar", + "Katmanları Dışa Aktar", + "Betik", + "Aç ve Yerleştir", + "Kapat", + "Yerel Depolama", + "Dosya Bilgisi" + ], + [ + "İleri Git", + "Geri Git", + "Temizle", + "Doldur", + "Dönüştür", + "Döndür", + "VAR0 Çevir", + "VAR0 Ölçek", + "Geri / İleri", + "Perspektif", + [ + "Otomatik Harmanla", + "Otomatik Hizala" + ], + "Soldur", + "Resme Uygula" + ], + "Ayarlamalar", + [ + "Parlaklık/Kontrast", + "Seviye", + "Eğriler", + "Poz", + "Titreşim", + "Ton/Doygunluk", + "Renk Dengesi", + "Siyah-Beyaz", + "Fotoğraf Filtresi", + "Kanal Değiştirici", + "Renk Arama", + "Ters Çevir", + "Posterize", + "Eşik", + "Degrade Eşleme", + "Renk Seçici", + [ + "Otomatik Ton", + "Otomatik Kontrast", + "Otomatik Renk" + ], + "Renkleri Değiştir" + ], + [ + "Kes", + "Kopyala", + "Yapıştır", + "Yeni", + "Sil", + "Etkinleştir", + "Devre Dışı Bırak", + "Birleştirilmiş Kopyala", + "Uygula", + "Tekrar", + "Güncelle" + ], + [ + "Katmanı Çoğalt", + "Yeni Ayarlama Katmanı", + "Raster Maskesi", + "Vektör Maskesi", + "Ekle (Tümünü Göster)", + [ + "Ekle (Tümünü Gizle)", + "Seçimi Göster", + "Seçimi Gizle", + "Saydamlıktan" + ], + [ + "Kırpma Maskesi", + "Hızlı Maske Kipi" + ], + "Akıllı Nesneye Dönüştür", + "Rasterleştir", + "Katmanları Grupla", + "Alttakiyle Birleştir", + "Üsttekiyle Birleştir", + [ + "Katmanları Birleştir", + "Görüntüyü Düzleştir" + ], + "Yeni Katman", + "Raster Maskesini Etkinleştir", + "Raster Maskesini Devre Dışı Bırak", + "Vektör Maskesini Etkinleştir", + "Vektör Maskesini Devre Dışı Bırak", + "Kırpma Maskesini Etkinleştir", + "Kırpma Maskesini Devre Dışı Bırak", + "Yeni Dosya", + "Raster Maskesi Ekle", + "Raster Maskesini Sil", + "Vektör Maskesi Ekle", + "Vektör Maskesini Sil", + "Raster Maskesini Bağla", + "Raster Maskesini Bağlantılarını Kaldır", + "Vektör Maskesini Bağla", + "Vektör Maskesinin Bağlantılarını Kaldır", + "Katman Efektlerini Etkinleştir", + "Katman Efektlerini Devre Dışı Bırak", + "Katmanı Sil", + "Katman Opaklığını Değiştir", + "Karıştırma değiştir", + "Katman Stilini Sıfırla", + "Katman sıralaması", + [ + "Akıllı Nesne Oluşturuluyor", + "Akıllı Nesne Güncelleniyor", + "Akıllı Nesneyi Yerleştirme", + "Kaynak (Akıllı Nesne)", + "Yığın Modu" + ], + "İsim Değiştir", + "Renk Değiştir", + "Ayarlama Katmanını Düzenle", + "Şekile Dönüştür", + "Filtre Maskesini Etkinleştir", + "Filtre Maskesini Devre Dışı Bırak", + "Akıllı Filtreleri Etkinleştir", + "Akıllı Filtreleri Devre Dışı Bırak", + "Filtre Maskesi Ekle", + "Filtre Maskesini Sil", + "Akıllı Filtreleri Temizle", + [ + [ + "Katı Renk Dolgu", + "Degrade Dolgu", + "Desen Dolgu", + "İçeriğe Uygun" + ], + "Yeni Dolgu Katmanı", + "Dolgu Katmanını Değiştir" + ], + "Önceki Katmanı Kopyala", + "Filtre Maskesi", + "Katman Stilini Sil", + "Akıllı Filtreyi Taşı", + "Akıllı Filtreyi Sil", + [ + "Katmanları Bağla", + "Katmanları Çöz" + ], + "Yerleştir", + [ + "En Öne Getir", + "Bir Öne Getir", + "Arkaya Gönder", + "En Arkaya Gönder" + ], + [ + "Katman kilitlendi.", + "Değişikliğe Kilitle", + "Kilitle" + ], + "Animasyon" + ], + [ + "Tümü", + "Seçimi Kaldır", + "Tersine Çevir", + "Değiştir", + "Genişlet", + "Kontrast", + "Geçiş Yumuşatma", + "Seçimi Taşı", + "Renk Aralığı", + "Çerçeve", + "Seçimi Dönüştür", + "Kenarları Yumuşat", + "Seçimi İyileştir", + "Sihirli Kesme" + ], + [ + "Büyült", + "Küçült", + "Kılavuzlar", + "Cetveller", + "Izgara", + "Tutun", + "Şuna Tutun", + "Belge Sınırları", + "Piksel Izgarası", + "Yollar", + "Piksellere Tutun", + [ + "Dilimler", + "Dilim Seçenekleri" + ], + "Göster" + ], + [ + "Geçmiş", + "Katmanlar", + "Özellikleri", + "Fırça", + "Karakter", + "Paragraf", + "Bilgi", + "Katman Kompozisyonları", + "Renk Örnekleri", + "Eylemler", + "Histogram", + "Gezgin", + "Araç Ön Ayarları", + "Gılifler" + ], + [ + "Fırça Aracı", + "Klonlama Aracı", + "Kırpma Aracı", + "Silgi Aracı", + "Oval Seçim", + "Damlalık", + "Degrade Aracı", + "El Aracı", + "Yazı Aracı", + "Kement", + "Manyetik Kement", + "Taşıma Aracı", + "Sihirli Değnek", + "Boya Kovası", + "Çokgen Kement", + "Dikdörtgen Seçim", + "Serbest Dönüştürme", + "Yakınlaştırma", + "Bulanıklaştırma", + "Keskinleştirme", + "Leke", + "Soldurma", + "Yakma", + "Sünger", + "Benek İyileştirme Fırçası", + "İyileştirme Fırçası", + "Yama Aracı", + "Yol Seçimi", + "Doğrudan Seçim", + "Kalem", + "Serbest Biçim Kalemi", + "Özel Şekil", + "Dikdörtgen", + "Elips", + "Parametrik Şekil", + "Çizgi", + "Cetvel", + "Hızlı Seçim", + "Kalem Aracı", + "Perspektif Kırp", + "Dilimleme Aracı", + "Dilim Seçimi", + "Renk Değiştirme", + "Kırmızı Göz Aracı", + "Nesne Seçimi", + "Arka Plan Silgisi", + "Kukla Çarpıtma", + "Görünümü Döndür", + "İçeriğe Duyarlı Ölçekleme", + "İçeriğe-Duyarlı Taşıma" + ], + [ + "Fotoğraf Çek", + "Renk Damlalığı", + "Kontur Editörü", + "Tuval Alanı", + "İçine Çoğalt", + "Degrade Düzenleyicisi", + "Katman Sitili", + "Yeni Proje", + "Web için Kaydet", + "Çarpıt", + "Resim Boyutu", + "Bitmap'i Vektörleştir", + [ + "Buda", + "Kırp", + "Tümünü Göster" + ], + "Klavye Kısayolları", + "Kılavuzları Ekle", + [ + "Kılavuzları Temizle", + "Katmandan Kılavuzlar" + ] + ], + [ + "Opaklık", + "Efektler", + "Parlaklık", + [ + "Kontrast", + "Eskiyi Kullan" + ], + "Kanal", + "Poz", + "Kaydırma", + "Gama Düzeltmesi", + "Ton", + "Doygunluk", + "Aydınlık", + "Renklendirme", + "Aralık", + "Titreşimlilik", + [ + "Boyut", + "Enterpolasyonu", + "En Yakın Komşu", + "Bilineer" + ], + "Açı", + "Yuvarlaklık", + "Sertlik", + "Aralık", + [ + "Karıştırma modu", + "Bu Koşulda Karıştır" + ], + "Örnek Boyutu", + "Kontur", + "Stil", + [ + "Ters Çevir", + "Göreli", + "Bağlantı" + ], + "Tolerans", + "Bitişik", + "Dolgu", + "Genel Açıyı Kullan", + "Mesafe", + "Yayılmış", + "Gürültü", + "Gölge Düşür", + "Teknik", + "Yön", + "Derinlik", + "Yumuşatmak", + "Mod", + "Degrade", + "Ölçek", + "Katmanla Hizala", + "Pozisyon", + "Genişlik", + "Yükseklik", + "Destinasyon", + "Tip", + "Ön plan", + "Arkaplan", + "Özel", + "İsim", + "Oluştur", + "Format", + "En-boy oranını koru", + [ + "Kalite", + "Sayfalar" + ], + "Çoğalt", + "Taşıyın", + "Akıllı Filtreler", + "Yarıçap", + "Tutar", + "Dağılım", + [ + "Genel", + "Gauss" + ], + "Tek renkli", + "Hücre Boyutu", + "Desen", + "Akış", + "Sertlik", + "Ayrıntıyı Koru", + "Dolgu Türü", + "Doku", + "Seğirme", + "Kenar", + "Kaynak", + "Hedef", + "Kanallar", + "Maske", + "Yoğunluk", + "Hizalı", + [ + "Yol", + "Şekil", + "Piksel", + "İnç", + "Santimetre", + "Milimetre", + "Yüzde" + ], + "Şekiller", + "Kenarlar", + "Özellikler", + [ + "Uzunluk", + "Oran", + "Hiç", + "Izgara tipi", + "Izometrik", + "Izgara aralığı", + "Cetvel Birimleri" + ], + "Paraziti Azalt", + "Renkler", + "Mesafeler", + "Hızı", + "Oto-Seçim", + "Bulmak", + "Yeni Tanımla", + [ + "Fotoğraf", + "Ekran", + "Mobil", + "Reklam", + "Baskı" + ], + [ + "Ücretsiz", + "Sabit Oran", + "Sabit Boyut" + ], + "Yardım", + [ + "Canlı Şekli", + "Canlı Şekli Düzenle", + "Aynı Yarıçaplar" + ], + "Belirsizlik", + [ + "Çokgen", + "Yıldız", + "Spiral", + "Kare" + ], + [ + "Köşe yarıçap", + "İç yarıçap" + ] + ], + [ + "Renk", + [ + "Yok", + "Kırmızı", + "Turuncu", + "Sarı", + "Yeşil", + "Mavi", + "Mor", + "Gri", + "Beyaz", + "Şeffaf", + "Siyah", + "Camgöbeği", + "Macenta", + "Nötr" + ], + "Toplam", + "Mutlak", + "Parlaklığı Sakla'yı" + ], + [ + "Alt Gölge", + "İç Gölge", + "Dış Işıma", + "İç Işıma", + "Eğim Ver ve Kabart", + "Renk Kaplama", + "Degrade Kaplama", + "Desen Kaplama", + "Saten", + "Kontur", + "Karıştırma seçenekleri", + "Pikselleri Seç" + ], + [ + "Uç Biçimi", + "İpucu Dinamikleri", + "Saç", + "Renk Dinamikleri", + [ + "Boyut Değişimi", + "Minimum Çap", + "Açı Değişimi", + "Yuvarlaklık Değişimi", + "Minimum Yuvarlaklık" + ], + [ + "Pozisyon Değişimi", + "Adet", + "Adet Değişimi" + ], + [ + "Ön Plan/Arka Plan Değişimi", + "Ton Değişimi", + "Doygunluk Değişimi", + "Parlaklık Değişimi" + ], + [ + "Alt (veya K) tuşunu basılı tutun ve görüntüyü tıklatarak kopyalama kaynağını seçin.", + "Beyazla Ön Plan, Siyahla Arka Plan ve Gri ile bilinmeyen alanı işaretleyin.", + "Bu katman düzenlenemez.", + "Önce Metin Katmanı rasterleştirilmelidir", + "Akıllı Nesne önce rasterleştirilmelidir", + "Birden fazla katman seç", + "Katmanı Düzleştir", + "Önce bir belge açın.", + "Önce geçerli pencereyi kapatın.", + "Sadece Geçerli Araç" + ], + [ + "Kaydet", + "Yeni Eylem Kümesi", + "Yeni eylem" + ], + [ + "Kalem basınç kontrolleri opaklık", + "Kalem basınç kontrolleri boyut" + ], + [ + "Normal", + "Erime", + "Koyulaştır", + "Çoğalt", + "Renk Yanması", + "Doğrusal Yanma", + "Daha Koyu Renk", + "Açıklaştır", + "Ekran", + "Renk Soldurma", + "Doğrusal Soldurma", + "Daha Açık Renk", + "Kaplama", + "Yumuşak Işık", + "Sert Işık", + "Canlı Işık", + "Doğrusal Işık", + "Pin Işığı", + "Katı Karışım", + "Fark", + "Dışlama", + "Çıkar", + "Böl", + "Ton", + "Doygunluk", + "Renk", + "Parlaklığı", + "Pass Through" + ] + ], + [ + "Satır Aralığı", + "İzleme", + "Satır Taban Çizgisi Kayması", + [ + "Nokta Metnine Dönüştür", + "Paragraf Metnine Dönüştür" + ] + ], + [ + "Tüm Katmanlar", + "Geçerli Katman", + "Seçim", + "Geçerli ve Altı" + ], + [ + "Değiştir", + "Birim", + "Çıkar", + "Kesiştir", + "Dışlamak", + "Birleştir" + ], + [ + [ + "Doğrusal", + "Radyal", + "Açı", + "Yansımış", + "Baklava", + "Shape Burst" + ], + [ + "Daha Yumuşak", + "Kesin" + ], + [ + "Dış Eğim", + "İç Eğim", + "Kabartma", + "Yastık Kabartma", + "Kontur Kabartma", + "Kontur genişliği" + ], + [ + "Düzgünleştir", + "Sert Keski", + "Yumuşak Keski", + "Düzgünlük" + ], + [ + "Yukarı", + "Aşağı" + ], + [ + "Dışına", + "Merkez", + "Içine", + "Merkezden" + ], + [ + "Gölgeler", + "Orta tonlar", + "Vurgular" + ], + [ + "Doygunluğu Azalt", + "Doygunlaştır" + ], + [ + "Küçük", + "Orta", + "Büyük" + ], + [ + "Uçlar", + "Köşeler", + "Çizgiler" + ] + ], + [ + "İmlecin altındaki nesneyi seç", + "Dönüşüm kontrolleri", + "Piksel Piksele", + "Alana Sığdır", + [ + "Sol Kenarları Hizala", + "Yatay Merkez", + "Sağ Kenarları Hizala", + "Üst Kenarları Hizala", + "Dikey Merkez", + "Alt Kenarları Hizala", + "Eşit Boşluklar" + ] + ], + [ + "İçine Yerleştir", + "Geçerli Proje", + "Yeni Proje", + "Çözünürlük", + "Geçerli projeye eklendi.", + "Yeni proje oluşturuldu.", + "Kamera erişimi reddedildi." + ], + [ + "Yönlendirme", + "Bük", + "Yatay deformasyon", + "Dikey deformasyon", + [ + "Yatay", + "Dikey", + "Yatay", + "Dikey" + ], + [ + "Yok", + "Yay", + "Altı Yaylaştır", + "Üstü Yaylaştir", + "Kemer", + "Çıkıntı", + "Aşağıyı Toparla", + "Yukarıyı Toparla", + "Bayrak", + "Dalga", + "Balık", + "Yükseliş", + "Balık gözü", + "Şişirmek", + "Sıkmak", + "Girdap", + "Özel" + ], + [ + "Yazı tipi", + "kullanılabilir değil", + "Kullanılarak oluşturulacak", + "Kaydedilmemiş çalışma var:", + "Gerçekten kapatmak istiyor musun?" + ], + [ + "Renkleri Değiştir", + "Varsayılan: Beyaz ve Siyah" + ] + ], + [ + "yüklendi", + "eklendi", + "Kılavuzu Taşıyın", + "Kılavuzu Sil", + "Kılavuzu Ekle", + "Yükleniyor", + "VAR0 Yükle" + ], + [ + "Filtre Galerisi", + [ + [ + "Sıvılaştır", + [ + "Lekelemek", + "Imar etmek", + "Yumuşatır", + "Burgu", + "Küçültmek", + "Şişirmek", + "Sola İt", + "Dondurmak", + "Erimek" + ] + ], + [ + "Mercek Düzeltmesi" + ] + ], + "Bulanıklaştırma", + [ + "Ortalama", + "Bulanıklaştırma", + "Daha Fazla Bulanıklaştırma", + "Kutu Bulanıklaştırma", + "Gauss Bulanıklığı", + "Mercek Bulanıklığı", + "Hareket Bulanıklığı", + "Radyal Bulanıklık", + "Şekil Bulanıklığı", + "Akıllı Bulanıklaştırma", + "Yüzey Bulanıklaştırma" + ], + "Çarpıtmak", + [ + "Ötele", + "Bükme", + "Polar Koordinatlar", + "Dalgacık", + "Yamult", + "Küreleştirme", + "Dalga" + ], + "Gürültü", + [ + "Gürültü Ekle", + "Lekeleri Temizle", + "Toz ve Çizikler", + "Medyan" + ], + "Pikselleştirme", + [ + "Renkli Yarım Tonlu", + "Kristalleştir", + "Yön", + "Parça", + "Bakır Klişe Baskı", + "Mozaik", + "Noktalaştır" + ], + "Görüntü Oluşturma", + [ + "Bulutlar", + "Fark Bulutları", + "Mercek Parlaması" + ], + "Keskinleştirme", + [ + "Keskinleştir", + "Kenarları Keskinleştir", + "Daha Keskinleştir", + "Akıllı Keskinleştirme", + "Keskinliği Azaltma Maskesi" + ], + "Stilize", + [ + "Yaygın", + "Kabartma", + "Derinlik", + "Sınırları Bul", + "Yağlı Boya" + ], + "Diğer", + [ + "Özel", + "Yüksek Geçiş", + "Maksimum", + "Minimum", + "Kaydırma", + "Tekrarla" + ], + [ + "Tanımsız Alan", + "Şeffaf Olarak Ayarla", + "Kenar Piksellerini Tekrarla", + "Etrafına Sar", + "Son Filtre", + "Önizleme" + ] + ], + [ + "Şablonlar", + [ + "Yazı Tipi Filtresi", + "Anahtar kelimeler", + "Karıştırmak" + ], + [ + "Sembolleri ile", + "Fotoğraf ile" + ], + [ + "Minik Resimler", + "Liste" + ] + ] + ], + [ + [ + "Plik", + "Edycja", + "Obraz", + "Warstwa", + "Folder", + "Wybierz", + "Filtr", + "Widok", + "Okno", + "Język", + "Zaloguj się", + "Wyloguj się", + "Utwórz tłumaczenie", + [ + "Konto", + "Warunki korzystania", + "Powrót", + "O programie", + "Zgłoś błąd", + "Ucz się" + ], + "Więcej", + "Motyw", + "Użyj WebGL", + [ + "Photopea: zaawansowany edytor obrazów", + "Darmowy edytor online obsługujący formaty PSD, XCF, Sketch, XD i CDR.", + "Utwórz nowy obraz lub otwórz istniejące pliki z komputera. Zapisz swoją pracę jako PSD (Plik - Zapisz jako PSD) lub jako JPG / PNG / SVG (Plik - Eksportuj jako).", + "Zaproponuj nowe funkcje w naszym lub . Naszym celem jest stworzenie .", + "Linki sponsora otwierają się w nowym oknie.", + "Ta funkcja jest nie dostępna.", + "Zainstaluj Photopea" + ] + ], + [ + "Otwórz", + "Publikuj online", + "Zapisz", + "Zapisz jako PSD", + "Drukuj", + "Otwórz z adresu URL", + "Otwórz z komputera", + "Połącz z Google Drive", + "Eksportuj jako", + "Eksportuj warstwy", + "Skrypt", + "Otwórz i umieść", + "Zamknij", + "Pamięć lokalna", + "Informacje o pliku" + ], + [ + "Krok do przodu", + "Krok do tyłu", + "Wyczyść", + "Wypełnij", + "Przekształć", + "Obróć", + "Odbij VAR0", + "Skaluj VAR0", + "Cofnij / Ponów", + "Perspektywa", + [ + "Auto-mieszanie", + "Automatycznie wyrównaj" + ], + "Stonuj", + "Zastosuj obraz" + ], + "Dostosowania", + [ + "Jasność/Kontrast", + "Poziomy", + "Krzywe", + "Ekspozycja", + "Jaskrawość", + "Barwa/Nasycenie", + "Balans kolorów", + "Czarny i Biały", + "Filtr fotograficzny", + "Mikser kanałów", + "Wyszukiwanie kolorem", + "Odwróć", + "Posteryzacja", + "Próg", + "Mapa gradientu", + "Kolor selektywny", + [ + "Auto-tony", + "Auto-kontrast", + "Auto-kolor" + ], + "Zamień kolor" + ], + [ + "Wytnij", + "Kopiuj", + "Wklej", + "Nowy", + "Usuń", + "Włącz", + "Wyłącz", + "Kopiuj scalone", + "Zastosuj", + "Ponownie", + "Uaktualnij" + ], + [ + "Duplikuj warstwę", + "Nowa warstwa dopasowania", + "Maska rastrowa", + "Maska wektorowa", + "Dodaj (pokaż wszystko)", + [ + "Dodaj (ukryj wszystko)", + "Odkryj zaznaczenie", + "Ukryj zaznaczenie", + "Z przezroczystości" + ], + [ + "Maska przycinająca", + "Tryb szybkiej maski" + ], + "Konwertuj na obiekt inteligentny", + "Rasteryzuj", + "Grupuj warstwy", + "Scal w dół", + "Scal w górę", + [ + "Scal warstwy", + "Spłaszcz obraz" + ], + "Nowa warstwa", + "Włącz maskę rastrową", + "Wyłącz maskę rastrową", + "Włącz maskę wektorową", + "Wyłącz maskę wektorową", + "Włącz maskę przycinającą", + "Wyłącz maskę przycinającą", + "Nowy folder", + "Dodaj maskę rastrową", + "Usuń maskę rastrową", + "Dodaj maskę wektorową", + "Usuń maskę wektorową", + "Połącz maskę rastrową", + "Rozłącz maskę rastrową", + "Połącz wektorową maskę", + "Odłącz maskę wektorową", + "Włącz efekty warstwy", + "Wyłącz efekty warstwy", + "Usuń warstwę", + "Zmiana krycia warstwy", + "Zmiana mieszania", + "Rasteryzuj styl warstwy", + "Kolejność warstwy", + [ + "Tworzenie obiektu inteligentnego", + "Aktualizacja obiektu inteligentnego", + "Umieszczenie obiektu inteligentnego", + "Źródło (obiekt inteligentny)", + "Tryb nakładania" + ], + "Zmiana nazwy", + "Zmiana koloru", + "Edycja warstwy dopasowania", + "Konwertuj na kształt", + "Włącz maskę filtru", + "Wyłącz maskę filtru", + "Włącz inteligentne filtry", + "Wyłącz inteligentne filtry", + "Dodaj maskę filtra", + "Usuń maskę filtra", + "Wyczyść filtry inteligentne", + [ + [ + "Wypełnienie kolorem", + "Wypełnienie gradientem", + "Wypełnienie wzorem", + "Uwzględnianie zawartości" + ], + "Nowa warstwa wypełnienia", + "Modyfikuj warstwę wypełnienia" + ], + "Kopiuj poprzez warstwę", + "Maska filtru", + "Usuń Styl Warstwy", + "Przesuń Filtr Inteligentny", + "Usuń Filtr Inteligentny", + [ + "Połącz warstwy", + "Odłącz warstwy" + ], + "Ułóż", + [ + "Przenieś na wierzch", + "Przenieś wyżej", + "Przenieś niżej", + "Przenieś na spód" + ], + [ + "Warstwa jest zablokowana", + "Zablokuj zmianę", + "Zablokuj" + ], + "Animacja" + ], + [ + "Wszystko", + "Odznacz", + "Odwróć", + "Zmień", + "Rozszerz", + "Zawęź", + "Wtapianie", + "Przesuń Zaznaczenie", + "Zakres kolorów", + "Granica", + "Przekształć zaznaczenie", + "Popraw krawędź", + "Naprawa zaznaczenia", + "Magiczne obcięcie" + ], + [ + "Przybliż", + "Oddal", + "Linie pomocnicze", + "Linijki", + "Siatka", + "Przyciągnij", + "Przyciągnij do", + "Obszar dokumentu", + "Siatka pikseli", + "Ścieżki", + "Przyciągnij do pikseli", + [ + "Plasterki", + "Opcje plasterków" + ], + "Pokaż" + ], + [ + "Historia", + "Warstwy", + "Właściwości", + "Pędzel", + "Znak", + "Akapit", + "Informacje", + "Kompozycje warstw", + "Próbki", + "Operacje", + "Histogram", + "Nawigator", + "Ustawienia domyślne narzędzi", + "Glify" + ], + [ + "Narzędzia pędzla", + "Narzędzia klonowania", + "Kadrowanie", + "Narzędzie usuwania", + "Zaznaczenie elipsy", + "Pipeta", + "Gradient", + "Narzędzie Rączka", + "Tekst", + "Lasso", + "Lasso magnetyczne", + "Przesunięcie", + "Różdżka", + "Wiadro z farbą", + "Lasso wielokątne", + "Prostokąt", + "Przekształć Swobodnie", + "Narzędzie Powiększenie", + "Rozmycie", + "Wyostrzenie", + "Smużenie", + "Rozjaśnianie", + "Ściemnianie", + "Gąbka", + "Punktowy pędzel korygujący", + "Pędzel korygujący", + "Łatka", + "Wybierz ścieżkę", + "Zaznaczenie bezpośrednie", + "Pióro", + "Pióro dowolne", + "Niestandardowy Kształt", + "Prostokąt", + "Elipsa", + "Kształt Parametryczny", + "Linia", + "Linijka", + "Szybki wybór", + "Ołówek", + "Kadrowanie perspektywiczne", + "Narzędzie Odcięcie", + "Narzędzie Zaznaczanie odcięcia", + "Zastępowanie kolorów", + "Narzędzie Czerwone oczy", + "Zaznaczanie obiektów", + "Usuwanie Tła", + "Wypaczenie marionetkowe", + "Obracanie widoku", + "Skala z uwzględnieniem zawartości", + "Przesuwanie z uwzględnieniem zawartości" + ], + [ + "Zrób zdjęcie", + "Wybieranie koloru", + "Edytor konturów", + "Rozmiar obszaru roboczego", + "Duplikuj", + "Edytor gradientów", + "Styl warstwy", + "Nowy projekt", + "Zapisz do sieci", + "Wypaczenie", + "Rozmiar obrazu", + "Wektoryzuj Bitmapę", + [ + "Przytnij", + "Kadrowanie", + "Odkryjajas" + ], + "Skróty klawiszowe", + "Dodaj linie pomocnicze", + [ + "Usuń linie pomocnicze", + "Warstwa na ścieżki" + ] + ], + [ + "Krycie", + "Efekty", + "Jasność", + [ + "Kontrast", + "Użyj dziedziczenia" + ], + "Kanał", + "Ekspozycja", + "Przesunięcie", + "Korekcja gammy", + "Barwa", + "Nasycenie", + "Jasność", + "Koloryzuj", + "Zasięg", + "Jaskrawość", + [ + "Rozmiar", + "Interpolacji", + "Najbliższy sąsiad", + "Dwuliniowa" + ], + "Kąt", + "Zaokrąglenie", + "Twardość", + "Odstęp", + [ + "Opcja mieszania", + "Mieszaj gdy" + ], + "Wielkość próbki", + "Kontura", + "Styl", + [ + "Cofnij", + "Względna", + "Zakotwiczenie" + ], + "Tolerancja", + "Ciągłe", + "Wypełnij", + "Użyj globalnego kąta", + "Odległość", + "Rozpiętość", + "Szum", + "Warstwa odcina cień", + "Technika", + "Kierunek", + "Głębia", + "Zmiękczyć", + "Tryb", + "Gradient", + "Skala", + "Dopasuj do warstwy", + "Pozycja", + "Szerokość", + "Wysokość", + "Cel", + "Typ", + "Pierwszy plan", + "Tło", + "Dostosuj", + "Nazwa", + "Utwórz", + "Format", + "Zachowaj proporcje", + [ + "Jakość", + "Strony" + ], + "Powiel", + "Przesuń", + "Sprytne filtry", + "Promień", + "Miara", + "Dystrybucja", + [ + "Jednolity", + "Gaussa" + ], + "Monochromatyczne", + "Rozmiar komórki", + "Wzór", + "Przepływ", + "Siła", + "Chroń Szczegóły", + "Typ Wypełnienia", + "Tekstura", + "Drganie", + "Krawędź", + "Źródło", + "Cel", + "Kanały", + "Maska", + "Gęstość", + "Wyrównane", + [ + "Ścieżka", + "Kształt", + "Piksele", + "Cale", + "Centymetry", + "Milimetry", + "Procent" + ], + "Kształty", + "Strony", + "Preferencje", + [ + "Długość", + "Proporcje", + "Dowolny", + "Typ siatki", + "Izometryczny", + "Rozstaw siatki", + "Jednostki miarki" + ], + "Zmniejsz szum", + "Kolory", + "Odległości", + "Częstotliwość", + "Auto zaznaczenie", + "Znajdź", + "Zdefiniuj nowe", + [ + "Zdjęcie", + "Ekran", + "Mobilne", + "Reklamy", + "Druk" + ], + [ + "Dowolny", + "Stały współczynnik", + "Stały rozmiar" + ], + "Pomoc", + [ + "Aktywny kształt", + "Edycja aktywny kształt", + "Identyczny promień" + ], + "Tolerancja", + [ + "Wielokąt", + "Gwiazda", + "Spirala", + "Obszar" + ], + [ + "Promień zaokrąglenia", + "Promień wewnętrzny" + ] + ], + [ + "Kolor", + [ + "Brak", + "Czerwony", + "Pomarańczowy", + "Żołty", + "Zielony", + "Niebieski", + "Fioletowy", + "Szary", + "Biały", + "Przezroczysty", + "Czarny", + "Niebieskozielony", + "Karmazynowy", + "Neutralny" + ], + "Total", + "Absolutny", + "Utrzymaj jasność" + ], + [ + "Cień zewnętrzny", + "Cień wewnętrzny", + "Zewnętrzna poświata", + "Wewnętrzna poświata", + "Faza i płaskorzeźba", + "Nakładka koloru", + "Nakładka gradientu", + "Nakładka wzorem", + "Satyna", + "Obrys", + "Opcje mieszania", + "Zaznacz Piksele" + ], + [ + "Kształt końcówki", + "Dynamika końcówki", + "Rozproszenie", + "Dynamika koloru", + [ + "Rozmiar Drgań", + "Minimalna Średnica", + "Kąt Drgań", + "Okrągłość Drgań", + "Minimalna okrągłość" + ], + [ + "Pozycja Drgań", + "Ilość", + "Ilość Drgań" + ], + [ + "Pierwszy Plan/Tło Drgań", + "Barwa Drgań", + "Nasycenie drgań", + "Jasność drgań" + ], + [ + "Wybierz źródło powielenia przytrzymując Alt (lub K) i klikając na obraz.", + "Zaznacz pierwszy plan na biały, tło czarnym i inny obszar za pomocą szarego.", + "Warstwa nie jest edytowalna.", + "Warstwa tekstowa musi najpierw zostać zrasteryzowana", + "Obiekt inteligentny musi najpierw zostać zrasteryzowany", + "Wybierz wiele warstw", + "Prostuj warstwę", + "Najpierw otwórz dokument.", + "Zamknij bieżące okno jako pierwsze", + "Tylko bieżące narzędzie" + ], + [ + "Nagrywaj", + "Nowy zestaw operacji", + "Nowa operacja" + ], + [ + "Nacisk pisaka kontroluje kryciem", + "Nacisk pisaka kontroluje rozmiar" + ], + [ + "Zwykły", + "Rozpuszczanie", + "Ciemniej", + "Mnożenie", + "Ściemnianie", + "Ściemnianie liniowe", + "Ciemniejszy kolor", + "Jaśniej", + "Ekran", + "Rozjaśnianie", + "Rozjaśnianie liniowe", + "Jaśniejszy kolor", + "Nakładka", + "Łagodne światło", + "Ostre światło", + "Światło jaskrawe", + "Światło liniowe", + "Światło punktowe", + "Mieszanie twarde", + "Różnica", + "Wykluczenie", + "Odejmowanie", + "Dzielenie", + "Barwa", + "Nasycenie", + "Kolor", + "Jasność", + "Przejście bezpośrednie" + ] + ], + [ + "Interlinia", + "Spacjowanie", + "Przesunięcie linii bazowej", + [ + "Konwertuj na tekst punktowy", + "Konwertuj na tekst akapitowy" + ] + ], + [ + "Wszystkie warstwy", + "Bieżąca warstwa", + "Wybór", + "Bieżąca i niższa" + ], + [ + "Zamień", + "Połączenie", + "Różnica", + "Przecięcie", + "XOR", + "Scal" + ], + [ + [ + "Liniowe", + "Promieniowe", + "Kąt", + "Odbicie", + "Diament", + "Rozerwij Kształt" + ], + [ + "Minkštesnis", + "Dokładny" + ], + [ + "Faza zewnętrzna", + "Faza wewnętrzna", + "Płaskorzeźba", + "Żłobienie", + "Płaskorzeźba obrysu", + "Grubości obrysu" + ], + [ + "Gładki", + "Dłuto twarde", + "Dłuto miękkie", + "Gładkość" + ], + [ + "W górę", + "W dół" + ], + [ + "Na zewnątrz", + "W środku", + "Wewnątrz", + "Ze środka" + ], + [ + "Cienie", + "Półcienie", + "Podświetlenia" + ], + [ + "Zmniejsz nasycenie", + "Zwiększ nasycenie" + ], + [ + "Mały", + "Średni", + "Duży" + ], + [ + "Zakończenia", + "Narożniki", + "Kreski" + ] + ], + [ + "Wybierz obiekt pod kursorem", + "Kontrolki przekształcenia", + "Pixel do Pixela", + "Dopasuj do powierzchni", + [ + "Wyrównaj Lewe Krawędzie", + "Wyrównaj w poziomie", + "Wyrównaj Prawe Krawędzie", + "Wyrównaj Górne Krawędzie", + "Wyrównaj w pionie", + "Wyrównaj Dolne Krawędzie", + "Równe przerwy" + ] + ], + [ + "Umieść w", + "Bieżący projekt", + "Nowy projekt", + "Rozdzielczość", + "Dodano do bieżącego projektu.", + "Utworzono nowy projekt.", + "Odmówiono dostępu do aparatu." + ], + [ + "Orientacja", + "Pochylenie", + "Zniekształcenie poziome", + "Odkształcenie pionowe", + [ + "Poziomy", + "Pionowy", + "w poziomie", + "w pionie" + ], + [ + "Brak", + "Łuk", + "Łuk Dolny", + "Łuk Górny", + "Łuk", + "Wybrzuszenie", + "Muszla w dół", + "Muszla w górę", + "Flaga", + "Fala", + "Ryba", + "Wzrost", + "Rybie oko", + "Nadmuchać", + "Wyciskać", + "Wykręcać", + "Niestandardowy" + ], + [ + "Czcionka", + "nie jest dostępny", + "Zostanie wyrenderowane za pomocą", + "Jest tu niezapisana praca.", + "Czy aby na pewno chcesz to zamknąć?" + ], + [ + "Zamień Kolory", + "Domyślnie: Biały i Czarny" + ] + ], + [ + "załadowane", + "dodane", + "Przesuń linię pomocniczą", + "Usuń linię pomocniczą", + "Dodaj linię pomocniczą", + "Ładowanie", + "Załaduj VAR0" + ], + [ + "Galeria filtrów", + [ + [ + "Transformacja", + [ + "Smużyć", + "Zrekonstruować", + "Wygładzać", + "Wir", + "Kurczyć", + "Wiać", + "Naciśnij w lewo", + "Zamroź", + "Odmroź" + ] + ], + [ + "Korekcja soczewki" + ] + ], + "Rozmycie", + [ + "Uśredniony", + "Rozmycie", + "Rozmyj bardziej", + "Rozmycie Pudełkowe", + "Rozmycie Gaussowskie", + "Rozmycie Optyczne", + "Rozmycie Ruchu", + "Rozmycie Radialne", + "Rozmycie Kształtem", + "Inteligentne Rozmycie", + "Rozmycie Powierzchni" + ], + "Przekształć", + [ + "Przemieszczenie", + "Ściśnięcie", + "Współrzędne biegunowe", + "Falowanie", + "Ścinanie", + "Sferyzacja", + "Fale" + ], + "Szum", + [ + "Dodaj Szum", + "Odplamkuj", + "Kurz i zarysowania", + "Mediana" + ], + "Pikselizuj", + [ + "Półton", + "Krystalizacja", + "Aspekt", + "Fragmentuj", + "Mezzotinta", + "Mozaika", + "Pointylizacja" + ], + "Renderuj", + [ + "Chmury", + "Chmury różnicowe", + "Flara obiektywu" + ], + "Wyostrz", + [ + "Wyostrz", + "Wyostrz Krawędzie", + "Wyostrz Bardziej", + "Inteligentne Wyostrzenie", + "Wyostrz Krawędzie" + ], + "Stylizacja", + [ + "Rozpraszanie", + "Płaskorzeźba", + "Wytłaczanie", + "Znajdź krawędzie", + "Farba olejna" + ], + "Inne", + [ + "Dostosuj", + "Filtr Górnoprzepustowy", + "Maksimum", + "Minimum", + "Przesunięcie", + "Powtarzać" + ], + [ + "Niezdefiniowany obszar", + "Ustaw jako przezroczyste", + "Powtórz Piksele Brzegowe", + "Owiń w okół", + "Ostatni filtr", + "Podgląd" + ] + ], + [ + "Szablony", + [ + "Filtr czcionek", + "Słowa kluczowe", + "Losowanie" + ], + [ + "Z symbolami", + "Ze zdjęciem" + ], + [ + "Miniaturki", + "Lista" + ] + ] + ], + [ + [ + "Berkas", + "Ubah", + "Gambar", + "Lapisan", + "Folder", + "Pilih", + "Penyaring", + "Tampilan", + "Jendela", + "Bahasa", + "Masuk", + "Keluar", + "Buat terjemahan", + [ + "Akun", + "Syarat Pelayanan", + "Kembali", + "Mengenai", + "Laporkan bug", + "Belajar" + ], + "Lainnya", + "Tema", + "Gunakan WebGL", + [ + "Photopea: editor gambar tingkat lanjut", + "Editor online gratis yang mendukung format PSD, XCF, Sketch, XD dan CDR.", + "Buat gambar baru atau membuka file yang ada dari komputer Anda. Simpan pekerjaan Anda sebagai PSD (Berkas - Simpan sebagai PSD) atau sebagai JPG / PNG / SVG (Berkas - Ekspor sebagai).", + "Sarankan fitur baru di atau kami. Tujuan kami adalah untuk menciptakan .", + "Tautan sponsor terbuka di jendela baru.", + "Tampilan ini tidak tersedia", + "Install Photopea" + ] + ], + [ + "Buka", + "Terbitkan online", + "Simpan", + "Simpan sebagai PSD", + "Cetak", + "Buka dari URL", + "Buka Dari Komputer", + "Sambungkan Dengan Google Drive", + "Ekspor sebagai", + "Ekspor lapisan", + "Skrip", + "Buka & Letakkan", + "Tutup", + "Penyimpanan Lokal", + "Info Berkas" + ], + [ + "Langkah berikutnya", + "Langkah sebelumnya", + "Bersihkan", + "Isi", + "Ubah", + "Putar", + "Balik VAR0", + "Skala VAR0", + "Batalkan / Kembalikan", + "Perspektif", + [ + "Blend Otomatis", + null + ], + "Luntur", + null + ], + "Pengaturan", + [ + "Kecerahan/Kontras", + "Level", + "Kurva", + "Eksposur", + "Vibransi", + "Hue/Saturasi", + "Keseimbangan Warna", + "Hitam & Putih", + "Filter Foto", + "Channel Mixer", + "pencarian warna", + "Inversi", + "Posterize", + "Ambang", + "Peta Gradient", + "Selektif Warna", + [ + "Nada Otomatis", + "Kontras Otomatis", + "Warna Otomatis" + ], + "Ganti Warna" + ], + [ + "Potong", + "Salin", + "Tempel", + "Baru", + "Hapus", + "ada", + "Nonaktifkan", + "Salin Digabung", + "Terapkan", + "Ulangi aksi", + "Perbaharui" + ], + [ + "Lapisan duplikat", + "Lapisan Penyesuaian Baru", + "Mask Raster", + "Masker Vektor", + "Tambah (Lihat Semua)", + [ + "Tambah (Sembunyikan Semua)", + "auswahl", + "Sembunyikan Pilihan", + "aus" + ], + [ + "Clipping Mask", + null + ], + "Konversiere ke Smart Object", + "Rasterize", + "gruppenebene", + "zusammenführe", + "Gabung", + [ + "Gabung Lapisan", + "Ratakan Gambar" + ], + "Lapisan Baru", + "Aktifkan Mask Raster", + "Nonaktifkan Mask Raster", + "Aktifkan Vector Mask", + "Nonaktifkan Vector Mask", + "Aktifkan Clipping Mask", + "Nonaktifkan Clipping Mask", + "Folder Baru", + "Tambahkan Mask Raster", + "Hapus Mask Raster", + "Tambahkan Vector Mask", + "Hapus Vector Mask", + "Link Masker Raster", + "Batalkan tautan Masker Raster", + "Link Vector Mask", + "Hapus Mask Vector", + "Aktifkan Efek Lapisan", + "Nonaktifkan Efek Lapisan", + "Hapus Lapisan", + "Perubahan Kegelapan Lapisan", + "Perubahan Campuran", + "Rasterisasi Lapisan", + "Urutan Lapisan", + [ + "Membuat Obyek Pintar", + "Memperbaharui Obyek Pintar", + "Menempatkan Obyek Pintar", + "Sumber (Smart Object)", + "Mode Tumpuk" + ], + "Ubah Nama", + "Ubah Warna", + "Ubah Penyesuaian Lapisan", + "Konversi ke bentuk", + "Hidupkan Filter Mask", + "Matikan Filter Mask", + "Nyalakan Filter Pintar", + "Matikan Filter Pintar", + "Tambah Filter Mask", + "Hapus Filter Mask", + "Bersihkan Filter Pintar", + [ + [ + "Isi Warna Dasar", + "Isi Gradasi", + "Isi Motif", + "Kesadaran Konten" + ], + "Lapisan Isi Baru", + "Atur Lapisan Isi" + ], + "Lapisan Baru Dengan Disalin", + "Filter Mask", + "Hapus Lapisan Gaya", + "Pindahkan Filter Pintar", + "Hapus Filter Pintar", + [ + "Hubungkan Lapisan", + "Putushubungkan Antar Lapisan" + ], + "Atur", + [ + "Taruh di Depan", + "Taruh di atasnya", + "Taruh di belakang", + "Taruh di belakangnya" + ], + [ + "Lapisan ini terkunci.", + "Kunci perubahan", + "Kunci" + ], + "Animasi" + ], + [ + "Semua", + "Lepaskan pemilihan", + "Balikan", + "Ubah", + "Tambahkan", + "Kontrak", + "Kehalusan pinggiran", + "Pindahkan pemilih", + "Rentang Warna", + "Garis tepi", + "Pilih untuk perpindahan", + "Haluskan Tepi", + "Pemilih perbaikan gambar", + null + ], + [ + "Memperbesar", + "Memperkecil", + "Garis bantu", + "Penggaris", + "Garis Bantu Persegi", + "Lekatkan", + "Lekatkan ke", + "Batas dokumen", + "Kisi Piksel", + "Garis pemotong", + null, + [ + null, + null + ], + "Tampilkan" + ], + [ + "Riwayat", + "Lapisan", + "Properti", + "Kuas", + "Karakter", + "Paragraf", + "Info", + "Komposisikan Lapisan", + null, + null, + "Histogram", + null, + null, + null + ], + [ + "Alat kuas", + "Alat peniru", + "Pemotong", + "Penghapus", + "Pemilih Bundar", + "Ambil sample warna", + "Gradasikan", + "Geserkan Layar", + "Isi kata-kata", + "Garis Pemilih Bebas", + null, + "Pindahkan", + "Pemilih otomatis", + "Isi seluruh area", + "Garis pemilih bersiku", + "Kotak pemilih", + null, + "Besarkan layar", + "Buramkan", + "Pertajamkan", + null, + null, + null, + null, + "Perbaiki titik hitam", + "Kuas Perbaikan", + null, + null, + "Pilih langsung", + "Pulpen", + "Pulpen bebas", + "Bentuk Kustom", + "Persegi", + "Lingkaran/Bundar", + "Bentuk Parametrik", + "Garis", + "Penggaris", + "Pemilihan Cepat", + "Pensil", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + [ + "Ambil gambar", + "Ambil contoh warna", + "Pengedit Kontur", + "Ukuran Kanvas", + "Duplikatkan ke...", + "Pengedit Gradasi", + "Gaya Lapisan", + "Proyek Baru", + "Simpan untuk web", + "Lengkungkan", + "Ukuran Gambar", + "Vektorkan Bitmap", + [ + "Pangkas", + null, + null + ], + "Pintasan Keyboard", + null, + [ + null, + null + ] + ], + [ + "Tingkat transparansi", + "Efek", + "Kecerahan", + [ + "Kontras", + null + ], + null, + "Tingkat Terang", + null, + "Perbaiki Gamma", + "Hue", + "Tingkat Warna", + "Tingkat pencahayaan", + "Warnai", + "Rentang", + "Tingkat Semarak Warna", + [ + "Ukuran", + "Interpolasi", + "Bertetangga", + "Bilinier" + ], + "Sudut", + "Tingkat kebulatan", + "Tingkat kekerasan", + "Jarak", + [ + "Modus Penyatuan", + null + ], + "Ukuran Sampel", + "Kontur", + "Gaya", + [ + "Balikan", + null, + null + ], + "Tingkat toleransi", + "Dekatkan", + "Isi", + "Gunakan Angle Global", + "Jarak", + "Penyebaran", + "Pecahkan", + null, + "Teknik", + "Arah", + "Kedalaman", + "Kehalusan", + "Modus", + "Gradasi", + "Ukuran", + "Sejajar dengan lapisan", + "Posisi", + "Panjang", + "Lebar", + "Destinasi", + "Tipe", + "Latar depan", + "Latar belakang", + "Kustom", + "Nama", + "Buat", + "Format", + "Jaga Aspek Rasio", + [ + "Kualitas", + "Halaman" + ], + "Duplikat", + "Pindahkan", + "Filter Pintar", + "Radius", + "Jumlah", + "Distribusi", + [ + "Seragam", + "Gaussian" + ], + "Monokromatik", + "Ukuran Sel", + "Corak", + "Alur", + "Kuatkan", + "Jaga Detail", + "Tipe isi", + "Tekstur", + "Jitter", + "Sudut", + "Sumber", + "Target", + null, + null, + null, + null, + [ + "Alur", + "Bentuk", + "Piksel", + null, + "Sentimeter", + "Milimeter", + null + ], + null, + "Sisi", + "Preferensi", + [ + "Panjang", + "Rasio", + "Semua", + null, + "Isometrik", + null, + null + ], + "Kurangi pecah gambar", + "Warna", + "Jarak", + "Tingkat", + "Pilih otomatis", + "Cari", + null, + [ + "Foto", + "Tampilan", + "Telepon", + "Iklan", + null + ], + [ + null, + "Rasio tetap", + "Ukuran tetap" + ], + "Bantuan", + [ + "Bentuk Langsung", + "Ubah Bentuk Langsung", + null + ], + null, + [ + "Poligon", + "Bintang", + "Spiral", + "Persegi" + ], + [ + null, + null + ] + ], + [ + "Warna", + [ + "Kosong", + "Merah", + "Jingga", + "Kuning", + "Hijau", + "Biru", + "Ungu", + "Abu-Abu", + "Putih", + "Transparansi", + "Hitam", + "Cyan", + "Magenta", + null + ], + null, + null, + null + ], + [ + "Taruh Bayangan", + "Bayangan di dalam", + "Bersinar di luar", + "Bersinar di dalam", + "Sudut dan Timbul", + "Lapisi Warna", + "Lapisi Gradasi", + "Lapisi Corak", + "Satin", + "Garis tepi", + "Pilihan Campuran", + null + ], + [ + "Titik berbentuk", + "Titik dinamis", + "Hamburkan", + "Warna Dinamis", + [ + "Ukuran Jitter", + "Diameter Minimal", + "Sudut Jitter", + "Tingkat kebulatan Jitter", + "Tingkat minimal kebulatan" + ], + [ + null, + "Jumlah", + "Jumlah Jitter" + ], + [ + "Latar Depan/Belakang Jitter", + "Warna Jitter", + "Tingkat warna jitter", + "Tingkat kecerahan jitter" + ], + [ + "Pilih sampel contoh dengan tekan Alt (atau K) terus klik di gambar", + "Tandai Latar Depan pake Putih, Latar Depan pake Item terus Area lainnya pake abu-abu", + "Lapisannya gak bisa diedit", + "Lapisan teks harus di-raterize dulu", + "Smart Object-nya harus di-rasterize dulu", + "Pilih beberapa lapisan", + null, + null, + null, + null + ], + [ + null, + null, + null + ], + [ + null, + null + ], + [ + null, + null, + null, + null, + null, + null, + null, + null, + "Layar", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + ], + [ + "Arahkan", + "Lacak", + "Tukar garis dasar", + [ + null, + null + ] + ], + [ + "Semua Lapisan", + "Lapisan saat ini", + "Pilihan", + "Ini dan bawahnya" + ], + [ + "Ganti", + "Satukan", + "Kurangi", + "Potong", + "Kecualikan", + null + ], + [ + [ + "Garis lurus", + "Bundar", + "Sudut", + "Cerminkan", + "Berlian", + "Bentuk Semburan" + ], + [ + "Lebih halus", + "Presisi" + ], + [ + "Sudut luar", + "Sudut dalam", + "Timbul", + "Timbulan halus", + "Timbulan keras", + null + ], + [ + "Halus", + "Pahatan Keras", + "Pahatan Halus", + null + ], + [ + "Atas", + "Bawah" + ], + [ + "Luar", + "Tengah", + "Dalam", + "Dari tengah" + ], + [ + "Bayangan", + "Cahaya Umumnya", + "Sorotan Cahaya" + ], + [ + "Pudarkan warna", + "Warnai" + ], + [ + "Kecil", + "Sedang", + "Besar" + ], + [ + null, + null, + null + ] + ], + [ + "Pilih objek di bawah kursor", + "Kontrol transformasi", + "Piksel ke Piksel", + "Sesuaikan dengan Area", + [ + "Sejajarkan dengan Sudut Kiri", + "Tengah secara horizontal", + "Sejajarkan dengan Sudut Kanan", + "Sejajarkan dengan Sudut Atas", + "Tengah secara vertikal", + "Sejajarkan dengan Sudut Bawah", + "Samakan jarak" + ] + ], + [ + "Taruh ke dalam...", + "Proyek Sekarang", + "Proyek Baru", + "Resolusi", + "Udah ditambahin ke proyek sekarang", + "Proyek baru udah dibuat", + "Akses ke kamera ditolak" + ], + [ + "Orientasi", + "Bengkokan", + "Distorsi Horizontal", + "Distorsi Vertikal", + [ + "Horizontal", + "Vertikal", + "secara horizontal", + "secara vertikal" + ], + [ + "Gak ada", + "Bentuk Kurva", + "Bentuk kurva bawah", + "Bentuk kurva atas", + "Melengkung", + "Menonjol", + "Bentuk Kerang Bawah", + "Bentuk Kerang Atas", + "Bentuk Bendera", + "Bergelombang", + "Bentuk Ikan", + "Timbul", + "Bentuk Mata Ikan", + "Tonjolkan", + "Remaskan", + "Pelintirkan", + "Bebas" + ], + [ + "Huruf", + "gak tersedia", + "Bakal dirender pake", + "Ada file yang belum tersimpan di", + "Apa kamu yakin akan menutupnya?" + ], + [ + "Tukar warna", + "Default: Putih dan Hitam" + ] + ], + [ + "udah dimuat", + "udah ditambahin", + "Geser Patokan", + "Buang Patokan", + "Tambah Patokan", + "Memuat", + "Muat VAR0" + ], + [ + "Galeri Filter", + [ + [ + "Cairkan", + [ + "Nodai", + "Buat Ulang", + "Haluskan", + "Putarkan", + "Ciutkan", + "Gembungkan", + "Tekan ke kiri", + "Bekukan", + "Batalkan beku" + ] + ], + [ + "Koreksi lensa" + ] + ], + "Buram", + [ + "Rata-rata", + "Buram", + "Buram Banget", + "Buram bentuk Kotak", + "Buram Gaussian", + "Buram Lensa", + "Buram Gerakan", + "Buram bentuk bundar", + "Buram berbentuk sesuatu", + "Buram Pintar", + "Buram permukaan" + ], + "Distorsi", + [ + "Perpindahan", + "Cubit", + "Koordinat Polar", + "Beriak", + "Pangkas", + "Bentuk menjadi Bundar/Bola", + "Gelombang" + ], + "Pecah Gambar", + [ + "Pecahkan Gambar", + "Hapus debu dan goresan", + "Tambahkan debu dan goresan", + "Median" + ], + "Ubah jadi Pecahan Piksel", + [ + "Ubah jadi Halftone", + "Ubah jadi kristal", + "Segi", + "Potongan", + "Mezzotint", + "Mosaik", + "Titik-Titik" + ], + "Render", + [ + "Berawan", + "Awan-awan aneh", + null + ], + "Pertajam", + [ + "Pertajam", + "Pertajam tepi", + "Tajam Banget", + "Pertajaman Pintar", + "Batalin Mask Pertajaman" + ], + "Ubah-ubah", + [ + "Baurkan", + "Timbulkan", + "Tarik-Keluarkan", + "Cari Sudut", + null + ], + "Lainnya", + [ + "Terserah", + null, + "Maksimum", + "Minimum", + null, + "Ulang" + ], + [ + null, + "Atur jadi Transparan", + null, + null, + "Filter sebelumnya", + "Pratinjau" + ] + ], + [ + "Templat", + [ + "Malaysia", + "Kata kunci", + "Acak" + ], + [ + "Dengan simbol", + "Dengan foto" + ], + [ + "Thumbnails", + "Daftar" + ] + ] + ], + [ + [ + "文件", + "编辑", + "图像", + "图层", + "文件夹", + "选择", + "滤镜", + "视图", + "窗口", + "语言", + "登录的 的", + "注销", + "创建翻译", + [ + "账户", + "服务条款", + "返回", + "关于", + "反馈错误", + "学习" + ], + "更多", + "主题", + "使用 WebGL", + [ + "Photopea: 高级图片编辑器", + "免费的在线图像编辑器,支持PSD、XCF、Sketch、XD、CDR等格式", + "创建新图像或打开已有文件。保存你的作品为 PSD 格式(文件 - 另存为 PSD)或 JPG / PNG / SVG 格式(文件 - 导出为)。", + "在我们的 上提出功能需求。我们的目标是打造 <最强大而易用的图片编辑器>", + "赞助商链接在新窗口中打开。", + "此功能不可使用。", + "安装 Photopea" + ] + ], + [ + "打开", + "在线发布", + "保存", + "另存为 PSD", + "打印", + "从 URL 打开", + "从电脑打开", + "连接 Google Drive", + "导出为", + "导出图层", + "脚本", + "打开并放置", + "关闭", + "本地存储", + "Hustle Fresh" + ], + [ + "重做", + "撤销", + "清除", + "填充", + "变形", + "旋转", + "VAR0翻转", + "VAR0缩放", + "撤销/重做", + "透视", + [ + "自动混合", + "自动对齐" + ], + "渐隐", + "应用图像" + ], + "调整", + [ + "亮度 / 对比度", + "色阶", + "曲线", + "曝光度", + "自然饱和度", + "色调/饱和度", + "色彩平衡", + "黑白", + "图片滤镜", + "通道混合器", + "颜色查找", + "反向", + "色调分离", + "阈值", + "渐变映射", + "可选颜色", + [ + "刘德华", + "自动对比度", + "自动颜色" + ], + "微软雅黑" + ], + [ + "剪切", + "复制", + "粘贴", + "新建", + "删除", + "启用", + "禁用", + "复制合并", + "应用", + "再次", + "更新" + ], + [ + "复制图层", + "新调整图层", + "光栅遮罩", + "矢量蒙版", + "添加(显示全部)", + [ + "添加(隐藏全部)", + "显示选区", + "隐藏选区", + "从透明区域" + ], + [ + "剪切蒙版", + "快速遮罩模式" + ], + "转化为智能对象", + "栅格化", + "图层组", + "向下合并", + "向上合并", + [ + "合并图层", + "拼合图像" + ], + "新建图层", + "开启光栅遮罩", + "禁用光栅遮罩", + "开启矢量蒙版", + "禁用矢量蒙版", + "开启剪切蒙版", + "禁用剪切蒙版", + "新建文件夹", + "添加光栅蒙版", + "删除光栅蒙版", + "添加矢量蒙版", + "删除矢量蒙版", + "链接光栅蒙版", + "取消光栅遮罩链接", + "连接矢量蒙版", + "取消矢量蒙版链接", + "启用图层效果", + "禁用图层效果", + "删除图层", + "图层透明度更改", + "混合更改", + "栅格化图层样式", + "图层排序", + [ + "创建智能对象", + "更新智能对象", + "放置智能对象", + "来源(智能对象)", + "堆叠模式" + ], + "重命名", + "更改颜色", + "编辑调整图层", + "转换为形状", + "开启滤镜遮罩", + "禁用滤镜遮罩", + "开启智能滤镜", + "禁用智能滤镜", + "添加滤镜遮罩", + "删除滤镜遮罩", + "清除智能滤镜", + [ + [ + "填充", + "渐变填充", + "图案填充", + "内容感知" + ], + "新建图层", + "修改填充层" + ], + "图层(通过复制)", + "滤镜蒙版", + "删除图层样式", + "移动智能滤镜", + "删除智能滤镜", + [ + "连接图层", + "取消图层连接" + ], + "排列", + [ + "置于顶层", + "前移一层", + "后移一层", + "置于底层" + ], + [ + "图层已锁定", + "锁定修改", + "锁定" + ], + "动画" + ], + [ + "全部", + "取消选择", + "反选", + "修改", + "扩展", + "收缩", + "羽化", + "移动选区", + "色彩范围", + "边框", + "转换所选项", + "调整边缘", + "恢复选区", + "魔术切" + ], + [ + "放大", + "缩小", + "参考线", + "标尺", + "网格", + "快照", + "对齐到", + "页面边界", + "像素网格", + "路径", + "像素对齐", + [ + "切片", + "切片选项" + ], + "显示" + ], + [ + "历史记录", + "图层", + "属性", + "笔刷", + "字符", + "段落", + "信息", + "图层组合", + "取样", + "动作", + "立方图", + "导航器", + "工具预设", + "字形" + ], + [ + "笔刷工具", + "克隆工具", + "剪切工具", + "橡皮工具", + "椭圆选区", + "吸管", + "渐变工具", + "手型工具", + "文字工具", + "套索", + "磁性套索", + "移动", + "魔棒", + "填充", + "多边形套索", + "矩形", + "自由变换", + "放大镜工具", + "模糊", + "锐化工具", + "涂抹工具", + "减淡工具", + "加深工具", + "海绵工具", + "污点修复笔刷工具", + "修复画笔工具", + "修补工具", + "路径选择", + "直接选择", + "钢笔", + "自由钢笔", + "自定形状工具", + "矩形", + "椭圆形", + "形状图形", + "线", + "尺子", + "快速选中", + "铅笔工具", + "透视裁剪工具", + "切片", + "切片选择", + "颜色更换", + "红眼工具", + "选取目标", + "背景擦", + "布偶弯曲", + "旋转视图", + "内容识别比例", + "内容识别移动" + ], + [ + "拍照", + "拾色器", + "等高线编辑器", + "画布大小", + "复制到...", + "渐变编辑器", + "图层样式", + "新建项目", + "另存为网页", + "弯曲", + "图像大小", + "向量位图", + [ + "裁切", + "裁剪", + "显示全部" + ], + "键盘快捷键", + "添加参考线", + [ + "清除参考线", + "图层引导" + ] + ], + [ + "透明度", + "效果", + "亮度", + [ + "对比度", + "使用旧版" + ], + "通道", + "曝光度", + "补偿", + "伽玛校正", + "色调", + "饱和度", + "明度", + "着色", + "范围", + "抖动", + [ + "大小", + "插值", + "邻近", + "两次线性" + ], + "角度", + "圆度", + "硬度", + "间距", + [ + "混合模式", + "混合颜色带" + ], + "样本大小", + "轮廓", + "样式", + [ + "反向", + "相对", + "定位" + ], + "容差", + "连续", + "填充", + "全局视图", + "距离", + "扩展", + "杂色", + "移除阴影", + "技巧", + "方向", + "深度", + "软化", + "样式", + "渐变", + "缩放", + "图层对齐", + "位置", + "宽", + "高度", + "目标", + "类型", + "前景色", + "背景色", + "自定义", + "名字", + "创建", + "格式", + "保持长宽比", + [ + "质量", + "网页" + ], + "复制", + "更多", + "智能滤镜", + "圆角", + "数量", + "分布", + [ + "统一", + "高斯" + ], + "单色", + "栅格大小", + "样式", + "流", + "强度", + "保护细节", + "填色类型", + "贴图", + "抖动", + "边缘", + "源", + "目标", + "通道", + "蒙版", + "密度", + "对齐", + [ + "路径", + "形状", + "像素", + "英寸", + "厘米", + "毫米", + "百分比" + ], + "图形", + "边", + "首选项", + [ + "长度", + "比例", + "任何", + "网格类型", + "等距", + "网格间距", + "标尺单位" + ], + "降低噪点", + "色彩", + "距离", + "比例", + "自动选择", + "查找", + "定义新的", + [ + "照片", + "屏幕", + "移动", + "广告", + "打印" + ], + [ + "释放", + "固定比例", + "固定大小" + ], + "帮助", + [ + "实时形状", + "编辑实时形状", + "相同半径" + ], + "模糊", + [ + "多边形", + "星状", + "螺旋", + "正方形" + ], + [ + "角半径", + "内半径" + ] + ], + [ + "颜色", + [ + "无", + "红", + "橙色", + "黄色", + "绿色", + "蓝色", + "紫色", + "灰色", + "白色", + "透明", + "黑", + "青色", + "品红", + "中性色" + ], + "总量", + "绝对", + "保持亮度" + ], + [ + "阴影", + "内阴影", + "外发光", + "内发光", + "斜面和浮雕", + "颜色叠加", + "渐变叠加", + "图案叠加", + "光泽", + "描边", + "混合模式", + "像素选择" + ], + [ + "笔尖形状", + "提示动态", + "散射", + "动态颜色", + [ + "大小调整", + "最小直径", + "角度调整", + "圆形调整", + "最小圆度" + ], + [ + "位置调整", + "数量", + "分布调整" + ], + [ + "前景/背景调整", + "色调调整", + "饱和度", + "亮度调整" + ], + [ + "通过按住Alt(或K)选择克隆源,并单击图像。", + "用白色标记前景,用黑色标记背景,用灰色标记未知区域。", + "无法编辑图层。", + "必须对文本图层进行栅格化", + "必须对智能对象进行栅格化", + "选择多个图层", + "拉直图层", + "首先打开文档。", + "首先关闭当前窗口。", + "仅限当前工具" + ], + [ + "记录", + "新动作集", + "新动作" + ], + [ + "绘图板压力控制不透明度", + "绘图板压力控制大小" + ], + [ + "正常", + "溶解", + "变暗", + "正片叠底", + "颜色加深", + "线性加深", + "浅色", + "变亮", + "滤色", + "颜色减淡", + "线性减淡", + "深色", + "叠加", + "柔光", + "强光", + "亮光", + "线性光", + "点光", + "实色混合", + "差值", + "排除", + "减去", + "划分", + "色相", + "饱和度", + "颜色", + "明度", + "穿透" + ] + ], + [ + "行距", + "字距", + "基线偏移", + [ + "转换为点文本", + "转换为段落文本" + ] + ], + [ + "所有图层", + "当前图层", + "选择", + "当前和下方图层" + ], + [ + "替换", + "合并", + "分离", + "交叉", + "排除", + "合并" + ], + [ + [ + "线性", + "径向", + "角", + "倒影", + "菱形", + "形状脱离" + ], + [ + "柔和", + "精确" + ], + [ + "外斜角", + "内斜角", + "浮雕", + "枕状浮雕", + "边缘浮雕", + "描边宽" + ], + [ + "平滑", + "雕刻清晰", + "雕刻柔和", + "平滑度" + ], + [ + "上", + "下" + ], + [ + "外部", + "中心", + "内部", + "从中心" + ], + [ + "阴影", + "中间调", + "高光" + ], + [ + "去色", + "饱和" + ], + [ + "小", + "中", + "大" + ], + [ + "端点", + "角", + "短划线" + ] + ], + [ + "自动选择", + "变换工具", + "像素到像素", + "按屏幕大小缩放", + [ + "左对齐", + "水平居中", + "右对齐", + "顶部对齐", + "垂直居中", + "底部对齐", + "等间距" + ] + ], + [ + "应用图像", + "当前项目", + "新建项目", + "分辨率", + "添加到当前项目中。", + "新项目已创建", + "摄像机的访问被拒绝。" + ], + [ + "定位", + "弯曲变形", + "水平变形", + "垂直变形", + [ + "水平", + "垂直", + "水平", + "垂直" + ], + [ + "无", + "弧", + "下弧形", + "向上弧度", + "弓形", + "凸起", + "下张", + "上张", + "标记", + "波形", + "搜寻", + "上升", + "鱼眼", + "膨胀", + "挤压", + "扭曲", + "自定义" + ], + [ + "字体", + "不可用", + "将被渲染使用", + "有未保存的工作", + "你真的想关闭吗?" + ], + [ + "替换颜色", + "默认值:白色和黑色" + ] + ], + [ + "已加载", + "添加", + "移动参考线", + "删除参考线", + "添加参考线", + "加载", + "加载 VAR0" + ], + [ + "滤镜组", + [ + [ + "液化", + [ + "涂抹", + "重建", + "平滑", + "旋转", + "压缩", + "放大", + "向左推", + "锁定", + "解锁" + ] + ], + [ + "镜头校正" + ] + ], + "模糊", + [ + "平均", + "模糊", + "高斯模糊", + "方形模糊", + "高斯模糊", + "镜头模糊", + "动态模糊", + "圆形模糊", + "形状模糊", + "智能模糊", + "表面模糊" + ], + "变形", + [ + "替换", + "挤压", + "极坐标", + "波纹", + "斜变", + "球面化", + "波浪" + ], + "噪点", + [ + "添加杂色", + "祛斑", + "蒙尘与刮痕", + "中值" + ], + "像素化", + [ + "彩色半调", + "晶格化", + "彩块化", + "碎片", + "铜板雕刻", + "马赛克", + "点状化" + ], + "渲染", + [ + "云彩", + "差值分层云彩", + "镜头光晕" + ], + "锐化", + [ + "锐化", + "锐化边缘", + "进一步锐化", + "智能锐化", + "USM 锐化" + ], + "风格化", + [ + "扩散", + "浮雕", + "挤压", + "查找边缘", + "油画" + ], + "其它", + [ + "自定义", + "高反差保留", + "最大值", + "最小值", + "抵消", + "重复" + ], + [ + "未定义区域", + "设为透明", + "重复像素边缘", + "环绕", + "上次滤镜", + "预览" + ] + ], + [ + "模板", + [ + "字体过滤", + "关键词", + "随机" + ], + [ + "带符号", + "带图片" + ], + [ + "缩览图", + "列表" + ] + ] + ], + [ + [ + "檔案", + "編輯", + "影像", + "圖層", + "資料夾", + "選取", + "濾鏡", + "檢視", + "視窗", + "語言", + "登入", + "登出", + "建立翻譯", + [ + "帳戶", + "服務條款", + "返回", + "關於", + "回報問題", + "學習" + ], + "更多", + "主題", + "使用 WebGL", + [ + "Photopea: 進階影像編輯器", + "支援 PSD, XCF, Sketch, XD 和 CDR 格式的免費在線編輯器。", + "創建新圖像或打開已有文件。保存工作為 PSD 格式(文件 - 另存為 PSD)或 JPG / PNG / SVG 格式(文件 - 轉存為)。", + "在我們的 上提供新功能建議 。我們的目標是打造 <最強大而易用的圖片編輯器>。", + "贊助商鏈接將在新窗口打開。", + "此功能不可使用。", + "安裝 Photopea" + ] + ], + [ + "開啟", + "線上發佈", + "存檔", + "存檔為 PSD", + "列印", + "從網址打開", + "從電腦開啟", + "連接Google Drive", + "轉存為", + "輸出圖層", + "腳本", + "置入", + "關閉", + "內部存儲", + "檔案信息" + ], + [ + "下一步", + "上一步", + "清空", + "填滿", + "變形", + "旋轉", + "VAR0翻轉", + "VAR0比例尺", + "返回 / 向前", + "透視", + [ + "自動合成", + "自動對齊" + ], + "淡化", + "套用影像" + ], + "調整", + [ + "亮度 / 對比", + "色階", + "曲線", + "曝光", + "鮮艷", + "色相 / 飽和度", + "色彩平衡", + "黑白", + "圖片濾鏡", + "通道混合器", + "色彩查詢", + "倒置", + "色調分離", + "閾值", + "漸層地圖", + "色彩選擇", + [ + "自動色調", + "自動對比", + "自動色彩" + ], + "取代顏色" + ], + [ + "剪下", + "複製", + "貼上", + "新增", + "刪除", + "開啟", + "關閉", + "複製合併", + "應用", + "再一次", + "更新" + ], + [ + "複製圖層", + "新調整圖層", + "光柵遮罩", + "向量遮罩", + "新增(顯示全部)", + [ + "新增(隱藏全部)", + "顯現選取範圍", + "隱藏選取範圍", + "來自透明選取範圍" + ], + [ + "剪裁遮罩", + "快速遮色片模式" + ], + "轉換成智慧物件", + "柵格化", + "圖層群組", + "向下合併", + "向上合併", + [ + "合併圖層", + "影像平面化" + ], + "新圖層", + "開啟光柵遮罩", + "關閉光柵遮罩", + "開啟向量遮罩", + "關閉光柵遮罩", + "開啟剪裁遮罩", + "關閉剪裁遮罩", + "新資料夾", + "新增光柵遮罩", + "移除光柵遮罩", + "新增向量遮罩", + "移除向量遮罩", + "連結光柵遮罩", + "移除光柵遮罩連結", + "聯結向量圖遮色片", + "取消鏈接向量圖遮色片", + "啟用圖層效果", + "關閉圖層效果", + "刪除圖層", + "更改圖層不透明度", + "混合變更", + "點陣化圖層樣式", + "圖層順序", + [ + "建立智慧型物件", + "更新智慧型物件", + "建立智慧型物件", + "來源 (智能物件)", + "堆疊模式" + ], + "更改命名", + "更改顏色", + "編輯調整圖層", + "轉換成圖形", + "啟用過濾遮罩", + "關閉過濾遮罩", + "啟用智慧過濾", + "關閉智慧過濾", + "新增過濾遮罩", + "刪除過濾遮罩", + "清除智慧過濾", + [ + [ + "實色填滿", + "漸層填滿", + "網格填滿", + "內容意識" + ], + "新建填充圖層", + "變更填充圖層" + ], + "圖層(通過複製)", + "濾鏡遮罩", + "刪除圖層樣式", + "移動智慧遮罩", + "刪除智慧遮罩", + [ + "超鏈接圖層", + "取消超鏈接圖層" + ], + "排列", + [ + "移上一層", + "移下一層", + "下移一層", + "移到下層" + ], + [ + "圖層已被鎖定", + "鎖定變更", + "鎖定" + ], + "動畫" + ], + [ + "全部", + "取消選擇", + "反選", + "修改", + "擴展", + "對比", + "羽化", + "移動選擇項目", + "顏色範圍", + "邊框", + "變形選區", + "調整邊緣", + "恢復選擇", + null + ], + [ + "放大", + "縮小", + "參考線", + "尺規", + "格線", + "對齊", + "對齊到", + "頁面邊界", + "像素格點", + "路徑", + "對齊像素", + [ + "切片", + "切片選項" + ], + "顯示" + ], + [ + "歷史紀錄", + "圖層", + "屬性", + "刷子", + "符號", + "段落", + "資訊", + "圖層構圖", + "顏色板", + "動作", + "直方圖", + "導覽器", + "工具預設集", + "字符" + ], + [ + "筆刷工具", + "複製工具", + "裁剪工具", + "橡皮擦工具", + "橢圓選取", + "滴管", + "漸層", + "手繪工具", + "文字工具", + "套索選取", + "磁性套索選取", + "移動工具", + "魔術棒", + "油漆桶工具", + "多邊形套索選取", + "矩形選取", + "自由變換", + "縮放工具", + "模糊工具", + "銳利化工具", + "指尖工具", + "加亮工具", + "加深工具", + "海綿工具", + "污點修復筆刷工具", + "修復筆刷工具", + "修補工具", + "路徑選擇", + "直接選擇", + "鋼筆", + "自由鋼筆", + "自訂形狀工具", + "矩形", + "橢圓形", + "形狀圖形", + "線", + "尺標", + "快速選擇", + "鉛筆工具", + "透視修剪", + "切片", + "切片選取", + "顏色取代工具", + "紅眼", + "物件選擇", + "背景像皮擦", + "布偶彎曲", + "旋轉檢視", + "內容感知比率", + "內容感知移動" + ], + [ + "快照", + "色彩選擇", + "輪廓編輯器", + "畫布尺寸", + "複製到...", + "漸變編輯器", + "圖層樣式", + "新增專案", + "另存網頁", + "曲線", + "圖片大小", + "向量像素化", + [ + "修剪", + "裁剪", + "顯示全部" + ], + "熱鍵", + "添加參考線", + [ + "清除參考線", + "從圖層新增參考線" + ] + ], + [ + "透明度", + "效果", + "亮度", + [ + "對比", + "使用舊版" + ], + "色版", + "曝光度", + "偏移", + "伽馬校正", + "色相", + "飽和度", + "亮度", + "著色", + "範圍", + "抖動", + [ + "大小", + "內插", + "最接近像素", + "縱橫增值法" + ], + "角度", + "圓度", + "硬度", + "間距", + [ + "混合模式", + "混合範圍" + ], + "樣本大小", + "輪廓", + "風格", + [ + "顛倒", + "相對", + "錨點" + ], + "容差", + "連續", + "填滿", + "使用全局視角", + "距離", + "擴散", + "雜訊", + "移除陰影", + "技巧", + "方向", + "深度", + "柔化", + "模式", + "漸層", + "比例尺", + "圖層對齊", + "位置", + "寬", + "高", + "目的地", + "類型", + "前景色", + "背景", + "自定義", + "名稱", + "建立", + "格式", + "保持長寬比例", + [ + "質量", + "網頁" + ], + "複製", + "移動", + "智能濾鏡", + "半徑", + "數量", + "分佈", + [ + "統一", + "高斯" + ], + "單色", + "格大小", + "圖樣", + "流", + "強度", + "保護細節", + "填色類型", + "紋理", + "抖動", + "邊緣", + "來源", + "目標", + "通道", + "遮罩", + "密度", + "對齊", + [ + "路徑", + "形狀", + "像素", + "英寸", + "公分", + "毫米", + "百分比" + ], + "圖形", + "邊", + "選項", + [ + "長", + "比例", + "任意", + "格框類型", + "等角", + "格框間隙", + "尺單位" + ], + "移除雜訊", + "色彩", + "距離", + "比例", + "自動選擇", + "搜尋", + "定義新的", + [ + "照片", + "螢幕", + "手機", + "廣告", + "版畫" + ], + [ + "自由", + "鎖定比例", + "鎖定大小" + ], + "幫助", + [ + "即時形狀", + "編輯即時形狀", + "相同半徑" + ], + "模糊度", + [ + "多邊形", + "星", + "螺旋", + "方形" + ], + [ + "角半徑", + "內半徑" + ] + ], + [ + "顏色", + [ + "無", + "紅", + "橘", + "黃", + "綠", + "藍", + "紫", + "灰", + "白", + "透明", + "黑", + "青色", + "品紅", + "中色" + ], + "總計", + "絕對", + "保持亮度" + ], + [ + "陰影", + "內陰影", + "外發光", + "內發光", + "斜面與浮雕", + "顏色疊加", + "漸變疊加", + "紋理疊加", + "光澤", + "筆畫", + "混合模式", + "選擇畫素" + ], + [ + "筆尖形狀", + "提示動態", + "散射", + "動態顏色", + [ + "大小調整", + "最小直徑", + "角度調整", + "圓度調整", + "最小圓度" + ], + [ + "位置調整", + "數量", + "數量調整" + ], + [ + "前景/後景調整", + "色相調整", + "飽和度調整", + "亮度調整" + ], + [ + "按住Alt鍵(或K鍵)並點擊在影像上以選取複製來源", + "使用白色標註前景,黑色為背景,灰色為未知區域", + "圖層無法編輯。", + "必須先對文字圖層進行光柵化", + "必須先對智能對象進行光柵化", + "選中多個圖層", + "拉直層", + "首先打開文檔。", + "首先關閉當前窗口。", + "僅限目前工具" + ], + [ + "記錄", + "新動作集", + "新動作" + ], + [ + "數位板壓力控制不透明度", + "數位板壓力控制大小" + ], + [ + "正常", + "溶解", + "變暗", + "色彩增值", + "加深顏色", + "線性加深", + "顏色變暗", + "變亮", + "濾色", + "加亮顏色", + "線性加亮", + "顏色變亮", + "覆蓋", + "柔光", + "實光", + "強烈光源", + "線性光源", + "小光源", + "實色疊印混合", + "差異化", + "排除", + "減去", + "分割", + "色相", + "飽和度", + "顏色", + "明度", + "穿過" + ] + ], + [ + "行距", + "字距", + "基線偏移", + [ + "轉換為錨點文字", + "轉換為段落文字" + ] + ], + [ + "全部圖層", + "目前圖層", + "選擇", + "目前及底下的圖層" + ], + [ + "取代", + "合併", + "分離", + "相交", + "排除", + "合併" + ], + [ + [ + "線性", + "徑向", + "角度", + "反映", + "鑽石", + "形狀爆裂" + ], + [ + "柔和", + "精確" + ], + [ + "外斜角", + "內斜角", + "浮雕", + "枕狀浮雕", + "邊緣浮雕", + "線條寬度" + ], + [ + "平滑", + "雕刻清晰", + "雕刻柔和", + "平滑度" + ], + [ + "上", + "下" + ], + [ + "外部", + "中央", + "內部", + "從中央" + ], + [ + "陰影", + "中間調", + "亮部" + ], + [ + "去飽和度", + "飽和度" + ], + [ + "小", + "中", + "大" + ], + [ + "端點", + "轉折角", + "短橫線" + ] + ], + [ + "選擇游標下的物件", + "變形調控", + "像素到像素", + "按屏幕大小縮放", + [ + "左邊緣對齊", + "水平置中", + "右邊緣對齊", + "頂端對齊", + "垂直置中", + "底端對齊", + "間隔相等" + ] + ], + [ + "應用圖像", + "目前專案", + "新方案", + "分辨度", + "加入本方案", + "已經建立一個新的專案", + "對攝像頭的操作被拒絕" + ], + [ + "定位", + "彎曲變形", + "水平變形", + "垂直變形", + [ + "水平", + "垂直", + "水平", + "垂直" + ], + [ + "無", + "弧", + "下弧形", + "上弧形", + "弓形", + "凸起", + "下張", + "上張", + "旗標", + "波浪", + "魚", + "上升", + "魚眼", + "膨脹", + "擠壓", + "扭曲", + "自定義" + ], + [ + "字體", + "不可用", + "渲染(將使用)", + "有未保存工作在", + "確定要關閉?" + ], + [ + "交換顏色", + "預設: 白與黑" + ] + ], + [ + "加載", + "加入", + "移動參考線", + "刪除參考線", + "加入參考線", + "載入中", + "載入 VAR0" + ], + [ + "濾鏡庫", + [ + [ + "液化", + [ + "塗抹", + "重建工具", + "平滑", + "旋轉扭曲", + "縮攏工具", + "膨脹工具", + "向左移動", + "凍結", + "取消凍結" + ] + ], + [ + "鏡頭矯正" + ] + ], + "模糊", + [ + "平均", + "模糊", + "更多模糊", + "方形模糊", + "高斯模糊", + "鏡頭模糊", + "行動模糊", + "圓形模糊", + "形狀模糊", + "智能模糊", + "表面模糊" + ], + "變形", + [ + "更換", + "掐", + "極座標", + "漣漪效果", + "修剪", + "球體化", + "波狀" + ], + "雜訊", + [ + "加入雜訊", + "斑點", + "蒙塵與刮痕", + "中值" + ], + "像素化", + [ + "彩色半調", + "水晶化", + "彩塊化", + "碎片", + "銅板雕刻", + "馬賽克", + "點狀化" + ], + "渲染", + [ + "雲彩", + "差值分層雲彩", + "反光效果" + ], + "銳利化", + [ + "銳利化", + "邊緣銳化", + "更多銳化", + "智慧銳利化", + "USM 蒙板" + ], + "風格化", + [ + "擴散", + "浮雕", + "擠壓", + "查找邊緣", + "油畫" + ], + "其他", + [ + "自定義", + "高反差保留", + "最大值", + "最小值", + "偏移", + "重覆" + ], + [ + "未定義區域", + "設為透明", + "重複像素邊緣", + "環繞", + "最後一個濾鏡", + "預覽" + ] + ], + [ + "模板", + [ + "字體過濾", + "關鍵字", + "隨機" + ], + [ + "帶符號", + "帶圖片" + ], + [ + "型縮圖", + "清單" + ] + ] + ], + [ + [ + "ไฟล์", + "แก้ไข", + "รูปภาพ", + "เลเยอร์", + "โฟลเดอร์", + "เลือก", + "ตัวกรอง", + "มุมมอง", + "หน้าต่าง", + "ภาษา", + "เข้าสู่ระบบ", + "ออกจากระบบ", + "สร้างการแปล", + [ + "บัญชี", + "เงื่อนไขการใช้งาน", + "ย้อนกลับ", + "เกี่ยวกับ", + "รายงานความผิดพลาด", + "เรียนรู้" + ], + "เพิ่มเติม", + "ธีม", + "ใช้ WebGL", + [ + "Photopea: โปรแกรมแก้ไขภาพขั้นสูง", + "โปรแกรมแก้ไขออนไลน์ฟรีที่รองรับรูปแบบ PSD, XCF, Sketch, XD และ CDR", + "สร้างภาพใหม่หรือเปิดไฟล์ที่มีอยู่จากคอมพิวเตอร์ของคุณ บันทึกงานของคุณเป็น PSD (ไฟล์ - บันทึกเป็น PSD) หรือเป็น JPG / PNG / SVG (ไฟล์ - ส่งออกเป็น)", + "แนะนำคุณสมบัติใหม่ที่ หรือ ของเรา เป้าหมายของเราคือการสร้าง <โปรแกรมแก้ไขภาพที่ทันสมัยที่สุดและราคาไม่แพง>", + "ลิงก์จากผู้สนับสนุนเปิดในหน้าต่างใหม่", + "ฟีเจอร์นี้ไม่พร้อมใช้งาน", + null + ] + ], + [ + "เปิด", + "เผยแพร่ทางออนไลน์", + "บันทึก", + "บันทึกเป็น PSD", + "พิมพ์", + "เปิดจาก URL", + "เปิดจากคอมพิวเตอร์", + "เชื่อมต่อกับ Google Drive", + "ส่งออกเป็น", + "ส่งออกเลเยอร์", + "สคริปท์", + "เปิดและวาง", + "ปิด", + "ไฟล์ข้อมูล ท้องถิ่น", + null + ], + [ + "ขั้นตอนต่อไป", + "ขั้นตอนก่อนหน้า", + "ล้าง", + "ใส่", + "แปลง", + "หมุน", + "พลิกVAR0", + "สเกลVAR0", + "ยกเลิก / ทำซ้ำ", + "มุมมอง", + [ + null, + "การจัดตำแหน่งอัตโนมัติ" + ], + null, + null + ], + "การปรับ", + [ + "ความสว่าง/ความเปรียบต่าง", + "ระดับ", + "เส้นโค้ง", + "การเปิดรับ", + "ความสั่นไหว", + "สีสัน/ความอิ่มตัว", + "ความสมดุลของสี", + "ขาวดำ", + "ตัวกรองภาพถ่าย", + "เครื่องผสมสัญญาณ", + "การค้นหาสี", + "กลับหัวกลับหาง", + "โปสเตอร์", + "ธรณีประตู", + "แผนที่แบบไล่ระดับสี", + "สีที่เลือก", + [ + "ปรับโทนอัตโนมัติ", + "ปรับความเปรียบต่างอัตโนมัติ", + "ปรับสีอัตโนมัติ" + ], + "แทนที่สี" + ], + [ + "ตัด", + "คัดลอก", + "แปะ", + "ใหม่", + "ลบ", + "เปิดใช้งาน", + "ปิดใช้งาน", + "สำเนาควบรวม", + "อะไร", + "อีกที", + "อัปเดต" + ], + [ + "เลเยอร์ซ้ำ", + "เลเยอร์การปรับใหม่", + "หน้ากากแรสเตอร์", + "หน้ากากเวกเตอร์", + "เพิ่ม (แสดงทั้งหมด)", + [ + "เพิ่ม (ซ่อนทั้งหมด)", + "แสดงการเลือก", + "ซ่อนการเลือก", + null + ], + [ + "หน้ากากตัด", + null + ], + "แปลงเป็นวัตถุอัจฉริยะ", + null, + "เลเยอร์กลุ่ม", + "ผสานลง", + "ผสานขึ้น", + [ + "รวมเลเยอร์", + null + ], + "เลเยอร์ใหม่", + "เปิดใช้งานหน้ากากแรสเตอร์", + "ปิดใช้งานหน้ากากแรสเตอร์", + "เปิดใช้งานหน้ากากเวกเตอร์", + "ปิดใช้งานหน้ากากเวกเตอร์", + "เปิดใช้งานหน้ากากตัด", + "ปิดใช้งานหน้ากากตัด", + "โฟลเดอร์ใหม่", + "เพิ่มหน้ากากแรสเตอร์", + "ลบหน้ากากแรสเตอร์", + "เพิ่มหน้ากากเวกเตอร์", + "ลบหน้ากากเวกเตอร์", + "การลิงก์หน้ากากแรสเตอร์", + "ยกเลิกการเชื่อมโยงหน้ากากแรสเตอร์", + "การลิงก์หน้ากากเวกเตอร์", + "ยกเลิกการเชื่อมโยงหน้ากากเวกเตอร์", + "เปิดใช้งานผลลัพท์เลเยอร์", + "ปิดใช้งานเลเยอร์เอฟเฟ็กต์", + "ลบเลเยอร์", + "เปลี่ยนความทึบของเลเยอร์", + "การผสมผสานการเปลี่ยนแปลง", + null, + "ลำดับชั้น", + [ + "การสร้างวัตถุอัจฉริยะ", + "กำลังอัปเดตวัตถุอัจฉริยะ", + "การวางวัตถุอัจฉริยะ", + "แหล่ง (วัตถุอัจฉริยะ)", + null + ], + "เปลี่ยนชื่อ", + "เปลี่ยนสี", + "แก้ไขเลเยอร์การปรับแต่ง", + "แปลงเป็นรูปทรง", + "เปิดใช้งานตัวกรองหน้ากาก", + "ปิดใช้งานหน้ากากกรอง", + "เปิดใช้งานตัวกรองอัจฉริยะ", + "ปิดใช้งานตัวกรองอัจฉริยะ", + "เพิ่มหน้ากากกรอง", + "ลบหน้ากากกรอง", + "ล้างตัวกรองอัจฉริยะ", + [ + [ + "สีทึบเติม", + "ไล่ระดับเติม", + "ลวดลายเติม", + null + ], + "เลเยอร์การเติมใหม่", + "แก้ไขเลเยอร์การเติม" + ], + "เลเยอร์ผ่านทางสำเนา", + "กรองมาสก์", + "ลบรูปแบบเลเยอร์", + "ย้ายตัวกรองอัจฉริยะ", + "ลบตัวกรองอัจฉริยะ", + [ + "การลิงก์เลเยอร์", + "ยกเลิกการเชื่อมโยงเลเยอร์" + ], + "จัดเรียง", + [ + "ข้างหน้า", + "นำไปไว้ข้างหน้า", + "ส่งกลับไปข้างหลัง", + "ส่งไปหลังสุด" + ], + [ + "เลเยอร์ถูกล็อค", + "แก้ล็อค", + null + ], + null + ], + [ + "ทั้งหมด", + "ยกเลิกการเลือก", + "ผกผัน", + "แก้ไข", + "ขยายตัว", + "สัญญา", + "ขน", + "ย้ายการเลือก", + "ช่วงสี", + "ชายแดน", + "เปลี่ยนการเลือก", + "ปรับขอบ", + null, + null + ], + [ + "ขยายเข้า", + "ซูมออก", + "เส้นบอกแนว", + "ผู้ปกครอง", + "ตาราง", + "ตะครุบ", + "จับไปที่", + "ขอบเขตเอกสาร", + "ตารางพิกเซล", + "พาธ", + null, + [ + null, + null + ], + null + ], + [ + "ประวัติ", + "เลเยอร์", + "คุณสมบัติ", + "แปรง", + "รูปลักษณ์", + "ย่อหน้า", + "ข้อมูล", + "รวมเลเยอร์", + "ตัวอย่าง", + "แมโคร", + "ฮิสโทแกรม", + "ภาพรวม", + null, + null + ], + [ + "เครื่องแปรง", + "เครื่องสำเนา", + "เครื่องครอบตัด", + "เครื่องมือยางลบ", + "เลือกแบบวงรี", + "ที่หยอดตา", + "เครื่องไล่เฉด", + "เครื่องใช้มือ", + "เครื่องพิมพ์อักษร", + "เลือกแบบบ่วง", + "เลือกแบบบ่วงยึด", + "เครื่องย้าย", + "คฑาวิเศษ", + "เครื่องเทสี", + "เลือกแบบบ่วงเหลี่ยม", + "เลือกแบบสี่เหลี่ยม", + "แปลงร่างอิสระ", + "เครื่องขยาย", + "เครื่องทำภาพมัว", + "เครื่องทำภาพชัด", + "เครื่องเกลี่ยสี", + "เครื่องกลบสี", + "เครื่องเผา", + "เครื่องทำฟอง", + "เครื่องมือแปรงซ่อมเป็นจุด", + "เครื่องมือแปรงซ่อม", + "เครื่องมือซ่อม", + "เลือกพาธ", + "เลือกตรงๆ", + "ปากกา", + "ปากกาอิสระ", + "รูปร่างตามใจ", + "สีเหลี่ยม", + "วงรี", + "รูปร่างสมมาตร", + "เส้น", + "ไม้บรรทัด", + "เลือกอย่างเร็ว", + "เครื่องมือดินสอ", + null, + null, + null, + null, + null, + "เลือกวัตถุ", + null, + null, + null, + null, + null + ], + [ + "ถ่ายรูป", + "เลือกสี", + "ตัวแก้เส้นขอบ", + "ขนาดผ้าวาด", + "สำเนาไปที่ ...", + "ตัวแก้การไล่สี", + "ลักษณะเลเยอร์", + "โครงการใหม่", + "จัดเก็บสำหรับใช้กับเว็บ", + "วาร์ป", + "ขนาดภาพ", + null, + [ + "ตัดขอบ", + null, + "เปิดเผยทั้งหมด" + ], + "แป้นลัด", + "เพิ่มเส้นบอกแนว", + [ + null, + null + ] + ], + [ + "ความทึบแสง", + "ลูกเล่น", + "ความสว่าง", + [ + "ความเปรียบต่าง", + "ใช้อัลกอริทึมเก่า" + ], + "ช่อง", + "ช่องรับแสง", + "ระยะ", + "การแก้แกมม่า", + "สีสัน", + "ความอิ่มตัว", + "ความสว่าง", + "เล่นสี", + "ช่วง", + "ความสด", + [ + "ขนาด", + null, + null, + null + ], + "ุมุม", + "ความมน", + "ความแข็ง", + "ระยะว่าง", + [ + "รูปแบบการกลืน", + null + ], + "ขนาดพื้นฐาน", + "เส้นแสดงรูปร่าง", + "สไตล์", + [ + "ย้อนกลับ", + null, + null + ], + "บริษัท", + "ติดกัน", + "เติม", + "ใช้มุมทั่วโลก", + "ระยะ", + "ขยาย", + "ตัวกรองเสียงรบกวน", + "นำเงาออก", + "เทคนิค", + "ทิศทาง", + "ความลึก", + "อ่อนลง", + "โหมด", + "ไล่ระดับ", + "สเกล", + "จัดเรียงตามเลเยอร์", + "ตำแหน่ง", + "กว้าง", + "สูง", + "เป้าหมาย", + "ประเภท", + "เบื้องหน้า", + "พื้นหลัง", + "กำหนดเอง", + "ชื่อ", + "สร้าง", + "รูปแบบ", + "รักษาอัตราส่วน", + [ + "คุณภาพ", + "หน้า" + ], + "ทำซ้ำ", + "ย้าย", + "ตัวกรองอัจฉริยะ", + "รัศมี", + "จำนวน", + "การกระจาย", + [ + "รูปแบบ", + "เกาส์เชียน" + ], + "สีเดียว", + "ขนาดโมเสค", + "ลวดลาย", + null, + "เรี่ยวแรง", + "ป้องกันรายละเอียด", + "ประเภทเติม", + "พื้นผิว", + "จีมิน", + "มุม", + "แหล่ง", + "เป้าหมาย", + null, + "หน้ากาก", + null, + "จัดเรียง", + [ + "เส้นทาง", + "รูปร่าง", + "พิกเซล", + "นิ้ว", + "เซนติเมตร", + "มิลลิเมตร", + "เปอร์เซ็นต์" + ], + "รูปร่าง", + null, + "การตั้งค่า", + [ + "ความยาว", + "อัตราส่วน", + "อื่นๆ", + "ประเภทตาราง", + null, + null, + "หน่วยไม้บรรทัด" + ], + "ลดเสียงรบกวน", + "สี", + "ระยะทาง", + null, + "เลือกอัตโนมัติ", + "ค้นหา", + "จำกัดความใหม่", + [ + "รูปภาพ", + "จอแสดงผล", + "มือถือ", + "โฆษณา", + "พิมพ์" + ], + [ + "ฟรี", + null, + "กำหนดขนาดคงที่" + ], + "ช่วยเหลือ", + [ + null, + null, + null + ], + null, + [ + "รูปหลายเหลี่ยม", + "ดาว", + "เกลียว", + null + ], + [ + "รัศมีมุม", + "รัศมีภายใน" + ] + ], + [ + "สี", + [ + "ไม่มีสี", + "สีแดง", + "สีส้ม", + "สีเหลือง", + "สีเขียว", + "สีน้ำเงิน", + "สีม่วง", + "สีเทา", + "สีขาว", + "ความโปร่งใส", + "สีดำ", + "สีไซอัน", + "สีม่วงแดง", + null + ], + null, + "สัมบูรณ์", + null + ], + [ + "วางเงา", + "เงาภายใน", + "ส่องแสงด้านนอก", + "ส่องแสงด้านใน", + null, + null, + null, + null, + null, + "ขอบ", + null, + null + ], + [ + "รูปร่างปลาย", + "รูปร่างไดนามิก", + null, + "สีไดนามิค", + [ + null, + null, + null, + null, + null + ], + [ + null, + "รวม", + null + ], + [ + null, + null, + null, + null + ], + [ + "เลือกแหล่งโคลนโดยการกด Alt (หรือ K) และคลิกที่ภาพ", + null, + "ไม่สามารถแก้ไขเลเยอร์ได้", + null, + null, + "เลือกหลายเลเยอร์", + null, + "เปิดเอกสารก่อน", + "ปิดหน้าต่างปัจจุบันก่อน", + null + ], + [ + "เรกคอร์ด", + "ใหม่ชุดแมโคร", + "ใหม่แมโคร" + ], + [ + null, + null + ], + [ + "Normal", + "Dissolve", + "Darken", + "Multiply", + "Color Burn", + "Linear Burn", + "Darker Color", + "Lighten", + "Screen", + "Color Dodge", + "Linear Dodge", + "Lighter Color", + "Overlay", + "Soft Light", + "Hard Light", + "Vivid Light", + "Linear Light", + "Pin Light", + "Hard Mix", + "Difference", + "Exclusion", + "Subtract", + "Divide", + "Hue", + "Saturation", + "Color", + "Luminosity", + "Pass Through" + ] + ], + [ + null, + null, + null, + [ + null, + null + ] + ], + [ + "เลเยอร์ทั้งหมด", + "เลเยอร์ปัจจุบัน", + "การเลือก", + null + ], + [ + "แทนที่", + null, + null, + null, + null, + null + ], + [ + [ + "เส้นตรง", + "รัศมี", + "มุม", + null, + null, + null + ], + [ + null, + null + ], + [ + null, + null, + null, + null, + null, + null + ], + [ + null, + null, + null, + null + ], + [ + null, + null + ], + [ + "ด้านนอก", + "ตรงกลาง", + "ด้านใน", + null + ], + [ + null, + null, + null + ], + [ + null, + null + ], + [ + "เล็ก", + "กลาง", + "ใหญ่" + ], + [ + null, + null, + null + ] + ], + [ + null, + null, + "พิกเซลเป็นพิกเซล", + "พอดีกับพื้นที่", + [ + "จัดแนวขอบด้านซ้าย", + "กึ่งกลางแนวนอน", + "จัดแนวขอบด้านขวา", + "จัดแนวขอบด้านบน", + "กึ่งกลางแนวตั้ง", + "จัดแนวขอบด้านล่าง", + null + ] + ], + [ + null, + "โปรเจคปัจจุบัน", + "โปรเจคใหม่", + "ความละเอียด", + "เพิ่มในโปรเจคปัจจุบันแล้ว", + "สร้างโปรเจคใหม่ เรียบร้อยแล้ว", + "การเข้าถึงกล้องถ่ายรูป ถูกปฏิเสธ" + ], + [ + null, + "บิดงอ", + "ความผิดเพี้ยนแนวนอน", + "ความผิดเพี้ยนแนวตั้ง", + [ + "แนวนอน", + "แนวตั้ง", + "แนวนอน", + "แนวตั้ง" + ], + [ + "ไม่มี", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + "กำหนดเอง" + ], + [ + "แบบอักษร", + "ไม่สามารถใช้งานได้", + "จะแสดงผลโดยใช้", + "มีงานที่ไม่ได้บันทึกใน", + "จริงๆคุณต้องการที่จะปิดมันได้หรือไม่" + ], + [ + "สลับสี", + "ค่าเริ่มต้น: สีขาว และ สีดำ" + ] + ], + [ + "โหลดแล้ว", + "เพิ่มแล้ว", + "ย้ายเส้นบอกแนว", + "ลบเส้นบอกแนว", + "เพิ่มคเส้นบอกแนว", + "กำลังโหลด", + "โหลด VAR0" + ], + [ + "แกลลอรี่กรอง", + [ + [ + null, + [ + null, + null, + null, + null, + null, + null, + null, + "แข็ง", + "เลิกแข็ง" + ] + ], + [ + "การแก้ไขเลนส์" + ] + ], + "ตัวกรองเบลอ", + [ + "ค่าเฉลี่ย", + "เบลอ", + "เบลอเพิ่มเติม", + "เบลอสนาม", + "เกาส์เบลอ", + "เลนส์เบลอ", + "โมชั่นเบลอ", + null, + null, + null, + null + ], + "ตัวกรองบิดเบือน", + [ + null, + null, + "พิกัดเชิงขั้ว", + null, + "ตัด", + null, + "คลื่น" + ], + "ตัวกรองเสียงรบกวน", + [ + "เพิ่มเสียงรบกวน", + "ลบเสียงรบกวน", + "ฝุ่นและรอยขีดข่วน", + "มัธยฐาน" + ], + "ตัวกรอง Pixelate", + [ + null, + null, + null, + "ส่วน", + "การแกะแม่พิมพ์วิธีเมดโสะทินท", + null, + null + ], + "ตัวกรอง Render", + [ + "เมฆ", + null, + null + ], + "ตัวกรอง Sharpen", + [ + null, + null, + null, + null, + null + ], + "ตัวกรอง Stylize", + [ + "กระจาย", + null, + null, + null, + null + ], + "อื่นๆ", + [ + "กำหนดเอง", + null, + "สูงสุด", + "ขั้นต่ำ", + "ออฟเซ็ต", + "ทำซ้ำ" + ], + [ + null, + "ตั้งเป็นโปร่งใส", + null, + null, + "ตัวกรองสุดท้าย", + "ดูตัวอย่าง" + ] + ], + [ + "แม่แบบ", + [ + "ตัวกรองแบบอักษร", + "คำสำคัญ", + "สุ่ม" + ], + [ + "พร้อมสัญลักษณ์", + "พร้อมรูปถ่าย" + ], + [ + "รูปขนาดย่อ", + "รายการ" + ] + ] + ], + [ + [ + "ファイル", + "編集", + "イメージ", + "レイヤー", + "フォルダー", + "選択", + "フィルター", + "表示", + "ウインドウ", + "言語", + "ログイン", + "ログアウト", + "翻訳する", + [ + "アカウント", + "利用規約", + "戻る", + "アプリについて", + "バグを報告", + "ラーニング" + ], + "その他", + "テーマ", + "WebGLを使う", + [ + "Photopea:高度な画像エディタ", + "PSD、XCF、Sketch、XD、CDR フォーマットをサポートする無料のオンラインエディタ。", + "新しい画像を作成するか、コンピュータから既存のファイルを開きます。作業内容を PSD(ファイル/PSDとして保存)または JPG、PNG、SVG(ファイル/としてエクスポート)として保存します。", + "またはで新しい機能を提案してください。私たちの目標は、<最も先進的で手頃な価格のフォトエディタ>を作成することです。", + "広告リンクは新しいウィンドウで開きます。", + "この機能は利用できません。", + null + ] + ], + [ + "開く", + "公開する", + "保存", + "PSDとして保存", + "印刷", + "URLから開く", + "コンピュータから開く", + "Google Driveに接続", + "別名で保存", + "レイヤーをエクスポート", + "スクリプト", + "オープン&プレース", + "閉じる", + "ローカルストレージ", + null + ], + [ + "やり直す", + "元に戻す", + "消去", + "塗りつぶし", + "変形", + "回転", + "VAR0に反転", + "VAR0拡大・縮小", + "元に戻す / やり直し", + "展望", + [ + "オートブレンド", + "自動整列" + ], + "フェード", + "画像操作" + ], + "調整", + [ + "明るさ / コントラスト", + "レベル", + "曲線", + "露出", + "自然な彩度", + "色相/彩度", + "カラーバランス", + "黒と白", + "フォトフィルター", + "チャンネルミキサー", + "色検索", + "反転", + "ポスタライズ", + "しきい値", + "グラデーションマップ", + "選択色", + [ + "オートトーン", + "オートコントラスト", + "オートカラー" + ], + "色を交換" + ], + [ + "切り取り", + "コピー", + "ペースト", + "新規", + "削除", + "有効化", + "無効化", + "コピー結合", + "適用", + "もう一度", + "更新" + ], + [ + "レイヤーを複製", + "新しい調整レイヤー", + "ラスター マスク", + "ベクター マスク", + "追加(全てを表示)", + [ + "追加(全てを隠す)", + "選択範囲外をマスク", + "選択範囲をマスク", + "透明部分をマスク" + ], + [ + "クリッピングマスク", + "クイックマスクモー" + ], + "スマートオブジェクトへの変換", + "ラスタライズ", + "レイヤーのグループ化", + "下のレイヤーと統合", + "上のレイヤーと統合", + [ + "レイヤーを結合", + "画像を統合" + ], + "新規レイヤー", + "ラスターマスクを有効化する", + "ラスターマスクを無効化", + "ベクターマスクを有効化", + "ベクターマスクを無効化", + "クリッピングマスクを有効化", + "クリッピングマスクを無効化", + "新規フォルダ", + "ラスターマスクを追加", + "ラスターマスクを削除", + "ベクターマスクを追加", + "ベクターマスクを削除", + "ラスターマスクをリンク", + "ラスターマスクのリンクを解除", + "ベクターマスクをリンク", + "ベクターマスクのリンクを解除", + "レイヤー効果を有効にする", + "レイヤー効果を無効にする", + "レイヤーを削除", + "レイヤー透明度の変更", + "ブレンドの変更", + "レイヤースタイルのラスタライズ", + "レイヤーの順序", + [ + "スマートオブジェクトの作成", + "スマートオブジェクトを更新", + "スマートオブジェクトを配置", + "ソース (スマートオブジェクト)", + "スタックモード" + ], + "名前の変更", + "カラーの変更", + "調整レイヤーの編集", + "シェープに変換", + "フィルターマスクの有効化", + "フィルターマスクの無効化", + "スマートフィルターを有効化", + "スマートフィルターを無効化", + "フィルターマスクを追加", + "フィルターマスクを削除", + "フィルターマスクをクリア", + [ + [ + "単色塗りつぶし", + "グラデーション塗りつぶし", + "パターン塗りつぶし", + "コンテンツに応じる" + ], + "新規塗りつぶしレイヤー", + "塗りつぶしレイヤーの編集" + ], + "コピーからレイヤーを作成", + "フィルターマスク", + "レイヤースタイルを削除", + "スマートフィルターを動かす", + "スマートフィルターを削除", + [ + "リンクレイヤーズ", + "アンリンクレイヤーズ" + ], + "重ね順", + [ + "最前面へ", + "前面へ", + "最背面へ", + "背面へ" + ], + [ + "レイヤーはロックされています", + "ロックの変更", + null + ], + null + ], + [ + "全て", + "選択解除", + "選択範囲を反転", + "編集", + "拡げる", + "コントラクト", + "フェザー", + "セレクション移動", + "カラーレンジ", + "ボーダー", + "セレクション変形", + "エッジを絞り込む", + "ヒールセレクション", + null + ], + [ + "拡大", + "縮小", + "ガイド", + "定規", + "グリッド", + "スナップ", + "...へスナップ", + "ドキュメントの境界", + "ピクセルグリッド", + "パス", + "ピクセルへスナップ", + [ + "スライス", + "スライスオプショ" + ], + "表示" + ], + [ + "履歴", + "レイヤー", + "プロパティ", + "ブラシ", + "文字", + "パラグラフ", + "情報", + "レイヤーコンプ", + "見本", + "アクション", + "ヒストグラム", + "ナビゲーター", + "ツールプリセット", + "字形" + ], + [ + "ブラシツール", + "コピーツール", + "切り抜きツール", + "消しゴム", + "楕円形 選択", + "スポイト", + "グラデーションツール", + "手のひらツール", + "テキストツール", + "投げ縄 選択", + "マグネット 投げ縄 選択", + "移動ツール", + "自動選択", + "バケツ", + "多角形選択", + "矩形選択", + "自由変形", + "ズームツール", + "ぼかしツール", + "シャープツール", + "指先ツール", + "覆い焼きツール", + "焼きこみツール", + "スポンジツール", + "スポット修復ブラシツール", + "修復ブラシツール", + "パッチツール", + "パスコンポーネント選択", + "パス選択", + "ペン", + "フリーフォームペン", + "カスタムシェイプ", + "矩形", + "楕円", + "パラメトリック図形", + "ライン", + "ルーラ", + "クイック選択", + "ペンシルツール", + "パースペクティブクロップ", + "スライスツール", + "スライス選択ツール", + "色の置き換え", + "赤目修正ツール", + "オブジェクト選択", + "背景消しゴムツール", + "パペットワープ", + "回転ビューツール", + "コンテンツに応じて拡大", + "コンテンツに応じた移動" + ], + [ + "写真撮影", + "カラーピッカー", + "輪郭エディタ", + "キャンバスサイズ", + "複製する…", + "グラデーションエディタ", + "レイヤースタイル", + "新規プロジェクト", + "Web用に保存", + "ワープ", + "画像サイズ", + "ビットマップをベクトル化", + [ + "トリミング", + "切り抜き", + "すべてを明らかにする" + ], + "キーボードショートカット", + "ガイドの追加", + [ + "ガイドを消去", + "レイヤーからのガイド" + ] + ], + [ + "不透明度", + "効果", + "明るさ", + [ + "コントラスト", + "従来方式を使用" + ], + "チャンネル", + "露光", + "オフセット", + "ガンマ値", + "色相", + "彩度", + "明るさ", + "着色", + "距離", + "自然な彩度", + [ + "サイズ", + "補間", + "ニアレストネイバー法", + "バイリニア法" + ], + "角度", + "丸み", + "硬度", + "間隔", + [ + "ブレンドモード", + "ブレンド条件" + ], + "サンプルサイズ", + "輪郭検出", + "スタイル", + [ + "選択範囲を反転", + "相対", + "基準位置" + ], + "許容値", + "隣接", + "フィル", + "包括角度の使用", + "距離", + "拡散", + "ノイズ", + "ドロップシャドウをノックアウト", + "技術", + "方向", + "深度", + "美肌", + "モード", + "グラデーション", + "スケール", + "レイヤーの整列", + "位置", + "幅", + "高さ", + "距離", + "タイプ", + "最前面", + "最背面", + "カスタム", + "名前", + "作成", + "フォーマット", + "縦横比を保持", + [ + "品質", + "ページ" + ], + "複製", + "移動", + "スマートフィルター", + "半径", + "断片数", + "分布", + [ + "均一", + "ガウス" + ], + "モノクロ", + "セルサイズ", + "パターン", + "フロー", + "力", + "詳細の保護", + "塗りつぶしタイプ", + "テクスチャ", + "ジッター", + "エッジ", + "ソース", + "ターゲット", + "チャンネル", + "マスク", + "濃度", + "整列", + [ + "パス(経路)", + "形状", + "ピクセル", + "インチ", + "センチメートル", + "ミリメートル", + "%" + ], + "形", + "サイド", + "設定", + [ + "長さ", + "比率", + "どれか", + "グリッドタイプ", + "アイソメ", + "グリッドの間隔", + "定規の単位" + ], + "ノイズを減らす", + "カラー", + "距離", + "レート", + "オートセレクト", + "探す", + "新しい定義", + [ + "フォト", + "スクリーン", + "モバイル", + "広告", + "プリント" + ], + [ + "無料", + "固定比率", + "固定サイズ" + ], + "ヘルプ", + [ + "ライブシェイプ", + "ライブシェイプの編集", + "同じ半径" + ], + "あいまいさ", + [ + "ポリゴン", + "星", + "スパイラル", + "正方形" + ], + [ + "コーナーラディウス", + "インナーラディウス" + ] + ], + [ + "カラー(色)", + [ + "なし", + "赤", + "オレンジ", + "イエロー", + "緑", + "青", + "紫", + "グレイ(灰色)", + "白", + "透明", + "黒", + "シアン", + "マゼンタ", + "中間" + ], + "合計", + "絶対値", + "輝度を保持" + ], + [ + "ドロップシャドウ", + "インナーシャドウ", + "アウターグロウ", + "インナーグロウ", + "斜角と浮き彫り", + "カラーオーバーレイ", + "グラデーションオーバーレイ", + "パターンオーバーレイ", + "サテン", + "ストローク", + "ブレンドオプション", + "ピクセルを選択" + ], + [ + "チップ形状", + "チップダイナミクス", + "散布", + "カラーダイナミクス", + [ + "サイズジッター", + "最小直径", + "アングルジッター", + "丸みジッター", + "最小限の真円度" + ], + [ + "ポジションジッター", + "カウント", + "カウントジッター" + ], + [ + "前景/背景 ジッター", + "色相ジッター", + "緩和ジッター", + "輝度ジッター" + ], + [ + "Alt(またはK)を押しながらイメージをクリックして、クローンソースを選択", + "前景に白、背景に黒、未知の領域にグレーをマークします。", + "レイヤーは編集できません", + "テキストレイヤを最初にラスタライズする必要があります", + "スマートオブジェクトを最初にラスタライズする必要があります", + "マルチプルレイヤーを選択", + "レイヤー角度補正", + "最初にドキュメントを開きます。", + "最初に現在のウィンドウを閉じます。", + "現在のツールのみ" + ], + [ + "記録", + "新 アクションセット", + "新 アクション" + ], + [ + "筆圧で不透明度を調節ボタン", + "筆圧でサイズを調節ボタン" + ], + [ + "通常", + "ディザ合成", + "比較(暗)", + "乗算", + "焼き込みカラー", + "焼き込み(リニア)", + "カラー比較(暗)", + "比較(明)", + "スクリーン", + "覆い焼きカラー", + "覆い焼き(リニア)", + "カラー比較(明)", + "オーバーレイ", + "ソフトライト", + "ハードライト", + "ビビッドライト", + "リニアライト", + "ピンライト", + "ハードミックス", + "差の絶対値", + "除外", + "減算", + "除算", + "色相", + "彩度", + "カラー", + "輝度", + "通過" + ] + ], + [ + "行送り", + "追跡", + "ベースラインシフト", + [ + "ポイントテキストに変換", + "段落テキストに変換" + ] + ], + [ + "すべてのレイヤー", + "現在のレイヤー", + "選択", + "現在のレイヤー以下" + ], + [ + "置き換え", + "合体", + "減数", + "交差", + "除外", + "マージ" + ], + [ + [ + "直線", + "放射状", + "アングル", + "反射", + "ダイヤモンド", + "シェープバースト" + ], + [ + "柔らかい", + "正確" + ], + [ + "アウター斜角", + "インナー斜角", + "エンボス", + "枕の浮き彫り", + "ストロークエンボス", + "幅" + ], + [ + "スムース", + "チゼルハード", + "チゼルソフト", + "滑らかさ" + ], + [ + "アップ", + "ダウン" + ], + [ + "外側", + "中央", + "内側", + "中心から" + ], + [ + "シャドウ", + "ミドルトーン", + "ハイライト" + ], + [ + "不飽和化", + "飽和" + ], + [ + "スモール", + "ミディアム", + "ラージ" + ], + [ + "線端", + "角", + "線分" + ] + ], + [ + "カーソルの下のオブジェクトを選択する", + "変換コントロール", + "ピクセルからピクセル", + "エリアに合わせる", + [ + "左端を揃える", + "水平にセンター", + "右端を揃える", + "上端を揃える", + "垂直に中央", + "ボトムエッジの整列", + "等間隔" + ] + ], + [ + "写真を撮る", + "現在のプロジェクト", + "新しいプロジェクト", + "解像度", + "現在のプロジェクトに追加されました", + "新しいプロジェクトが作成されました", + "カメラへのアクセスが拒否されました" + ], + [ + "オリエンテーション", + "ベンド", + "水平方向の歪み", + "垂直方向の歪み", + [ + "水平", + "垂直", + "水平方向", + "垂直方向" + ], + [ + "なし", + "弧", + "アークローワー", + "アークアッパー", + "アーチ", + "膨らみ", + "シェルローワー", + "シェルアッパー", + "旗", + "波", + "魚", + "上昇", + "魚眼", + "膨らませる", + "圧搾", + "ねじれ", + "カスタム" + ], + [ + "フォント", + "利用できません", + "使用してレンダリングされます", + "このプロジェクトには未保存の作業が含まれています:", + "本当に閉じますか?" + ], + [ + "スワップカラー", + "デフォルト:黒と白" + ] + ], + [ + "ロードされた", + "追加された", + "移動ガイド", + "ガイドの削除", + "ガイドの追加", + "読み込み中", + "VAR0 を読み込み" + ], + [ + "フィルタギャラリー", + [ + [ + "液化液", + [ + "汚れ", + "再構築", + "スムーズ", + "トール", + "シュリンク", + "ブロー", + "左を押す", + "フリーズ", + "アンフリーズ" + ] + ], + [ + "レンズ補正" + ] + ], + "ぼかし", + [ + "平均", + "ぼかし", + "ぼかしを多く", + "ボックスのぼかし", + "ガウスぼかし", + "レンズぼかし", + "モーションぼかし", + "放射状のぼかし", + "形状ブラー", + "スマートなぼかし", + "表面のぼかし" + ], + "歪み", + [ + "置き場所", + "ピンチ", + "極座標", + "リップル", + "剪断", + "Spherize", + "波" + ], + "ノイズ", + [ + "ノイズを追加", + "間引き", + "ホコリと傷", + "中央値" + ], + "ピクセル化", + [ + "カラーハーフトーン", + "結晶化", + "ファセット", + "断片", + "メゾチント", + "モザイク", + "点字化" + ], + "レンダリング", + [ + "雲", + "雲の違い", + "逆光" + ], + "シャープ", + [ + "シャープ", + "エッジをシャープにする", + "もっと磨く", + "スマートシャープ", + "アンシャープマスク" + ], + "書式設定", + [ + "拡散", + "エンボス", + "押出", + "エッジを見つける", + "油絵具" + ], + "その他", + [ + "カスタム", + "ハイパス", + "最大", + "最小", + "オフセット", + "リピート" + ], + [ + "未定義領域", + "透明に設定", + "リピートエッジピクセル", + "包み込む", + "最後のフィルタ", + "プレヴュー" + ] + ], + [ + "テンプレート", + [ + "フォントフィルター", + "キーワード", + "ランダム" + ], + [ + "シンボル付き", + "写真付き" + ], + [ + "サムネールと", + "リスト" + ] + ] + ], + [ + [ + "파일", + "편집", + "이미지", + "레이어", + "폴더", + "선택", + "필터", + "보기", + "창", + "언어", + "로그인", + "로그아웃", + "번역하기", + [ + "계정", + "서비스 약관", + "뒤로가기", + "앱에 대해", + "버그보고", + "학습" + ], + "더 보기", + "테마", + "WebGL 사용", + [ + "Photopea: 고급 이미지 편집기", + "PSD, XCF, Sketch, XD 및 CDR 형식을 지원하는 무료 온라인 편집기.", + "새 이미지를 만들거나 컴퓨터에서 기존 파일을 엽니다. PSD (파일 - PSD로 저장) 또는 JPG / PNG / SVG (파일 - 내보내기 형식)로 작업을 저장합니다.", + " 또는 에서 새로운 기능을 제안하십시오. 우리의 목표는 <가장 진보되고 저렴한 사진 편집기> 를 만드는 것입니다.", + "광고 링크가 새 창에서 열립니다.", + "이 기능은 사용할 수 없습니다.", + null + ] + ], + [ + "열기", + "온라인 게시", + "저장", + "PSD 로 저장", + "인쇄", + "URL에서 열기", + "컴퓨터에서 파일 열기", + "구글 드라이브와 연결", + "내보내기 형식", + "레이어 추출", + "스크립트", + "열기 및 장소", + "닫기", + "로컬 저장소", + null + ], + [ + "앞으로 가기", + "뒤로 가기", + "없애기", + "채우기", + "변형", + "회전", + "VAR0 뒤집기", + "VAR0 스케일", + "실행취소 / 다시실행", + "원근법", + [ + "자동 혼합", + "자동 정렬" + ], + "희미하게 하기", + "이미지 적용" + ], + "조정", + [ + "밝기 / 대비", + "레벨", + "곡선", + "노출", + "채도", + "색조 / 채도", + "색깔 조정", + "흑백", + "사진 필터", + "채널 믹서", + "색깔 찾아보기", + "뒤집기", + "포스터화", + "한계점", + "그라디언트 맵", + "선택적 색상", + [ + "자동 톤", + "자동 대비", + "자동 색상" + ], + "색상 대체" + ], + [ + "잘라내기", + "복사", + "붙여넣기", + "새로 만들기", + "제거", + "활성화", + "비활성화", + "병합 복사", + "적용", + "반복", + "업데이트" + ], + [ + "레이어 복제", + "새 조정 레이어", + "래스터 마스크", + "벡터 마스크", + "추가 (모두 표시)", + [ + "추가 (모두 숨기기)", + "선택 영역 나타내기", + "선택 영역 숨기기", + "시작 투명도" + ], + [ + "클리핑 마스크", + "빠른 마스크 모드" + ], + "고급 개체로 변환", + "래스터화", + "그룹 레이어", + "아래로 병합", + "위로 병합", + [ + "레이어 병합", + "이미지 병합" + ], + "새 레이어", + "래스터 마스크 활성화", + "래스터 마스크 비활성화", + "벡터 마스크 활성화", + "벡터 마스크 비활성화", + "클리핑 마스크 활성화", + "클리핑 마스크 비활성화", + "새 폴더", + "래스터 마스크 추가", + "래스터 마스크 제거", + "벡터 마스크 추가", + "벡터 마스크 제거", + "래스터 마스크 연결", + "래스터 마스크 연결 해제", + "벡터 마스크 연결", + "벡터 마스크 연결 해제", + "레이어 효과 활성화", + "레이어 효과 비활성화", + "레이어 제거", + "레이어 불투명도 변경", + "혼합 변경", + "래스터화 레이어 스타일", + "레이어 순서", + [ + "고급 개체 만들기", + "고급 개체 업데이트", + "고급 개체 배치", + "원본 (고급 개체)", + "스택 모드" + ], + "이름 변경", + "색 변경", + "조정 레이어 편집", + "모양으로 변환", + "필터 마스크 활성화", + "필터 마스크 비활성화", + "스마트 필터 활성화", + "스마트 필터 비활성화", + "필터 마스크 추가", + "필터 마스크 제거", + "스마트 필터 없애기", + [ + [ + "단색 채우기", + "그라디언트 채우기", + "패턴 채우기", + "내용 인식" + ], + "새 칠 레이어", + "채우기 레이어 수정" + ], + "복사를 통한 레이어", + "필터 마스크", + "레이어 스타일 삭제", + "스마트 필터 이동", + "스마트 필터 삭제", + [ + "레이어 연결", + "레이어 연결 해제" + ], + "정렬", + [ + "맨 앞으로 가져오기", + "앞으로 가져오기", + "뒤로 보내기", + "제일 뒤로 보내기" + ], + [ + "레이어가 잠겼습니다.", + "잠금 변경", + null + ], + null + ], + [ + "모두 선택", + "선택 취소", + "반전", + "수정", + "확장", + "축소", + "페더", + "선택 이동", + "색상 범위", + "경계", + "변형 선택", + "가장자리 미세 조정", + "선택 부분 되살리기", + null + ], + [ + "확대", + "축소", + "안내선", + "자", + "격자", + "스냅", + "스냅 대상", + "문서 경계", + "픽셀 격자", + "경로", + "스냅 대상 픽셀", + [ + "분할 영역을", + "분할 영역 옵션" + ], + "표시" + ], + [ + "히스토리", + "레이어", + "속성", + "붓", + "글자", + "절", + "정보", + "레이어 컴프레서", + "스와치", + "액션", + "막대 그래프", + "내비게이터", + "도구 사전 설정", + "글리프" + ], + [ + "붓 도구", + "복제 도구", + "자르기 도구", + "지우개 도구", + "타원형 선택", + "스포이드", + "그라디언트 도구", + "손 도구", + "문자 도구", + "올가미 선택", + "자석 올가미 선택", + "이동 도구", + "마법 지팡이", + "페인트 통 도구", + "다각형 올가미 선택", + "직사각형 선택", + "자유 변형", + "확대 / 축소 도구", + "흐림 도구", + "선명 도구", + "얼룩 도구", + "닷지 도구", + "번 도구", + "스폰지 도구", + "얼룩 치유 브러시 도구", + "치유 브러쉬 도구", + "패치 도구", + "경로 선택", + "직접 선택", + "펜", + "자유형 펜", + "사용자 정의 모양", + "사각형", + "타원", + "파라메트릭 모양", + "선", + "자", + "빠른 선택", + "필기 도구", + "원근 자르기", + "분할 영역 도구", + "분할 영역 선택 도구", + "색깔 교체", + "적목 현상 도구", + "개체 선택", + "배경 지우개 도구", + "퍼펫 뒤틀기", + "회전 보기", + "내용 인식 비율", + "내용 인식 이동" + ], + [ + "사진 찍기", + "색상 선택기", + "윤곽 편집기", + "캔버스 크기", + "복제", + "그라디언트 편집기", + "레이어 스타일", + "새 프로젝트", + "웹용으로 저장", + "뒤틀기", + "이미지 크기", + "비트맵 벡터화", + [ + "재단", + "잘라내기", + "모두 표시" + ], + "키보드 단축키", + "안내선 추가", + [ + "안내선 잠그기", + "레이어 가이드" + ] + ], + [ + "불투명도", + "효과", + "명도", + [ + "대비", + "레거시 사용" + ], + "채널", + "노출", + "오프셋", + "감마 교정", + "색조", + "포화도", + "밝기", + "색상화", + "범위", + "활기", + [ + "크기", + "보간", + "최단입점", + "쌍선형" + ], + "각도", + "진원도", + "경도", + "간격", + [ + "혼합 모드", + "혼합 조건" + ], + "표본 크기", + "윤곽", + "스타일", + [ + "반전", + "상대치", + "기준" + ], + "여유도", + "인접", + "채우기", + "종합 각도 사용", + "거리", + "확산", + "노이즈", + "녹아웃 그림자", + "기법", + "방향", + "깊이", + "부드럽게", + "모드", + "그라디언트", + "범위", + "레이어에 정렬", + "위치", + "너비", + "높이", + "목적", + "유형", + "전경", + "배경", + "사용자 설정", + "이름", + "생성", + "형식", + "종횡비 유지", + [ + "품질", + "페이지" + ], + "복제", + "이동", + "스마트 필터", + "반지름", + "양", + "분포", + [ + "유니폼", + "가우스" + ], + "단색", + "셀 크기", + "패턴", + "흐름", + "강도", + "세부 보호", + "채우기 유형", + "텍스처", + "흐트러짐", + "가장자리", + "원본", + "목표", + "채널", + "마스크", + "밀도", + "정렬됨", + [ + "패스", + "모양", + "픽셀", + "인치", + "센티미터", + "밀리미터", + "퍼센트" + ], + "모양들", + "사이드", + "설정", + [ + "길이", + "비율", + "임의", + "격자 유형", + "등축", + "격자 간격", + "눈금자 단위" + ], + "노이즈 줄이기", + "색", + "차이", + "율", + "자동 선택", + "발견", + "새로운 정의", + [ + "사진", + "화면", + "변하기 쉬운", + "광고", + "인쇄 된" + ], + [ + "자유", + "고정 비율", + "고정 크기" + ], + "도움", + [ + "실시간 모양", + "실시간 모양 편집", + "같은 반경" + ], + "허용량", + [ + "다각형", + "별모양", + "나선", + "정사각형" + ], + [ + "모퉁이 반경", + "내부 반경" + ] + ], + [ + "색깔", + [ + "없슴", + "빨간색", + "주황색", + "노랑", + "초록색", + "파란색", + "보라색", + "회색", + "흰색", + "투명한", + "검정", + "사이안", + "마젠타", + "중간" + ], + "전체", + "절대치", + "광도 유지" + ], + [ + "그림자", + "내부 그림자", + "외부 광선", + "내부 광선", + "경사와 엠보스", + "색 오버레이", + "그라디언트 오버레이", + "패턴 오버레이", + "새틴", + "획", + "혼합 옵션", + "픽셀 선택" + ], + [ + "끝 부분 모양", + "끝 부분 강약 조절", + "산포화", + "색 강약 조절", + [ + "크기 흐트러짐", + "최소 직경", + "각도 흐트러짐", + "형태 흐트러짐", + "최소 형태" + ], + [ + "위치 흐트러짐", + "순서", + "순서 흐트러짐" + ], + [ + "전경/배경 흐트러짐", + "색 흐트러짐", + "포화 흐트러짐", + "밝기 흐트러짐" + ], + [ + "Alt (또는 K) 키를 누른 상태에서 이미지를 클릭해 원본 복제를 선택합니다.", + "전경을 흰색으로, 배경을 검정색으로, 알 수없는 부분을 회색으로 표시하십시오.", + "레이어를 편집 할 수 없습니다.", + "텍스트 레이어를 먼저 래스터화해야 합니다.", + "고급 개체 먼저 래스터화해야 합니다.", + "여러 레이어 선택", + "레이어 똑바르게", + "먼저 문서를 엽니다.", + "현재 창을 먼저 닫습니다.", + "현재 도구만" + ], + [ + "기록", + "새 액션 세트", + "새 액션" + ], + [ + "태블릿 압력 컨트롤 불투명도", + "태블릿 압력 컨트롤 크기" + ], + [ + "표준", + "디졸브", + "어둡게 하기", + "곱하기", + "색상 번", + "색상 번", + "어두운 색상", + "밝게 하기", + "스크린", + "색상 닷지", + "선형 닷지", + "밝은 색상", + "오버레이", + "소프트 라이트", + "하드 라이트", + "선명한 라이트", + "선형 라이트", + "핀 라이트", + "하드 혼", + "차이", + "제외", + "빼기", + "나누기", + "색조", + "채도", + "색상", + "광도", + "통과" + ] + ], + [ + "행간", + "자간", + "기준선 이동", + [ + "포인트 텍스트 변환", + "단락 텍스트로 변환" + ] + ], + [ + "모든 레이어", + "현재 레이어", + "선택", + "현재 및 아래" + ], + [ + "바꾸기", + "통합", + "빼기", + "교차", + "제외", + "병합" + ], + [ + [ + "선형", + "방사", + "각도", + "반사됨", + "다이아몬드", + "모양 파열" + ], + [ + "부드럽게", + "명확함" + ], + [ + "외부 경도", + "내부 경도", + "엠보스", + "베개 엠보스", + "외곽선 엠보스", + "윤곽 너비" + ], + [ + "매끄럽게", + "강한 끌", + "부드러운 끌", + "매끄러움" + ], + [ + "위", + "밑" + ], + [ + "밖", + "가운데", + "내부", + "중앙부터" + ], + [ + "어두운 영역", + "중간톤", + "밝은 영역" + ], + [ + "포화도", + "포화" + ], + [ + "작음", + "중간", + "큼" + ], + [ + "단면", + "모퉁이", + "대시를" + ] + ], + [ + "커서 아래에서 개체를 선택해 주십시오", + "변형 제어", + "픽셀에서 픽셀로", + "영역에 맞추기", + [ + "왼쪽 모서리 정렬", + "수평 중심", + "오른쪽 모서리 정렬", + "윗쪽 모서리 정렬", + "수직 중심", + "아랫쪽 모서리 정렬", + "균등 간격" + ] + ], + [ + "사진 찍기", + "현재 프로젝트", + "새 프로젝트", + "해상도", + "현재 프로젝트에 추가되었습니다.", + "새 프로젝트가 생성되었습니다.", + "카메라에 대한 접근이 거부되었습니다." + ], + [ + "성향", + "굽히기", + "수평 왜곡", + "수직 왜곡", + [ + "가로", + "세로", + "가로로", + "세로로" + ], + [ + "없음", + "포물선", + "포물선 낮게", + "포물선 높게", + "아치형", + "꽉차게", + "셸 낮게", + "셸 높게", + "깃발", + "파도", + "물고기", + "증가", + "물고기 눈", + "부풀리기", + "짜내기", + "휘틀리기", + "사용자 설정" + ], + [ + "글꼴", + "을(를) 사용할 수 없습니다", + "을(를) 사용하여 렌더링됩니다.", + "이 프로젝트에는 저장되지 않은 작업이 있습니다:", + "정말로 닫으시겠습니까?" + ], + [ + "색상 바꾸기", + "기본값: 흰색과 검은색" + ] + ], + [ + "불러옴", + "추가됨", + "안내선 이동", + "안내선 제거", + "안내선 추가", + "불러오는 중", + "VAR0 불러" + ], + [ + "필터 갤러리", + [ + [ + "액체화하다", + [ + "더러움", + "재건축", + "부드럽게", + "회전", + "수축", + "타격", + "왼쪽 밀기", + "동결", + "해동" + ] + ], + [ + "렌즈 교정" + ] + ], + "흐리게", + [ + "평균", + "흐리게", + "더 흐리게", + "사각형으로 흐리게", + "가우스 흐림 효과", + "렌즈 흐림 효과", + "모션 흐림 효과", + "방사형 흐림 효과", + "모양 흐림 효과", + "스마트 흐림 효과", + "표면 흐림 효과" + ], + "왜곡", + [ + "변위", + "핀치", + "극좌표", + "잔물결", + "기울임", + "구형화", + "돌리기" + ], + "노이즈", + [ + "노이즈 추가", + "얼룩 제거", + "먼지 및 스크래치", + "중앙값" + ], + "픽셀화", + [ + "색 망판", + "구체화", + "측면", + "조각", + "메조틴트", + "모자이크", + "점묘화" + ], + "렌더", + [ + "구름 효과 1", + "구름 효과 2", + "렌즈 플레어" + ], + "날카롭게", + [ + "날카롭게", + "가장자리 날카롭게", + "더 날카롭게", + "스마트 날카로움 효과", + "언샵 마스크" + ], + "양식화", + [ + "확산", + "엠보스", + "밀어내기", + "가장자리 찾기", + "오일 페인트" + ], + "그 외", + [ + "사용자 설정", + "고역 통과", + "최대화", + "최소화", + "오프셋", + "반복" + ], + [ + "알 수 없는 구역", + "투명 설정", + "가장자리 픽셀 반복", + "줄 바꿈", + "마지막 필터", + "미리 보기" + ] + ], + [ + "템플릿", + [ + "글꼴 필터", + "키워드", + "무작위로" + ], + [ + "기호 포함", + "사진 포함" + ], + [ + "축소판", + "목록" + ] + ] + ], + [ + [ + "Arquivo", + "Editar", + "Imagem", + "Camada", + "Pasta", + "Selecionar", + "Filtro", + "Visualizar", + "Janela", + "Idioma", + "Entrar", + "Sair", + "Criar Tradução", + [ + "Conta", + "Termos de Uso", + "Voltar", + "Acerca", + "Reportar um erro", + "Aprender" + ], + "Mais", + "Tema", + "Usar WebGL", + [ + "Photopea: Editor de Imagem Avançado", + "Editor online gratuito que suporta os formatos PSD, XCF, Sketch, XD e CDR.", + "Crie uma nova imagem ou abra arquivos existentes no seu computador. Salve seu trabalho como PSD (Arquivo - Gravar como PSD) ou como JPG / PNG / SVG (Arquivo - Exportar como).", + "Sugira novas funções no nosso ou . Nosso objetivo é fazer .", + "Os links do patrocinador são abertos em uma nova janela.", + "Este recurso não está disponível.", + "Instale Photopea" + ] + ], + [ + "Abrir", + "Publicar Online", + "Salvar", + "Salvar como PSD", + "Imprimir", + "Abrir de URL", + "Abrir do Computador", + "Conectar Com o Google Drive", + "Exportar como", + "Exportar Camadas", + "Script", + "Abra e Coloque", + "Fechar", + "Armazenamento Local", + "Informações do arquivo" + ], + [ + "Passo a Frente", + "Passo atrás", + "Limpar", + "Preencher", + "Transformar", + "Rotacionar", + "Espelhar VAR0", + "Escalar VAR0", + "Desfazer / Refazer", + "Perspectiva", + [ + "Mesclar automaticamente", + "Alinhar automaticamente" + ], + "Atenuar", + "Aplicar Imagem" + ], + "Ajustes", + [ + "Brilho/Contraste", + "Níveis", + "Curvas", + "Exposição", + "Vibração", + "Matriz/Saturação", + "Equilíbrio de Cores", + "Preto e Branco", + "Filtro de Fotos", + "Misturador de Canais", + "Pesquisa de cores", + "Inverter", + "Posterizar", + "Limite", + "Mapa de Gradiente", + "Cor Seletiva", + [ + "Tom automático", + "Contraste automático", + "Cor automática" + ], + "Substituir cor" + ], + [ + "Cortar", + "Copiar", + "Colar", + "Novo", + "Deletar", + "Ativar", + "Desativar", + "Copiar Mesclado", + "Aplicar", + "Novamente", + "Atualizar" + ], + [ + "Duplicar Camada", + "Nova Camada de Ajuste", + "Máscara de Rasterização", + "Máscara de Vetor", + "Adicionar (Mostrar tudo)", + [ + "Adicionar (Ocultar Tudo)", + "Revelar Seleção", + "Ocultar Seleção", + "Da transparência" + ], + [ + "Máscara de Corte", + "Modo de máscara rápido" + ], + "Converter em Objeto Inteligente", + "Rasterizar", + "Agrupar Camadas", + "Mesclar Abaixo", + "Mesclar Acima", + [ + "Mesclar Camadas", + "Achatar imagem" + ], + "Nova Camada", + "Ativar Máscara de Rasterização", + "Desativar Máscara de Rasterização", + "Ativar Máscara de Vetor", + "Desativar Máscara de Vetor", + "Ativar Máscara de Recorte", + "Desativar Máscara de Recorte", + "Nova Pasta", + "Adicionar Máscara de Rasterização", + "Remover Máscara de Rasterização", + "Adicionar Máscara de Vetor", + "Remover Máscara de Vetor", + "Associar Máscara de Rasterização", + "Desassociar Máscara de Rasterização", + "Associar Máscara de Vetor", + "Desassociar Máscara de Vetor", + "Ativar Efeitos de Camada", + "Desativar Efeitos de Camada", + "Apagar Camada", + "Alterar Opacidade da Camada", + "Alterar Mistura", + "Rasterizar Estilo da Camada", + "Ordem de Camada", + [ + "Criando Objeto Inteligente", + "Atualizando Objeto Inteligente", + "Colocando Objeto Inteligente", + "Fonte (Objeto Inteligente)", + "Modo de pilha" + ], + "Alterar Nome", + "Alterar Cor", + "Editar Camada de Ajuste", + "Converter para Forma", + "Ativar Máscara de Filtro", + "Desativar Máscara de Filtro", + "Ativar Filtros Inteligentes", + "Desativar Filtros Inteligentes", + "Adicionar Máscara de Filtro", + "Apagar Máscara de Filtro", + "Limpar Filtros Inteligentes", + [ + [ + "Preencher com Cor Sólida", + "Preencher com Gradiente", + "Preencher com Padrão", + "Sensível a conteúdo" + ], + "Nova Camada de Preenchimento", + "Modificar Camada de Preenchimento" + ], + "Camada via Cópia", + "Máscara de Filtro", + "Excluir Estilo de Camada", + "Mover Filtro Inteligente", + "Excluir Filtro Inteligente", + [ + "Vincular Camadas", + "Desvincular Camadas" + ], + "Organizar", + [ + "Trazer para a frente", + "Avançar", + "Recuar", + "Enviar para trás" + ], + [ + "Esta Camada está Bloqueada.", + "Travar mudanças", + "Bloquear" + ], + "Animação" + ], + [ + "Tudo", + "Desselecionar", + "Inverso", + "Modificar", + "Expandir", + "Contrair", + "Difusão", + "Mover Seleção", + "Intervalo de Cores", + "Borda", + "Transformar Seleção", + "Refinar Arestas", + "Curar Seleção", + "Varinha Mágica" + ], + [ + "Mais Zoom", + "Menos Zoom", + "Guias", + "Réguas", + "Grade", + "Encaixar", + "Encaixar Em", + "Documento Limite", + "Grade de Pixel", + "Demarcadores", + "Converter para Pixels", + [ + "Fatias", + "Opções de fatiar" + ], + "Mostrar" + ], + [ + "História", + "Camadas", + "Propriedades", + "Pincel", + "Caractere", + "Parágrafo", + "Informações", + "Composições de Camada", + "Amostras", + "Ações", + "Histograma", + "Navegação", + "Predefinições de Ferramenta", + "Glifos" + ], + [ + "Ferramenta Pincel", + "Ferramenta de Clone", + "Ferramenta de Corte", + "Borracha", + "Selecionar em Elipse", + "Conta-Gotas", + "Gradiente", + "Mão", + "Ferramenta de Texto", + "Seleção em Laço", + "Ferramenta Laço Magnético", + "Mover", + "Varinha Mágica", + "Lata de Tinta", + "Laço Poligonal", + "Seleção Retangular", + "Transformação Livre", + "Lupa", + "Desfoque", + "Nitidez", + "Ferramenta Borrar", + "Ferramenta de Exposição", + "Ferramenta de Queimar", + "Esponja", + "Pincel de Cicatrização Localizada", + "Pincel de Cicatrização", + "Ferramenta de Correção", + "Seleção de demarcador", + "Seleção Direta", + "Caneta", + "Caneta Livre", + "Forma Personalizada", + "Retângulo", + "Elipse", + "Forma Paramétrica", + "Linha", + "Régua", + "Seleção Rápida", + "Ferramenta Lápis", + "Corte de perspectiva", + "Ferramenta de fatia", + "Seleção de fatia", + "Substituição de cor", + "Olhos vermelhos", + "Seleção de objeto", + "Borracha de plano de fundo", + "Distorção de marionete", + "Girar Visualização", + "Escala sensível a conteúdo", + "Movimento Sensível ao Conteúdo" + ], + [ + "Tire uma Foto", + "Colhedor de Cores", + "Editor de Contorno", + "Tamanho da Tela de Pintura", + "Duplicar em...", + "Editor de Gradientes", + "Estilo de Camada", + "Novo Projeto", + "Salvar para Web", + "Deformar", + "Tamanho da Imagem", + "Vetorizar Bitmap", + [ + "Aparar", + "Cortar", + "Mostrar tudo" + ], + "Atalhos de Teclado", + "Adicionar Guias", + [ + "Apagar Guias", + "Guias da Camada" + ] + ], + [ + "Opacidade", + "Efeitos", + "Brilho", + [ + "Contraste", + "Usar Legado" + ], + "Canal", + "Exposição", + "Equilibrar", + "Correção de Gama", + "Matriz", + "Saturação", + "Luminosidade", + "Colorir", + "Alcance", + "Vibração", + [ + "Tamanho", + "Interpolação", + "Vizinho mais próximo", + "Bilinear" + ], + "Ângulo", + "Arredondamento", + "Dureza", + "Espaçamento", + [ + "Modo de Mistura", + "Mesclar Se" + ], + "Tamanho da Amostra", + "Contorno", + "Estilo", + [ + "Oposto", + "Relativa", + "Âncora" + ], + "Tolerância", + "Contíguo", + "Preenchimento", + "Use o Ângulo Global", + "Distância", + "Espalhar", + "Ruído", + "Derrubar a Sombra", + "Técnica", + "Direção", + "Profundidade", + "Suavizar", + "Modo", + "Gradiente", + "Escalar", + "Alinhar À Camada", + "Posição", + "Largura", + "Altura", + "Destino", + "Tipo", + "Primeiro Plano", + "Plano de Fundo", + "Personalizado", + "Nome", + "Criar", + "Formato", + "Manter a Proporção", + [ + "Qualidade", + "Páginas" + ], + "Duplicar", + "Mover", + "Filtros Inteligentes", + "Raio", + "Quantia", + "Distribuição", + [ + "Uniforme", + "Gaussiano" + ], + "Monocromático", + "Tamanho da Célula", + "Padrão", + "Fluxo", + "Força", + "Proteger Detalhe", + "Tipo de Preenchimento", + "Textura", + "Tensão", + "Canto", + "Fonte", + "Alvo", + "Canais", + "Máscara", + "Densidade", + "Alinhado", + [ + "Demarcador", + "Forma", + "Pixels", + "Polegadas", + "Centímetros", + "Milímetros", + "Porcentagem" + ], + "Formas", + "Lados", + "Preferências", + [ + "Comprimento", + "Ratio", + "Qualquer", + "Tipo de grade", + "Isométrico", + "Espaçamento da grade", + "Unidades da Régua" + ], + "Reduzir Ruído", + "Cores", + "Distâncias", + "Ritmo", + "Seleção Automática", + "Procurar", + "Definir novo", + [ + "Foto", + "Tela", + "Celular", + "Anúncios", + "Cópia impressa" + ], + [ + "Livre", + "Taxa Fixa", + "Tamanho Fixo" + ], + "Ajuda", + [ + "Forma Viva", + "Editar Forma Viva", + "O mesmo Raio" + ], + "Grau de seleção", + [ + "Polígono", + "Estrela", + "Espiral", + "Quadrado" + ], + [ + "Raio do Canto", + "Raio interno" + ] + ], + [ + "Cor", + [ + "Nenhum", + "Vermelho", + "Laranja", + "Amarelo", + "Verde", + "Azul", + "Roxo", + "Cinza", + "Branco", + "Transparente", + "Preto", + "Ciano", + "Magenta", + "Neutral" + ], + "Total", + "Absoluto", + "Preservar Luminosidade" + ], + [ + "Sombra Externa", + "Sombra Interna", + "Brilho Externo", + "Brilho Interno", + "Bisel e Relevo", + "Sobreposição de Cor", + "Sobreposição em Gradiente", + "Sobreposição em Padrão", + "Cetim", + "Traçado", + "Opções de Mistura", + "Selecionar Pixels" + ], + [ + "Forma de Ponta", + "Dinâmica de Ponta", + "Dispersão", + "Dinâmica de Cor", + [ + "Variação da Tensão", + "Diâmetro Mínimo", + "Tensão Angular", + "Tensão Arredondada", + "Redondeza Mínima" + ], + [ + "Posicionamento Tensional", + "Contagem", + "Quantidade de Tensão" + ], + [ + "Tremulação do Plano de Fundo/Primeiro Plano", + "Matriz Tensional", + "Saturação Tensional", + "Brilho Tensional" + ], + [ + "Selecione a fonte de clonagem segurando Alt (ou K) e clicando na imagem.", + "Marque Primeiro Plano com Branco, Fundo com Preto e a área desconhecida com Cinza.", + "Camada não editável.", + "Camada de Texto deve ser rasterizada primeiro", + "Objeto Inteligente Deve Ser Rasterizado Primeiro", + "Selecione Várias Camadas", + "Endireitar Camada", + "Abra um documento primeiro.", + "Feche a janela atual primeiro.", + "Somente Ferramenta Atual" + ], + [ + "Gravar", + "Novo Conjunto de Ações", + "Nova Ação" + ], + [ + "Pressão de Caneta controla a Opacidade", + "Pressão de Caneta controla o Tamanho" + ], + [ + "Normal", + "Dissolver", + "Escurecer", + "Multiplicação", + "Superexposição de Cor", + "Superexposição Linear", + "Cor Mais Escura", + "Clarear", + "Tela", + "Subexposição de Cor", + "Subexposição Linear", + "Cor Mais Clara", + "Sobrepor", + "Luz Indireta", + "Luz Direta", + "Luz Brilhante", + "Luz Linear", + "Luz do Pino", + "Mistura Sólida", + "Diferença", + "Exclusão", + "Subtrair", + "Dividir", + "Matiz", + "Saturação", + "Cor", + "Luminosidade", + "Passagem" + ] + ], + [ + "Entrelinhas", + "Rastreamento", + "Deslocamento de linha de base", + [ + "Converter para Texto de Ponto", + "Converter para Texto de Parágrafo" + ] + ], + [ + "Todas as Camadas", + "Camada Atual", + "Seleção", + "Atual e Abaixo" + ], + [ + "Substituir", + "Unir", + "Subtrair", + "Intersecção", + "Excluir", + "Mesclar" + ], + [ + [ + "Linear", + "Radial", + "Ângulo", + "Refletido", + "Diamante", + "Estouro de Forma" + ], + [ + "Mais Macio", + "Preciso" + ], + [ + "Bisel Externo", + "Bisel Interno", + "Entalhe", + "Relevo Travesseiro", + "Relevo do Contorno", + "Largura do traçado" + ], + [ + "Suavizar", + "Cinzel Duro", + "Cinzel Macio", + "Suavidade" + ], + [ + "Cima", + "Baixo" + ], + [ + "Fora", + "Centro", + "Dentro", + "A Partir do Centro" + ], + [ + "Sombras", + "Tons Médios", + "Realces" + ], + [ + "Dessaturar", + "Saturar" + ], + [ + "Pequeno", + "Médio", + "Ampla" + ], + [ + "Arremates", + "Cantos", + "Traços" + ] + ], + [ + "Escolha o objeto abaixo do cursor", + "Controles de Transformação", + "Pixel a Pixel", + "Encaixe a Área", + [ + "Alinhar Cantos Esquerdos", + "Centralizar Horizontalmente", + "Alinhar Cantos Direitos", + "Alinhar Cantos de Cima", + "Centralizar Verticalmente", + "Alinhar Cantos de Baixo", + "Lacunas Iguais" + ] + ], + [ + "Colocar em", + "Projeto Atual", + "Novo Projeto", + "Resolução", + "Adicionado ao projeto atual.", + "Um novo projeto foi criado.", + "O acesso à câmera foi recusado." + ], + [ + "Orientação", + "Curvatura", + "Distorção Horizontal", + "Distorção Vertical", + [ + "Horizontal", + "Vertical", + "Horizontalmente", + "Verticalmente" + ], + [ + "Nenhum", + "Arco", + "Arco Inferior", + "Arco Superior", + "Arquear", + "Protuberância", + "Concha Inferior", + "Concha Superior", + "Bandeira", + "Onda", + "Peixe", + "Elevar", + "Olho de Peixe", + "Inflar", + "Espremer", + "Torcer", + "Personalizado" + ], + [ + "Fonte", + "não está disponível", + "Será renderizado usando", + "Existe trabalho não salvo em", + "Deseja realmente fechar?" + ], + [ + "Trocar Cores", + "Padrão: Branco e Preto" + ] + ], + [ + "carregado", + "adicionado", + "Mover Guia", + "Excluir Guia", + "Adicionar Guia", + "Carregando", + "Carregar VAR0" + ], + [ + "Galeria de Filtros", + [ + [ + "Dissolver", + [ + "Borrar", + "Reconstruir", + "Suavizar", + "Redemoinho", + "Encolher", + "Inflar", + "Empurre à Esquerda", + "Congelar", + "Descongelar" + ] + ], + [ + "Correção de lente" + ] + ], + "Borrão", + [ + "Médio", + "Desfocar", + "Desfoque Maior", + "Desfoque de Caixa", + "Desfoque Gaussiano", + "Desfoque de Lente", + "Desfoque de Movimento", + "Desfoque Radial", + "Desfoque de Forma", + "Desfoque Inteligente", + "Desfoque de Superfície" + ], + "Distorcer", + [ + "Mesclar", + "Sucção", + "Coordenadas Polares", + "Ondulação", + "Cisalhamento", + "Esferização", + "Ondas" + ], + "Ruído", + [ + "Adicionar Ruído", + "Remover Manchas", + "Poeira e Rabiscos", + "Mediana" + ], + "Pixelizar", + [ + "Meio-Tom de Cor", + "Cristalizar", + "Faceta", + "Fragmento", + "Mezzo-tinto", + "Mosaico", + "Pontilhar" + ], + "Renderizar", + [ + "Nuvens", + "Nuvens Diferenciais", + "Reflexo de Flash" + ], + "Aguçar", + [ + "Tornar Nítido", + "Tornar Arestas Nítidas", + "Nitidez Maior", + "Aplicação Inteligente de Nitidez", + "Máscara de Nitidez" + ], + "Estilizar", + [ + "Difusão", + "Realçar", + "Extrusão", + "Indicação de Arestas", + "Pintura a óleo" + ], + "Outros Filtros", + [ + "Personalizado", + "Alta frequência", + "Máximo", + "Mínimo", + "Deslocamento", + "Repetir" + ], + [ + "Área Indefinida", + "Definir como Transparente", + "Repetir Pixels da Aresta", + "Preencher com Lado Oposto", + "Último Filtro", + "Visualizar" + ] + ], + [ + "Modelos", + [ + "Filtro de Fontes", + "Palavras-chave", + "Aleatória" + ], + [ + "Com símbolos", + "Com foto" + ], + [ + "Miniaturas", + "Lista" + ] + ] + ], + [ + [ + "Fájl", + "Szerkesztés", + "Kép", + "Réteg", + "Mappa", + "Kijelölés", + "Szűrő", + "Nézet", + "Ablak", + "Nyelv", + "Bejelentkezés", + "Kijelentkezés", + "Fordítás készítése", + [ + "Fiók", + "Jogi nyilatkozat", + "Vissza", + "Névjegy", + "Hiba jelentése", + "Tanulás" + ], + "Továbbiak", + "Téma", + "WebGL használata", + [ + "Photopea: fejlett képszerkesztő", + "Egy ingyenes online szerkesztő, amely támogatja a PSD, az XCF, a Sketch, az XD és a CDR formátumokat.", + "Hozzon létre egy új képet, vagy nyisson meg már létező fájlokat a számítógépről. Mentse el munkáját PSD (Fájl - Mentés mint PSD) vagy JPG / PNG / SVG (Fájl - Exportálás mint) formátumban.", + "Javasoljon új funkciókat on vagy on. Célunk, hogy megteremtsük
.", + "A szponzor linkek új ablakban nyílnak meg.", + "Ez a funkció nem érhető el.", + "Photopea telepítése" + ] + ], + [ + "Megnyitás", + "Közzététel online", + "Mentés", + "Mentés mint PSD", + "Nyomtatás", + "Megnyitás URL-ből", + "Megnyitás saját gépről", + "Kapcsolódás Google Drive-hoz", + "Exportálás mint", + "Rétegek exportálása", + "Szkript", + "Megnyitás és elhelyezés", + "Bezárás", + "Helyi meghajtó", + "Fájl információk" + ], + [ + "Előrelépés", + "Visszalépés", + "Törlés", + "Kitöltés", + "Transzformálás", + "Forgatás", + "VAR0 tükrözés", + "VAR0 méretezés", + "Visszavonás / Ismétlés", + "Perspektivikus", + [ + "Automatikus keverés", + "Automatikus igazítás" + ], + "Halványítás", + "Kép alkalmazása" + ], + "Színkorrekciók", + [ + "Fényerő/kontraszt", + "Szintbeállítás", + "Görbék", + "Exponálás", + "Vibrálás", + "Színezettség/Telítettség", + "Színegyensúly", + "Fekete-fehér", + "Fotószűrő", + "Csatornakeverő", + "Színkeresés", + "Invertálás", + "Keményítés", + "Határérték", + "Színátmenettérkép", + "Szín kiválasztás", + [ + "Automatikus színárnyalat", + "Automatikus kontraszt", + "Automatikus szín" + ], + "Színcsere" + ], + [ + "Vágás", + "Másolás", + "Beillesztés", + "Új", + "Törlés", + "Engedélyezés", + "Tiltás", + "Másolás egyesítve", + "Alkalmaz", + "Újra", + "Frissítés" + ], + [ + "Réteg duplikálása", + "Új szabályozható réteg", + "Rasztermaszk", + "Vektormaszk", + "Hozzáadás (Összes megjelenítése)", + [ + "Hozzáadás (Összes elrejtése)", + "Kijelölés megjelenítése", + "Kijelölés elrejtése", + "Átlátszóságból" + ], + [ + "Vágómaszk", + "Gyorsmaszk módban" + ], + "Okos objektummá alakítás", + "Raszterizálás", + "Rétegek csoportosítása", + "Egyesítés lefele", + "Egyesítés felfelé", + [ + "Rétegek egyesítése", + "Rétegek összeolvasztása" + ], + "Új réteg", + "Rasztermaszk engedélyezése", + "Rasztermaszk letiltása", + "Vektormaszk engedélyezése", + "Vektormaszk letiltása", + "Vágómaszk engedélyezése", + "Vágómaszk letiltása", + "Új mappa", + "Rasztermaszk hozzáadása", + "Rasztermaszk törlése", + "Vektormaszk hozzáadása", + "Vektormaszk törlése", + "Rasztermaszk összekötése", + "Rasztermaszk szétkapcsolása", + "Vektormaszkok összekapcsolása", + "Vektormaszkok szétkapcsolása", + "Rétegeffektek engedélyezése", + "Rétegeffektek letiltása", + "Réteg törlése", + "Réteg átlátszóságának változtatása", + "Keverési beállítások", + "Rétegstílus raszterizálása", + "Rétegrend", + [ + "Okos objektum hozzáadása", + "Okos objektum frissítése", + "Okos objektum elhelyezése", + "Forrás (Okos objektum)", + "Halommódot" + ], + "Névváltoztatás", + "Színváltoztatás", + "Állítható réteg szerkesztése", + "Alakzattá alakítás", + "Szűrőmaszk engedélyezése", + "Szűrőmaszk letiltása", + "Okos szűrők engedélyezése", + "Okos szűrők letiltása", + "Szűrőmaszk hozzáadása", + "Szűrőmaszk törlése", + "Okos szűrők törlése", + [ + [ + "Egyszínű kitöltés", + "Színátmenetes Kitöltés", + "Minta kitöltés", + "Tartalomérzékeny" + ], + "Új kitöltő réteg", + "Kitöltési réteg módosítás" + ], + "Jelenlegi réteg másolása", + "Szűrőmaszk", + "Réteg stílus törlése", + "Okos szűrő mozgatása", + "Okos szűrő törlése", + [ + "Rétegek csatolása", + "Rétegek leválasztása" + ], + "Rendezés", + [ + "Előrehozás", + "Előtérbe hozás", + "Hátrébb küldés", + "Hátraküldés" + ], + [ + "Ez a réteg zárolva van.", + "Zárolás Változtatás", + "Zárolása" + ], + null + ], + [ + "Összes", + "Kijelölés megszüntetése", + "Inverzálás", + "Módosítás", + "Kiterjesztés", + "Összehúzás", + "Madártoll", + "Kijelölés mozgatása", + "Színtartomány", + "Szegély", + "Kijelölés átalakítása", + "Szegély finomítása", + "Kijelölés javítása", + null + ], + [ + "Nagyítás", + "Kicsinyítés", + "Segédvonalak", + "Szabályzók", + "Rács", + "Igazítás", + "Igazítás a köv. p.", + "Dokumentumszegélyek", + "Képpontrács", + "Görbék", + "Igazítás képpontokkal", + [ + "Szeletek", + "Szelet beállításai" + ], + "Megjelenítés" + ], + [ + "Előzmény", + "Rétegek", + "Beállítások", + "Ecset", + "Karakter", + "Paragrafus", + "Információ", + "Rétegszedők", + "Színtár", + "Műveletek", + "Hisztogram", + "Navigátor", + "Eszközkészletek", + "Karaktertábla" + ], + [ + "Festő eszköz", + "Másoló eszköz", + "Vágó eszköz", + "Törlő eszköz", + "Ellipszis kijelölö", + "Pipetta", + "Színátmenet eszközre", + "Mozgató eszköz", + "Szövegbevitel", + "Lasszó", + "Mágneses lasszó", + "Mozgató eszköz", + "Varázspálca", + "Festékesvödör", + "Sokszög lasszó", + "Téglalap kijelölö", + "Szabad átalakítás", + "Közelítő eszköz", + "Életlenítési eszköz", + "Élességi eszköz", + "Maszatoló eszköz", + "Világosító eszköz", + "Sötétítő eszköz", + "Szivacs eszköz", + "Helyi javító ecset eszköz", + "Javító ecset eszköz", + "Folt", + "Görbeválasztó", + "Közvetlen kijelölés", + "Toll", + "Szabadkézi toll", + "Egyéni alakzat", + "Téglalap", + "Ellipszis", + "Parametrikus alakzat", + "Vonal", + "Vonalzó", + "Gyors kijelölés", + "Ceruza eszköz", + "Perspektivikus vágás", + "Szelet", + "Szeletkijelölő", + "Színcsere eszköz", + "Vörösszem-eltávolító eszköz", + "Objektumkijelölés", + "Háttér radír", + "Bábu hajlítása", + "Nézet elforgatása", + "Tartalomérzékeny méretezés", + "Tartalomérzékeny mozgatás" + ], + [ + "Készíts egy képet", + "Színválasztó", + "Kontúr szerkesztő", + "Vászon méret", + "Duplázás ide...", + "Színátmenet szerkesztő", + "Rétegstílus", + "Új projekt", + "Mentés webre", + "Csavarás", + "Képméret", + "Bittérképet vektorizálja", + [ + "Körülvágás", + null, + "Összes megjelenítése" + ], + "Billentyűparancsok", + "Segédvonalak hozzáadása", + [ + "Segédvonalak törlése", + null + ] + ], + [ + "Opacitás", + "Effektek", + "Fényerő", + [ + "Kontraszt", + "Örökölt használata" + ], + "Csatorna", + "Exponálás", + "Eltolás", + "Gamma korrekció", + "Színezet", + "Telítettség", + "Könnyűség", + "Színezése", + "Hatótávolság", + "Élénkség", + [ + "Méret", + "Interpoláción", + "Legközelebbi szomszéd", + "Bilineáris" + ], + "Szög", + "Kerekség", + "Keménység", + "Térköz", + [ + "Kevert mód", + "Keverés, ha" + ], + "Minta méret", + "Kontúr", + "Stílus", + [ + "Fordított", + "Relatív", + "Szerkesztőpont" + ], + "Tűréshatár", + "Határos", + "Kitöltés", + "Globális szög használat", + "Távolság", + "Kiterjedés", + "Zaj", + "Árnyék kihagyás", + "Technika", + "Irány", + "Mélység", + "Lágy", + "Mód", + "Színátmenet", + "Méretezés", + "Réteghez igazítás", + "Pozíció", + "Szélesség", + "Magasság", + "Rendeltetési hely", + "Típus", + "Előtér", + "Háttér", + "Egyedi", + "Név", + "Létrehoz", + "Formázás", + "Képarány megtartása", + [ + "Minőség", + "Oldalak" + ], + "Másolat", + "Mozgató", + "Szelektív szűrők", + "Sugár", + "Összeg", + "Terjesztés", + [ + "Egyen", + "Gauss" + ], + "Egyszínű", + "Cella méret", + "Minta", + "Folyatás", + "Erő", + "Védett részlet", + "Kitöltés típusa", + "Textúra", + "Élénkség", + "Él", + "Forrás", + "Cél", + "Csatorna", + "Maszk", + "Sűrűség", + "Igazított", + [ + "Görbe", + "Alakzat", + "Pixel", + "Hüvelyk", + "Centiméter", + "Milliméter", + "Százalék" + ], + "Alakzatok", + "Oldalak", + "Előnyben részesített", + [ + "Hossz", + "Arány", + "Bármilyen", + "Rács Típus", + "Izometrikus", + "Rácstérköz", + "Vonalzó mértékegysége" + ], + "Zajcsökkentés", + "Színek", + "Távolságok", + "Sebesség", + "Automatikus kijelölés", + "Keresés", + "Megadása", + [ + "Fénykép", + "Képernyő", + "Mobil", + "Hirdetések", + "Nyomat" + ], + [ + "Normál", + "Rögzített arány", + "Rögzített méret" + ], + "Súgó", + [ + "Élő alakzatot", + "Élő alakzatot szerkesztése", + "Azonos sugarú" + ], + "Tűrés", + [ + "Sokszög", + "Csillag", + "Spirál", + "Négyzetes" + ], + [ + "Sarok sugara", + "Belső sugár" + ] + ], + [ + "Szín", + [ + "Egyik sem", + "Piros", + "Narancs", + "Sárga", + "Zöld", + "Kék", + "Lila", + "Szürke", + "Fehér", + "Átláltszó", + "Fekete", + "Cián", + "Bíbor", + "Semleges" + ], + "Teljes", + "Abszolút", + "Fényintenzitás megőrzése" + ], + [ + "Árnyék", + "Belső árnyék", + "Külső ragyogás", + "Belső ragyogás", + "Bevésés és Domborítás", + "Színátfedés", + "Színátmenet-átfedés", + "Mintaátfedés", + "Szatén", + "Körvonal", + "Összhatás beállítások", + null + ], + [ + "Csúcs Alak", + "Csúcs Dinamika", + "Szórás", + "Szín dinamika", + [ + "Bemozdulás méret", + "Minimális átmérő", + "Bemozdulás szög", + "Bemozdulás kerekség", + "Minimális Kerekség" + ], + [ + "Bemozdulási pozíció", + "Számol", + "Bemozdulási szám" + ], + [ + "Bemozdulás Előtér / Háttér", + "Bemozdulás Színárnyalat", + "Remegés Telítettség", + "Remegés Fényereje" + ], + [ + "Válassza ki a klón forrását a nyomva tartott Alt billenytűvel (vagy K), és kattintson a képre.", + "Jelölje meg az előtéret fehérvel, az háttéret feketével, és az ismeretlen terület szürkével.", + "Réteg nem szerkeszthető.", + "Szövegréteg először raszterizálni kell", + "Okos objektum először raszterizálni kell", + "Több réteg kiválasztása", + "Dőlésmentesítés", + "Először nyisson meg egy dokumentumot.", + "Először zárja be az aktuális ablakot.", + "Csak az aktuális eszköz" + ], + [ + "Rögzítése", + "Új műveletkészlet", + "Új művelet" + ], + [ + "Tábla nyomásszabályzó vezérlőelemeinek Áttetszőség", + "Tábla nyomásszabályzó vezérlőelemeinek Méret" + ], + [ + "Normál", + "Szórt", + "Sötétítés", + "Szendvicspozitív", + "Színégetés", + "Lineáris égetés", + "Sötétebb szín", + "Világosítás", + "Szendvicsnegatív", + "Színfakítás", + "Lineáris fakítás", + "Világosabb szín", + "Átfedés", + "Lágy fény", + "Kemény fény", + "Élénk fény", + "Lineáris világosítás", + "Tűfény", + "Kemény keverés", + "Különbség", + "Kizárás", + "Elvétel", + "Felosztás", + "Színezet", + "Telítettség", + "Szín", + "Fényintenzitás", + "Áthúzás" + ] + ], + [ + "Sortávolság", + "Betűköz", + "Kiindulási műszak", + [ + "Átalakítás pontszöveggé vagy", + "Átalakítás bekezdésszöveggé parancsra" + ] + ], + [ + "Összes réteg", + "Aktuális réteg", + "Kijelölési", + "Aktuális és alatta" + ], + [ + "Csere", + "Egyesítés", + "Különbség", + "Metszőpont", + "XOR", + "Egyesítés" + ], + [ + [ + "Egyenes irányú", + "Sugárirányú", + "Szög", + "Tükröződés", + "Gyémánt", + "Shape Burst" + ], + [ + "Lágyabb", + "Pontos" + ], + [ + "Külső Tompaszög", + "Belső Tompaszög", + "Dombor", + "Párna Dombor", + "Ecsetvonás Dombor", + "Vonalvastagság" + ], + [ + "Simítás", + "Véső Kemény", + "Véső Lágy", + "Finomság" + ], + [ + "Fel", + "Le" + ], + [ + "Kívül", + "Közép", + "Belül", + "Középről" + ], + [ + "Árnyék", + "Középtónusok", + "Csúcsfény" + ], + [ + "Telítettség csökkentése", + "Telítés" + ], + [ + "Kicsi", + "Közepes", + "Nagy" + ], + [ + "Vonalvégek", + "Sarkok", + "Szaggatott" + ] + ], + [ + "Válassza ki a tárgyat a kurzor alatt", + "Átalakítási vezérlőelemek", + "Pixeltől Pixelig", + "Területhez Illesztés", + [ + "Igazítás bal szegélyek", + "Vízszintes középre igazítás", + "Igazítás jobb szegélyek", + "Igazítás felső szegélyek", + "Függőleges középre igazítás", + "Igazítás alsó szegélyek", + "Egyenletes eloszlás" + ] + ], + [ + "Helyezzen be", + "Aktuális projekt", + "Új projekt", + "Felbontás", + "Hozzáadni az aktuális projekthez.", + "Egy új projekt jött létre.", + "Kamera hozzáférés megtagadva." + ], + [ + "Helyzet", + "Hajlás", + "Vízszintes csavarás", + "Függőleges csavarás", + [ + "Vízszintes", + "Függőleges", + "Vízszintes", + "Függőleges" + ], + [ + "Nincs", + "Ívelés", + "Ívelés lejjebb", + "Ívelés feljebb", + "Ív", + "Kidomborítás", + "Kagyló (alsó)", + "Kagyló (felsö)", + "Jelzö", + "Hullám", + "Hal", + "Emelés", + "Halszem", + "Felfújás", + "Összepréselés", + "Csavarás", + "Egyedi" + ], + [ + "Betűtípus", + "nem elérhető", + "Lesz renderelt segítségével", + "A projektben nem mentett munka van:", + "Biztosan bezárja?" + ], + [ + "Színének felcserélése", + "Alapértelmezés: fehér és fekete" + ] + ], + [ + "betöltve", + "hozzáadva", + "Segédvonal mozgatása", + "Segédvonal törlése", + "Segédvonal hozzáadása", + "Betöltés", + "VAR0 betöltése" + ], + [ + "Szűrőgaléria", + [ + [ + "Cseppfolyósítás", + [ + "Maszatoló", + "Visszaépítés", + "Simítás", + "Örvény", + "Összezsugorodik", + "Felfúj", + "Balra tolás", + "Fagyasztása", + "Olvasztása" + ] + ], + [ + "Lencsekorrekció" + ] + ], + "Életlenítési", + [ + "Átlag", + "Életlenítés", + "Több életlenítés", + "Doboz életlenítése", + "Gauss-életlenítés", + "Lencsefolt", + "Bemozdulás", + "Sugaras életlenítés", + "Alakzatos életlenítés", + "Intelligens életlenítés", + "Felület életlenítése" + ], + "Torzítási", + [ + "Fénytörés", + "Tölcsér", + "Ellentétes koordináták", + "Fodrozás", + "Nyírás", + "Gömb", + "Hullám" + ], + "Zajkezelési", + [ + "Zaj hozzáadása", + "Rácstalanítás", + "Por és karcok", + "Medián" + ], + "Képpontosítási", + [ + "Színes raszterrács", + "Kristályosítás", + "Szellemkép", + "Töredék", + "Borzolás", + "Mozaik", + "Pointillista" + ], + "Renderelési", + [ + "Felhők", + "Negatív felhők", + "Lencsefényfolt" + ], + "Élesítési", + [ + "Élesítés", + "Szegélyek élesítése", + "Több élesítés", + "Intelligens élesítés", + "Életlen maszk" + ], + "Stilizálási", + [ + "Szétszórás", + "Domborítás", + "Kiemelés", + "Szegélyek megkeresése", + null + ], + "Egyéb", + [ + "Egyéni", + "Élkiemelés", + "Maximális", + "Minimális", + "Eltolás", + "Ismétlés" + ], + [ + "Nem definiált terület", + "Beállítás áttetszőként", + "Szegélyképpontok megismétlése", + "Körétördelés", + "Utolsó szűrő", + "Előnézet" + ] + ], + [ + "Sablonok", + [ + "Betűtípusszűrő", + "Kulcsszavak", + "Véletlenszerű" + ], + [ + "Szimbólumok", + "Képekkel" + ], + [ + "Bélyegkép", + "Lista" + ] + ] + ], + [ + [ + "Súbor", + "Upraviť", + "Obraz", + "Vrstva", + "Priečinok", + "Vybrať", + "Filter", + "Zobrazenie", + "Okno", + "Jazyk", + "Prihlásiť sa", + "Odhlásiť sa", + "Vytvoriť preklad", + [ + "Účet", + "Podmienky služby", + "Späť", + "O programe", + "Nahlás chybu", + "Nauč sa" + ], + "Viac", + "Téma", + "Použiť WebGL", + [ + "Photopea: Pokročilý grafický editor", + "Bezplatný online editor podporujúci formáty PSD, XCF, Sketch, XD a CDR.", + "Vytvorte nový obrázok alebo otvorte existujúce súbory z počítača. Uložte svoju prácu ako PSD (Súbor - Uložiť ako PSD) alebo ako JPG / PNG / SVG (Súbor - Exportovať ako).", + "Navrhnite nové funkcie v našom alebo . Naším cieľom je vytvoriť .", + "Sponzorské odkazy sa otvárajú v novom okne.", + "Táto funkcia nie je dostupná.", + null + ] + ], + [ + "Otvoriť", + "Zverejniť online", + "Uložiť", + "Uložiť ako PSD", + "Tlačiť", + "Otvoriť z URL", + "Otvoriť z počítača", + "Spojiť s Google Drive", + "Exportovať ako", + "Exportuj vrstvy", + "Skript", + "Otvoriť a Umiestniť", + "Zatvoriť", + "Miestne Úložisko", + null + ], + [ + "Krok dopredu", + "Krok dozadu", + "Vyčistiť", + "Vyplniť", + "Transformácia", + "Otočiť", + "Preklopiť VAR0", + "Roztiahnuť VAR0", + "Dopredu / Dozadu", + "Perspektíva", + [ + "Automatické prelínanie", + "Automaticky zarovnať" + ], + "Zoslabiť", + null + ], + "Úpravy", + [ + "Jas/Kontrast", + "Úrovne", + "Krivky", + "Expozícia", + "Živosť", + "Odtieň/Sýtosť", + "Vyváženie farieb", + "Čierna & Biela", + "Fotografický filter", + "Miešanie kanálov", + "Vyhľadávanie farieb", + "Invertovať", + "Posterizovať", + "Prah", + "Gradientový prechod", + "Selektívna farba", + [ + "Auto Tón", + "Auto Kontrast", + "Auto Farby" + ], + "Nahradiť farbu" + ], + [ + "Vystrihnúť", + "Kopírovať", + "Vložiť", + "Nový", + "Vymazať", + "Zapnúť", + "Vypnúť", + "Kopírovať z celku", + "Použiť", + "Znovu", + "Aktualizovať" + ], + [ + "Duplikovať vrstvu", + "Nová vrstva úprav", + "Rastrová maska", + "Vektorová maska", + "Pridať (Odhaliť všetko)", + [ + "Pridať (skryť všetko)", + "Odhaliť výber", + "Skryť výber", + "Podľa priehľadnosti" + ], + [ + "Orezová maska", + "Režim Rýchla maska" + ], + "Previesť na Smart Object", + "Rastrovať", + "Pridať do zložky", + "Zlúčiť nadol", + "Zlúčiť nahor", + [ + "Spojiť vrstvy", + "Do jednej vrstvy" + ], + "Nová vrstva", + "Zapnúť rastrovú masku", + "Vypnúť rastrovú masku", + "Zapnúť vektorovú masku", + "Vypnúť vektorovú masku", + "Zapnúť orezovú masku", + "Vypnúť orezovú masku", + "Nový priečinok", + "Pridať rastrovú masku", + "Zmazať rastrovú masku", + "Pridať vektorovú masku", + "Zmazať vektorovú masku", + "Spojiť rastrovú masku", + "Rozdeliť rastrovú masku", + "Spojiť vektorovú masku", + "Rozdeliť vektorovú masku", + "Zapnúť štýly vrstvy", + "Vypnúť štýly vrstvy", + "Zmazať vrstvu", + "Zmena priehľadnosti vrstvy", + "Zmena režimu prelínania", + "Rastrovať štýl vrstvy", + "Poradie vrstiev", + [ + "Vytvoriť Smart Object", + "Aktualizovať Smart Object", + "Umiestniť Smart Object", + "Zdroj (Smart Object)", + "Režim balíčku" + ], + "Zmena názvu", + "Zmena farby", + "Zmena vrstvy úprav", + "Previesť na tvar", + "Zapnúť masku filtrov", + "Vypnúť masku filtrov", + "Zapnúť chytré filtre", + "Vypnúť chytré filtre", + "Pridať masku filtrov", + "Zmazať masku filtrov", + "Zmazať chytré filtre", + [ + [ + "Prekrytie farbou", + "Prekrytie prechodom", + "Prekrytie vzorkom", + "Podľa obsahu" + ], + "Nová vrstva krytia", + "Úprava vrstvy krytia" + ], + "Vrstva kopírovaním", + "Maska filtra", + "Zmazať štýl vrstvy", + "Presunúť chytré filter", + "Zmazať chytré filter", + [ + "Prepojiť vrstvy", + "Zrušiť prepojenie vrstiev" + ], + "Usporiadať", + [ + "Presunúť na začiatok", + "Presunúť dopredu", + "Presunúť dozadu", + "Presunúť na koniec" + ], + [ + "Vrstva je zamknutá.", + "Zmena Zámku", + null + ], + null + ], + [ + "Všetko", + "Odznačiť", + "Invertovať", + "Upraviť", + "Rozšíriť", + "Zúžiť", + "Zmäkčiť okraj", + "Posun výberu", + "Rozsah farieb", + "Okraj", + "Transformovať výber", + "Spresniť okraje", + "Opraviť výber", + null + ], + [ + "Priblížiť", + "Oddialiť", + "Vodítka", + "Pravítka", + "Mriežka", + "Prichytávanie", + "Prichytiť k", + "Okraj dokumentu", + "Pixelová mriežka", + "Cesty", + "Prichytiť k pixelom", + [ + "Rezy", + "Parametre rezu" + ], + "Zobraziť" + ], + [ + "História", + "Vrstvy", + "Vlastnosti", + "Štetec", + "Znak", + "Odstavec", + "Info", + "Kompozícia", + "Vzorkovník", + "Akcia", + "Histogram", + "Navigátor", + "Konfigurácia nástrojov", + null + ], + [ + "Štetec", + "Klonovacie razítko", + "Orez", + "Guma", + "Eliptický výber", + "Kvapkadlo", + "Prechod", + "Ruka", + "Vodorovný text", + "Laso", + "Magnetické laso", + "Presun", + "Kúzelná palička", + "Kýblik farby", + "Mnohouholníkové laso", + "Obdĺžnikový výber", + "Voľná transformácia", + "Lupa", + "Rozostrenie", + "Zostrenie", + "Rozmazanie", + "Zosvetlenie", + "Stmavenie", + "Hubka", + "Bodový retušovací štetec", + "Retušovací štetec", + "Záplata", + "Výber cesty", + "Priamy výber", + "Pero", + "Pero od ruky", + "Iný tvar", + "Obdĺžnik", + "Elipsa", + "Tvar s parametrami", + "Čiara", + "Pravítko", + "Rýchly výber", + "Ceruzka", + "Perspektívne Orez", + "Nástroj rez", + "Nástroj výber rezu", + "Nahradiť farbu", + "Červené oči", + "Výber objektov", + "Mazanie pozadie", + null, + "Otočiť Obraz", + null, + null + ], + [ + "Vyfotiť", + "Výber farby", + "Editor kontúr", + "Veľkosť plátna", + "Duplikovať do ...", + "Editor prechodu", + "Štýl vrstvy", + "Nový projekt", + "Uložiť pre web", + "Pokrivenie", + "Veľkosť obrazu", + "Vektorizovať bitmapu", + [ + "Zastrihnúť", + "Orezať", + "Odhaliť všetko" + ], + "Klávesové skratky", + "Pridať vodítka", + [ + "Odstrániť vodítka", + "Vodítka podľa vrstvy" + ] + ], + [ + "Krytie", + "Efekty", + "Jas", + [ + "Kontrast", + "Použiť kompatibilitu" + ], + "Kanál", + "Expozícia", + "Posun", + "Gamma korekcia", + "Odtieň", + "Sýtosť", + "Svetlosť", + "Kolorizovať", + "Rozsah", + "Živosť", + [ + "Veľkosť", + "Interpolácia", + "Najbližší sused", + "Bilineárna" + ], + "Uhol", + "Zaoblenie", + "Tvrdosť", + "Medzery", + [ + "Režim prelínania", + "Prelínať keď" + ], + "Veľkosť vzorku", + "Kontúra", + "Štýl", + [ + "Otočiť", + "Relatívna", + "Ukotviť" + ], + "Tolerancia", + "Súvislé", + "Výplň", + "Použiť globálny uhol", + "Vzdialenosť", + "Rozšírenie", + "Šum", + "Vyseknúť vrhnutý tieň", + "Metóda", + "Smer", + "Hĺbka", + "Zmäkčiť", + "Režim", + "Prechod", + "Veľkosť", + "Zarovnať s vrstvou", + "Poloha", + "Šírka", + "Výška", + "Cieľ", + "Typ", + "Popredie", + "Pozadie", + "Vlastné", + "Názov", + "Vytvoriť", + "Formát", + "Zachovať pomer strán", + [ + "Kvalita", + "Stránky" + ], + "Duplikovať", + "Presun", + "Chytré filtre", + "Polomer", + "Miera", + "Distribúcia", + [ + "Rovnomerná", + "Gaussovská" + ], + "Monochromatický", + "Veľkosť bunky", + "Vzorka", + "Hustota", + "Sila", + "Zachovať detaily", + "Typ výplne", + "Textúra", + "Chvenie", + "Hrana", + "Zdroj", + "Cieľ", + "Kanály", + "Maska", + "Hustota", + "Zarovnaný", + [ + "Cesta", + "Tvar", + "Pixely", + "Palce", + "Centimeter", + "Milimeter", + "Percento" + ], + "Tvary", + "Strany", + "Predvoľby", + [ + "Dĺžka", + "Pomer", + "Ľubovoľný", + "Typ mriežky", + "Izometrický", + "Veľkosť mriežky", + "Jednotky pravítka" + ], + "Redukovať šum", + "Farby", + "Vzdialenosti", + "Miera", + "Automatický výber", + "Nájsť", + "Definovať nový", + [ + "Foto", + "Obrazovka", + "Mobil", + "Reklama", + "Tlač" + ], + [ + "Voľný", + "Pevný pomer", + "Pevná veľkosť" + ], + "Pomoc", + [ + "Živé tvary", + "Úprava živých tvarov", + "Rovnaké polomery" + ], + "Rozmazanosť", + [ + "Mnohouholník", + "Hviezda", + "Špirála", + "Štvorec" + ], + [ + "Polomer rohov", + "Vnútorný polomer" + ] + ], + [ + "Farba", + [ + "Žiadna", + "Červená", + "Oranžová", + "Žltá", + "Zelená", + "Modrá", + "Fialová", + "Šedá", + "Biela", + "Priesvitná", + "Čierna", + "Azúrová", + "Purpurová", + "Neutrálny" + ], + "Celkom", + "Absolútna", + "Zachovať svetlosť" + ], + [ + "Vrhnutý tieň", + "Vnútorný tieň", + "Vonkajšia žiara", + "Vnútorná žiara", + "Úkos a reliéf", + "Prekrytie farbou", + "Prekrytie prechodom", + "Prekrytie vzorkom", + "Satén", + "Vytiahnutie", + "Možnosti prelínania", + "Vybrať pixely" + ], + [ + "Tvar špičky", + "Dynamika špičky", + "Rozptyl", + "Dynamika farby", + [ + "Kolísanie veľkosti", + "Minimálny priemer", + "Kolísanie uhla", + "Kolísanie zaoblenia", + "Minimálne zaoblenie" + ], + [ + "Rozptyl polohy", + "Počet", + "Kolísanie počtu" + ], + [ + "Kolísanie popredia/pozadia", + "Kolísanie odtieňa", + "Kolísanie sýtosti", + "Kolísanie jasu" + ], + [ + "Zvoľte zdroj klonovania pridržaním Alt a kliknutím do obrazu.", + "Označte popredie Bielou, pozadie Čiernou a neznámu oblasť Šedou.", + "Vrstvu nemožno upravovať.", + "Textová vrstva sa musí najsôr rastrovať", + "Smart Object sa musí najsôr rastrovať", + "Vyberte niekoľko vrstiev", + "Vyrovnať vrstvu", + "Najprv otvorte dokument.", + "Najprv zatvorte aktuálne okno.", + "Len aktuálny nástroj" + ], + [ + "Nahrať", + "Nová skupina akciu", + "Nová akcia" + ], + [ + "Prítlak pera mení priehľadnosť", + "Prítlak pera mení veľkosť" + ], + [ + "Normálne", + "Rozpustiť", + "Stmaviť", + "Násobenie", + "Stmaviť farby", + "Lineárne stmaviť", + "Tmavšia farba", + "Zosvetliť", + "Závoj", + "Zosvetliť farby", + "Lineárne zosvetliť", + "Svetlejšia farba", + "Prekryť", + "Mäkké svetlo", + "Tvrdé svetlo", + "Jasné svetlo", + "Lineárne svetlo", + "Bodové svetlo", + "Tvrdé miešanie", + "Rozdiel", + "Vylúčiť", + "Odpočítať", + "Rozdeliť", + "Odtieň", + "Sýtosť", + "Farba", + "Svetlosť", + "Prejst skrz" + ] + ], + [ + "Preklad", + "Prestrkanie", + "Posun účiaria", + [ + "Previesť na bodový text", + "Previesť na odstavcový text" + ] + ], + [ + "Všetok obsah", + "Aktuálna vrstva", + "Výber", + "Vrstva a vrstvy pod ňou" + ], + [ + "Nahradiť", + "Spojiť", + "Odobrať", + "Prienik", + "Vylúčiť", + "Spojiť" + ], + [ + [ + "Lineárny", + "Kruhový", + "Uhlový", + "Zrkadlený", + "Diamant", + "Podľa tvaru" + ], + [ + "Mäkší", + "Presná" + ], + [ + "Vonkajší úkos", + "Vnútorný úkos", + "Reliéf", + "Poduškový reliéf", + "Reliéfny ťah", + "Hrúbka vytiahnutie" + ], + [ + "Vyhladiť", + "Tvrdá", + "Mäkká", + "Hladkosť" + ], + [ + "Hore", + "Dole" + ], + [ + "Vonku", + "Na stred", + "Vnútri", + "Zo stredu" + ], + [ + "Tiene", + "Stredné tóny", + "Odlesky" + ], + [ + "Znížiť sýtosť", + "Zvýšiť sýtosť" + ], + [ + "Malý", + "Stredný", + "Veľký" + ], + [ + "Zakončenie", + "Rohy", + "Čiarky" + ] + ], + [ + "Vybrať objekt pod kurzorom", + "Ovládacie prvky transformácie", + "Skutočné pixely", + "Prispôsobiť obrazovke", + [ + "Zarovnať ľavé hrany", + "Vodorovne na stred", + "Zarovnať pravé hrany", + "Zarovnať horné hrany", + "Zvisle na stred", + "Zarovnať spodné hrany", + "Rovnaké medzery" + ] + ], + [ + "Vložiť do", + "Súčasný projekt", + "Nový projekt", + "Rozlíšenie", + "Pridané do súčasného projektu.", + "Nový projekt vytvorený.", + "Nebol povolený prístup ku kamere." + ], + [ + "Orientácia", + "Ohyb", + "Vodorovná deformácia", + "Zvislá deformácia", + [ + "Vodorovne", + "Zvisle", + "vodorovne", + "zvisle" + ], + [ + "Žiadne", + "Oblúk", + "Spodný oblúk", + "Vrchný oblúk", + "Klenba", + "Vydutie", + "Mušľa dole", + "Mušľa hore", + "Vlajka", + "Vlna", + "Ryba", + "Vyvýšenie", + "Rybie oko", + "Nafúknutie", + "Stlačenie", + "Skrútenie", + "Vlastné" + ], + [ + "Font", + "nie je dostupný", + "Pre vykreslenie sa použije", + "Máte neuloženú prácu v", + "Naozaj ho chcete zatvoriť?" + ], + [ + "Prehodiť farby", + "Základné: čierna a biela" + ] + ], + [ + "Načítaný", + "pridané", + "Posun vodítka", + "Zmazanie vodítka", + "Pridanie vodítka", + "Načítanie", + "Načítať VAR0" + ], + [ + "Galéria filtrov", + [ + [ + "Skvapalniť", + [ + "Rozmazať", + "Obnoviť", + "Vyhladiť", + "Zatočiť", + "Zmrštiť", + "Nafúknuť", + "Posun doľava", + "Zmraziť", + "Rozmraziť" + ] + ], + [ + "Korekcia šošovky objektívu" + ] + ], + "Rozostrenie", + [ + "Priemer", + "Rozostriť", + "Rozostriť viac", + "Pravouhlé rozostrenie", + "Gaussovské rozostrenie", + "Rozostrenie šošovkou", + "Rozostrenie pohybom", + "Kruhové rozostrenie", + "Rozostrenie tvarom", + "Chytré rozostrenie", + "Rozostrenie povrchu" + ], + "Skresliť", + [ + "Pokriviť", + "Uštipnúť", + "Polárne súradnice", + "Zvlniť", + "Strihať", + "Zagulatiť", + "Vlna" + ], + "Šum", + [ + "Pridať šum", + "Vyhladiť", + "Prach a škrabance", + "Medián" + ], + "Pixelizácia", + [ + "Farebné poltónovanie", + "Kryštalizácia", + "Fazeta", + "Fragment", + "Mezzotinta", + "Mozaika", + "Vybodkovať" + ], + "Vykresliť", + [ + "Mraky", + "Mraky: Rozdiel", + "Odlesk objektívu" + ], + "Zaostriť", + [ + "Zaostriť", + "Zaostriť hrany", + "Zaostriť viac", + "Chytré zaostrenie", + "Maska zaostrenia" + ], + "Štylizácia", + [ + "Difúzia", + "Reliéf", + "Extrudácia", + "Nájsť hrany", + "Olejová Maľba" + ], + "Ostatné", + [ + "Vlastné", + "Výšky", + "Maximum", + "Minimum", + "Posun", + "Opakovať" + ], + [ + "Oblasť okolo", + "Nastaviť priehľadnú", + "Zopakovať pixely na hrane", + "Zopakovať obrázok", + "Posledný Filter", + "Náhľad" + ] + ], + [ + "Šablóny", + [ + "Filter písma", + "Kľúčové slová", + "Zamiešať" + ], + [ + "So symbolmi", + "S fotkou" + ], + [ + "Miniatúry", + "Zoznam" + ] + ] + ], + [ + [ + "Tệp", + "Chỉnh sửa", + "Hình ảnh", + "Lớp", + "Thư mục", + "Lựa chọn", + "Bộ lọc", + "Xem", + "Cửa sổ", + "Ngôn ngữ", + "Đăng nhập", + "Đăng xuất", + "Tạo bản dịch", + [ + "Tài khoản", + "Điều khoản dịch vụ", + "Trở lại", + "Giới thiệu", + "Báo lỗi", + "Hướng dẫn" + ], + "Thêm", + "Giao diện", + "Sử dụng WebGL", + [ + "Photopea: trình chỉnh sửa hình ảnh nâng cao", + "Trình chỉnh sửa trực tuyến miễn phí hỗ trợ các định dạng PSD, XCF, Sketch, XD và CDR.", + "Tạo một hình ảnh mới hoặc mở các tập tin hiện có từ máy tính của bạn. Lưu công việc của bạn dưới dạng PSD (Tệp - Lưu dưới dạng PSD) hoặc dưới dạng JPG / PNG / SVG (Tệp - Xuất dưới dạng).", + "Đề xuất các tính năng mới tại hoặc của chúng tôi. Mục tiêu của chúng tôi là tạo ra ", + "Liên kết tài trợ mở trong một cửa sổ mới.", + null, + null + ] + ], + [ + "Mở", + "Xuất bản trực tuyến", + "Lưu", + "Lưu dưới dạng PSD", + "In", + "Mở từ URL", + "Mở File từ máy tính", + "Kết nối với Google Drive", + "Xuất dưới dạng", + "Xuất các lớp", + "Bản thảo", + "Chèn ảnh", + "Đóng", + "Lưu trữ cục bộ", + null + ], + [ + "Bước Tiến", + "Bước giật lùi", + "Xóa", + "Tô màu", + "Biến đổi", + "Quay", + "Lật theo chiều VAR0", + "Quy mô VAR0", + "Hoàn tác / Làm lại", + "Phối cảnh", + [ + "Trộn lớp", + null + ], + "Mờ", + null + ], + "Điều chỉnh", + [ + "Độ sáng/tương phản", + "Trình độ", + "Đường cong", + "Phơi bày", + "Rung động", + "Vùng màu/Độ bão hòa màu", + "Cân bằng màu sắc", + "Đen trắng", + "Bộ lọc ảnh", + "Bộ chỉnh âm", + "Màu tra cứu", + "Đảo ngược", + "Áp dụng", + "Ngưỡng", + "Bản đồ Gradient", + "Màu sắc chọn lọc", + [ + "Tự chỉnh tone", + "Tự cân bằng sáng", + "Tự chỉnh màu" + ], + "Thay thế màu" + ], + [ + "Cắt", + "Sao chép", + "Dán", + "Mới", + "Xóa bỏ", + "Bật", + "Vô hiệu hóa", + "Bản sao hợp nhất", + "Áp dụng", + "Làm lại", + "Cập nhật" + ], + [ + "Nhân bản lớp", + "Lớp điều chỉnh mới", + "Mặt nạ Raster", + "Mặt nạ vector", + "Thêm (Hiển thị Tất cả)", + [ + "Thêm (Ẩn tất cả)", + "Tiết lộ vùng chọn", + "Ẩn vùng chọn", + "Từ sự minh bạch" + ], + [ + "Mặt lạ Clipping", + null + ], + "Đổi thành lớp ảnh đối tượng", + "Đổi thành lớp ảnh Raster", + "Nhóm các lớp", + "Hợp nhất với lớp dưới", + "Hợp nhất", + [ + "Hợp nhất lớp", + null + ], + "Lớp mới", + "Bật Mặt nạ Raster", + "Vô hiệu hoá Mặt nạ Raster", + "Bật Mặt nạ Vector", + "Tắt Mặt nạ Vector", + "Bật Clipping Mask", + "Vô hiệu Clipping Mask", + "Thư mục mới", + "Thêm Mặt nạ Raster", + "Xoá Mặt nạ Raster", + "Thêm Mặt nạ Vector", + "Xóa Mặt nạ Vector", + "Nối Mặt nạ Raster", + "Bỏ nối Mặt nạ Raster", + "Nối Mặt nạ Vector", + "Bỏ nối Mặt nạ Vector", + "Bật Hiệu ứng cho lớp", + "Tắt Hiệu ứng cho lớp", + "Xóa lớp", + "Thay đổi độ mờ lớp", + "Thay đổi chế độ Hòa trộn", + "Chuyển Layer Style thành Raster", + "Sắp xếp lớp", + [ + "Tạo Smart Object", + "Cập nhật Smart Object", + "Đặt Smart Object", + "Nguồn (Đối tượng thông minh)", + null + ], + "Đổi tên", + "Đổi màu", + "Chỉnh sửa lớp Hiệu chỉnh", + "Chuyển thành Shape", + "Bật Mặt nạ lọc", + "Tắt mặt lạ lọc", + "Bật bộ lọc thông minh", + "Tắt bộ lọc thông minh", + "Thêm mặt nạ lọc", + "Xóa mặt lạ lọc", + "Xóa lọc thông minh", + [ + [ + "Đổ màu Solid", + "Đổ màu chuyển sắc", + "Đổ họa tiết", + "Nội dung nhận thức" + ], + "Lớp đổ màu mới", + "Hiệu chỉnh lớp đổ màu" + ], + "Tạo lớp bằng copy", + "Mặt lạ lọc", + "Xóa style của lớp", + "Di chuyển lọc thông minh", + "Xóa lọc thông Minh", + [ + "Liên kết lớp", + "Hủy liên kết lớp" + ], + "Sắp xếp", + [ + "Đưa lên trước", + "Đưa lên trên", + "Đưa về sau", + "Đưa về sau cùng" + ], + [ + "Lớp đã khóa", + "Đổi trạng thái khóa", + null + ], + null + ], + [ + "Tất cả", + "Bỏ chọn", + "Ngược lại", + "Hiệu chỉnh", + "Mở rộng", + "Thu hẹp", + "Độ mờ", + "Di chuyển vùng chọn", + "Chọn vùng màu", + "Khung", + "Chỉnh sửa vùng chọn", + "Làm láng cạnh", + "Sửa theo vùng chọn", + null + ], + [ + "Phóng to", + "Thu nhỏ", + "Hướng dẫn", + "Thước", + "Lưới", + "Gắn", + "Gắn vào", + "Giới hạn tệp tin", + "Lưới điểm ảnh", + "Path", + "Chụp ảnh theo pixel", + [ + "Chia cắt", + null + ], + null + ], + [ + "Lịch sử", + "Lớp", + "Các thuộc tính", + "Nét bút", + "Kí tự", + "Đoạn văn bản", + "Thông tin", + "So sánh lớp", + "Swatch màu", + "Hành động", + "Biểu đồ", + "Điều hướng", + "Công cụ cài đặt sẵn", + null + ], + [ + "Bút lông", + "Cọ sao chép", + "Cắt xén tỷ lệ", + "Tẩy xóa", + "Vòng chọn tròn", + "Lấy mẫu màu", + "Chuyển sắc", + "Di chuyển", + "Văn bản", + "Chọn vùng tự do", + "Chọn vùng nhanh", + "Di chuyển", + "Chọn vùng theo màu", + "Đổ màu", + "Chọn vùng theo nét", + "Vùng chọn vuông", + "Thay đổi hình dạng tự do", + "Phóng to", + "Làm mờ", + "Làm nét", + "Chà mờ", + "Làm sáng", + "Làm tối", + "Làm nhòe", + "Sửa nét bút", + "Sửa bút vẽ", + "Vá ảnh", + "Chọn Path", + "Chọn trực tiếp", + "Bút", + "Vẽ tự do", + "Khung tùy chọn", + "Hình vuông", + "Hình e-líp", + "Hình đa giác", + "Đường thẳng", + "Thước kẻ", + "Chọn vùng nhanh", + "Bút chì", + "Cắt xén tự do", + "Chia cắt", + "Chọn chia cắt", + null, + null, + null, + null, + null, + null, + null, + null + ], + [ + "Chụp ảnh", + "Chọn màu sắc", + "Chỉnh sửa viền", + "Kích cỡ Canvas", + "Nhân bản vào tệp tin...", + "Trình chỉnh sửa Gradient", + "Kiểu lớp ảnh", + "Dự án mới", + "Lưu cho web", + "Làm cong", + "Kích thước ảnh", + "Ảnh Vector", + [ + "Trim-Cắt", + null, + null + ], + "Các phím tắt bàn phím", + "Thêm hướng dẫn", + [ + null, + null + ] + ], + [ + "Độ trong đục", + "Hiệu ứng", + "Độ sáng", + [ + "Tương phản", + "Sử dụng sẵn có" + ], + "Kênh", + "Tiếp xúc", + "Bù đắp", + "Điều chỉnh gamma", + "Vùng màu", + "Độ bão hòa màu", + "Nhẹ nhàng", + "Tô màu", + "Phạm vi", + "Rung", + [ + "Kích thước", + "Nội suy", + "Trọng số gần nhất", + "Song tuyến" + ], + "Góc", + "Tròn", + "Độ mềm cứng", + "khoảng cách", + [ + "Chế độ Blend", + "Trộn" + ], + "Cỡ mẫu", + "Viền", + "Kiểu", + [ + "Đảo ngược", + "Tương đối", + "Điểm neo" + ], + "Lòng khoan dung", + "Tiếp giáp", + "Tô màu", + "Sử dụng toàn bộ góc", + "Khoảng cách", + "Lan tỏa", + "Nhiễu", + "Bóng đổ viền", + "Chuyên môn", + "Đường dẫn", + "Độ sâu màu", + "Làm mềm", + "Mode", + "Màu chuyển sắc", + "Tỉ lệ", + "Căn chỉnh với lớp", + "Vị trí", + "Chiều rộng", + "Chiều cao", + "Điểm đến", + "Kiểu", + "Màu tô", + "Màu nền", + "Tùy chỉnh", + "Tên", + "Tạo", + "Định dạng", + "Giữ tỷ lệ khung hình", + [ + "Chất lượng", + "Trang" + ], + "Nhân bản", + "Di chuyển", + "Bộ lọc thông minh", + "Bán kính", + "Giá trị", + "Phân phối", + [ + "Đồng phục", + "Gaussian" + ], + "Đơn sắc", + "Kích thước Ô", + "Họa tiết", + "Mờ tỏ", + "Mạnh", + "Bảo vệ chi tiết", + "Loại màu", + "Họa tiết", + "Jitter", + "Cạnh", + "Nguồn", + "Đích", + "Kênh", + "Mặt nạ", + "Tỉ trọng", + "Căn chỉnh", + [ + "Đường dẫn", + "Hình dạng", + "Pixels", + "Inches", + "Centimet", + "Millimet", + "Phần trăm" + ], + "Hình dạng", + "Số cạnh", + "Sở thích", + [ + "Chiều dài", + "Tỉ lệ", + "Bất kì", + "Loại lưới", + "Phương vị", + "Khoảng cách lưới", + "Đơn vị thước" + ], + "Giảm noise", + "Màu sắc", + "Khoảng cách", + "Khoảng cách", + "Tự động lựa chọn", + "Tìm kiếm", + "Xác định mới", + [ + "Ảnh", + "Màn hình", + "Điện thoại di động", + "Quảng cáo", + "In" + ], + [ + "Tự do", + "Tỷ lệ cố định", + "Kích thước tùy chỉnh" + ], + "Trợ giúp", + [ + "Hình sống động", + "Chỉnh sửa hình dạng trực tiếp", + "Cùng Radii" + ], + "Fuzziness", + [ + "Đa giác", + "Hình sao", + "Xoắn ốc", + "Hình vuông" + ], + [ + "Bán kính góc", + "Bán kính trong" + ] + ], + [ + "Màu", + [ + "Không", + "R. Đỏ cờ", + "Cam", + "Vàng", + "G. Xanh cây", + "B. Xanh tím", + "Tím", + "Xám", + "Trắng", + "Nền trong", + "Đen", + "Xanh lam", + "Đỏ sen", + "Trung tính" + ], + "Toàn bộ", + "Tuyệt đối", + "Giữ gìn độ sáng" + ], + [ + "Thả bóng", + "Bóng bên trong", + "Ánh sáng bên ngoài", + "Sáng bên trong", + "Vát cạnh và chạm nổi", + "Lớp phủ màu", + "Lớp phủ màu chuyển sắc", + "Lớp phủ họa tiết", + "Sa tanh", + "Bo viền", + "Tùy chỉnh kiểu lớp ảnh", + null + ], + [ + "Hình dạng nhọn", + "Tip Dynamics", + "Tiêu tan", + "Động lực màu", + [ + "Kích thước jitter", + "Đường kính tối thiểu", + "Góc jitter", + "Độ tròn jitter", + "Độ tròn tối thiểu" + ], + [ + "Vị trí jitter", + "Đếm", + "Đếm jitter" + ], + [ + "Jitter Màu / nền", + "Sắc tố Jitter", + "Bão hòa jitter", + "Độ sáng jitter" + ], + [ + "Chọn nguồn clone bằng cách giữ Alt (hoặc K) và nhấp vào hình ảnh.", + "Đánh dấu tiền cảnh với màu trắng, nền với màu đen và khu vực không xác định với màu xám.", + "Lớp không thể chỉnh sửa", + "Lớp văn bản phải được rasterized trước", + "Đối tượng thông minh phải được rasterized trước", + "Chọn nhiều lớp", + "Sắp đặt lớp", + "Mở tài liệu trước", + "Đóng cửa sổ hiện tại trước.", + "Chỉ công cụ hiện tại" + ], + [ + "Ghi lại", + "Thiết lập hành động mới", + "Hành động mới" + ], + [ + "Stylus điều khiển độ trong đục", + "Stylus Điều khiển Kích cỡ" + ], + [ + "Bình thường", + "Hòa tan", + "Làm tối", + "Multiply", + "Ghi màu", + "Tuyến tính nóng", + "Màu tối hơn", + "Làm sáng", + "Màn hình", + "Màu Dodge", + "Tuyến tính Dodge", + "Màu sáng hơn", + "Lớp phủ", + "Ánh sáng mềm mại", + "Đèn rất sáng", + "Ánh sáng sinh động", + "Ánh sáng tuyến tính", + "Pin nhẹ", + "Hỗn hợp cứng", + "Sự khác biệt", + "Loại trừ", + "Trừ khử", + "Phân chia", + "Vùng màu", + "Độ bão hòa màu", + "Màu", + "Độ sáng", + "Đi qua" + ] + ], + [ + "Dẫn đầu", + "Theo dõi", + "Đổi đường nét", + [ + "Chuyển đổi thành văn bản", + "Chuyển đổi sang đoạn văn bản" + ] + ], + [ + "Tất cả các lớp", + "Lớp hiện tại", + "Lựa chọn", + "Lớp hiện tại" + ], + [ + "Thay thế", + "Kết hợp", + "Loại trừ", + "Giao nhau", + "Loại trừ", + "Hợp nhất" + ], + [ + [ + "Tuyến tính", + "Xuyên tâm", + "Góc", + "Phản ánh", + "Kim cương", + "Hình nổ tung" + ], + [ + "Mềm hơn", + "Tóm lược" + ], + [ + "Góc ngoài", + "Góc xiên bên trong", + "Chạm nổi", + "Gối chạm khắc", + "Chạm nổi đường viền", + "Chiều rộng đường viền" + ], + [ + "Mịn", + "Chạm cứng", + "Chạm khắc mềm", + "Độ mịn" + ], + [ + "Lên", + "Xuống" + ], + [ + "Nét ngoài", + "Trung tâm", + "Phía trong", + "Từ giữa" + ], + [ + "Bóng đổ", + "Midton", + "Điểm nổi bật" + ], + [ + "Bão hòa", + "Bão hòa" + ], + [ + "Nhỏ", + "Trung bình", + "Lớn" + ], + [ + "Mũ", + "Góc", + "Dấu gạch ngang" + ] + ], + [ + "Chọn đối tượng dưới con trỏ", + "Tùy chọn biến đổi", + "Xem thực tế", + "Vừa với vùng làm việc", + [ + "Căn lề trái", + "Vào giữa theo chiều ngang", + "Căn lề phải", + "Căn chỉnh lên đầu", + "Vào giữa theo chiều dọc", + "Căn lề dưới", + "Khoảng cách bằng nhau" + ] + ], + [ + "Đặt vào", + "Dự án hiện tại", + "Tạo mới", + "Độ phân giải", + "Đã thêm vào dự án hiện tại.", + "Một dự án mới đã được tạo ra.", + "Truy cập vào máy ảnh đã bị từ chối" + ], + [ + "Sự định hướng", + "Bẻ cong", + "Biến dạng ngang", + "Thay đổi dọc", + [ + "Ngang", + "Dọc", + "ngang", + "dọc" + ], + [ + "Không", + "Vòng cung", + "Vòng cung thấp", + "Vòng cung trên", + "Cổng vòm", + "Phồng", + "Vỏ dưới", + "Vỏ trên", + "Cờ", + "Làn sóng", + "Cá", + "Tăng lên", + "Mắt cá", + "Thổi phồng", + "Bóp méo", + "Xoắn", + "Tùy chỉnh" + ], + [ + "Phông chữ", + "không có sẵn", + "Sẽ được hiển thị bằng", + "Có công việc chưa được lưu trong", + "Bạn có thực sự muốn đóng nó?" + ], + [ + "Đổi màu sắc", + "Mặc định: trắng và đen" + ] + ], + [ + "Tải", + "Thêm", + "Di chuyển hướng dẫn", + "Xóa hướng dẫn", + "Thêm hướng dẫn", + "Đang tải", + "Tải VAR0" + ], + [ + "Lọc thư viện ảnh", + [ + [ + "Hóa lỏng", + [ + "Dơ bẩn", + "Tái thiết", + "Làm mịn", + "Xoay tròn", + "Co lại", + "Thổi", + "Đẩy sang trái", + "Đông cứng", + "Làm lỏng ra" + ] + ], + [ + "Hiệu chỉnh ống kính" + ] + ], + "Làm mờ", + [ + "Trung bình cộng", + "Mờ", + "Làm mờ thêm", + "Hộp mờ", + "Mờ Gaussia", + "Làm mờ ống kính", + "Chuyển động mờ", + "Mờ xuyên tâm", + "Nhòe hình dạng", + "Làm mờ thông minh", + "Bề mặt mờ" + ], + "Làm méo", + [ + "Chỗ để", + "Giữ", + "Tọa độ cực", + "Gợn sóng", + "Cắt", + "Hình cầu", + "Làn sóng" + ], + "Độ ồn", + [ + "Thêm độ ồn", + "Tuyệt vọng", + "Bụi và vết trầy xước", + "Giữa đường" + ], + "Pixel", + [ + "Hạt màu", + "Kết tinh", + "Khía cạnh", + "Miếng", + "Gác lửng", + "Khảm", + "Pointillize" + ], + "Kết xuất", + [ + "Đám mây", + "Mây khác biệt", + null + ], + "Làm sắc nét", + [ + "Làm sắc nét", + "Làm sắc cạnh", + "Làm sắc nét hơn", + "Làm sắc nét thông minh", + "Mặt nạ unsharp" + ], + "Cách điệu", + [ + "Khuếch tán", + "Chạm nổi", + "Đùn lên", + "Tìm các cạnh", + null + ], + "Khác", + [ + "Tùy chỉnh", + "Vượt lên cao", + "Tối đa", + "Tối thiểu", + "Bù lại", + "Lặp lại" + ], + [ + "Khu vực không xác định", + "Đặt thành trong suốt", + "Lặp lại các pixel cạnh", + "Quấn quanh", + "Lọc cuối", + "Xem trước" + ] + ], + [ + "Mẫu", + [ + "Bộ lọc phông chữ", + "Từ khóa", + "Ngẫu" + ], + [ + "Với biểu tượng", + "Với ảnh" + ], + [ + "Hình thu nhỏ", + "Danh sách" + ] + ] + ], + [ + [ + "Файл", + "Редакция", + "Изображение", + "Слой", + "Папка", + "Изберете", + "Филтър", + "Изглед", + "Прозорец", + "Език", + "Вход", + "Изход", + "Създай превод", + [ + "Профил", + "Условия за ползване", + "Назад", + "За", + "Съобщаване за грешка", + "Научете" + ], + "Повече", + "Тема", + "Използвайте WebGL", + [ + "Photopea: Разширен редактор на изображения", + "Безплатен онлайн редактор, поддържащ PSD, XCF, Sketch, XD и CDR формати.", + "Създайте ново изображение или отворете съществуващи файлове от вашия компютър. Запазете работата си като PSD (Файл - Запис като PSD) или като JPG / PNG / SVG (Файл - Експортиране като).", + "Предложете нови функции в нашия или . Нашата цел е да създадем <най-напредналия и достъпен фоторедактор>.", + "Спонсорите връзки се отварят в нов прозорец.", + null, + null + ] + ], + [ + "Отвори", + "Публикувай online", + "Запис", + "Запис като PSD", + "Печат", + "Отвори от URL", + "Отвори от компютъра", + "Връзка с Google Drive", + "Експортиране като", + "Експортиране на слоеве", + "Скрипт", + "Отвори и постави", + "Затвори", + "Локално пространство", + null + ], + [ + "Стъпка напред", + "Стъпка назад", + "Изчисти", + "Запълни", + "Трансформация", + "Завъртане", + "Обърнете VAR0", + "Мащабиране VAR0", + "Отмяна / Повторение", + "Перспективно", + [ + "Авто-смес", + null + ], + "Отслаби", + null + ], + "Корекции", + [ + "Яркост / Контраст", + "Нива", + "Криви", + "Експонация", + "Вибрантност на цвета", + "Оттенък / Наситеност", + "Цветови баланс", + "Черно и Бяло", + "Фото Филтър", + "Смесител на канали", + "Търсене на цвят", + "Инвертиране", + "Плакат", + "Праг", + "Карта на градиента", + "Селективен Цвят", + [ + "Автоматичен Тон", + "Автоматичен Контраст", + "Автоматичен Цвят" + ], + "Сменете цвета" + ], + [ + "Изрязване", + "Копиране", + "Поставяне", + "Нов", + "Изтрий", + "Активиране", + "Деактивиране", + "Копиране на сливането", + "Приложи", + "Отново", + "Актуализиране" + ], + [ + "Дублиране на слоя", + "Нов слой за настройка", + "Растерна маска", + "Векторна маска", + "Добави (покажи всички)", + [ + "Добави (скрий всички)", + "Покажи селекцията", + "Скрий селекцията", + "От прозрачност" + ], + [ + "Маска за изрязване", + "Режим на бърза маска" + ], + "Превърни в интелигентен обект", + "Рестиризилане", + "Групирай слоеве", + "Сливане надолу", + "Сливане нагоре", + [ + "Сливане на слоеве", + "Изравнете изображението" + ], + "Нов слой", + "Активиране на растерна маска", + "Деактивиране на растерна маска", + "Активиране на векторна маска", + "Деактивиране на векторна маска", + "Активиране на маска за изрязване", + "Деактивиране на маска за изрязване", + "Нова папка", + "Добави растерна маска", + "Изтрий растерна маска", + "Добави векторна маска", + "Изтрий векторна маска", + "Свързване на растерна маска", + "Изключване на растерна маска", + "Свързване на векторна маска", + "Изключване на векторна маска", + "Активиране ефекти на слоя", + "Деактивиране ефекти на слоя", + "Изтриване на слой", + "Промяна прозрачност на слоя", + "Промяна на смесването", + "Растеризиране стилове на слоя", + "Ред на слоевете", + [ + "Създай Смарт обект", + "Актуализиране на Смарт обект", + "Поставяне на Смарт обект", + "Източници (Интелектен обект)", + null + ], + "Смяна на име", + "Смяна на цвят", + "Промяна на Регулиращ Слой", + "Конвертирай във Форма", + "Активиране Филтърна Маска", + "Деактивиране Филтърна Маска", + "Активиране Смарт Филтри", + "Деактивиране Смарт Филтри", + "Добави Филтър Маска", + "Изтрий Филтър Маска", + "Изчисти Смарт Филтри", + [ + [ + "Попълване с плътен цвят", + "Попълване с градиент", + "Попълване с текстура", + "Базирано на съдържание" + ], + "Нов слой за попълване", + "Промени слой за попълване" + ], + "Слой от копие", + "Филтър Маска", + "Изтрий стил на слой", + "Премести Смарт филтър", + "Изтрий Смарт филтър", + [ + "Свързване на слоеве", + "Откачане на слоеве" + ], + "Подреди", + [ + "Доведи отпред", + "Доведи напред", + "Заведи назад", + "Заведи отзад" + ], + [ + "Слоят е заключен.", + "Заключи/Отключи", + null + ], + null + ], + [ + "Всичко", + "Отмяна на избора", + "Обръщане", + "Промени", + "Разшири", + "Свий", + "Изтъняване", + "Премести селекцията", + "Цветови диапазон", + "Бордер", + "Трансформирай селекцията", + "Преработка на краищата", + "Heal селекция", + null + ], + [ + "Увеличи", + "Отдалечи", + "Водачи", + "Владетели", + "Мрежа", + "Свържи", + "Свържи със", + "Граници на документа", + "Пикселова мрежа", + "Пътища", + "Прилепване към пиксели", + [ + "Oтрез", + "Опции за отрез" + ], + "Покажи" + ], + [ + "История", + "Слоеве", + "Свойства", + "Четки", + "Символ", + "Параграф", + "Информация", + "Състав на слоевете", + "Мостри", + "Операция", + "Хистограма", + "Навигатор", + "Предварителни настройки на инструмента", + null + ], + [ + "Четка", + "Инструмент за клониране", + "Инструмент за изрязване", + "Инструмент за изтриване", + "Избор с елипса", + "Пипета", + "Инструмент за градиент", + "Инструмент ръка", + "Инструмент за писане", + "Избор с ласо", + "Избор с магнетично ласо", + "Инструмент за местене", + "Магическа пръчица", + "Кофа", + "Полигонично Ласо Селектиране", + "Квадратна селекция", + "Свободна Трансформация", + "Приближаване и отдалечаване", + "Замъгляване", + "Острота", + "Замазване", + "Изсветляване", + "Потъмняване", + "Гъба", + "Премахване на петна", + "Излекуване", + "Закърпване", + "Избиране на Пътека", + "Директно Избиране", + "Химикалка", + "Свободна Химикалка", + "Специални Форми", + "Правоъгълник", + "Елипса", + "Параметрични Форми", + "Линия", + "Владетел", + "Бърза селекция", + "Молив", + "Изрязване на перспектива", + "Инструмент за изрязване", + "Инструмент за избор на сектори", + "Смяна на цвета", + "Инструмент за червени очи", + "Избор на обект", + "Гума за фон", + null, + null, + null, + null + ], + [ + "Снимай", + "Цветоизбирач", + "Контурен Едитор", + "Големина на Платното", + "Дупликирай в", + "Градиент редактор", + "Стил на Слоя", + "Нов проект", + "Запази за Уеб-а", + "Деформиране", + "Големина на Изображението", + "Векторизиране на Растерното Изображение", + [ + "Подрязване", + "Изрязване", + "Разкрий всички" + ], + "Клавишни Преки Пътища", + "Добави Ръководства", + [ + "Изчистване на водачите", + "Ръководства от слой" + ] + ], + [ + "Прозрачност", + "Ефекти", + "Светлост", + [ + "Контраст", + "Използвайте съвместимост" + ], + "Канал", + "Експозиция", + "Изместване", + "Корекция на Гамата", + "Оттенък", + "Наситеност", + "Светлинност", + "Оцветяване", + "Диапазон", + "Цветова Живост", + [ + "Размер", + "Интерполация", + "Най-близкия съсед", + "Билинеарна" + ], + "Ъгъл", + "Закръгленост", + "Твърдост", + "Интервал между", + [ + "Начин на Смесване", + "Смес" + ], + "Размер на Извадката", + "Контур", + "Стил", + [ + "Наобратно", + "Относителен", + "Котва" + ], + "Толерантност", + "Съседен", + "Запълване", + "Използвай глобалния ъгъл", + "Дистанция", + "Разпространи", + "Шум", + "Нокайтурай Падащата Сянка", + "Техника", + "Посока", + "Дълбочина", + "Омекоти", + "Метод", + "Градиент", + "Мащаб", + "Подравнете със слой", + "Позиция", + "Широчина", + "Височина", + "Дестинация", + "Тип", + "Преден План", + "Заден План", + "Персонализиран", + "Име", + "Създай", + "Формат", + "Запази Съотношението", + [ + "Качество", + "Страници" + ], + "Дублирай", + "Премести", + "Интелигенти Филтъри", + "Радиус", + "Количество", + "Разпределение", + [ + "Еднороден", + "Гауски" + ], + "Едноцветен", + "Размер на Клетката", + "Шарка", + "Менструация", + "Сила", + "Запази Детайлите", + "Тип Запълване", + "Текстура", + "Треперене", + "Ръб", + "Източник", + "Мишена", + "Канали", + "Маска", + "Плътност", + "Подравнен", + [ + "Пътека", + "Форма", + "Пиксели", + "Инча", + "Сантиметри", + "Милиметри", + "Процент" + ], + "Форми", + "Страни", + "Преференции", + [ + "Дължина", + "Съотношение", + "Всеки", + "Тип мрежа", + "Изометрични", + "Размер на мрежа", + "Единици на линийката" + ], + "Намали Шума", + "Цветове", + "Разстояния", + "Рейтинг", + "Авто-Избиране", + "Намери", + "Дефинирай Нов", + [ + "Снимка", + "Экран", + "Мобилно", + "Реклами", + "Принтиране" + ], + [ + "Освободен режим", + "Фиксирано Съотношение", + "Фиксирана Големина" + ], + "Помощ", + [ + "Живи Форми", + "Промени Живата Форма", + "Същите Радиуси" + ], + "Мъгла", + [ + "Многоъгълник", + "Звезда", + "Спирала", + "Квадрат" + ], + [ + "Радиус на ъглите", + "Вътрешен радиус" + ] + ], + [ + "Цвят", + [ + "Нищо", + "Червено", + "Оранжево", + "Жълто", + "Зелено", + "Синьо", + "Лилаво", + "Сиво", + "Бяло", + "Прозрачно", + "Черно", + "Циан", + "Маджента", + "неутрален" + ], + "Общо", + "Абсолютно", + "Зберігати свічення" + ], + [ + "Падаща Сянка", + "Вътрешна Сянка", + "Външна Светлина", + "Вътрешна Светлина", + "Наклон И Релеф", + "Цветова Настилка", + "Градиентова Настилка", + "Шаркова Настилка", + "Сатина", + "Щрих", + "Опции за Смесване", + "Изберете пиксели" + ], + [ + "Форма на Върха", + "Връхови Динамики", + "Разпилей", + "Цветовни Динамики", + [ + "Големина на Трептенето", + "Минимален Диаметър", + "Ъгъл на Треперенето", + "Кръглост на Трептенето", + "Минимална Кръглост" + ], + [ + "Позиционно Трептене", + "Брой", + "Брой на Трептенията" + ], + [ + "Трептене на Предния/Задния-план", + "Оттенък на Трептенето", + "Насищане на Трептенето", + "Сетлинност на Трептенето" + ], + [ + "Задръжте АЛТ (или К) бутона и цъкнете върху изображението за да изберете източника на клониране", + "Отбележи Предния план с Бяло, Задния фон с Черно и незнайната територия със Сиво", + "Слоят неможе да бъде променян.", + "Текстовият Слой трябва да бъде растеризиран преди това", + "Интелигентият Обект трябва да бъде растеризиран преди това", + "Избери множество слоеве", + "Изправяне на слой", + "Първо отворете документ.", + "Първо затворете текущия прозорец.", + "Само текущ инструмент" + ], + [ + "Запис", + "Нов набор операции", + "Нова операция" + ], + [ + "Стилус налягане контролира непрозрачност", + "Контрол на налягането" + ], + [ + "Normal", + "Dissolve", + "Darken", + "Multiply", + "Color Burn", + "Linear Burn", + "Darker Color", + "Lighten", + "Screen", + "Color Dodge", + "Linear Dodge", + "Lighter Color", + "Overlay", + "Soft Light", + "Hard Light", + "Vivid Light", + "Linear Light", + "Pin Light", + "Hard Mix", + "Difference", + "Exclusion", + "Subtract", + "Divide", + "Оттенък", + "Наситеност", + "Цвят", + "Свічення", + "Pass Through" + ] + ], + [ + "Водещ", + "Проследяване", + "Базовата линия", + [ + "Преобразуване в текст на точка", + "Преобразуване в текст на абзаца" + ] + ], + [ + "Всички Слоеве", + "Текущ Слой", + "Избор", + "Текущ и Надоло" + ], + [ + "Замени", + "Обедини", + "Изваждане", + "Пресичане", + "Изключване", + "Сливане" + ], + [ + [ + "Линеен", + "Радиален", + "Ъгъл", + "Отразено", + "Диамант", + "Изблик на Формата" + ], + [ + "По-меко", + "Прецизно" + ], + [ + "Външен Наклон", + "Вътрешен Наклон", + "Релеф", + "Възглавнично Релефиране", + "Контурен Релеф", + "Ширина на контура" + ], + [ + "Гладко", + "Длето (твърдо)", + "Длето (меко)", + "Гладкост" + ], + [ + "Нагоре", + "Надолу" + ], + [ + "Отвън", + "Центрирано", + "Отвътре", + "От центъра" + ], + [ + "Сенки", + "Средни тонове", + "Осветени части" + ], + [ + "Десатурирай (черно-бяло)", + "Сатурирай (цвят)" + ], + [ + "Малко", + "Средно", + "Голямо" + ], + [ + "Краища", + "Ъгли", + "тирета" + ] + ], + [ + "Избери обекта под курсора", + "Контроли за транформация", + "Пиксел към пиксел", + "Прилягане на площта", + [ + "Подравнете левите ръбове", + "Центрирайте хоризонтално", + "Подравнете десните ръбове", + "Подравнете горните ръбове", + "Центрирайте вертикално", + "Подравнете долните ръбове", + "Равни пропуски" + ] + ], + [ + "Поставете в", + "Текущ проект", + "Нов Проект", + "Резолюция", + "Добавен в текущия проект", + "Създаден е нов проект", + "Достъпът до камерата беше отказан." + ], + [ + "Ориентация", + "ভাল আছি", + "Хоризонтално изкривяване", + "Вертикално изкривяване", + [ + "Хоризонтален", + "Вертикален", + "хоризонтално", + "вертикално" + ], + [ + "Няма", + "Дъга", + "Долна дъга", + "Горна дъга", + "Арка", + "Издутина", + "По-ниска обвивка", + "Горна част на обвивката", + "Флаг", + "Вълна", + "Риба", + "Покачване", + "Рибено око", + "Издуват", + "Стиснете", + "извъртане", + null + ], + [ + "Шрифтът", + "не е налице", + null, + null, + null + ], + [ + null, + null + ] + ], + [ + null, + "добавено", + null, + null, + null, + null, + null + ], + [ + "Филтър галерия", + [ + [ + null, + [ + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + ], + [ + null + ] + ], + null, + [ + null, + null, + null, + null, + null, + "Замъгляване на обектива", + null, + null, + null, + null, + null + ], + null, + [ + null, + null, + null, + null, + null, + null, + null + ], + null, + [ + null, + null, + null, + null + ], + null, + [ + null, + null, + null, + null, + null, + null, + null + ], + null, + [ + null, + null, + null + ], + null, + [ + null, + null, + null, + null, + null + ], + null, + [ + null, + null, + null, + null, + null + ], + "Друго", + [ + null, + null, + null, + "Минимум", + null, + null + ], + [ + null, + null, + "Повторение на пикселите на ръбовете", + "Обгърне", + "Предишен филтър", + "Преглед" + ] + ], + [ + "Шаблони", + [ + "Филтър за шрифтове", + "Ключови думи", + "По случайност" + ], + [ + "Със Символи", + "Със снимка" + ], + [ + "Миниатюри", + "Списък" + ] + ] + ], + [ + [ + "Датотека", + "Измени", + "Слика", + "Слој", + "Фолдер", + "Изабери", + "Филтар", + "Поглед", + "Прозор", + "Језик", + "Улогуј се", + "Излогуј се", + "Направи превод", + [ + "Налог", + "Услови коришћења", + "Назад", + "О програму", + "Пријави грешку", + "Научи" + ], + "Више", + "Тема", + "Користи WebGL", + [ + "Photopea: напредна обрада слика", + "Бесплатна онлајн обрада слика која подржава PSD, XCF, Sketch XD и CDR формате.", + "Направи нову слику или отвори постојећу датотеку са свог рачуанра. Сачувај рад као PSD (Датотека - Сачувај као PSD) или као JPG / PNG / SVG (Датотека - Извези као))", + "Предложи нове функционалности на нашим или страницама. Наш циљ је стварање <најнапреднијег и најприступачније платформе за обраду слика>.", + "Линкови спонзора се отварају у новом прозору.", + "Ова функција није доступна.", + null + ] + ], + [ + "Отвори", + "Објави онлајн", + "Сними", + "Сними као PSD", + "Штампај", + "Отвори са URL", + "Отвори са рачунара", + "Повежи са Google Drive", + "Извези као", + "Извези слојеве", + "Скрипта", + "Отвори & Стави", + "Затвори", + "Локално складиште", + null + ], + [ + "Корак напред", + "Корак назад", + "Бриши", + "Попуни", + "Трансформиши", + "Ротирај", + "Обрни VAR0", + "Скалирање VAR0", + "Корак назад / Корак напред", + "Перспектива", + [ + "Аутоматско уклапање слојева", + "Аутоматски поравнај" + ], + "Избледи", + null + ], + "Измене", + [ + "Осветљеност/Контраст", + "Нивои", + "Криве", + "Експозиција", + "Живост", + "Нијанса/Засићеност", + "Баланс боја", + "Црно & бело", + "Фото филтар", + "Канални миксер", + "Претраживач боје", + "Обрни", + "Постеризуј", + "Праг", + "Мапа градијента", + "Изабрана боја", + [ + "Аутоматско тонирање", + "Аутоматски контраст", + "Аутоматска боја" + ], + "Замени боју" + ], + [ + "Исеци", + "Копирај", + "Налепи", + "Ново", + "Избриши", + "Омогући", + "Онемогући", + "Копирај спојено", + "Примени", + "Понови", + "Ажурирај" + ], + [ + "Дуплирај слој", + "Нови корективни слој", + "Растерска маска", + "Векторска маска", + "Додај (Прикажи све)", + [ + "Додај (Сакриј све)", + "Прикажи обележено", + "Сакриј обележено", + "Од непровидности" + ], + [ + "Маска исечка", + "Брзо маскирање" + ], + "Промени у Паметни објекат", + "Растеризуј", + "Групиши слојеве", + "Слепи наниже", + "Слепи навише", + [ + "Слепи слојеве", + "Сравни слику" + ], + "Нови слој", + "Омогући Растерску маску", + "Онемогући Растерску маску", + "Омогући Векторску маску", + "Онемогући Векторску маску", + "Омогући Маску исечка", + "Онемогући Маску исечка", + "Нови директоријум", + "Додај Растерску маску", + "Избриши Растерску маску", + "Додај Векторску маску", + "Избриши Векторску маску", + "Повежи Растерску маску", + "Откачи Растерску маску", + "Повежи Векторску маску", + "Откачи Векторску маску", + "Омогући Ефекте слоја", + "Онемогући Ефекте слоја", + "Избриши Слој", + "Промена прозирности слоја", + "Промена мешања", + "Растеризуј стил слоја", + "Редослед слојева", + [ + "Креирање Паметног објекта", + "Ажурирање Паметног објекта", + "Постављање Паметног објекта", + "Извор (Паметни објекат)", + "Мод слојевања" + ], + "Промена имена", + "Промена боје", + "Измени Корективни слој", + "Претвори у Облик", + "Омогући Маску филтра", + "Онемогући Маску филтра", + "Омогући Паметне филтере", + "Онемогући Паметне филтере", + "Додај Маску филтера", + "Избриши Маску Филтера", + "Бриши Паметне Филтере", + [ + [ + "Испуна бојом", + "Испуна градијентом", + "Испуна узорком", + "Свестан Садржаја" + ], + "Нови слој испуне", + "Измени слој испуне" + ], + "Слој преко копије", + "Филтер маска", + "Избриши стил слоја", + "Помери паметни филтер", + "Избриши паметни филтер", + [ + "Повежи слојеве", + "Развежи слој" + ], + "Уреди", + [ + "Постави у први план", + "Приближи унапред", + "Удаљи уназад", + "Пошаљи назад" + ], + [ + "Овај слој је закључан.", + "Закључај промену", + null + ], + null + ], + [ + "Све", + "Уклони обележено", + "Обрнуто", + "Промени", + "Прошири", + "Смањење", + "Перо", + "Помери обележно", + "Распон боја", + "Ивица", + "Трансформиши одабрано", + "Дотерај ивицу", + "Поправи одабрано", + null + ], + [ + "Приближи", + "Удаљи", + "Вођице", + "Лењири", + "Мрежа", + "Лепљење", + "Залепи на", + "Ивице слике", + "Мрежа пиксела", + "Путање", + "Залепи за пикселе", + [ + "Исечци", + "Опције исечака" + ], + "Приказивање" + ], + [ + "Историја", + "Слојеви", + "Подешавања", + "Четка", + "Знак", + "Пасус", + "Информације", + "Композиције слојева", + "Палета боја", + "Акције", + "Хистограм", + "Навигатор", + "Подешавање алата", + null + ], + [ + "Алат Четка", + "Алат Клон", + "Алат Секач", + "Алат Гумица", + "Одабир елипсе", + "Алат Одабира боје", + "Алат Градијент", + "Алат Рука", + "Алат Куцање", + "Ласо одабир", + "Магнетни ласо одабир", + "Алат Померање", + "Чаробни штапић", + "Алат Канта боје", + "Полигонални ласо одабир", + "Правоугаони одабир", + "Слободна трансформација", + "Алат Zoom", + "Алат Замагљивања", + "Алат Изоштравања", + "Алат Размазивања", + "Алат Избељивања", + "Алат Затамњивања", + "Алат Сунђер", + "Алат Четка за лечење мрље", + "Алат Четка за лечење", + "Алат Закрпа", + "Одабир путања", + "Директни одабир", + "Оловка", + "Слободна оловка", + "Прилагођен облик", + "Правоугаоник", + "Елипса", + "Параметарски облик", + "Линија", + "Лењир", + "Брзи одабир", + "Алат Оловка", + "Сечење перспективе", + "Алат Исечак", + "Алат Одабира исечка", + "Замена боје", + "Алатка Црвене очи", + "Одабир објекта", + "Брисање позадине", + "ja sam", + "Ротирај преглед", + null, + null + ], + [ + "Снимање фотографије", + "Бирач боје", + "Уређивање контура", + "Величина платна", + "Дуплирај на...", + "Уређивање градијента", + "Стил слоја", + "Нови пројекат", + "Сачувати за веб", + "Искривити", + "Величина слике", + "Претворити у векторску графику", + [ + "Исецање", + "Сечење", + "Откриј све" + ], + "Скраћенице на тастатури", + "Додати вођице", + [ + "Избрисати вођице", + "Вођице са слоја" + ] + ], + [ + "Непрозирност", + "Ефекти", + "Осветљеност", + [ + "Контраст", + "Коришћење старе верзије" + ], + "Канал", + "Експозиција", + "Офсет", + "Гама корекција", + "Нијанса", + "Засићеност", + "Светлина", + "Обојити", + "Опсег", + "Живост боја", + [ + "Величина", + "Интерполација", + "Најближи сусед", + "Дволинијски" + ], + "Угао", + "Закривљеност", + "Тврдоћа", + "Проред", + [ + "Мешања", + "Мешај ако" + ], + "Величина узорка", + "Контура", + "Стил", + [ + "Обрнути", + "Релативно", + "Тежиште" + ], + "Толеранција", + "Непрекидно", + "Испуна", + "Користити глобални угао", + "Удаљеност", + "Ширење", + "Шум", + "Искључити сенку", + "Техника", + "Правац", + "Дубина", + "Омекшање", + "Начин", + "Градијент", + "Скалирање", + "Поравнати са слојем", + "Позиција", + "Ширина", + "Висина", + "Дестинација", + "Тип", + "Предњи план", + "Позадина", + "Изабрана", + "Назив", + "Направи", + "Формат", + "Задржати однос страна", + [ + "Квалитет", + "Стране" + ], + "Дуплирати", + "Померати", + "Паметни филтри", + "Полупречник", + "Количина", + "Дистрибуција", + [ + "Уједначити", + "Гаусов" + ], + "Монохроматски", + "Величина ћелије", + "Узорак", + "Ток", + "Јачина", + "Заштити детаљ", + "Врста испуне", + "Текстура", + "Џитер", + "Ивица", + "Порекло", + "Мета", + "Канали", + "Маска", + "Густина", + "Поравнато", + [ + "Путања", + "Облик", + "Пиксели", + "Инче", + "Центиметри", + "Милиметри", + "Проценат" + ], + "Облици", + "Стране", + "Подешавања", + [ + "Дужина", + "Однос", + "Било који", + "Тип мреже", + "Изометријски", + "Процеп мреже", + "Јединице лењира" + ], + "Умањи шум", + "Боје", + "Удаљености", + "Стопа", + "Ауто-одабир", + "Нађи", + "Дефиниши ново", + [ + "Фотографија", + "Екран", + "Мобилни", + "Рекламе", + "Штампа" + ], + [ + "Бесплатно", + "Фиксирани однос", + "Фиксирана величина" + ], + "Помоћ", + [ + "Живи облик", + "Уреди живи облик", + "Исти полупречници" + ], + "Мутност", + [ + "Полигон", + "Звезда", + "Спирала", + "Квадрат" + ], + [ + "Угао полупречника", + "Унтрашњи полупречник" + ] + ], + [ + "Боја", + [ + "Празно", + "Црвена", + "Наранџаста", + "Жута", + "Зелена", + "Плава", + "Љубичаста", + "Сива", + "Бела", + "Провидна", + "Црна", + "Цијан", + "Мађента", + "Неутрална" + ], + "Укупно", + "Апсолутни", + "Очувај осветљеност" + ], + [ + "Додај сенку", + "Унутрашња сенка", + "Спољашњи одсјај", + "Унутрашњи одсјај", + "Косина и Клесање", + "Прекривање бојом", + "Прекривање градијентом", + "Прекривање узорком", + "Сатен", + "Ивица", + "Опције мешања", + "Изабери пиксел" + ], + [ + "Предложи облик", + "Предложи динамике", + "Распршити", + "Динамике боје", + [ + "Насумична величина", + "Минимални пречник", + "Насумични угао", + "Насумична заобљеност", + "Минимална заобљеност" + ], + [ + "Насумична позиција", + "Број", + "Насумични број" + ], + [ + "Насумични предњи план/позадина", + "Насумична нијанса", + "Насумична засићеност", + "Насумична сјајност" + ], + [ + "Изаберите извор клонирања држањем Аlt (или K) и кликом на слику.", + "Обележите предњи план с белом, позадину са црном, а непознате делове са сивом бојом.", + "Слој није могуће изменити.", + "Слој текста најпре мора бити растеризован", + "Паметни објекат мора најпре бити растеризован", + "Обележи више слојева", + "Исправи слој", + "Најпре отвори документ.", + "Најпре затворите тренутни прозор.", + "Само за тренутни алат" + ], + [ + "Сними", + "Група нових акција", + "Нова акција" + ], + [ + "Притисак стајлуса контролише непровидност", + "Притисак стајлуса контролише величину" + ], + [ + "Нормални", + "Отопљени", + "Затамњени", + "Вишеструки", + "Тамњење боје", + "Линеарно затамњење", + "Затамни боју", + "Посветли", + "Екран", + "Посветљење боје", + "Линеарно посветљење", + "Посветли боју", + "Прекривање", + "Меко светло", + "Оштро светло", + "Живописно светло", + "Линеарно светло", + "Везивно светло", + "Јаки микс", + "Разлика", + "Изузеће", + "Одузимање", + "Дељење", + "Нијанса", + "Засићеност", + "Боја", + "Блиставост", + "Пролазак" + ] + ], + [ + "Размак редова", + "Размак између слова", + "Промена основне линије", + [ + "Промени у тачку текста", + "Промени у текст у пасусу" + ] + ], + [ + "Сви слојеви", + "Тренутни слој", + "Избор", + "Тренутни & Испод" + ], + [ + "Замени", + "Споји", + "Одузети", + "Пресећи", + "Искључити", + "Спојити" + ], + [ + [ + "Линеарно", + "Радијално", + "Угао", + "Рефлексија", + "Дијамант", + "Прасак облика" + ], + [ + "Смекшај", + "Прецизније" + ], + [ + "Спољна косина", + "Унутрашња косина", + "Клесање", + "Мекано клесање", + "Клесање линије", + "Дебљина ивице" + ], + [ + "Мекано", + "Јако длето", + "Меко длето", + "Мекоћа" + ], + [ + "Горе", + "Доле" + ], + [ + "Споља", + "Центар", + "Унутра", + "Из центра" + ], + [ + "Сенке", + "Средњи тонови", + "Светли тонови" + ], + [ + "Уклонити засићење", + "Засити" + ], + [ + "Мали", + "Средњи", + "Велики" + ], + [ + "Велика слова", + "Углови", + "Цртице" + ] + ], + [ + "Изаберите објекат испод курсора", + "Контроле трансформације", + "Пиксел за пиксел", + "Попуни област", + [ + "Поравнај леве ивице", + "Центрирај хоризонтално", + "Поравнај десне ивице", + "Поравнај горње ивице", + "Центрирај вертикално", + "Поравнај доње ивице", + "Једнаки прореди" + ] + ], + [ + "Постави на", + "Тренутни пројекат", + "Нови пројекат", + "Резолуција", + "Додато у тренутни пројекат.", + "Нови пројекат је креиран.", + "Приступ камери је забрањен." + ], + [ + "Оријентација", + "Савити", + "Хоризонтална дисторзија", + "Вертикална дисторзија", + [ + "Хоризонтала", + "Вертикала", + "Хоризонтално", + "Вертикално" + ], + [ + "Ништа", + "Лу̑к", + "Доњи лу̑к", + "Горњи лу̑к", + "Свод", + "Испупчење", + "Доњи омотач", + "Горњи омотач", + "Застава", + "Талас", + "Риба", + "Раст", + "Рибље око", + "Надувати", + "Стиснути", + "Увити", + "Изборни" + ], + [ + "Фонт", + "није доступан", + "Биће рендерован коришћењем", + "Постоји несачувани рад", + "Да ли заиста желиш да затвориш?" + ], + [ + "Замени боје", + "Предефинисано: бело и црно" + ] + ], + [ + "учитан", + "додат", + "Помери вођицу", + "Обриши вођицу", + "Додај вођицу", + "Учитавање", + "Учитај VAR0" + ], + [ + "Галерија филтра", + [ + [ + "Учини течним", + [ + "Замуљај", + "Реконструиши", + "Смекшај", + "Ковитлај", + "Смањи", + "Повећај", + "Гурни лево", + "Замрзни", + "Одмрзни" + ] + ], + [ + "Корекција сочива" + ] + ], + "Замагли", + [ + "Просек", + "Замаглити", + "Замагли више", + "Ограничено замагљење", + "Гаусово замагљење", + "Замагљење сочива", + "Замагљење покрета", + "Замагљење кружно", + "Замагљење облика", + "Паметно замагљење", + "Замагљење површине" + ], + "Дисторзија", + [ + "Помери", + "Уштини", + "Поларне координате", + "Заталасај", + "Смакни", + "Начини сферичним", + "Талас" + ], + "Шум", + [ + "Додај шум", + "Уклони тачкице", + "Прашина & Огреботине", + "Тежишна линија" + ], + "Пикселизуј", + [ + "Полутон боје", + "Кристализуј", + "Брушење", + "Фрагмент", + "Мецотинта", + "Мозаик", + "Истачкај" + ], + "Рендеруј", + [ + "Облаци", + "Облаци разлике", + "Одсјај сочива" + ], + "Изоштри", + [ + "Изоштри", + "Изоштри ивице", + "Изоштри више", + "Паметно изоштравање", + "Маска против оштрења" + ], + "Стилизуј", + [ + "Дифузуј", + "Клесање", + "Извуци", + "Нађи ивице", + "Уљана фарба" + ], + "Остало", + [ + "Изборни", + "Високи пролаз", + "Максимум", + "Минимум", + "Офсет", + "Понови" + ], + [ + "Непозната површина", + "Постави на провидно", + "Понови ивичне пикселе", + "Обмотај", + "Последњи филтар", + "Преглед" + ] + ], + [ + "Шаблони", + [ + "Филтер фонтова", + "Кључне речи", + "Насумично измешај" + ], + [ + "Са симболима", + "Са фотографијом" + ], + [ + "Минијатуре", + "Списак" + ] + ] + ], + [ + [ + null, + "Redakto", + "Foto", + "Shtresa", + "Dosja", + "Përzgjidh", + "Filtrues", + "Pamja", + "Dritarja", + "Gjuha", + "Kyçu", + "Dil", + "Krijo përkthim", + [ + "Llogaria", + "Kushtet e Shërbimit", + "Prapa", + null, + null, + null + ], + "Më shumë", + "Motivi", + "Perdor WebGL", + [ + null, + null, + null, + null, + null, + null, + null + ] + ], + [ + "Hape", + "Boto në internet", + "Ruaje", + "Ruaje si PSD", + "Shtype", + "Hape nga URL", + "Hape nga kompjuteri", + "Lidhu me Google Drive", + "Eksporto Si", + "Eksporto Shtresat", + "Skript", + "Hap & Vendos", + "Mbyll", + null, + null + ], + [ + "Ec para", + "Ec prapa", + "Pastro", + "Mbush", + "Transformo", + "Rrotullo", + null, + null, + "Ç'bëje / Ribëje", + "Perspektive", + [ + null, + null + ], + "Zhduket", + null + ], + "Përshtatjet", + [ + "Shkëlqimi/Kontrasti", + "Nivelet", + "Lakoret", + "Ekspozimi", + "Dinamika", + "Toni/Përzierja", + "Ekuilibri i Ngjyrave", + "Bardh & Zi", + "Foto Filtruesi", + "Përzierës Ngjyrash", + "Kërkues Ngjyrash", + "Anasjelltas", + "Posterizo", + "Pragu", + "Harta Gradient", + "Ngjyrë e Përzgjedhur", + [ + "Auto Tone", + "Auto Kontrast", + "Auto Ngjyre" + ], + "Zevendeso Ngjyren" + ], + [ + "Preje", + "Kopjo", + "Hidhe", + "E Re", + "Grise", + "Mundëso", + "Pamundëso", + "Kopjo së bashku", + "Vendos", + null, + null + ], + [ + "Dyfisho shtresën", + "Shtresë e Re e Përshtatjes", + "Maska Raster", + "Maska e Vektorit", + "Shto (Shfaq të gjitha)", + [ + "Shto (Fshih të gjitha)", + null, + null, + null + ], + [ + "Maska Prerëse", + null + ], + "E konverto në Objekt të Mençur", + "Rasterizo", + "Grupo Shtresat", + "Bashko Poshtë", + "Bashko Sipër", + [ + "Bashko Shtresat", + null + ], + "Shtresë e Re", + "Mundëso Maskën Raster", + "Pamundëso Maskën Raster", + "Mundëso Maskën Vektoriale", + "Pamundëso Maskën Vektoriale", + "Mundëso Maskën e Prerjes", + "Pamundëso Maskën e Prerjes", + "Dosje e Re", + "Shto Maskë Raster", + "Grise Maskën Raster", + "Shto Maskë Vektoriale", + "Grise Maskën Vektoriale", + "Lidhe Maskën Raster", + "Ç'lidhe Maskën Raster", + "Lidhe Maskën Vektoriale", + "Ç'lidhe Maskën Vektoriale", + "Mundëso Efektet e Shtresës", + "Pamundëso Efektet e Shtresës", + "Grise Shtresën", + "Ndrysho Tejdukshmërinë e Shtresës", + "Ndryshimi i Përzierjes", + "Stili i Shtresës së Rasterizimit", + "Radhitja e Shtresave", + [ + "Krijimi i Objektit të Mençur", + "Përditësimi i Objektit të Mençur", + "Vendosja e Objektit të Mençur", + null, + null + ], + "Ndryshimi i Emrit", + "Ndryshimi i Ngjyrës", + "Redakto Shtresën e Përshtatjes", + "E konverto në Formë", + "Mundëso Maskë Filtrimi", + "Pamundëso Maskë Filtrimi", + "Mundëso Filtruesit e Mençur", + "Pamundëso Filtruesit e Mençur", + "Shto Maskë Filtruese", + "Grise Maskën Filtruese", + "Pastro Filtruesit e Mençur", + [ + [ + "Mbushje me Ngjyrë të Pastër", + "Mbushje Gradient", + "Mbushje me Model", + null + ], + "Shtresë e Re Mbushjeje", + "Ndrysho Shtresën Mbushëse" + ], + "Shtresë përmes Kopjimit", + "Maska Filtruese", + "Grise Stilin e Shtresës", + "Zhvendose Filtruesin e Mençur", + "Grise Filtruesin e Mençur", + [ + "Lidh Shtresat", + "Clidh Shtresat" + ], + "Rendit", + [ + "Sill ne Fillim", + "Sill Perpara", + "Co Mbrapa", + "Co ne Fund" + ], + [ + "Shtresa eshte e Kycur.", + "Kyc Ndryshimin", + null + ], + null + ], + [ + "Të Gjitha", + "Ç'selekto", + "Anasjelltas", + "Ndrysho", + "Zgjero", + "Zvogëlim", + "Pendë", + "Zhvendos Përzgjedhjen", + "Gama e Ngjyrave", + "Kufiri", + "Transformo Selektimin", + "Rafino Qoshet", + "Seleksioni i Sherimit", + null + ], + [ + "Zmadho", + "Zvoglo", + "Udhëzuesi", + "Rregullat", + "Rrjeta", + "Kapje", + "Kapja Tek", + "Kufizimet e dokumenteve", + "Rrjeti i Pikselëve", + "Rrugët", + null, + [ + null, + null + ], + null + ], + [ + "Historia", + "Shtresat", + "Vetitë", + "Brusha", + "arabic", + "Paragrafi", + "Informacion", + "Kompozime Shtresash", + "Galeria e Ngjyrave", + "Veprime", + "Histogram", + null, + null, + null + ], + [ + "Brusha", + "Klonuesi", + "Prerësi", + "Grisësi", + "Përzgjidh Elipsin", + "Përzgjedhje ngjyrash", + "Mjeti Kursimit", + "Dora", + "Mjeti Shkrimit", + "Përzgjidh Litarin", + "Përzgjedhje me Laso Magnetike", + "Lëvizësi", + "Muri Magjik", + "Kova e Ngjyrave", + "Përzgjedhësi Poligonal", + "Përzgjedhësi Katrorë", + "Transformimi Lirë", + "Zmadhuesi", + "Paqartësuesi", + "Theksuesi", + "Ndotësi", + "Terruesi", + "Djegësi", + "Sfungjeri", + "Furçe riparuese në formë pike", + "Furçe Riparuese", + "Bandazhuesi", + "Përzgjidh Rrugën", + "Përzgjidhja e Drejtpërdrejtë", + "Lapsi", + "Laps i Lirë", + "Formë Personale", + "Drejtkëndësh", + "Elipsë", + "Formë Parametrale", + "Vijë", + "Vizorja", + "Përzgjedhje e Shpejtë", + "Stilolapsi", + "Kropo ne Perspektive", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + [ + "Bëj Foto", + "Përzgjedhës Ngjyrash", + "Redaktuesi Konturit", + "Madhësia kanavacë", + "Dyfishoje në ...", + "Redaktori Rrjedhës Ngjyrës", + "Stili i Shtresës", + "Projekti Ri", + "Ruaje për ueb", + "Deformo", + "Madhësia fotos", + "Bitmap vektorizimi", + [ + "Zvogëlim", + null, + null + ], + "Kombinimet e Tastieres", + null, + [ + null, + null + ] + ], + [ + "Mbushja", + "Efektet", + "Ndriçimi", + [ + "Kontrast", + null + ], + "Kanali", + "Zbulimi", + "Menjanimi", + "Gama Korrigjim", + "Nuanca", + "Ngopja", + "Ndriçimi", + "Ngjyrimi", + "Domeni", + "Gjallëria", + [ + "Madhësia", + null, + null, + null + ], + "Këndi", + "Rrumbullak", + "Fortësia", + "Hapësira", + [ + "Mënyra Përzierjes", + null + ], + "Madhësia Mostrës", + "Numëruesi", + "Stili", + [ + "E Kundërta", + null, + null + ], + "Toleranca", + "Vazhdues", + "Mbush", + "Shfrytëzo kënd të përgjithshëm", + "Largësia", + "Përhap", + "Zhurmimi", + "Maskimi i hijes", + "Teknika", + "Drejtimi", + "Thellësia", + "Zbute", + "Mënyra", + "Rrjedha Ngjyrës", + "Shkalla", + "E nivelo me fletën", + "Pozita", + "Gjerësia", + "Lartësia", + "Destinacioni", + "Lloji", + "Paravija", + "Prapavija", + "Përzgjedhur", + "Emri", + "Krijo", + "Formati", + "Ruaje raportin e anëve", + [ + "Kualiteti", + null + ], + "Dyfisho", + "Lëvize", + "Filtruesit e Mençur", + "Radius", + "Sasia", + "Shpërndarja", + [ + "Njësimi", + "Gausian" + ], + "Monokromatik", + "Madhësia Qelisë", + "Mostra", + "Rrjedha", + "Forca", + "Mbrojtje e Detajuar", + "Lloji Mbushjes", + "Teksturë", + "Luhatje", + "Qoshja", + "Burimi", + "Objektivi", + "Kanalet", + "Maska", + "Dendësia", + "Rradhitur", + [ + "Rruga", + "Forma", + "Piksel", + "Inçi", + "Centimetri", + "Milimetri", + "Përqind" + ], + "Format", + "Anët", + "Parapëlqimet", + [ + "Gjatësia", + "Raporti", + "Cdo", + null, + null, + null, + null + ], + "Zvogëlo Zhurmën", + "Ngjyrat", + "Largësitë", + "Sasia", + "Selekto Automatikisht", + "Gjej", + "Krijo te re", + [ + "Foto", + "Ekrani", + "Celular", + "Reklama", + null + ], + [ + "Liro", + "Raport Fiks", + "Permase Fikse" + ], + "Ndihme", + [ + "Figura Live", + "Edito Figuren Live", + "Rrezet e Njejta" + ], + null, + [ + null, + null, + null, + "Katror" + ], + [ + null, + null + ] + ], + [ + "Ngjyra", + [ + "Asnjë", + "E Kuqe", + "Portokalli", + "E Verdhë", + "E Gjelbër", + "E Kaltër", + "Vjollcë", + "Gri", + "E Bardhë", + "E Tejdukshme", + "E Zeze", + null, + null, + null + ], + null, + null, + null + ], + [ + "Shto Hije", + "Hije e Brendshme", + "Shkëlqimi Jashtëm", + "Shkëlqimi Brendshëm", + "Hapësirë dhe qoshe të rrafshëta", + "Mbulimi Ngjyrës", + "Mbulesa e Gradientit", + "Mbulesa Mostrës", + "Saten", + "Ramja", + "Mundësitë e Përzierjes", + null + ], + [ + "Forma Këndit", + "Dinamika Qosheve", + "Copëzimi", + "Dinamika Ngjyrës", + [ + "Luhatja Rastit", + "Diametri Minimal", + "Luhatja Këndit", + "Luhatja Rrethit", + "Rrumbullakësia Minimale" + ], + [ + "Luhatja Pozitës", + "Numrimi", + "Numri Luhatjeve" + ], + [ + "Luhatja në Paravijë/Prapavijë", + "Luhatja Tonit të Ngjyrës", + "Luhatja Ngopjes", + "Luhatja e ndriçimit" + ], + [ + "Përzgjidh burimin e klonimit duke shtypur Alt (ose K) dhe duke klikuar nbi foto.", + "Vendos Foregroundin me te Bardhe, Backgroundin me te Zeze, dhe Zonen tjeter me Gri.", + "Shtresa eshte e pa Editueshme", + "Shtresa me Tekst duhet Restarizuar ne fillim", + "Objekti Smart duhet te Restarizohet ne fillim", + "Selekto Disa Shtresa", + null, + null, + null, + null + ], + [ + null, + null, + null + ], + [ + null, + null + ], + [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + ], + [ + "Udhëheqja", + "Ndjekja", + "Ndryshimi Bazës", + [ + null, + null + ] + ], + [ + "Përmbajtja Gjithësej", + "Fleta Momentale", + "Përzgjedhja", + "Kete & Me Poshte" + ], + [ + "Zëvendëso", + "Bashko", + "Dallimi", + "Prerja", + "Përjashto", + "Bashko" + ], + [ + [ + "Linear", + "Rrezor", + "Qoshe", + "Reflektuar", + "Diamant", + "Shpërthimi Formës" + ], + [ + "Më e butë", + "Preciz" + ], + [ + "Koni Jashtëm", + "Koni Brendshëm", + "Reliefi", + "Jastëk Stampim", + "Stampim Goditje", + null + ], + [ + "Zbut", + "Gdhendje e Fortë", + "Gdhendje e Butë", + null + ], + [ + "Sipër", + "Poshtë" + ], + [ + "Jashtë", + "Në Mes", + "Brenda", + null + ], + [ + "Hijet", + "Mesi", + "Pikat kryesore" + ], + [ + "Zbrazje", + "Mbushje" + ], + [ + "E Vogel", + "E Mesme", + "E Madhe" + ], + [ + null, + null, + null + ] + ], + [ + "Përzgjidh objektin nën kursorin", + "Ngjyrat e transformimit", + "Piksel për Piksel", + "Mbush Hapësirën", + [ + "Ofro Këndet Majtas", + "Centro Horizontalisht", + "Ofro Këndet Djathtas", + "Ofro Këndet Sipër", + "Centro Vertikalisht", + "Ofro Këndet Poshtë", + "Hapsira te Barabarta" + ] + ], + [ + "E vendos në", + "Projekti Momental", + "Projekti Ri", + "Zgjidhja", + "E shto në projektin momental.", + "U krijua projekt i ri.", + "Qasja tek kamera u refuzua." + ], + [ + "Orientimi", + "Lako", + "Shfytyrim Horizontal", + "Shfytyrim Vertikal", + [ + "Horizontal", + "Vertikal", + null, + null + ], + [ + "Asnjë", + "Hark", + "Hark Tatëpjetë", + "Hark Përpjetë", + "Hark", + "Ç'gungim", + "Guaca Poshtë", + "Guaca Sipër", + "Flamur", + "Valë", + "Peshk", + "Rrit", + "Sy Peshku", + "Fryj", + "Shtrydh", + "Përdridh", + "Përzgjedhur" + ], + [ + "Shkronjat", + "nuk është në dispozicion", + "Do të kryhet përmes", + null, + null + ], + [ + "Ndërro Ngjyrat", + "Përzgjedhur: Bardh e Zi" + ] + ], + [ + "hapur", + "shtuar", + "Lëviz Ndihmuesin", + "Grise Ndihmuesin", + "Shto Ndihmues", + "Duke u hapur", + null + ], + [ + "Galeria Filtruese", + [ + [ + "Likuifiko", + [ + "Perziej", + "Rikonsktrukto", + "Lemoje", + "Rrotulloje ne Spirale", + "Zvogeloje", + "Zmadhoje", + "Shtyje Majtas", + "Ngri", + "Shkri" + ] + ], + [ + "Korrigjo Lenten" + ] + ], + "Turbull", + [ + "Mesatare", + "Turbullo", + "Turbullo më shumë", + "Turbullo kuti", + "Mjegullim Gausian", + "Mjegullim Objektivi", + "Mjegullim Lëvizës", + "Mjegullim Rrezor", + "Turbullo në formë", + "Mjegullim i Mençur", + "Mjegullimi Sipërfaqes" + ], + "Shtrembërim", + [ + "Displanco", + "Zmadho", + "Koordinata Polare", + "Valezo", + "Prit", + "Sferizo", + "Vale" + ], + "Zhurmimi", + [ + "Shto Zhurmë", + "Largimi Pengimit", + "Pluhur & Gërvishtje", + "Mesatarja" + ], + "Pikselim", + [ + "Ngjyra Gjysmëton", + "Kristalizim", + "Aspekt", + "Fragmento", + "Mezotint", + "Mozaik", + "Pikëzim" + ], + "Suvatim", + [ + "Retë", + "Diferenco Rete", + null + ], + "Theksimi", + [ + "Thekso", + "Thekso Qoshet", + "Thekso më shumë", + "Theksimi i Mençur", + "Maska e patheksuar" + ], + "Stilizo", + [ + "Shpërndaj", + "Stampim", + "Shtrydh", + "Gjej Qoshet", + null + ], + "Tjera", + [ + "Përshtatur", + "Lartësia", + "Maksimumi", + "Minimumi", + "Efekti Zhvendosjes", + "Perserit" + ], + [ + "Hapësira e padefinuar", + "Bëje të Tejdukshme", + "Përsërit Pikselët e Këndit", + "Pështjell", + "Filtri i Fundit", + "Shiko" + ] + ], + [ + "Te Gatshme", + [ + "Fikter Fonti", + "Fjalet Kyc", + "Zgjidh Rastesisht" + ], + [ + "Me simbole", + "Me foto" + ], + [ + "Thumbnails", + "Listë" + ] + ] + ], + [ + [ + "கோப்பு", + "தொகு", + "படம்", + "அடுக்கு", + "கோப்பகம்", + "தெரிவு செய்", + "வடிகட்டு", + "காட்சி", + "சாளரம்", + "மொழி", + "உள் நுழை", + "வெளியேறு", + "மொழிமாற்று", + [ + "கணக்கு", + "சேவை விதிமுறைகள்", + "பின்னே", + "இதைப்பற்றி", + "பிழையை புகாரளி", + "கற்றுக்கொள்ள" + ], + "மேலும்", + "தோற்றம்", + "WebGL ஐ உபயோகி", + [ + "Hindi", + "PSD, XCF, Sketch, XD மற்றும் CDR வகை கோப்புகளை ஆதரிக்கும் இலவச நிகழ்நிலை தொகுப்பி", + "புதிய படத்தை உருவாக்கு அல்லது கணினியில் ஏற்கனவே உள்ளதை திற. உங்கள் கோப்பை PSD (கோப்பு - PSD ஆக சேமி) அல்லது JPG / PNG / PSD (கோப்பு - கணினியில் ஏற்றுமதியிடு)", + "புதிய வசதிகளை எங்கள்<முகநூல் > இல் பரிந்துரையுங்கள். எங்கள் நோக்கம் <மிகவும் மேம்பட்ட விலையில்லா புகைப்பட தொகுப்பி> ஐ உருவாக்குவதே", + "ஆதரவாளர் இணைப்புகள் புதிய சாளரத்தில் திறக்கப்படும்.", + "இந்த வசதி இல்லை.", + "போட்டோபீயை நிறுவு" + ] + ], + [ + "திற", + "நிகழ்நிலையில் பதிப்பி", + "சேமி", + "PSD ஆக சேமி", + "அச்சு", + "URL இல் இருந்து திற", + "கணினியிலிருந்து திற", + "Google Drive உடன் இணை", + "இவ்வாறு சேமி", + "அடுக்குகளை ஏற்று", + "அச்சுப்படிவும்", + "திற & இடப்படுத்து", + "மூடு", + "அகச் சேமிப்பகம்", + "கோப்பு தகவல்" + ], + [ + "முன்னர் இருந்த நிலைக்கு செல்", + "பின்னிருந்த நிலைக்கு செல்", + "தெளிநீக்கு", + "நிரப்பு", + "உருமாற்று", + "உருட்டு", + "கவிழ் VAR0", + "அளவி VAR0", + "அவிழ் / மீள்செய்", + "உளப்பார்வை", + [ + "தானியங்கு ஒருக்கலத்தல்", + "தானியங்கு ஒழுங்குமை" + ], + "மங்க செய்", + "படத்தை ஓட்டிடு" + ], + "சீரமைப்புகள்", + [ + "ஒளிர்வு/உறழ்பொருவு", + "மட்டங்கள்", + "வளைவுகள்", + "ஒளிபலுக்கல்", + "வண்ண அதிர்வு", + "சாயல்/செறிவு", + "நிறம் நிறைகோல்", + "கருப்பு வெள்ளை", + "பட வடிகட்டி", + "ஒளிவழித்தட கலப்பி", + "வண்ண அட்டவணை", + "கவிழ்", + "பொதிப்பொட்டியாக்கு", + "தொடக்க வரம்பு", + "சாய்வுப்படம்", + "தேர்விட்ட நிறம்", + [ + "தானியங்கு தொனி", + "தானியங்கு உறழ்பொருவு", + "தானியங்கு நிறம்" + ], + "நிறத்தை இடமாற்று" + ], + [ + "வெட்டு", + "நகலெடு", + "ஒட்டு", + "புதிது", + "நீக்கு", + "இயலு", + "முடக்கு", + "ஒன்றுபட்டதை நகலெடு", + "ஓட்டிடு", + "மீண்டும்", + "புதுப்பி" + ], + [ + "படிவை மறுநகலெடு", + "புதிய சரிசெய்தல் அடுக்கு", + "பரவு ஒளிமறை", + "திசையன் ஒளிமறை", + "கூட்டுசேர் (அனைத்தையும் வெளிக்காண்பி)", + [ + "கூட்டுசேர் (அனைத்தையும் மறைத்து)", + "தேர்வை காண்பி", + "தேர்வை மறை", + "ஒளியூடுவிலிருந்து" + ], + [ + "குத்தி ஒளிமறை", + "விரைவு ஒளிமறை பயன்முறை" + ], + "சூட்டிகை பொருளாக மாற்று", + "பரவாக்கு", + "குழு அடுக்குகள்", + "கீழோடு இணை", + "மேலோடு ஒன்றினை", + [ + "அடுக்குகளை ஒன்றினை", + "படத்தை சமநிலையாக்கு" + ], + "புதிய அடுக்கு", + "பரவு ஒளிமறையயை இயல்வி", + "பரவு ஒளிமறையயை முடக்கு", + "திசையன் ஒளிமறையை இயல்வி", + "திசையன் ஒளிமறையை முடக்கு", + "குத்திய ஒளிமறையை இயல்வி", + "குத்திய ஒளிமறையை முடக்கு", + "புதிய கோப்பகம்", + "பரவு ஒளிமறை சேர்", + "பரவு ஒளிமறை நீக்கு", + "திசையன் ஒளிமறை சேர்", + "திசையன் ஒளிமறை நீக்கு", + "பரவு ஒளிமறையை இணை", + "பரவு ஒளிமறையை இணையவிழ்", + "திசையன் ஒளிமறை இணை", + "திசையன் ஒளிமறை இணையவிழ்", + "அடுக்கு விளைவுகளை இயல்வி", + "அடுக்கு விளைவுகளை முடக்கு", + "அடுக்கை நீக்கு", + "அடுக்கு ஒளிபுகாமை மாற்று", + "ஒருக்கலத்தலை மாற்று", + "அடுக்கு பாங்கை பரவாக்கு", + "அடுக்கு வரிசை", + [ + "சூட்டிகை பொருள் உருவாக்கம்", + "சூட்டிகை பொருள் புதுப்பித்தம்", + "சூட்டிகை பொருள் வைத்தம்", + "மூலம் (சூட்டிகை பொருள்)", + "குவிப்பு முறை" + ], + "பெயர் மாற்றம்", + "நிற மாற்றம்", + "சீரமைவு அடுக்கை தொகு", + "வடிவமாக உருமாற்று", + "வடிகட்டு ஒளிமறையை இயல்வி", + "வடிகட்டு ஒளிமறையை முடக்கு", + "சூட்டிகை வடிகட்டல்களை இயல்வி", + "சூட்டிகை வடிகட்டல்களை முடக்கு", + "வடிகட்டல் ஒளிமறையை கூட்டுசேர்", + "வடிகட்டல் ஒளிமறையை நீக்கு", + "சூட்டிகை ஒளிமறைகளை தெளிநீக்கு", + [ + [ + "நிறம் நிரப்பு", + "சாய்வுப்படம் நிரப்பு", + "கோலம் நிரப்பு", + "உள்ளடக்க விழிப்பு" + ], + "புதிய நிரப்பு அடுக்கு", + "நிரப்பு அடுக்கு மாற்றியமை" + ], + "நகலின் வழியே அடுக்கு", + "வடிகட்டல் ஒளிமறை", + "அடுக்கு பாங்கு நீக்கு", + "சூட்டிகை வடிகட்டல் நகர்த்து", + "சூட்டிகை வடிகட்டல் நீக்கு", + [ + "அடுக்குகளை இணை", + "அடுக்குகளை அவிழ்" + ], + "வரிசை முறை", + [ + "முன் கொணறு", + "முன்னே கொணறு", + "பின்னே அனுப்பு", + "பின்னுக்கு அனுப்பு" + ], + [ + "gngni", + "மாற்றத்தை பூட்டு", + "பூட்டு" + ], + "இயங்குபடம்" + ], + [ + "அனைத்தையும்", + "தேர்வுநீக்கு", + "கவிழ்", + "முறை மாற்று", + "vkfuyfyrr65er7t673465e67rte5", + "சுருக்கு", + "மென்மையாக்கு", + "தேர்வை நகர்த்து", + "நிற எல்லைகள்", + "ஓரம்", + "தேர்வை உருமாற்று", + "விளிம்பு மாசகற்றி", + "தேர்வை குணப்படுத்து", + "மாய வெட்டு" + ], + [ + "பெரிதாக்கு", + "சிறிதாக்கு", + "வழிகாட்டு கோடுகள்", + "வரைகோல்", + "கோட்டு சட்டம்", + "ஈர்த்தொட்டு", + "ஈர்த்தொட்டு இதனோடு", + "ஆவண எல்லைகள்", + "படத்துணுக்கு சட்டம்", + "பாதை", + "படத்துணுக்களோடு ஈரத்தொட்டு", + [ + "துண்டுகள்", + "துண்டு விருப்பங்கள்" + ], + "காண்பி" + ], + [ + "வரலாறு", + "அடுக்குகள்", + "பண்புகள்", + "தூரிகை", + "எழுத்து", + "பத்தி", + "தகவல்", + "அடுக்கு கலவைகள்", + "நிற துணி", + "செயல்கள்", + "வரலாற்று வரிபட்டை", + "மீகான்", + "கருவி முன்னமைவுகள்", + "செதுக்குகள்" + ], + [ + "தூரிகை கருவி", + "நகலி கருவி", + "சிறிதாக்கி கருவி", + "அழிப்பான் கருவி", + "நீள்வட்ட தேர்வு", + "நிறத்தேர்வு கருவி", + "சாய்வு கருவி", + "கை கருவி", + "தட்டச்சு கருவி", + "சுருக்கு தேர்வு", + "ஈர்ப்பு சுருக்கு தேர்வு", + "நகர்ப்பான் கருவி", + "மாயக்கழி", + "நிற வாளி கருவி", + "பலகோண சுருக்கு தேர்வு", + "செவ்வக தேர்வு", + "விடுவித்த உருமாற்று", + "பெரிதாக்கி கருவி", + "மங்கு கருவி", + "கூராக்கு கருவி", + "கறையாக்கு கருவி", + "ஒளிர்வாக்கு கருவி", + "இருளாக்கு கருவி", + "நிறவற்றி கருவி", + "புள்ளி குணமாக்கி தூரிகை கருவி", + "குணமாக்கி தூரிகை கருவி", + "நகலொட்டி கருவி", + "வழி தேர்வு", + "நேரடி தேர்வு", + "எழுதுகோல்", + "விடுவித்த எழுதுகோல்", + "தனி வடிவம்", + "செவ்வகம்", + "நீள்வட்டம்", + "அளவுரு வடிவம்", + "கோடு", + "வரைகோல்", + "விரைவு தேர்வு", + "கரிக்கோல் கருவி", + "உளக்காட்சி சுருக்கி", + "துண்டாக்கி கருவி", + "துண்டு தேர்வு கருவி", + "நிறம் பதிலிடங்கொள்ளுகை", + "செந்நிற கண் கருவி", + "பொருள் தேர்வு", + "பின்னணி அழிப்பான்", + "பாவை உருமாற்றி", + "காட்சியை சுழற்று", + "உள்ளடக்க விழிப்பு அளவி", + "உள்ளடக்க விழிப்பு நகர்த்தி கருவி" + ], + [ + "ஒரு படம் எடு", + "வண்ண தெரிவி", + "விளிம்பு தொகுப்பி", + "இரட்டு அளவு", + "இதனுள் நகலெடு...", + "நிறச்சாய்வு தொகுப்பி", + "அடுக்கு பாங்கு", + "புதிய திட்டம்", + "வலைக்காக சேமி", + "உருமாற்றி", + "பட அளவு", + "இணுப்படத்தை திசையனாக்கு", + [ + "நேர்த்தியாக்கு", + "சுருக்கு", + "அனைத்தையும் காட்டு" + ], + "விசைப்பலகை குறுக்குவழிகள்", + "வழிகாட்டிகளைச் கூட்டுசேர்", + [ + "வழிகாட்டிகளை வழுநீக்கு", + "அடுக்கிலிருந்து வழிகாட்டிகள்" + ] + ], + [ + "ஒளிபுகாமை", + "விளைவுகள்", + "ஒளிர்மை", + [ + "உறழ்பொருவு", + "பழையமரபு ஐ பயன்படுத்து" + ], + "அலைத்தடம்", + "ஒளியிடரின்மை", + "ஈடு", + "காமா திருத்தம்", + "சாயல்", + "நிற செறிவு", + "ஒளிமை", + "வண்ணமயமாக்கு", + "எல்லை", + "நிறவதிர்வு", + [ + "அளவு", + "இடைக்கணிப்பு", + "அருகிலுள்ள அண்டை", + "ஈரோர்படு" + ], + "கோணம்", + "வட்டத்தன்மை", + "தின்மை", + "இடைவெளி", + [ + "ஒருக்கலப்பு முறை", + "கலப்பு தொனி எல்லை" + ], + "மாதிரி அளவு", + "விளிம்பு", + "பாங்கு", + [ + "மறிநிலை", + "உறவெண்", + "நங்கூரமிடு" + ], + "பொறுத்தல்", + "தொடர்ச்சியானது", + "நிரப்பு", + "உலகளாவிய கோணத்தை பயன்படுத்த்து", + "தொலைவு", + "விரி", + "இரைச்சல்", + "விழுநிழலை வெளியே தள்ளு", + "நுட்பம்", + "திசை", + "ஆழம்", + "மென்மையாக்கு", + "பயன்முறை", + "நிற சாய்வு", + "அளவி", + "அடுக்குடன் சீராக்கு", + "விளைவின் இடம்", + "அகலம்", + "உயரம்", + "இலக்கு", + "வகை", + "முன்புறம்", + "பின்புலம்", + "தனிவழக்கம்", + "பெயர்", + "படை", + "படவடிவம்", + "காட்சி விகிதத்தை காத்திடு", + [ + "தரம்", + "பக்கங்கள்" + ], + "மறுநகல்", + "நகர்த்து", + "சூட்டிகை வடிகட்டல்கள்", + "ஆரம்", + "தொகை", + "வழங்கல்", + [ + "சீர்", + "ஃகாசியன்" + ], + "ஓர்வண்ணம்", + "அணுக்கல அளவு", + "கோலம்", + "ஓட்டம்", + "வலிமை", + "படவிவரங்களை காத்திடு", + "நிரப்பு வகை", + "இழைநயம்", + "நடுக்க துகள்", + "விளிம்புமுனை", + "மூலம்", + "குறியிலக்கு", + "அலைத்தடங்கள்", + "ஒளிமறை", + "நெருக்கம்", + "சீரமைந்தது", + [ + "வழி", + "வடிவம்", + "படத்துணுக்குகள்", + "அங்குலங்கள்", + "சதமமீற்றர்", + "மில்லிமீட்டர்", + "சதவீதம்" + ], + "வடிவங்கள்", + "பக்கங்கள்", + "விருப்பத்தேர்வுகள்", + [ + "நீளம்", + "விகிதம்", + "ஏதாகிலும்", + "கட்ட வகை", + "சமநீள", + "கட்ட இடைவெளி", + "வரக்கோல் அலகுகள்" + ], + "இரைச்சலை குறை", + "நிறங்கள்", + "தொலைவுகள்", + "வீதம்", + "தானே தேர்வி", + "கண்டுபிடி", + "புதியதை வரையறு", + [ + "நிழற்படம்", + "கணினித்திரை", + "திறன்பேசி", + "விளம்பரங்கள்", + "அச்சு" + ], + [ + "விடுவித்த", + "நிலைத்த விகிதம்", + "நிலைத்த அளவு" + ], + "உதவி", + [ + "நேரடி வடிவம்", + "நேரடி வடிவத்தைத் திருத்து", + "ஒரே ஆரம்" + ], + "தெளிவின்மை", + [ + "பலகோணம்", + "விண்மீன்", + "திருகுச்சுருள்", + "சதுரம்" + ], + [ + "வளைவு ஆரம்", + "உள் ஆரம்" + ] + ], + [ + "நிறம்", + [ + "ஏதுமில்லை", + "சிவப்பு", + "செம்மஞ்சள்", + "மஞ்சள்", + "பச்சை", + "நீலம்", + "ஊதா", + "சாம்பல்", + "வெள்ளை", + "ஒளிபுகுமை", + "கருப்பு", + "நீலப்பச்சை", + "சென்னீலம்", + "சார்பற்ற" + ], + "மொத்தம்", + "அறுதி", + "ஒளிர்மையை காத்திடு" + ], + [ + "விழுநிழல்", + "உள்நிழல்", + "வெளி ஒளிர்வு", + "உள் ஒளிர்வு", + "முனைமழுக்கு மற்றும் புடைப்பு", + "நிற மேலடுக்கு", + "நிறச்சாய்வு மேலடுக்கு", + "கோல மேலடுக்கு", + "பளபளப்பு", + "கீரல்", + "ஒருக்கலப்பு விருப்பங்கள்", + "படத்துணுக்குகளை தேர்வெடு" + ], + [ + "கூர்முனை வடிவம்", + "கூர்முனை இயங்குவியல்", + "சிதறல்", + "நிற இயங்குவியல்", + [ + "நடுங்கு அளவு", + "குறைந்தபட்ச குறுக்களவு", + "கோண நடுக்கம்", + "வட்டமை நடுக்கம்", + "குறைந்தபட்ச வட்டமை" + ], + [ + "நிலையிட நடுக்கம்", + "எண்ணிக்கை", + "எண்ணு நடுக்கம்" + ], + [ + "முன்புற/ பின்புற நடுக்கம்", + "சாயல் நடுக்கம்", + "செறிவு நடுக்கம்", + "ஒளிர்வு நடுக்கம்" + ], + [ + "Alt (அல்லது K) ஐ பிடித்து படத்தைக் சொடுக்கி நகலி மூலத்தைத் தேர்வேடு.", + "முன்புறத்தை வெள்ளையாலும், பின்புறத்தை கருப்பாலும், மற்றும் அறியப்படாத பகுதியை சாம்பலாலும் குறி.", + "அடுக்கு திருத்த இயலாது.", + "உரை அடுக்கு முதலில் பரவாக்கப்பட வேண்டும்", + "சூட்டிகை பொருள் முதலில் பரவாக்கப்பட வேண்டும்", + "பல அடுக்குகளைத் தேர்வெடு", + "அடுக்கை நேராக்கு", + "முதலில் ஒரு ஆவணத்தைத் திற.", + "நடப்பு சாளரத்தை முதலில் மூடு.", + "நடப்பு கருவி மட்டும்" + ], + [ + "பதிவு செய்", + "புதிய செயல் தொகுப்பு", + "புதிய செயல்" + ], + [ + "மின்னெழுத்தாணி அழுத்தம் ஒளிபுகாநிலையை கட்டுப்படுத்துகிறது", + "மின்னெழுத்தாணி அழுத்தம் அளவைக் கட்டுப்படுத்துகிறது" + ], + [ + "இயல்பானது", + "கரைப்பு", + "இருளாக்கு", + "பெருக்கு", + "நிற எரிப்பு", + "நேரியல் எரிப்பு", + "இருண்ட நிறம்", + "ஒளிரச்செய்", + "புகுத்திக்காட்டு", + "நிற ஒளிர்வு", + "நேரியல் ஒளிர்வு", + "இலகுவான நிறம்", + "மேலே கவி", + "மென்மையான ஒளி", + "கடின ஒளி", + "தெளிவான ஒளி", + "நேரியல் ஒளி", + "குத்திய ஒளி", + "கடின கலவை", + "வேறுபாடு", + "விலக்கம்", + "கழித்தம்", + "வகுத்தம்", + "சாயல்", + "செறிவு", + "நிறம்", + "ஒளிர்வு", + "ஒளி ஊடு" + ] + ], + [ + "முன்னணி", + "பின்தொடர்", + "அடிக்கோடு மாற்றம்", + [ + "புள்ளி உரைக்கு மாற்ற்று", + "பத்தி உரைக்கு மாற்று" + ] + ], + [ + "எல்லா அடுக்குகளும்", + "நடப்பு அடுக்கு", + "தேர்வு", + "நடப்பு & கீழே" + ], + [ + "பதிலிடங்கொள்", + "ஒருசேர்", + "கழி", + "ஊடறு", + "தவிர்", + "ஒன்றிணை" + ], + [ + [ + "நேரியல்", + "ஆரியல்", + "கோணம்", + "எதிரொளித்தது", + "வைரம்", + "வடிவ வெடிப்பு" + ], + [ + "மென்மையான", + "துல்லியமான" + ], + [ + "வெளி நுனி", + "உள் நுனி", + "புடைப்பு", + "தலையணை புடைப்பு", + "கீறல் புடைப்பு", + "கீறல் அகலம்" + ], + [ + "மென்மையாக்கு", + "கடின உளி", + "மெல்லிய உளி", + "மென்மை" + ], + [ + "மேல்", + "கீழ்" + ], + [ + "வெளிப்புறம்", + "நடுவே", + "உட்புறம்", + "நடுவிலிருந்து" + ], + [ + "நிழல்கள்", + "நடு தொனிகள்", + "ஒளிர்வுகள்" + ], + [ + "செறிவு குறை", + "செறிவு கூட்டு" + ], + [ + "சிறிது", + "நடுத்தரம்", + "பெரிது" + ], + [ + "தலையெழுத்து", + "மூலைகள்", + "தொடர் கோடுகள்" + ] + ], + [ + "சுட்டியின் கீழுள்ள பொருளைத் தேர்வி", + "உருமாற்றி கட்டுகள்", + "படத்தொனிகளுக்குள்", + "பகுதிக்குள் பொருத்து", + [ + "இடது விளிம்புகளை சீரமை", + "கிடைமட்டமாக நடுநிறுத்து", + "வலது விளிம்புகளை சீரமை", + "மேல் விளிம்புகளை சீரமை", + "செங்குத்தாக நடுநிறுத்து", + "கீழ் விளிம்புகளை சீரமை", + "சம இடைவெளிகள்" + ] + ], + [ + "இதனுள் இடு", + "நடப்பு திட்டம்", + "புதிய திட்டம்", + "நுணுக்கம்", + "நடப்பு திட்டத்தில் சேர்க்கப்பட்டது", + "ஒரு புதிய திட்டம் உருவாக்கப்பட்டது", + "படமி அணுகல் மறுக்கப்பட்டது" + ], + [ + "நோக்குநிலை", + "வளை", + "கிடைமட்ட திரிபு", + "செங்குத்து திரிபு", + [ + "கிடைமட்டம்", + "செங்குத்து", + "கிடைமட்டமாக", + "செங்குத்தாக" + ], + [ + "எதுவுமில்லை", + "வில்", + "தாழ்ந்த வில்", + "உயர்ந்த வில்", + "வில்வளைவு", + "வீக்கம்", + "தாழ்ந்த சிப்பி", + "உயர்ந்த சிப்பி", + "கொடி", + "அலை", + "மீன்", + "ஏழு", + "மீன் கண்", + "காற்றேற்று", + "பிழி", + "திருகு", + "தனிவழக்கம்" + ], + [ + "எழுத்துரு", + "கிடைக்கவில்லை", + "பயன்படுத்தி ஒப்படைக்கப்படும்", + "சேமிக்கப்படாத பணி இதிலுள்ளது", + "உண்மையில் அதை மூட விருப்பமா?" + ], + [ + "நிறங்களை மாற்று", + "இயல்புநிலை: வெள்ளை மற்றும் கருப்பு" + ] + ], + [ + "ஏற்றப்பட்டது", + "சேர்க்கப்பட்டது", + "வழிக்கோடை நகர்த்து", + "வழிக்கோடு நீக்கு", + "வழிக்கோடு சேர்", + "ஏற்றுகிறது", + "VAR0 ஏற்று" + ], + [ + "வடிகட்டி தொகுப்பு", + [ + [ + "வழிமமாக்கு", + [ + "அழுக்காக்கு", + "புனரமை", + "மென்மையாக்கு", + "சுழற்று", + "சுருக்கு", + "ஊது", + "இடற்புறம் தள்ளு", + "உறை", + "கட்டவிழ்" + ] + ], + [ + "வில்லை திருத்தம்" + ] + ], + "மங்கல்", + [ + "நிரலளவு", + "மங்கலாக்கு", + "மேலும் மங்கலாக்கு", + "பெட்டி மங்கல்", + "காசியன் மங்கல்", + "வில்லை மங்கல்", + "அசைவு மங்கல்", + "ஆரச்சீர் மங்கல்", + "வடிவ மங்கல்", + "சூட்டிகை மங்கல்", + "மேற்பரப்பு மங்கல்" + ], + "திரி", + [ + "பெயரு", + "கிள்ளு", + "முனைவு ஒருங்கிணைப்புகள்", + "சிற்றலை", + "தரி", + "கோளமாக்கு", + "அலை" + ], + "இரைச்சல்", + [ + "இரைச்சல் சேர்", + "பொட்டுபெருக்கு", + "தூசி & கீறல்கள்", + "இடைக்கோடு" + ], + "படத்துணுக்காக்கு", + [ + "நிற தொனிப்பாதி", + "படிகமாக்கு", + "முகப்பரப்பு", + "துண்டு", + "உலர்ப்புள்ளி முறை", + "பல்லடுக்கு", + "புள்ளிப்படமாக்கு" + ], + "ஒப்படை", + [ + "மேகங்கள்", + "வேற்றுமை மேகங்கள்", + "வில்லை பட்டொளி" + ], + "கூர்தீட்டு", + [ + "கூர்தீட்டு", + "முனைகளை கூர்தீட்டு", + "மேலும் கூர்தீட்டு", + "சூட்டிகை கூர்தீட்டு", + "கூரில்லா ஒளிமறை" + ], + "மிடுக்காகு", + [ + "விரவு", + "புடை", + "விலக்கு", + "விளிம்புகளை தேடு", + "எண்ணெய் வரையல்" + ], + "மற்றவை", + [ + "தனிவழக்கு", + "உயர் நுழை", + "பெருமம்", + "சிறுமம்", + "ஈடு", + "ஒப்பி" + ], + [ + "வரையறா பகுதி", + "ஒளிபுகுமையாக்கு", + "விளிம்பு படத்துணுக்குகளை ஒப்பி", + "சுற்றி மடக்கு", + "கடைசி வடிகட்டி", + "முற்காட்சி" + ] + ], + [ + "வார்ப்புருக்கள்", + [ + "எழுத்துரு வடிகட்டி", + "சிறப்புச் சொற்கள்", + "சீர்கெடு" + ], + [ + "சின்னங்களுடன்", + "படங்களுடன்" + ], + [ + "சிறுபடங்கள்", + "பட்டியல்" + ] + ] + ], + [ + [ + "བཀྲིས་བདེ་ལེགས།", + "བཟོ་སྒྲིག", + "དཔར།", + "ངོས།", + "ཡིག་ཁུག", + "འདེམས།", + "ཚགས།", + "ལྟ་སྣང་།", + "སྒེའུ་ཁུང་།", + "སྐད་ཡིག", + "ནང་དུ་འཛུལ།", + "སྒོ་གཏན།", + "ཡིག་སྒྱུར་བྱེད།", + [ + "དེབ་སྐྱེལ།", + "ཞབས་ཞུའི་འགན་རྒྱ།", + "ཕྱིར་ལོག", + "ངོ་སྤྲོད།", + "སྙན་ཞུ།", + "སྦྱོང་།" + ], + "དེ་ལས་མང་བ།", + "དཔེ་དཔང་།", + "WebGL སྤྱད།", + [ + "Photopea-དཔར་བཟོའི་མཉེན་ཆས།", + "PSD, XCF, Sketch, XD, CDR སོགས་དཔར་རིགས་ལ་རྒྱབ་སྐྱོར་ཐོབ་པའི་རིན་མེད་དཔར་བཟོའི་མཉེན་ཆས།", + "ཡིག་ཆ་གསར་པ་བཟོ་བའམ་ཡང་ན་གློག་ཀླད་ནང་ཡོད་པའི་དཔར་ཞིག་ཁ་འབྱེད། བཟོ་སྒྲིག་ཚར་བ་དང་ PSD (ཡིག་ཆ། - PSD རྣམ་པར་ཉར།) དང་ JPG / PNG / SVG (ཡིག་ཆ། - ཕབས་སྟངས་གཞན།) སོགས་རྣམ་པ་ཅི་རིགས་ཐོག་ཕབ་ལེན་ཉར་ཚགས་བྱེད་ཆོག", + "ཁྱད་ཆོས་གསར་པའི་རིགས་བསམ་འཆར་ཡོད་ན་ དང་ ཐོག་སྤེལ་རོགས། < ང་ཚོའི་དམིགས་ཡུལ་ནི་རིན་མེད་ཀྱི་དཔར་བཟོའི་མཉེན་ཆས་སྤུས་དག་ཞིག་མཁོ་འདོན་བྱེད་རྒྱུ་ཡིན།>.", + "སྦྱིན་བདག་ཚོའི་སྒེའུ་ཁུང་།", + "མཐུན་རྐྱེན་དེ་མིན་འདུག", + null + ] + ], + [ + "ཁ་འབྱེད།", + "དྲ་གནས་སུ་སྤེལ།", + "ཉར་ཚགས།", + "PSD རྣམ་པར་ཉར།", + "དཔར་སློག", + "དྲ་ཐག་ནས་ཁ་འབྱེད།", + "གློག་ཀླད་ནས་ཁ་འབྱེད།", + "Google Drive དང་མཐུད།", + "ཕབས་སྟངས་གཞན།", + "ངོས་ཕྱིར་ཕབས།", + "བརྡ་ཡིག", + "འདིར་ཁ་ཕྱེ།", + "ཁ་རྒྱབས།", + "ས་གནས་སུ་ཉར་གསོག", + null + ], + [ + "མདུན་གཤིག", + "རྒྱབ་གཤིག", + "སུབ།", + "འགེང།", + "གཟུགས་འགྱུར།", + "བསྐོར།", + "སྐོར་ཚད། 0", + "ཆེ་ཆུང་། ཚད། 0", + "ཕྱོར་ལོག / སྔོན་ལོག", + "སྣང་ཚོད།", + [ + "རང་འགུལ་དུ་བསྲེ།", + "རང་འགུལ་རུ་སྒྲིག" + ], + "ཡལ།", + null + ], + "སྙོམ་སྒྲིག", + [ + "བཀྲག་མདངས། / ལྡོག་ཆོས།", + "ཆ་སྙོམ།", + "གུག་ཐིག", + "འཚེར་ཤུགས།", + "ཚོན་ཤུགས།", + "ཚོན། / ཧར་ལོད།", + "ཚོན་དོ་སྙོམ།", + "དཀར་པོ་དང་ནག་པོ།", + "དཔར་ཚགས།", + "ཁ་དོག་སྲེ་སྦྱོར།", + "ཁ་དོག་དཔྱད་བསྡུར།", + "ཕྱི་ནང་སློག་པ།", + "པར་གཞི་བཟོ་བ།", + "ཡས་ཆོད།", + "སྟེགས་རིས་ས་ཁྲ།", + "གདམ་ག་ཅན་གྱི་ཁ་དོག", + [ + "ཚོན་མདངས་རང་སྒྲིག", + "ལྡོག་ཆོས་རང་སྒྲིག", + "ཁ་དོག་རང་སྒྲིག" + ], + "ཚོས་བརྗེ།" + ], + [ + "གཏུབ།", + "བཤུ།", + "སྦྱར།", + "གསར་པ།", + "དོར།", + "ནུས་ཡོད་བཟོ།", + "ནུས་མེད་བཟོ།", + "ཟླ་སྒྲིལ་བྱས་པ་དེ་བཤུས།", + "སྤྱད།", + "ཡང་བསྐྱར་བྱེད།", + "རིམ་སྤར།" + ], + [ + "ངོས་འདྲ་བཤུས།", + "སྒྲིག་ངོས་གསར་པ།", + "ལྷུ་འབག", + "སྲ་འབག", + "གནོན། (ཆ་ཚང་)", + [ + "སྣོན། (ཆ་ཚང་བསྐུང་)", + "འདེམ་གཞི་མངོན་པ་བཟོ།", + "འདེམ་གཞི་མི་མངོན་པ་བཟོ།", + "དྭངས་མ་ནས།" + ], + [ + "འབག་བཅད་ཤོག", + "འབག་གི་རྣམ་པ།" + ], + "བསྡུ་རིས་ལ་བཟོ།", + "ལྷུ་བཤིག", + "ངོས་སྡེ་ཚན་དུ་བཟོ།", + "འོག་ཏུ་ཟླ་སྒྲིལ།", + "ཡར་ཟླ་སྒྲིལ།", + [ + "ངོས་རྣམས་ཟླ་སྒྲིལ་གཏོང་།", + "ངོས་གཅིག་ལ་བསྒྲིལ།" + ], + "ངོས་གསར་པ།", + "ལྷུ་འབག་ནུས་ཡོད་བཟོ།", + "ལྷུ་འབག་ནུས་མེད་བཟོ།", + "སྲ་འབག་ནུས་ཡོད་བཟོ།", + "སྲ་འབག་ནུས་མེད་བཟོ།", + "འབག་བཅད་ཤོག་ནུས་ཡོད་བཟོ།", + "འབག་བཅད་ཤོག་ནུས་མེད་བཟོ།", + "ཡིག་ཁུག་གསར་པ།", + "ལྷུ་འབག་སྣོན།", + "ལྷུ་འབག་དོར།", + "སྲ་འབག་སྣོན།", + "སྲ་འབག་དོར།", + "ལྷུ་འབག་མཐུད།", + "ལྷུ་འབག་བཅད།", + "སྲ་འབག་མཐུད།", + "སྲ་འབག་བཅད།", + "ངོས་ཀྱི་ཁྱད་ཆོས་ནུས་ཡོད་བཟོ།", + "ངོས་ཀྱི་ཁྱད་ཆོས་ནུས་མེད་བཟོ།", + "ངོས་དོར།", + "ངོས་གསལ་ཆ་སྒྲིག", + "སྡེབ་སྦྱོར་སྒྲིག", + "ངོས་ཀྱི་བཀོད་སྒྲིག་ལྷུ་བཤིག", + "ངོས་ཀྱི་གོ་རིམ།", + [ + "བསྡུ་རིས་བཟོ།", + "བསྡུ་རིས་ཁ་གསབ།", + "བསྡུ་རིས་འཇོག", + "ཁུངས། (བསྡུ་རིས།)", + "བརྩེགས་རིམ།" + ], + "མིང་བརྗེ།", + "ཚོན་མདོག་བརྗེ།", + "སྒྲིག་ངོས་སྒྲིག་སྦྱོར།", + "དབྱིབས་ལ་འགྱུར།", + "འབག་ཚགས་ནུས་ལྡན་བཟོ།", + "འབག་ཚགས་ནུས་མེད་བཟོ།", + "བསྡུ་ཚགས་ནུས་ཡོད་བཟོ།", + "བསྡུ་ཚགས་ནུས་མེད་བཟོ།", + "འབག་ཚགས་སྣོན།", + "འབག་ཚགས་དོར།", + "བསྡུ་ཚགས་སུབ།", + [ + [ + "ཚོན་རྡོག་གཏོང་།", + "ཚོན་སྟེགས་གཏོང་།", + "བཀོད་དཔེ་གཏོང་།", + "མངོན་ཤེས།" + ], + "འགེང་ངོས་གསར་པ།", + "འགེང་ངོས་འགྱུར་བཅོས།" + ], + "ཤུལ་ནས་ངོས་སུ།", + "འབག་ཚགས།", + "ངོས་ཀྱི་བཀོད་སྒྲིག་དོར།", + "བསྡུ་ཚགས་སྤོ།", + "བསྡུ་ཚགས་དོར།", + [ + "ངོས་དང་མཐུད།", + "ངོས་དང་མཐུད་བཅད།" + ], + "གོ་རིམ་སྒྲིག", + [ + "མདུན་མདུན་དུ་འཇོག", + "མདུན་ལ་གཏོང་།", + "རྒྱབ་ལ་གཏོང་།", + "རྒྱབ་་རྒྱབ་ལ་འཇོག" + ], + [ + "ངོས་བཀག", + "འགྱུར་བཅོས་བཀག", + null + ], + null + ], + [ + "ཆ་ཚང་།", + "སློད།", + "ཕྱི་ནང་སློག་པ།", + "བཟོ་བཅོས་གཏོང་།", + "རྒྱ་སྐྱེད།", + "འདུས་པ།", + "བྱ་སྒྲོ།", + "འདེམས་འགུལ།", + "ཚོན་མདོག་རིགས།", + "མཚམས་ཐིག", + "འདེམ་བྱ་གཟུགས་འགྱུར།", + "མཐའ་སྣེ་སྤུས་དག་ཏུ་གཏོང་།", + "འདེམ་བྱ་གསོ་ཐབས།", + null + ], + [ + "ཆེ་རུ་མངོན།", + "ཆུང་དུ་མངོན།", + "སྣོན་ཐིག", + "ཐིག་ཤིང་།", + "སྒྲོམ་ཐིག", + "གནན་པ།", + "དེར་གནན་པ།", + "ཤོག་མཚམས།", + "པིག་ཟེལ་སྒྲོམ་ཐིག", + "ལམ།", + "པེག་ཟེལ་སྒང་ལ་བསྡད།", + [ + "གཏུབ།", + "གཏུབ་ཆེད་གདམ་ག" + ], + "སྟོན།" + ], + [ + "བྱུང་རིམ།", + "ངོས།", + "ཁྱད་ཆོས།", + "པིར།", + "ཡིག་འབྲུ།", + "དུམ་མཚམས།", + "གནས་ཚུལ།", + "ངོས་ཀྱི་གྲུབ་ཆ།", + "ཚོན་སྟར།", + "ལས་འགུལ།", + "སྐྱེད་རིས།", + "ཟུར་ལྟ།", + "ཡོ་ཆས་སྔོན་སྒྲིག", + null + ], + [ + "པིར།", + "འདྲ་བཟོའི་ལག་ཆ།", + "གཏུབ་ཆས།", + "སུབ་ཆས།", + "སྒོར་སྒོར་འདེམས།", + "ཚོན་བཤེར།", + "སྟེགས་ཚོན་ལག་ཆ།", + "ལག་པ།", + "ཡིག་བཏགས།", + "ཐག་པ།", + "ངར་ལྕགས།", + "འདེམས་བྱེད།", + "དབྱུག་པ།", + "ལྕགས་ཀྲིན།", + "ཐག་པ་ཟུར་ཅན།", + "གྲུ་བཞི་ཅན།", + "རང་མོས་གཟུགས་འགྱུར།", + "མཐོང་ཆ།", + "རབ་རིབ་བཟོ་ཆས།", + "དྭངས་གསལ་གཏོང་ཆས།", + "ནག་ནོག་བཟོ་ཆས།", + "སླ་ཆས།", + "སྲེག་ཆས།", + "འགྱིག་སོབ།", + "ནག་ཐིག་གསོ་བའི་པིར།", + "གསོ་བྱེད་པིར།", + "ལྷན་པ་བརྒྱབ་ཆས།", + "ཐིག་འདེམས།", + "ཐད་ཀར་འདེམས།", + "སྨྱུ་གུ།", + "རང་མོས་སྨྱུ་གུ།", + "རང་མོས་དབྱིབས།", + "གྲུ་བཞི་ནར་མོ།", + "སྒོར་དབྱིབས།", + "དབྱིབས་རྒྱས་པ།", + "ཐིག", + "ཐིག་ཤིང་།", + "མྱུར་འདེམས།", + "མྱུ་གུའི་ལག་ཆ།", + "ཟུར་བྲེག", + "གཏུབ་ཆས།", + "གཏུབ་ཆ་འདེམས་ཆས།", + "ཚོན་བརྗེ་འགྱུར།", + "མིག་དམར་པོའོ་ལག་ཆ།", + "སྡུས་རིས་གདམ།", + "རྒྱབ་ལྗོངས་སུབ་བྱེད།", + "ཉེད་ཉེད།", + "སྐོར་ལྟ།", + "དངོས་རྟོགས་ཆེ་ཆུང་།", + null + ], + [ + "པར་ལེན་པ།", + "ཚོན་འདེམ་བྱེད།", + "འབུར་ཀོང་སྒྲིག་ཆས།", + "རས་གཞི།", + "འདྲ་བཤུས་སུ་་་", + "སྟེབས་རིས་སྒྲིག", + "ངོས་ཀྱི་བཀོད་སྒྲིག", + "ཡིག་ཆ་གསར་པ།", + "དྲ་རྒྱའི་ཆེད་དུ་ཉར་ཚགས།", + "གཅུ་སྒྲིམ།", + "དཔར་ཆེ་ཆུང་།", + "ཝེག་ཊར་ལ་འགྱུར།", + [ + "གཏུབས།", + "བྲེག", + "ཆ་ཚང་མངོན།" + ], + "མྱུར་མཐེབ།", + "ཐིག་མཚམས་སྣོན།", + [ + "ཐིག་མཚམས་གསུབ།", + "ངོས་བརྟེན་ཐིག་མཚམས།" + ] + ], + [ + "སྒྲིབ་ཚད།", + "ཤུགས་རྐྱེན།", + "བཀྲག་མདངས།", + [ + "ལྡོག་ཆོས།", + "འགྲོ་ལུགས་རྙིང་པ་སྤྱད།" + ], + "ཁ་དོག", + "འཚེར་ཤུགས།", + "ཟུར་འཇོག", + "ག་མ་བཅོས་སྒྲིག", + "ཚོན།", + "ཧར་ལོད།", + "མདངས།", + "ཚོན་བརྒྱབ།", + "ཁྱབ་ཚད།", + "ཚོན་མདངས།", + [ + "ཆེ་ཆུང།", + "ཁ་གསབ།", + "གྲོང་པ་ཉེ་ཤོས།", + "གཉིས་ཐིག" + ], + "གྲུ་ཟུར།", + "ཟླུམ་ལོད།", + "མཁྲེགས་ལོད།", + "སྟོང་ཆ།", + [ + "བསྲེ་སྦྱོར་རྣམ་པ།", + "བསྲེ་སྦྱོར། གལ་ཏེ།" + ], + "ཆེ་ཆུང་ཚད་གཞི་འགའ།", + "འབུར་ཀོང་།", + "བཀོད་སྒྲིག", + [ + "ཕྱིན་ཅི་ལོག", + "ལྟོས་ས་ལྟོས་འཇོག", + "འཛིན་ས།" + ], + "བཟོད་སྲན།", + "ཉེ་འདབས།", + "འགེང་།", + "ཟུར་ཁུག་གཅིག་འགྱུར་སྤྱོད།", + "རྒྱང་ཚད།", + "བརྐྱངས།", + "ལྷད།", + "ལྷད་འཇོམས་པ།", + "ཐབས་ཇུས།", + "ཁ་ཕྱོགས།", + "གཏིང་།", + "སོབ་སོབ།", + "རྣམ་པ།", + "སྟེགས་ཚོན།", + "ཆེ་རུ་གཏོང་།", + "ངོས་དང་འཁོད་སྙོམ།", + "གནས།", + "ཞེང་ཁ།", + "མཐོ་ཚད།", + "ཕྱོགས་ཡུལ།", + "བཏགས།", + "ཁ་ངོས།", + "རྒྱབ་ངོས།", + "རང་མོས་ལྟར་སྒྲིག", + "མིང་།", + "བཟོ།", + "རྣམ་གཞག", + "བསྡུར་ཚད་བརྟན་སྡོད་ཐོག", + [ + "སྤུད་ཚད།", + "ཤོག་ངོས།" + ], + "འདྲ་བཤུས།", + "འགུལ།", + "བསྡུ་ཚགས།", + "ཚངས་ཐིག", + "གྲངས་འབོར།", + "འགྲེམས་སྤེལ།", + [ + "གཅིག་གྱུར།", + "ག་ཤན།" + ], + "ཚོས་གཅིག་མ།", + "སེལ་ཆེ་ཆུང་།", + "བཀོད་རིས།", + "འགྲོས།", + "ནུས་ཤུགས།", + "ཞིབ་ཕྲ་སྲུང་སྐྱོབ།", + "ཡིག་ཆའི་རྣམ་པ།", + "ཐགས་རན།", + "སག་སག", + "མཐའ།", + "ཁུངས།", + "ཁ་གཏད།", + "རྒྱུ་ལམ།", + "འབག", + "གར་ལོད།", + "རུ་སྒྲིག", + [ + "ཐིག", + "དབྱིབས།", + "པིག་ཟེལ།", + "ཨིན་ཅི།", + "སེན་ཊི་མི་ཊར།", + "མི་ལི་མི་ཊར།", + "བརྒྱ་ཆ།" + ], + "དབྱིབས།", + "ཟུར།", + "འདམ་ང་།", + [ + "རིང་ཚད།", + "བསྡུར་ཚད།", + "གང་རུང་།", + "སྒྲོམ་ཀྱི་རིགས།", + "རྫས་མཚུངས།", + "སྒྲོམ་གྱི་བར་ཐག", + "ཐིག་ཤིང་ཚད་གཞི།" + ], + "ལྷད་སེལ།", + "ཚོན་མདོག", + "བར་ཐག", + "ཚད།", + "རང་འགུལ་ངང་འདེམ།", + "འཚོལ།", + "ཚད་གཞི་གསར་བཀོད།", + [ + "འདྲ་པར།", + "འཆར་ངོས།", + "ཁ་པར།", + "ཁྱབ་བསྒྲགས།", + "པར་སློག་རྒྱག" + ], + [ + "རིན་མེད།", + "བསྡུར་ཚད་གཅིག", + "བསྡུར་ཚད་གཅིག་འཇོག" + ], + "རོགས་རམ།", + [ + "དབྱིབས་དངོས་མཐོང་།", + "དབྱིབས་དངོས་མཐོང་བཟོ་བཅོས།", + "ཕྱེད་ཚངས་ཐིག་གཅིག་པ།" + ], + "ཟིབ་ཟིབ།", + [ + "ཟུར་མང་ཅན།", + "སྐར་མ།", + "གཅུས་སྒྲིམ་ཅན།", + "གྲུ་བཞི།" + ], + [ + "ཟུར་གདོང་ཚངས་ཐིག", + "ཚངས་ཐིག་ནང་མ།" + ] + ], + [ + "ཚོན་མདོག", + [ + "གང་ཡང་མེད།", + "དམར་པོ།", + "ལི་ཝང་།", + "སེར་པོ།", + "ལྗང་ཁུ།", + "སྔོན་པོ།", + "མུ་མེན།", + "ཐལ་དོག", + "དཀར་པོ།", + "ཕྱི་གསལ་ནང་གསལ།", + "ནག་པོ།", + "སྔོ་ལྗང་།", + "དམར་སྨུག", + "བར་གནས།" + ], + "ཆ་ཚང་།", + "ཚད་རྩོད་མེད།", + "འོད་ཤུགས་ཉར་སྲུང་།" + ], + [ + "གྲིབ་གཟུགས།", + "གྲིབ་གཟུགས་ནང་མ།", + "འོད་གཟུགས་ཕྱི་མ།", + "འོད་གཟུགས་ནང་མ།", + "འཕྲེད་གསེག་དང་འབུར་རྐོས།", + "སྒང་ལ་ཚོན་འདེབས།", + "སྒང་ལ་སྟེགས་ཚོན་འདེབས།", + "སྒང་ལ་བཀོད་རིས་འདེབས།", + "འཇམ་འོད།", + "ཐིག་རིས།", + "སྡེབ་སྦྱོར་བཀོད་སྒྲིག", + "པིག་ཟེལ་འདེམ།" + ], + [ + "དབྱིབས་རྩེ།", + "ཤུགས་ལྡན་སྣེ།", + "ཁ་འཐོར།", + "ཚོན་ཤུགས་ཅན།", + [ + "ཆེ་ཆུང་ཚད་སག་སག", + "དཀྱིལ་ཐིགཉུང་ཤོས།", + "གྲུ་ཟུར་སག་སག", + "ཟླུམ་ཟུར་སག་སག", + "ཟླུམ་ཟུར་ཉུང་ཤོས།" + ], + [ + "གནས་སག་སག", + "གྲངས་བརྩིས།", + "གྲངས་སག་སག" + ], + [ + "ཁ་ངོས་དང་རྒྱབ་ངོས་སག་སག", + "ཚོན་སག་སག", + "ཧར་ལོད་སག་སག", + "བཀྲག་མདངས་སག་སག" + ], + [ + "Alt གནོན་ཞོར་འདྲ་ཤུལ་གྱི་ཁུངས་འདེམས།", + "ཁ་ངོས་དཀར་པོ་དང་། རྒྱབ་ངོས་ནག་པོ། དེ་ནས་ཧ་མ་གོ་རྣམས་ཐལ་མདོག་གྱིས་རྟགས་བརྒྱབ།", + "ངོས་འདི་བཟོ་བཅོས་མི་ཐུབ།", + "ཡིག་ངོས་འདི་སྔོན་ལ་ཁ་གཏོར་དགོས།", + "སྔོན་ལ་བསྡུ་རིས་ལྷུ་བཤིག", + "ངོས་མང་པོ་འདེམས།", + "ངོས་ཁར་ཐུག་བཟོ།", + "ཡིག་ཆ་ཞིག་སྔོན་ལ་ཁ་ཕྱེ།", + "ད་ལྟའི་སྒེའུ་ཁུང་དེ་ཁ་རྒྱོབས།", + "ད་ལྟའི་ལག་ཆ་ཁོ་ན།" + ], + [ + "བྱ་རིམ་ཐོ་ལེན།", + "བྱ་རིམ་སྡེ་གསར་པ།", + "བྱ་རིམ་གསར་པ།" + ], + [ + "གློག་སྨྱུག་གནོན་ཤུགས་ཀྱིས་གསལ་ཆ་ཚོད་འཛིན།", + "གློག་སྨྱུག་གནོན་ཤུགས་ཀྱིས་ཁ་ཆེ་ཆུང་ཚོད་འཛིན།" + ], + [ + "སྤྱིར་བཏང་།", + "ཐིམ་པ།", + "ནག་ཏུ་གཏོང་།", + "འཕེལ་སྐྱེད་གཏོང་།", + "མཚོན་སྲེག", + "ཐད་སྲེག", + "མཚོན་ནག་ཏུ་གཏོང་།", + "དཀར་རུ་གཏོང་།", + "གསང་ཡོལ།", + "མཚོན་གཡོལ།", + "ཐད་གཡོལ།", + "དཀར་ཆ་ཆེ་བའི་མཚོན།", + "ཡོངས་སུ་འགྲེམ་པ།", + "འོད་འཇམ་པ།", + "འོད་ཤུགས་ཆེ་བ།", + "འོད་གསལ།", + "འོག་ཕྱོགས་གཅིག", + "འོད་སྣེ་མོ་གཅིག", + "སྲེ་ཆེ་བ།", + "བར་ཁྱད་ཅན།", + "ཟུར་འདོན་ཅན།", + "འབྲེད་པ་ཅན།", + "ཆ་བགོས་ཅན།", + "ཚོན།", + "ཟབ་ཚོན།", + "ཚོན་ཁྲ།", + "འོད་ཀྱི་ཁྱབ་ཤུགས།", + "གསེབ་ལམ།" + ] + ], + [ + "ཕྱོགས་སྟོན།", + "རྗེས་འདེད།", + "མ་ཐིག་སྤར།", + [ + "ནག་ཐིག་ཅན་གྱི་ཡི་གེར་སྒྱུར།", + "ཡི་གེའི་དུམ་མཚམས་ལ་སྒྱུར།" + ] + ], + [ + "ངོས་ཆ་ཚང་།", + "ད་ལྟའི་ངོས།", + "འདེམས་བྱ།", + "ད་ལྟ་དང་འདིའི་འོག་མ།" + ], + [ + "བརྗེ་ལེན།", + "ཟླ་སྒྲིལ།", + "འཐེན་པ།", + "འབྲེལ་ཐུག", + "ཟུར་འདོན།", + "ཟླ་སྒྲིལ།" + ], + [ + [ + "ནར་མོ།", + "འཁོར་མོ།", + "གྲུ་ཟུར།", + "ལྡོག་འཕྲོས།", + "ས་ཕག", + "གཟུགས་འཐོར།" + ], + [ + "སོབ་སོབ།", + "ཏག་ཏག" + ], + [ + "ཕྱི་གསེག", + "ནང་གསེག", + "འབུར་བཟོ།", + "འབོལ་འབུར།", + "ཞུ་འབུར།", + "ཐིག་གི་སྦོམ་ཚད།" + ], + [ + "འཇམ་ཤ", + "གཟོང་རྩུབ་པ།", + "གཟོང་འཇམ་པ།", + "འཇམ་ལོས།" + ], + [ + "ཡར།", + "མར།" + ], + [ + "ཕྱི་ལ།", + "དཀྱིལ་ལ།", + "ནང་ལ།", + "དཀྱིལ་ནས།" + ], + [ + "གྲིབ་གཟུགས།", + "གྲིབ་མདངས་དབུས།", + "དཀར་ཆ།" + ], + [ + "ཚོན་སླ་པོ།", + "ཧར་པོ།" + ], + [ + "ཆུང་།", + "འབྲིང་།", + "ཆེ།" + ], + [ + "རྩེ།", + "ཟུར།", + "དུམ་ཐིག" + ] + ], + [ + "བརྡ་མོའི་འོག་དེ་འདེམས།", + "གཟུགས་འགྱུར་སྟངས་འཛིན།", + "པིག་ཟེལ་ནས་པིག་ཟེལ།", + "ངོས་འདིར་བཀངས།", + [ + "གཡོན་ཟུར་སྟར་སྒྲིག", + "འཕྲེད་ཀྱི་དཀྱིལ།", + "གཡས་ཟུར་སྟར་སྒྲིག", + "སྟེང་ཟུར་སྟར་སྒྲིག", + "གྱེན་གྱི་དཀྱིལ།", + "འོག་ཟུར་སྟར་སྒྲིག", + "བར་སྟོང་གཅིག་པ།" + ] + ], + [ + "སྟེང་དུ་འཇོག", + "ད་ལྟའི་ལས་འཆར།", + "ལས་འཆར་གསར་པ།", + "སྤུས་ཚད།", + "ད་ལྟའི་ལས་འཆར་ཐོག་སྣོན།", + "ལས་འཆར་གསར་པ་ཕྱེ་ཟིན།", + "པར་ཆས་སྤྱོད་རྒྱུར་བཀག་འགོག་བྱུང་སོང་།" + ], + [ + "ཁ་ཕྱོགས།", + "གུག་གུག", + "འཕྲེད་ལ་སྣར།", + "གྱེན་ལ་སྣར།", + [ + "འཕྲེད་ལ།", + "གྱེན་ལ།", + "འཕྲེད་ལ།", + "གྱེན་ལ།" + ], + [ + "གང་ཡང་མིན།", + "གཞུ་དབྱིབས།", + "གཞུ་དབྱིབས་འོག་མ།", + "གཞུ་དབྱིབས་སྒང་མ།", + "གུག་ཆ།", + "འབུར་འབུར།", + "ཉ་སྐོགས་འོག་མ།", + "ཉ་སྐོགས་སྒང་མ།", + "དར་ཆ།", + "རླབས།", + "ཉ།", + "ཐོན་པ།", + "ཉ་མིག", + "རྒྱངས་པ།", + "བཙིར་བ།", + "གཅུ་སྒྲིམ།", + "རང་མོས་ལྟར།" + ], + [ + "ཡིག་གཟུགས།", + "དེ་ད་ལྟ་མིན་འདུག", + "སྤྱད་དེ་སྒྲིག་ངེས།", + "ལས་འཕྲོས་ཤིག་འདིར་འདུག", + "འདི་ཁ་རྒྱབ་མཁན་ཡིན་ནམ།" + ], + [ + "ཚོན་བརྗེ་རེས།", + "དང་ཐོག དཀར་ནག" + ] + ], + [ + "འདྲེན་ཟིན།", + "སྣོན་ཟིན།", + "སྣོན་ཐིག་འགུལ།", + "སྣོན་ཐིག་སུབ།", + "སྣོན་ཐིག་གསར་པ།", + "འདྲེན་བཞིན་པ།", + "ཕབས། ཚད། 0" + ], + [ + "ཚགས་སྡེ།", + [ + [ + "གཤེར་ཁུ།", + [ + "ནག་ནོག", + "བསྐྱར་གསོ།", + "འཇམ་ཤ", + "སྦྲུལ་འཁྱིལ།", + "འཁུམ་པ།", + "རྒྱང་པ།", + "གཡོན་ལ་སྐུལ།", + "ཧྲེང་།", + "མ་ཧྲེང་།" + ] + ], + [ + "དྭངས་ཤེལ་སྒྲིག" + ] + ], + "རབ་རིབ།", + [ + "ཆ་སྙོམ།", + "རབ་རིབ།", + "རབ་རིབ་མང་ཙམ།", + "ས་ཕག་རབ་རིབ།", + "ག་ཤན་རབ་རིབ།", + "དྭངས་ཤེལ་རབ་རིབ།", + "གཡོ་འགུལ་རབ་རིབ།", + "འཁོར་མོ་རབ་རིབ།", + "གཟུགས་རབ་རིབ།", + "བསྡུ་རབ་རིབ།", + "ཕྱི་ངོས་རབ་རིག" + ], + "སྣར།", + [ + "གནས་སྤོ།", + "ཕྲན་ཙམ།", + "གཞུང་ཐིག་འབྲེལ་གནས།", + "རླབས་ཕྲན།", + "གཏུབ་པ།", + "ཟླུམ་གཟུགས།", + "རླབས།" + ], + "ལྷད།", + [ + "ལྷད་སྣོན།", + "ཟེགས་རྡུལ་འཇོམས།", + "ཐལ་བ་དང་བྲད་ཤུལ།", + "གུང་ཐིག" + ], + "པིག་ཟེལ་བཟོ་བ།", + [ + "ཚོན་མདངས་ཕྱེད།", + "དྭངས་ཤེལ་ཅན།", + "ཟུར་ངོས།", + "དུམ་བུ།", + "མེ་ཛོ་ཊིན།", + "རྡོ་ཧྲུག", + "ཚོན་འབྲུ།" + ], + "སྒྲིག་སྦྱང་།", + [ + "སྤྲིན།", + "བར་ཁྱད་ཅན་གྱི་སྤྲིན་པ།", + "དྭངས་ཤེལ་འོད་འཚེར།" + ], + "གསལ་ཆ།", + [ + "དྭངས་གསལ།", + "མཐའ་ཟུར་དྭངས་གསལ།", + "དྭང་གསལ་མང་ཙམ།", + "བསྡུ་དྭང་གསལ།", + "འབག་དྭངས་གསལ་མེད་པ།" + ], + "བཀོད་སྒྲིག་བྱས།", + [ + "གྲམ་པ།", + "འབུར་འབུར།", + "བཙིར་འདོན།", + "མཐའ་ཟུར་བཙལ།", + "སྣུམ་ཚོན་རི་མོ།" + ], + "གཞན།", + [ + "རང་མོས་ལྟར།", + "ལ་མཐོ་བ།", + "མཐོ་ཤོས།", + "ཉུང་ཤོས།", + "ཟུར་འཇོག", + "བསྐྱར་ལྡབ།" + ], + [ + "ཚད་ཐིག་མེད་པའི་ས་ཆ།", + "ཕྱི་གསལ་ནང་གསལ་འདེམས།", + "མཐའ་ཟུར་པིག་ཟེར་བསྐྱར་ལྡབ།", + "ཕྱོགས་མཚམས་ནས་བསྐོར།", + "ཚགས་མཐའ་མ།", + "སྔོན་ལྟ།" + ] + ], + [ + "དཔེ་དཔང་།", + [ + "ཡིག་གཟུགས་ཚགས།", + "གནད་ཚིག", + "གང་བྱུང་བྱུང་ཞིག" + ], + [ + "དཔེ་མཚོན་མཉམ་དུ།", + "དཔར་དང་མཉམ་དུ།" + ], + [ + "དཔེ་རིས།", + "ཐོ།" + ] + ] + ], + [ + [ + "Fitxer", + "Editar", + "Imatge", + "Capa", + "Carpeta", + "Selecciona", + "Filtre", + "Veure", + "Finestra", + "Llengua", + "Inici de sessió", + "Surt", + "Crear traducció", + [ + "Compte", + "Condicions d'ús", + "Endarrere", + "Sobre", + "Informa d'un error", + "Aprendre" + ], + "Més", + "Tema", + "Utilitza WebGL", + [ + "Photopea: editor d'imatges avançat", + "Editor en línia gratuït que admet formats PSD, XCF, Sketch, XD i CDR.", + "Creeu una imatge nova o obriu els fitxers existents des de l’ordinador. Deseu el vostre treball com a PSD (Fitxer - Desar com a PSD) o com a JPG / PNG / SVG (Fitxer - Exportar com).", + "Suggeriu noves funcions al nostre o . El nostre objectiu és crear .", + "Els enllaços dels patrocinadors s'obren en una finestra nova.", + null, + "Instal·la Photopea" + ] + ], + [ + "Obrir", + "Publicar en línia", + "Desar", + "Desar com a PSD", + "Imprimir", + "Obrir des d'enllaç", + "Obrir des de l'ordinador", + "Connecta amb Google Drive", + "Exportar com a", + "Exportar les capes", + "Script", + "Obrir i situar", + "Tancar", + "Emmagatzematge local", + null + ], + [ + "Pas endavant", + "Pas enrere", + "Neteja", + "Omple", + "Transformar", + "Gira", + "Gireu VAR0", + "Escala VAR0", + "Desfer / Refer", + "Perspectiva", + [ + "Fusionar automàticament", + null + ], + "Esvaeix", + null + ], + "Ajustaments", + [ + "Brillantor/Contrast", + "Nivells", + "Corbes", + "Exposició", + "Vivor", + "To/Saturació", + "Balanç de color", + "Blanc i negre", + "Filtre fotogràfic", + "Mesclador de canals", + "Cerca de colors", + "Invertir", + "Redueix el nombre de colors", + "Llindar", + "Mapa de degradat", + "Color selectiu", + [ + "To automàtic", + "Contrast automàtic", + "Color automàtic" + ], + "Reemplaça color" + ], + [ + "Tallar", + "Copiar", + "Enganxar", + "Nou", + "Eliminar", + "Habilitar", + "Inhabilitar", + "Còpiar fusionada", + "Aplica", + "De nou", + "Actualització" + ], + [ + "Duplica la capa", + "Nova capa d'ajustament", + "Màscara ràster", + "Màscara vectorial", + "Afegir (mostra-ho tot)", + [ + "Afegir (amaga-ho tot)", + "Revelar la selecció", + "Amaga la selecció", + "A partir de transparència" + ], + [ + "Màscara de retall", + "Mode de màscara ràpida" + ], + "Convertir en objecte intel·ligent", + "Aplana", + "Agrupa les capes", + "Fusiona cap avall", + "Fusiona cap amunt", + [ + "Fusiona les capes", + "Aplana la imatge" + ], + "Nova capa", + "Habilita màscara ràster", + "Inhabilita màscara ràster", + "Habilita màscara vectorial", + "Inhabilita màscara vectorial", + "Habilita màscara de retall", + "Inhabilita máscara de retall", + "Nova Carpeta", + "Afegir màscara ràster", + "Eliminar màscara ràster", + "Afegir màscara vectorial", + "Eliminar màscara vectorial", + "Enllaça màscara ràster", + "Desenllaça màscara ràster", + "Enllaça màscara vectorial", + "Desenllaça màscara vectorial", + "Habilita els efectes de capa", + "Inhabilita els efectes de capa", + "Eliminar capa", + "Canvia l'opacitat de la capa", + "Canvia de fusió", + "Aplana l'estil de la capa", + "Ordre de les capes", + [ + "Creant objecte intel·ligent", + "Actualitzant objecte intel·ligent", + "Situant objecte intel·ligent", + "Font (objecte intel·ligent)", + null + ], + "Canvia el nom", + "Canvia color", + "Edita la capa d'ajustament", + "Convertir en forma", + "Habilita màscara de filtre", + "Inhabilita màscara de filtre", + "Habilita els filtres intel·ligents", + "Inhabilita filtres intel·ligents", + "Afegir màscara de filtre", + "Eliminar màscara de filtre", + "Neteja filtres intel·ligents", + [ + [ + "Emplena amb color sòlid", + "Emplena amb degradat", + "Emplena amb un patró", + "Segons el contingut" + ], + "Nova capa d'emplenament", + "Modifica la capa d'emplenament" + ], + "Capa a través d'una còpia", + "Màscara de filtre", + "Eliminar l'estil de la capa", + "Mou filtre intel·ligent", + "Eliminar filtre intel·ligent", + [ + "Enllaça capes", + "Desenllaça capes" + ], + "Organitza", + [ + "Porta al davant", + "Porta endavant", + "Mou cap al fons", + "Envia cap endarrere" + ], + [ + "La capa està blocada", + "Bloqueja canvis", + null + ], + null + ], + [ + "Tot", + "Deseleccionar", + "Inverteix", + "Modifica", + "Expandeix", + "Redueix", + "Pluma", + "Mou la selecció", + "Rang de color", + "Vora", + "Transformar la selecció", + "Refina la vora", + "Sanar la selecció", + null + ], + [ + "Ampliar", + "Reduir", + "Guies", + "Regles", + "Quadrícula", + "Ajusta", + "Ajusta a", + "Límits del document", + "Quadrícula de píxels", + "Camí", + "Ajusta a píxels", + [ + "Sectors", + "Opcions delliçans" + ], + "Mostrar" + ], + [ + "Historial", + "Capes", + "Propietats", + "Pinzell", + "Caràcters", + "Paràgraf", + "Informació", + "Composició de capa", + "Mostres", + "Accions", + "Histograma", + "Navegador", + "Predefinits de l'eina", + null + ], + [ + "Eina pinzell", + "Eina de clonació", + "Eina escapça", + "Eina borrador", + "Selecció el·líptica", + "Comptagotes", + "Degradat", + "Eina mà", + "Eina de text", + "Selecció lliure", + "Selecció llaç magnètic", + "Eina mou", + "Vareta màgica", + "Eina cubell de pintura", + "Selecció amb llaç poligonal", + "Selecció rectangular", + "Transformació lliure", + "Lupa", + "Eina desenfoca", + "Perfila", + "Eina difumina", + "Eina esvaeix", + "Eina crema", + "Esponja", + "Eina pinzell corrector puntual", + "Eina pinzell corrector", + "Eina pedaç", + "Selecció de camí", + "Selecció directa", + "Llapis", + "Llapis lliure", + "Forma personalitzada", + "Rectangle", + "El·lipse", + "Forma paramètrica", + "Línia", + "Regle", + "Selecció ràpida", + "Eina pinzell", + "Escapça amb perspectiva", + "Eina de Sectors", + "Eina de Selecció de Sectors", + "Substitució de color", + "Eina Ull Vermell", + "Selecció d'objecte", + "Esborra fons", + null, + null, + null, + null + ], + [ + "Prendre una foto", + "Tria un color", + "Editor de contorn", + "Mida del llenç", + "Duplica a ...", + "Editor de degradat", + "Estil de la capa", + "Projecte nou", + "Desar per web", + "Deforma", + "Mida de la imatge", + "Vectoritza el mapa de bits", + [ + "Retalla", + "Buida", + null + ], + "Dreceres del teclat", + "Afegir guies", + [ + "Neteja guies", + "Guies de la capa" + ] + ], + [ + "Opacitat", + "Efectes", + "Brillantor", + [ + "Contrast", + "Utilitzeu l’algorisme anterior" + ], + "Canal", + "Exposició", + "Desplaçament", + "Correcció gamma", + "To", + "Saturació", + "Brillantor", + "Acoloreix", + "Tram", + "Vivesa", + [ + "Mida", + "Interpolació", + "Veí més proper", + "Bilinear" + ], + "Angle", + "Arrodoniment", + "Duresa", + "Espaiat", + [ + "Mode de fusió", + "Fusionar si és" + ], + "Mida de la mostra", + "Contorn", + "Estil", + [ + "Inverteix", + "Relatiu", + "Àncora" + ], + "Tolerància", + "Contigu", + "Emplena", + "Utilitza angle global", + "Distància", + "Escampa", + "Soroll", + "Amaga l'ombra paral·lela", + "Tècnica", + "Direcció", + "Profunditat", + "Suavitza", + "Mode", + "Degradat", + "Escala", + "Alinea amb la capa", + "Posició", + "Amplada", + "Alçada", + "Destinació", + "Tipus", + "Primer pla", + "Fons", + "Personalitzat", + "Nom", + "Crea", + "Format", + "Mantén la relació d'aspecte", + [ + "Qualitat", + "Pàgines" + ], + "Duplica", + "Mou", + "Filtres intel·ligents", + "Radi", + "Quantitat", + "Distribució", + [ + "Uniforme", + "Gausià" + ], + "Monocromàtic", + "Mida de la cel·la", + "Patró", + "Flux", + "Intensitat", + "Protegir detall", + "Tipus d'emplenament", + "Textura", + "Fluctuació", + "Vora", + "Font", + "Objectiu", + "Canals", + "Màscara", + "Densitat", + "Alineat", + [ + "Camí", + "Forma", + "Píxels", + "Polzades", + "Centímetres", + "Mil·límetres", + "Percentatge" + ], + "Formes", + "Costats", + "Preferències", + [ + "Longitud", + "Ràtio", + "Qualsevol", + "Tipus de quadrícula", + "Isomètrica", + "Espaiat de quadrícula", + "Unitat de regla" + ], + "Reducció del soroll", + "Colors", + "Distàncies", + "Taxa", + "Autoselecciona", + "Cerca", + "Definir nou", + [ + "Foto", + "Pantalla", + "Mòbil", + "Anuncis", + "Impressió" + ], + [ + "Lliure", + "Fixa relació", + "Mida fixa" + ], + "Ajuda", + [ + "Formes en directe", + "Edita formes en directe", + "Igualar radis" + ], + "Tolerància", + [ + "Polígon", + "Estrella", + "Espiral", + "Quadrat" + ], + [ + "Radi de cantonada", + "Radi interior" + ] + ], + [ + "Color", + [ + "Cap", + "Vermell", + "Taronja", + "Groc", + "Verd", + "Blau", + "Lila", + "Gris", + "Blanc", + "Transparent", + "Negre", + "Cian", + "Magenta", + "Neutre" + ], + "Total", + "Absolut", + "Conservar lluminositat" + ], + [ + "Ombra paral·lela", + "Ombra interior", + "Resplendor exterior", + "Resplendor intern", + "Bissell i relleu", + "Superposició de color", + "Superposició de degradat", + "Superposició de patró", + "Setinat", + "Traç", + "Opcions de fusió", + "Selecciona píxels" + ], + [ + "Forma suggerida", + "Dinàmica de punta", + "Dispersió", + "Dinàmica de color", + [ + "Variació de mida", + "Diàmetre mínim", + "Variació d'angle", + "Variació d'arrodoniment", + "Arrodoniment mínim" + ], + [ + "Variació de position", + "Conta", + "Variació del conta" + ], + [ + "Variació de primer pla/fons", + "Variació de to", + "Variació de saturació", + "Variació de brillantor" + ], + [ + "Selecciona la font de clonat mantenint Alt (o K) i fes clic sobre la imatge", + "Marca el primer pla amb blanc, el fons amb negre, i l'àrea desconeguda amb gris.", + "La capa no es pot editar.", + "La capa de text s'ha d'aplanar primer", + "L'objecte intel·ligent s'ha d'aplanar primer (rasterize)", + "Selecciona diverses capes", + "Redreçar la capa", + "Obriu un document primer.", + "Tanqueu la finestra actual primer.", + "Només eina actual" + ], + [ + "Gravar", + "Nou conjunt d'accions", + "Nova acció" + ], + [ + "La pressió de stylus controla l'opacitat", + "La pressió de stylus controla la mida" + ], + [ + "Normal", + "Dissol", + "Enfosqueix", + "Multiplica", + "Crema de color", + "Crema lineal", + "Color més fosc", + "Aclareix", + "Pantalla", + "Aclareix de color", + "Aclareix lineal", + "Color més clar", + "Superposa", + "Llum suau", + "Llum forta", + "Llum intensa", + "Llum lineal", + "Llum focal", + "Mescla màxima", + "Diferència", + "Exclusió", + "Sostreu", + "Divideix", + "To", + "Saturació", + "Color", + "Lluminositat", + "Transferència" + ] + ], + [ + "Iniciar", + "Seguiment", + "Canvi de la línea base", + [ + "Convertir en text de punt", + "Convertir en text de paràgraf" + ] + ], + [ + "Totes les capes", + "Capa actual", + "Selecció", + "Actual i de sota" + ], + [ + "Reemplaça", + "Uneix", + "Resta", + "Intersecciona", + "Exclou", + "Fusiona" + ], + [ + [ + "Lineal", + "Radial", + "Angle", + "Reflexa", + "Diamant", + "Explosió de forma" + ], + [ + "Suavitzar", + "Precisió" + ], + [ + "Bisell extern", + "Bisell intern", + "Relleu", + "Relleu tipus coixí", + "Traç de relleu", + "Amplada de traç" + ], + [ + "Suau", + "Tall fort", + "Tall suau", + "Suavització" + ], + [ + "Amunt", + "Avall" + ], + [ + "Fora", + "Centre", + "Dins", + "Des del centre" + ], + [ + "Ombres", + "Tons mitjans", + "Ressaltats" + ], + [ + "Dessatura", + "Satura" + ], + [ + "Petit", + "Mitjà", + "Gran" + ], + [ + "Tapes", + "Cantonades", + "Guions" + ] + ], + [ + "Tria l'objecte a sota del cursor", + "Controls de transformació", + "Píxel a píxel", + "Adapta a l'àrea", + [ + "Alinea les vores a l'esquerra", + "Centra horitzontalment", + "Alinea les vores a la dreta", + "Alinea les vores a dalt", + "Centra verticalment", + "Alinea les vores a sota", + "Iguala els buits" + ] + ], + [ + "Situar a", + "Projecte actual", + "Projecte nou", + "Resolució", + "Afegit a el projecte actual.", + "S'ha creat un nou projecte.", + "S'ha denegat l'accés a la càmara." + ], + [ + "Orientació", + "Torça", + "Distorció horitzontal", + "Distorció vertical", + [ + "Horitzontal", + "Vertical", + "horitzontalment", + "verticalment" + ], + [ + "Cap", + "Arc", + "Arc inferior", + "Arc superior", + "Arc", + "Infla", + "Closca Inferior", + "Capa Superior", + "Senyal", + "Ona", + "Peix", + "Augmentar", + "Ull de peix", + "Infla", + "Comprimeix", + "Gira", + "Personalitzat" + ], + [ + "Font", + "no està disponible", + "Es renderitzarà utilitzant", + "Hi ha treball no guardat en", + "Realment vols tancar-lo?" + ], + [ + "Intercanvia colors", + "Per defecte: Blanc i negre" + ] + ], + [ + "carregat", + "afegit", + "Mou guia", + "Eliminar guia", + "Afegeix guia", + "Carregant", + "Carregar VAR0" + ], + [ + "Galeria de filtres", + [ + [ + "Liqua", + [ + "Escampa", + "Reconstrueix", + "Suavitza", + "Regira", + "Encongeix", + "Bufa", + "Empeny a l'esquerra", + "Congela", + "Descongela" + ] + ], + [ + "Correcció de les lents" + ] + ], + "Desenfoca", + [ + "Promig", + "Difumina", + "Difumina més", + "Control de difuminat", + "Difuminat gaussià", + "Difuminat de lent", + "Difumina mode moviment", + "Difuminat radial", + "Difuminat de forma", + "Difuminat intel·ligent", + "Difuminat de superfície" + ], + "Distorciona", + [ + "Desplaça", + "Pessiga", + "Coordenades polars", + "Onades del mar", + "Inclina", + "Esfèric", + "Onada" + ], + "Soroll", + [ + "Afegeix soroll", + "Elimina els pics", + "Pols i ratllades", + "Mitjana" + ], + "Pixela", + [ + "Mig to de color", + "Cristal·litza", + "Faceta", + "Fragment", + "Manera negra", + "Mosaic", + "Puntillisme" + ], + "Renderitza", + [ + "Núvols", + "Diferencia de núvols", + "Llum enlluernador" + ], + "Realça la vora", + [ + "Realça la vora", + "Ressalta les vores", + "Ressalta més", + "Realçat intel·ligent", + "Emmascara les parts borroses" + ], + "Estilitza", + [ + "Difusió", + "Esculpeix", + "Extrusió", + "Detecta els contorns", + null + ], + "Altres", + [ + "Personalitza", + "Filtre passaalt", + "Màxim", + "Mínim", + "Desplaçament", + "Repetir" + ], + [ + "Àrea indefinida", + "Fes transparent", + "Repeteix els píxels de la vora", + "Ajusta al voltant", + "Últim filtre", + "Previsualització" + ] + ], + [ + "Plantilles", + [ + "Filtre de tipus de lletra", + "Paraules clau", + "Aleatori" + ], + [ + "Amb símbols", + "Amb fotografia" + ], + [ + "Miniatura", + "Llista" + ] + ] + ], + [ + [ + "Fil", + "Rediger", + "Bilde", + "Lag", + "Mappe", + "Velg", + "Filter", + "Visning", + "Vindu", + "Språk", + "Logg inn", + "Logg ut", + "Opprett oversettelse", + [ + "Konto", + "Brukervilkår", + "Tilbake", + "Om appen", + "Rapporter en feil", + "Læring" + ], + "Mer", + "Tema", + "Bruk WebGL", + [ + "Photopea: avansert bilderedigerer", + "Gratis online editor som støtter PSD, XCF, Sketch, XD og CDR formater.", + "Opprett et nytt bilde eller åpne eksisterende filer fra datamaskinen. Lagre arbeidet ditt som PSD (Fil - Lagre som PSD) eller som JPG / PNG / SVG (Fil - Eksporter som).", + "Foreslå nye funksjoner på vår eller . Målet vårt er å lage .", + "Sponsorlenker åpnes i nytt vindu.", + "Denne funksjonen er ikke tilgjengelig.", + "Installer Photopea" + ] + ], + [ + "Åpne", + "Publiser online", + "Lagre", + "Lagre som PSD", + "Skriv ut", + "Åpne fra URL", + "Åpne fra datamaskin", + "Koble til Google Drive", + "Eksporter som", + "Eksporter lag", + "Skript", + "Åpne og plassér", + "Lukk", + "Lokallagring", + null + ], + [ + "Gå frem", + "Gå tilbake", + "Tøm", + "Fyll", + "Transformer", + "Roter", + "Vend VAR0", + "Skalér VAR0", + "Angre/gjenta", + "Perspektiv", + [ + "Automatisk blanding", + "Juster automatisk" + ], + "Uttoning", + "Bruk bilde" + ], + "Justeringer", + [ + "Lysstyrke/kontrast", + "Nivåer", + "Kurver", + "Eksponering", + "Dynamikk", + "Kulør/metning", + "Fargebalanse", + "Svart-hvitt", + "Fotofilter", + "Kanaler", + "Fargeoppslag", + "Invertér", + "Fargereduksjon", + "Terskel", + "Graderingskart", + "Selektiv farge", + [ + "Automatisk tone", + "Automatisk kontrast", + "Automatisk farge" + ], + "Erstatt farge" + ], + [ + "Klipp ut", + "Kopier", + "Lim inn", + "Ny", + "Slett", + "Aktiver", + "Deaktiver", + "Kopier sammenflettet", + "Bruk", + "På nytt", + "Oppdater" + ], + [ + "Duplisér lag", + "Nytt justeringslag", + "Rastermaskering", + "Vektormaskering", + "Legg til (vis alle)", + [ + "Legg til (skjul alle)", + "Vis markering", + "Skjul markering", + "Fra gjennomsiktighet" + ], + [ + "Utklippsmaskering", + "Hurtigmaskemodus" + ], + "Gjør om til Smartobjekt", + "Rastrer", + "Gruppér lag", + "Slå sammen nedover", + "Slå sammen oppover", + [ + "Slå sammen lag", + "Slå sammen alle lag" + ], + "Nytt lag", + "Aktiver rastermaskering", + "Deaktiver rastermaskering", + "Aktiver vektormaskering", + "Deaktiver vektormaskering", + "Aktiver utklippsmaskering", + "Deaktiver utklippsmaskering", + "Ny mappe", + "Legg til rastermaskering", + "Slett rastermaskering", + "Legg til vektormaskering", + "Slett vektormaskering", + "Koble sammen rastermaskering", + "Koble fra rastermaskering", + "Koble til vektormaskering", + "Koble fra vektormaskering", + "Aktiver lageffekter", + "Deaktiver lageffekter", + "Slett lag", + "Laggjennomsiktighetsendring", + "Blandingsmodus endring", + "Rastrer lagstil", + "Lagrekkefølge", + [ + "Oppretter Smartobjekt", + "Oppdaterer Smartobjekt", + "Plasserer Smartobjekt", + "Kilde (Smartobjekt)", + "Stakkmodus" + ], + "Navneeendring", + "Fargeendring", + "Rediger justeringslag", + "Konverter til form", + "Aktiver filtermaskering", + "Deaktiver filtermaskering", + "Aktiver Smart-filtre", + "Deaktiver Smart-filtre", + "Legg til filtermaskering", + "Slett filtermaskering", + "Slett Smart-filtre", + [ + [ + "Ensfarget fyll", + "Graderingsfyll", + "Mønsterfyll", + "Innholdstilpasset" + ], + "Nytt fyllag", + "Modifiser fyllag" + ], + "Nytt lag via kopier", + "Filtermaskering", + "Slett lagstil", + "Flytt Smart-filter", + "Slett Smart-filter", + [ + "Koble til lag", + "Koble fra lag" + ], + "Ordne", + [ + "Plasser lengst frem", + "Flytt fremover", + "Flytt bakover", + "Plasser lengst bak" + ], + [ + "Laget er låst.", + "Låsendring", + "Lås" + ], + null + ], + [ + "Alt", + "Fravelg", + "Inverter", + "Endre", + "Utvid", + "Trekk sammen", + "Uttoning", + "Flytt markering", + "Fargespekter", + "Ramme", + "Transformer markering", + "Finjuster kant", + "Forbedre markering", + null + ], + [ + "Zoom inn", + "Zoom ut", + "Hjelpelinjer", + "Linjaler", + "Rutenett", + "Fest", + "Fest til", + "Dokumentgrenser", + "Rutenett for bildepunkter", + "Baner", + "Fest til piksler", + [ + "Stykker", + "Alternativer for stykke" + ], + "Vis" + ], + [ + "Historie", + "Lag", + "Egenskaper", + "Pensel", + "Tegn", + "Avsnitt", + "Info", + "Lagsammensetninger", + "Fargekart", + "Prosedyrer", + "Histogram", + "Navigatør", + "Forhåndsinnstillinger for verktøy", + "Tegnvarianter" + ], + [ + "Pensel", + "Kloneverktøy", + "Beskjæring", + "Viskelær", + "Ellipsemarkering", + "Pipette", + "Graderingsverktøyet", + "Hånd", + "Tekstverktøy", + "Lassomarkering", + "Magnetisk lassomarkering", + "Flytt", + "Tryllestavverktøy", + "Malingsspann", + "Mangekantet lassomarkering", + "Rektangelmarkering", + "Fri transformer", + "Zoom", + "Gjør uskarpt", + "Gjør skarpere", + "Finger", + "Lysne", + "Mørkne", + "Svamp", + "Flekkreparering", + "Repareringspensel", + "Lappeverktøy", + "Banemerkingsverktøyet", + "Hurtigvalgverktøy", + "Penn", + "Fri penn", + "Egendefinert form", + "Rektangel", + "Ellipse", + "Parametrisk form", + "Linje", + "Linjal", + "Hurtigmarkering", + "Blyant", + "Perspektivbeskjæring", + "Stykkeverktøyet", + "Stykkemarkeringsverktøyet", + "Fargeerstatningsverktøyet", + "Røde øyne-verktøyet", + "Objektvalg", + "Bakgrunnsviskelæret", + "Marionettfordreining", + "Visningsrotering", + "Innholdstilpasset skala", + "Innholdstilpasset flytteverktøy" + ], + [ + "Ta et bilde", + "Fargevelger", + "Konturredigering", + "Arbeidsområde", + "Kopier inn i...", + "Graderingsredigering", + "Lagstil", + "Nytt prosjekt", + "Lagre for web", + "Fordrei", + "Bildestørrelse", + "Vektoriser punktgrafikk", + [ + "Skjær til", + "Beskjære", + "Vis alt" + ], + "Tastatursnarveier", + "Legg til hjelpelinjer", + [ + "Fjern hjelpelinjer", + "Hjelpelinjer fra lag" + ] + ], + [ + "Gjennomsiktighet", + "Effekter", + "Lysstyrke", + [ + "Kontrast", + "Bruk utdatert" + ], + "Kanal", + "Eksponering", + "Forskyvning", + "Gammakorreksjon", + "Kulør", + "Metning", + "Lyshet", + "Fargelegg", + "Område", + "Tilpasset metning", + [ + "Størrelse", + "Interpolering", + "Nærmeste nabo", + "Bilineær" + ], + "Vinkel", + "Rundhet", + "Hardhet", + "Mellomrom", + [ + "Blandingsmodus", + "Bruk overgang hvis" + ], + "Størrelse på eksempel", + "Kontur", + "Stil", + [ + "Reverser", + "Relativ", + "Anker" + ], + "Toleranse", + "Sammenhengende", + "Fyll", + "Bruk global vinkel", + "Avstand", + "Spre", + "Støy", + "Fjern bakgrunnsskygge", + "Teknikk", + "Retning", + "Dybde", + "Mykgjør", + "Modus", + "Gradering", + "Skala", + "Juster etter lag", + "Posisjon", + "Bredde", + "Høyde", + "Mål", + "Type", + "Forgrunn", + "Bakgrunn", + "Tilpasset", + "Navn", + "Opprett", + "Format", + "Behold størrelsesforhold", + [ + "Kvalitet", + "Sider" + ], + "Dupliser", + "Flytt", + "Smarte filtre", + "Radius", + "Mengde", + "Distribusjon", + [ + "Ensartet", + "Gaussisk" + ], + "Ensfarget", + "Cellestørrelse", + "Mønster", + "Flyt", + "Styrke", + "Beskytt detaljer", + "Fylltype", + "Tekstur", + "Variasjon", + "Kant", + "Kilde", + "Mål", + "Kanaler", + "Maskering", + "Tetthet", + "Justert", + [ + "Bane", + "Form", + "Piksler", + "Tommer", + "Centimeter", + "Millimeter", + "Prosent" + ], + "Former", + "Sider", + "Innstillinger", + [ + "Lengde", + "Forhold", + "Vilkårlig", + "Rutenetttype", + "Isometrisk", + "Linjeavstand i rutenett", + "Linjalenheter" + ], + "Reduser støy", + "Farger", + "Avstander", + "Hastighet", + "Velg automatisk", + "Finn", + "Definer ny", + [ + "Foto", + "Skjerm", + "Mobiltelefon", + "Annonser", + "Utskrift" + ], + [ + "Fri", + "Fast forhold", + "Fast størrelse" + ], + "Hjelp", + [ + "Live form", + "Rediger live form", + "Lik hjørneavrunding" + ], + "Toleranse", + [ + "Mangekant", + "Stjerne", + "Spiral", + "Kvadratisk" + ], + [ + "Hjørneradius", + "Indre radius" + ] + ], + [ + "Farge", + [ + "Ingen", + "Rød", + "Oransje", + "Gul", + "Grønn", + "Blå", + "Lilla", + "Grå", + "Hvit", + "Gjennomsiktig", + "Svart", + "Cyan", + "Magenta", + "Nøytral" + ], + "Total", + "Absolutt", + "Bevar lysstyrke" + ], + [ + "Skygger", + "Indre skygge", + "Ytre glød", + "Indre glød", + "Skråkant og preg", + "Fargeoverlapping", + "Graderingsoverlapping", + "Mønsteroverlapping", + "Sateng", + "Strøk", + "Blandingsvalg", + "Velg piksler" + ], + [ + "Spissform", + "Spissdynamikk", + "Spredning", + "Fargedynamikk", + [ + "Størrelsesvariasjon", + "Minste diameter", + "Vinkelvariasjon", + "Rundhetsvariasjon", + "Minimal rundhet" + ], + [ + "Posisjonsvariasjon", + "Antall", + "Antallvariasjon" + ], + [ + "Forgrunns/bakgrunns-variasjon", + "Kulørvariasjon", + "Metningvariasjon", + "Lysstyrkevariasjon" + ], + [ + "Velg kilde for kloning ved å trykke Alt (eller K) og klikke på bildet.", + "Angi forgrunn med hvitt, bakgrunn med sort og ukjent område med grått.", + "Laget kan ikke endres.", + "Tekstlaget må gjøres om til punktgrafikk først", + "Smartobjekt må gjøres om til punktgrafikk først", + "Velg flere lag", + "Rett lag", + "Åpne et dokument først.", + "Lukk gjeldende vindu først.", + "Bare gjeldende verktøy" + ], + [ + "Start opptak", + "Ny prosedyrersett", + "Ny prosedyre" + ], + [ + "Stylus-trykk styrer gjennomsiktighet", + "Stylus-trykk styrer størrelsen" + ], + [ + "Normal", + "Dryss", + "Gjør mørkere", + "Flere", + "Mørkne farge", + "Lineær mørkning", + "Mørkere farge", + "Gjør lysere", + "Skjerm", + "Lysne farge", + "Lineær lysning", + "Lysere farge", + "Legg over", + "Mykt lys", + "Hardt lys", + "Sterkt lys", + "Lineært lys", + "Punktlys", + "Hard fargeblanding", + "Differens", + "Utelatelse", + "Trekk fra", + "Del", + "Kulør", + "Metning", + "Farge", + "Lysstyrke", + "Gjennomgang" + ] + ], + [ + "Linjeavstand", + "Bokstavmellomrom", + "Grunnlinjeforskyvning", + [ + "Konverter til punkttekst", + "Konverter til avsnittstekst" + ] + ], + [ + "Alle lag", + "Gjeldende lag", + "Markering", + "Gjeldende og under" + ], + [ + "Erstatt", + "Slå sammen", + "Trekk fra", + "Overlapp", + "Utelat", + "Slå sammen" + ], + [ + [ + "Lineær", + "Sirkulær", + "Vinkel", + "Speilet", + "Rombe", + "Shape Burst" + ], + [ + "Mykere", + "Nøyaktig" + ], + [ + "Ytre skråkant", + "Indre skråkant", + "Relieff", + "Putepreg", + "Strekrelieff", + "Strøkbredden" + ], + [ + "Jevn ut", + "Hard meisel", + "Myk meisel", + "Utjevning" + ], + [ + "Opp", + "Ned" + ], + [ + "Utsiden", + "Sentrum", + "Innsiden", + "Fra midten" + ], + [ + "Skygger", + "Mellomtoner", + "Høylys" + ], + [ + "Mindre metning", + "Metning" + ], + [ + "Liten", + "Medium", + "Stor" + ], + [ + "Endepunkter", + "Hjørner", + "Streger" + ] + ], + [ + "Velg objektet under markøren", + "Transformeringskontroller", + "Piksel til piksel", + "Tilpass området", + [ + "Juster venstrekanter", + "Sentrer horisontalt", + "Juster høyrekanter", + "Juster øvre kanter", + "Sentrer vertikalt", + "Juster nedre kanter", + "Selv avstander" + ] + ], + [ + "Plasser inn", + "Gjeldende prosjekt", + "Nytt prosjekt", + "Oppløsning", + "Lagt til i gjeldende prosjekt.", + "Et nytt prosjekt ble opprettet.", + "Ingen tilgang til kameraet." + ], + [ + "Retning", + "Bøy", + "Horisontal forvrengning", + "Vertikal forvrengning", + [ + "Horisontal", + "Vertikal", + "horisontalt", + "vertikalt" + ], + [ + "Ingen", + "Bue", + "Bue nedover", + "Bue oppover", + "Hvelv", + "Utbulning", + "Skjellform nedover", + "Skjellform oppover", + "Flagg", + "Bølge", + "Fisk", + "Stige", + "Fisheye", + "Pump opp", + "Trykk sammen", + "Vri", + "Egendefinert" + ], + [ + "Font", + "er ikke tilgjengelig", + "Vil bli rendert med", + "Det er ulagrede endringer i", + "Er du sikker på at du vil lukke det?" + ], + [ + "Bytt farger", + "Standard: Hvit og sort" + ] + ], + [ + "lastet", + "lagt til", + "Flytt hjelpelinje", + "Slett hjelpelinje", + "Legg til hjelpelinje", + "Laster", + "Laster inn VAR0" + ], + [ + "Filtergalleri", + [ + [ + "Gjør flytende", + [ + "Gni ut", + "Rekonstruer", + "Jevn ut", + "Snurr", + "Krymp", + "Øk størrelse", + "Skyv til venstre", + "Frys", + "Tin" + ] + ], + [ + "Objektivkorrigering" + ] + ], + "Uskarpt-filtre", + [ + "Gjennomsnittlig", + "Uskarphet", + "Mer uskarphet", + "Boksuskarphet", + "Gaussisk uskarphet", + "Linseuskarphet", + "Bevegelsesuskarphet", + "Radial uskarphet", + "Formuskarphet", + "Smart uskarphet", + "Overflateuskarphet" + ], + "Forvreng", + [ + "Forflytning", + "Knip", + "Polare koordinater", + "Krusninger", + "Klipp", + "Kuleformet", + "Bølger" + ], + "Støy-filtre", + [ + "Legg til støy", + "Flekkfjerning", + "Støv og skrammer", + "Median" + ], + "Bryt opp-filtre", + [ + "Rastermønster", + "Krystalliser", + "Fasetter", + "Fragmenter", + "Mezzotint", + "Mosaikk", + "Pointilist" + ], + "Gjengi-filtre", + [ + "Skyer", + "Dobbelteksponerte skyer", + "Motlysslør" + ], + "Gjør skarpere-filtre", + [ + "Gjør skarpere", + "Skarpere kanter", + "Gjør enda skarpere", + "Smart skarphet", + "Uskarp maske" + ], + "Spesialeffekter", + [ + "Diffus", + "Preg", + "Ekstruder", + "Finn kanter", + "Oljemaleri" + ], + "Andre-filtre", + [ + "Egendefinert", + "Høypass", + "Maksimum", + "Minimum", + "Forskyvning", + "Gjenta" + ], + [ + "Udefinert område", + "Sett til gjennomsiktig", + "Gjenta kantpiksler", + "Flyt rundt", + "Forrige filter", + "Forhåndsvis" + ] + ], + [ + "Maler", + [ + "Fontfilter", + "Nøkkelord", + "Bland" + ], + [ + "Med symboler", + "Med foto" + ], + [ + "Miniatyrer", + "Liste" + ] + ] + ], + [ + [ + "Fail", + "Muuda", + "Pilt", + "Kiht", + "Kaust", + "Märgista", + "Filter", + "Vaade", + "Aken", + "Keel", + "Logi sisse", + "Logi välja", + "Loo tõlge", + [ + "Konto", + "Kasutustingimused", + "Tagasi", + "Rakenduse kohta", + "Probleemist teatamine", + "Koolitus" + ], + "Veel", + "Teema", + "Kasuta WebGL", + [ + "Photopea: Täiustatud pildiredaktor", + "Tasuta online toimetaja, mis toetab PSD, XCF, Sketch, XD ja CDR formaate.", + "Looge uus pilt või avage arvutis olemasolevad failid. Salvestage oma töö PSD (Fail - Salvesta nagu PSD) või JPG / PNG / SVG (Fail - Ekspordi nagu).", + "Soovita uusi funktsioone meie või . Meie eesmärk on luua .", + "Sponsori lingid avatakse uues aknas.", + null, + null + ] + ], + [ + "Ava", + "Avalda veebis", + "Salvesta", + "Salvesta nagu PSD", + "Prindi", + "Ava veebiaadressilt", + "Ava arvutist", + "Ühendu Google Drive abil", + "Ekspordi nagu", + "Ekspordi kihid", + "Skript", + "Ava & Aseta", + "Sulge", + "Kohalik salvestus", + null + ], + [ + "Samm edasi", + "Samm tagasi", + "Tühjenda", + "Täida", + "Transformeeri", + "Pööra", + "VAR0 ümberpööre", + "VAR0 skaleerimine", + "Tagasi / Edasi", + "Perspektiiv", + [ + "Automaatne segamine", + null + ], + "Tuhmuma", + null + ], + "Kohandused", + [ + "Heledus/Kontrast", + "Heledustasemed", + "Kurvid", + "Säri", + "Paindlik värviküllastus", + "Toon/Küllastus", + "Värvi tasakaal", + "Must & Valge", + "Foto filter", + "Kanalite mikser", + "Värvi leidja", + "Pööra ringi", + "Posteriseeri", + "Barjäär", + "Gradiendi kaart", + "Valikuline Värv", + [ + "Auto Toon", + "Auto Kontrast", + "Auto Värv" + ], + "Asenda Värv" + ], + [ + "Lõika", + "Kopeeri", + "Kleebi", + "Uus", + "Kustuta", + "Võimalda", + "Keela", + "Kopeeri Kõik", + "Rakenda", + "Uuesti", + "Värskenda" + ], + [ + "Koopia Kihist", + "Uus Kohanduskiht", + "Rastermask", + "Vektormask", + "Lisa (Näita kõik)", + [ + "Lisa (Peida kõik)", + "Näita Märgistust", + "Peida Märgistust", + "Läbipaistvusest" + ], + [ + "Lõikemask", + null + ], + "Teisenda Targaks Objektiks", + "Rasteriseeri", + "Grupeeri Kihid", + "Liida alumisega", + "Liida Ülemisega", + [ + "Liida Kihid", + null + ], + "Uus Kiht", + "Võimalda Rastermask", + "Keela Rastermask", + "Võimalda Vektormask", + "Keela Vektormask", + "Võimalda Lõikemask", + "Keela Lõikemask", + "Uus Kaust", + "Lisa Rastermask", + "Kustuta Rastermask", + "Lisa Vektormask", + "Kustuta Vektormask", + "Ühenda Rastermask", + "Ühenda Lahti Rastermask", + "Ühenda Vektormask", + "Ühenda Lahti Vektormask", + "Võimalda Kihiefektid", + "Keela Kihiefektid", + "Kustuta Kiht", + "Kihi Nähtavuse Muutus", + "Segamisreziimi Muutus", + "Rasteriseeri Kihi Stiil", + "Kihtide Järjekord", + [ + "Loon Targa Objekti", + "Uuendan Targa Objekti", + "Paigutan Targa Objekti", + "Allikas (Tark objekt)", + null + ], + "Nime Muutus", + "Värvi Muutus", + "Muuda kohanduskihti", + "Teisenda Kujuks", + "Võimalda Filtrite Mask", + "Keela Filtrite Mask", + "Võimalda Targad Filtrid", + "Keela Targad Filtrid", + "Lisa Filtri Mask", + "Kustuta Filtri Mask", + "Tühjenda Targad Filtrid", + [ + [ + "Ühevärviline täide", + "Gradiendi täide", + "Mustri täide", + "Sisutundliku" + ], + "Uus Täitekiht", + "Muuda Täitekihti" + ], + "Kiht Kopeerides", + "Filtri Mask", + "Kustuta Kihi Stiil", + "Liiguta Tark Filter", + "Kustuta Tark Filter", + [ + "Ühenda Kihid", + "Ühenda Kihid Lahti" + ], + "Järjesta", + [ + "Too Esimeseks", + "Too ettepoole", + "Saada Tahapoole", + "Saada Tagumiseks" + ], + [ + "Kiht on Lukus", + "Luku Muutus", + null + ], + "Animatsioon" + ], + [ + "Kõik", + "Eemalda Märgistus", + "Pööra Ringi", + "Muuda", + "Laienda", + "Tõmba koomale", + "Pehme Serv", + "Liiguta Märgistust", + "Värvi Piirkond", + "Serv", + "Transformeeri Märgistust", + "Täpsusta Serva", + "Tervenda Märgistust", + null + ], + [ + "Suurenda Sisse", + "Suurenda Välja", + "Abijooned", + "Joonlauad", + "Võrk", + "Napsa", + "Tõmme", + "Dokumendi Piirid", + "Pikslite Võrk", + "Vektorjooned", + "Tõmme pikslitesse", + [ + null, + null + ], + null + ], + [ + "Kulgemine", + "Kihid", + "Seaded", + "Pintsel", + "Kiri", + "Lõik", + "Info", + "Kihikomplektid", + "Värvikaardid", + "Makros", + "Histogramm", + null, + "Tööriista eelseadistused", + null + ], + [ + "Pintsel", + "Kloonimistööriist", + "Kärpimistööriist", + "Kustutaja", + "Ovaalne märgistus", + "Pipett", + "Gradiendi tööriist", + "Liigutamistööriist", + "Trükkimistööriist", + "Lasso Märgistus", + "Magnet Lasso Märgistus", + "Liigutamistööriist", + "Võlukepp", + "Värvitäite Tööriist", + "Nurklasso Tööriist", + "Nelinurk Märkimine", + "Vaba Transformatsioon", + "Suurendamise Tööriist", + "Udutamise Tööriist", + "Teravustamise Tööriist", + "Hägustamise Tööriist", + "Helestamise Tööriist", + "Põletamise Tööriist", + "Värvilahusti Tööriist", + "Punkti Tervendamise Tööriist", + "Ravipintsel", + "Plaaster", + "Vektorjoone Märkimine", + "Komponendi Märkimise Tööriist", + "Sulepea", + "Vabakäe Pliiats", + "Eriilmeline Kujund", + "Ristkülik", + "Ovaal", + "Parameetriline Kujund", + "Joon", + "Joonlaud", + "Kiirmärgistus", + "Pliiats", + "Perspektiivse kärpimistööriist", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + [ + "Tee pilt", + "Värvi Korjaja", + "Kontuuri muutja", + "Lõuendi Suurus", + "Tee koopia ...", + "Gradiendi muutja", + "Kihi Stiil", + "Uus Projekt", + "Salvesta Veebi jaoks", + "Venita", + "Pildi Suurus", + "Vektoriseeri raster", + [ + "Trimmi", + null, + null + ], + "Klaviatuuri kiirkäsud", + "Lisa abijooned", + [ + null, + null + ] + ], + [ + "Nähtavus", + "Efektid", + "Heledus", + [ + "Kontrast", + null + ], + "Kanal", + "Säri", + "Nihe", + "Gamma korrektsioon", + "Toon", + "Küllastus", + "Heledus", + "Värvi", + "Piirkond", + "Dünaamiline küllastus", + [ + "Suurus", + "Interpoleerimine", + "Lähim naaber", + "Bilineaarne" + ], + "Nurk", + "Ümarus", + "Nurgelisus", + "Vaheruum", + [ + "Segamisrežiim", + null + ], + "Näidise Suurus", + "Kontuur", + "Stiil", + [ + "Pööra Ümber", + "Relatiivne", + "Ankur" + ], + "Tolerants", + "Jätkuv", + "Täida", + "Kasuta globaalnurka", + "Vahemaa", + "Valguvus", + "Müra", + "Peida varju langemine", + "Tehnika", + "Suund", + "Sügavus", + "Pehmenda", + "Reziim", + "Gradient", + "Skaala", + "Joonda Kihiga", + "Positsioon", + "Laius", + "Kõrgus", + "Sihtpunkt", + "Tüüp", + "Eesplaani värv", + "Tagaplaani värv", + "Juhuslik", + "Nimi", + "Loo", + "Formaat", + "Hoia Külgede Suhet", + [ + "Kvaliteet", + "Leheküljed" + ], + "Tee koopia", + "Liiguta", + "Targad Filtrid", + "Raadius", + "Mõju", + "Jagamine", + [ + "Ühtlane", + "Gaussi" + ], + "Monokromaatiline", + "Killu Suurus", + "Muster", + "Voolavus", + "Tugevus", + "Säilita Detaile", + "Täitmise tüüp", + "Tekstuur", + "Värelus", + "Serv", + "Allikas", + "Sihtmärk", + "Kanalid", + "Mask", + "Tugevus", + "Joondatud", + [ + "Joon", + "Kujund", + "Pikslid", + "Toll", + "Sentimeeter", + "Millimeeter", + "Protsent" + ], + "Kujundid", + "Küljed", + "Seaded", + [ + "Pikkus", + "Suhe", + "Vaba", + "Võrgu tüüp", + "Isomeetrilise", + "Võrgu lõhe", + "Joonlaua ühikud" + ], + "Vähenda müra", + "Värvid", + "Vahemaad", + "Suhe", + "Auto-märgistus", + "Leia", + "Defineeri uus", + [ + "Foto", + "Ekraan", + "Mobiil", + "Reklaamid", + "Trükised" + ], + [ + "Vaba", + "Fikseeritud Suhe", + "Fikseeritud Suurus" + ], + "Abi", + [ + "Muudetavad Kujundid", + "Muuda kujundit", + "Sama raadius" + ], + "Lubatud kõrvalekalle", + [ + "Hulknurk", + "Täht", + "Spiraal", + "Ruut" + ], + [ + "Nurga raadius", + "Sisemine raadius" + ] + ], + [ + "Värv", + [ + "Ei ole", + "Punane", + "Oranz", + "Kollane", + "Roheline", + "Sinine", + "Lilla", + "Hall", + "Valge", + "Läbipaistev", + "Must", + "Tsüaan", + "Magenta", + "Neutraalne" + ], + null, + "Absoluutne", + "Hoidke värvi heledus" + ], + [ + "Vari", + "Sisemine vari", + "Helendav serv", + "Sisemine helendus", + "Tõstetud serv", + "Värvi ülekate", + "Gradiendiga ülekate", + "Mustriga ülekate", + "Satiin", + "Servajoon", + "Segamise seaded", + null + ], + [ + "Tipu kuju", + "Tipu dünaamika", + "Jaotus", + "Värvi dünaamika", + [ + "Suuruse jaotus", + "Minimaalne diameeter", + "Nurga jaotus", + "Ümaruse jaotus", + "Minimaalne ümarus" + ], + [ + "Positsiooni jaotus", + "Arv", + "Arvu jaotus" + ], + [ + "Esi/Tagaplaani jaotus", + "Tooni jaotus", + "Küllastuse jaotus", + "Heleduse jaotus" + ], + [ + "Märgi kloonimise allikas hoides Alt (või K) ja kliki pildil.", + "Märgi esiplaan valgega, tagaplaan mustaga ja tundmatu ala halliga", + "Kiht ei ole muudetav.", + "Tekstikiht tuleb kõigepealt rasteriseerida", + "Tark objekt tuleb kõigepealt rasteriseerida", + "Vali mitu kihti", + null, + "Esmalt avage dokument.", + "Sulgege esmalt praegune aken.", + "Ainult praegune tööriist" + ], + [ + "Salvesta", + "Uus makrokomplekt", + "Uus makro" + ], + [ + null, + null + ], + [ + null, + null, + null, + null, + null, + null, + null, + null, + "Ekraan", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + "Toon", + "Küllastus", + "Värv", + "Värvi heledus", + null + ] + ], + [ + "Rea kõrgus", + "Tähe vahe", + "Baasjoone nihe", + [ + null, + null + ] + ], + [ + "Kõik kihid", + "Praegune kiht", + "Märgistus", + "Praegune & Allpool olev" + ], + [ + "Asenda", + "Ühenda", + "Lahuta", + "Ristuv", + "Jäta välja", + "Liida" + ], + [ + [ + "Lineaarne", + "Radiaalne", + "Nurk", + "Peegeldatud", + "Teemant", + "Kujundi kiirgus" + ], + [ + "Pehmendus", + "Täpne" + ], + [ + "Väljapoole tõstuserv", + "Sissepoole tõstuserv", + "Emboss", + "Sisse vajutatud", + "Servaga vajutatud", + null + ], + [ + "Pehme", + "Meisel tugev", + "Meisel pehme", + null + ], + [ + "Üles", + "Alla" + ], + [ + "Väljaspool", + "Keskel", + "Seespool", + "Keskusest" + ], + [ + "Varjud", + "Kesktoonid", + "Heledad" + ], + [ + "Desatureeri", + "Satureeri" + ], + [ + "Väike", + "Keskmine", + "Suur" + ], + [ + null, + null, + null + ] + ], + [ + "Vali kursori all olev objekt", + "Transformatsiooni kontrollid", + "Piksel pikslile", + "Mahuta piirkonda", + [ + "Joonda vasakud servad", + "Joonda horisontaalsed keskmised", + "Joonda paremad servad", + "Joonda ülemised servad", + "Joonda vertikaalselt keskele", + "Joonda alumised servad", + "Võrdsed vahed" + ] + ], + [ + "Paiguta sisse", + "Praegune projekt", + "Uus projekt", + "Resolutsioon", + "Lisatud praegusesse projekti", + "Uus projekt loodi", + "Ligipääs kaamerale on keelatud" + ], + [ + "Orientatsioon", + "Painuta", + "Horisontaalne painutus", + "Vertikaalne painutus", + [ + "Horisontaalne", + "Vertikaalne", + "Horisontaalne", + "Vertikaalne" + ], + [ + "Tühista", + "Kaar", + "Alumine kaar", + "Ülemine kaar", + "Kaared", + "Mõhk", + "Alumine karp", + "Ülemine karp", + "Lipp", + "Laine", + "Kala", + "Tõus", + "Kalasilm", + "Täidetud", + "Kokku pressitud", + "Väänatud", + "Vabakäeline" + ], + [ + "Kirjastiil", + "ei ole saadaval", + "Renderdatakse kasutades", + "Selles projektis on salvestamata tööd:", + "Kas sa tõesti tahad selle sulgeda?" + ], + [ + "Vaheta värvid", + "Vaikimisi: Valge ja Must" + ] + ], + [ + "laaditud", + "lisatud", + "Liiguta abijoont", + "Kustuta abijoon", + "Lisa abijoon", + "Laadib", + "Laadi VAR0" + ], + [ + "Filtrite galerii", + [ + [ + "Vedelda", + [ + "Sega", + "Konstrueeri tagasi", + "Pehmenda", + "Keeruta", + "Vähenda", + "Täida õhuga", + "Suru vasakule", + "Külmuta", + "Sulata" + ] + ], + [ + "Läätsekorrektsioon" + ] + ], + "Udu", + [ + "Keskmine", + "Udu", + "Uduta rohkem", + "Kandiline Udu", + "Gaussiani Udu", + "Läätse udu", + "Liikuv udu", + "Radiaalne udu", + "Kujundi Udu", + "Tark Udu", + "Pinna udu" + ], + "Vääna", + [ + "Paiguta ümber", + "Venita kokku", + "Polaarkordinaadid", + "Lainetus", + "Rebi", + "Sfääri", + "Laine" + ], + "Müra", + [ + "Lisa Müra", + "Despeckle", + "Mustus & Kriimud", + "Mediaan" + ], + "Pikseliseeri", + [ + "Värvide pooltoonid", + "Kristalliseeri", + "Facet", + "Fragment", + "Mezzotint", + "Mosaiik", + "Punktita" + ], + "Renderda", + [ + "Pilved", + "Eriilmelised pilved", + null + ], + "Teravusta", + [ + "Teravusta", + "Teravusta servi", + "Teravusta rohkem", + "Tark teravustamine", + "Teravusmask" + ], + "Stiliseeri", + [ + "Hajutus", + "Süvatrükk", + "Välja kasvatama", + "Leia servad", + null + ], + "Teine", + [ + "Eripärane", + "Kõrge läbilase", + "Maksimum", + "Miinimum", + "Nihe", + "Korda" + ], + [ + "Defineerimata ala", + "Sea läbipaistvaks", + "Korda servapiksleid", + "Mähi ümber", + "Viimati kasutatud filter", + "Eelvaade" + ] + ], + [ + "Mallid", + [ + "Kirjastiili filter", + "Märksõnad", + "Juhuslik" + ], + [ + "Sümbolitega", + "Fototega" + ], + [ + "Pisipildid", + "Nimekiri" + ] + ] + ], + [ + [ + "Failas", + "Redaguoti", + "Vaizdas", + "Sluoksniai", + "Aplankas", + "Žymėjimas", + "Filtrai", + "Rodymas", + "Langai", + "Kalba", + "Prisijungti", + "Atsijungti", + "Išversti", + [ + "Paskyra", + "Paslaugos teikimo sąlygos", + "Atgal", + "Apie programą", + "Praneškite apie riktą", + "Mokymai" + ], + "Kita", + "Apipavidalinimas", + "Naudoti biblioteką „WebGl“", + [ + "Photopea: Išsamesnė vaizdo rengyklė", + "Nemokamas internetinis redaktorius, palaikantis PSD, XCF, Sketch, XD ir CDR formatus.", + "Sukurti naują vaizdą arba atverti kompiuteryje esantį failą. Išsaugoti darbą PSD forrmatu (Failas - Įrašyti kaip PSD) arba kaip JPG / PNG / SVG (Failas - Eksportuoti kaip).", + "Pasiūlykite naujų funkcijų mūsų arba . Siekiame sukurti .", + "Rėmėjų nuorodas atverti naujame lange", + "Ši funkcija negalima", + "Įdiegti Photopea" + ] + ], + [ + "Atverti", + "Publikuoti internete", + "Įrašyti", + "Irašyti kaip PSD", + "Spausdinti", + "Atverti URL nuorodą", + "Atverti įrašytą kompiuteryje", + "Prisijungti prie Google disko", + "Eksportuoti kaip", + "Eksportuoti sluoksnius", + "Skriptas", + "Atverti ir padėti", + "Užverti", + "Vietinės saugyklos", + "Failo informacija" + ], + [ + "Žingsnis pirmyn", + "Žingsnis atgal", + "Išvalyti", + "Užpildyti", + "Transformuoti", + "Pasukti", + "Veidrodinis atspindys", + "Mastelio keitimas", + "Atšaukti / Grąžinti", + "Perspektyva", + [ + "Automatiškai sukloti", + "Automatinis lygiavimas" + ], + "Išnykimas", + "Pritaikyti paveikslą" + ], + "Pakeitimai", + [ + "Šviesumas/Kontrastas", + "Šviesumo lygiai", + "Kreivės", + "Ekspozicija", + "Spalvingumas", + "Atspalvis/Grynis", + "Spalvinis balansas", + "Nespalvota", + "Foto filtras", + "Kanalų maišiklis", + "Spalvinė ieška", + "Inversija", + "Posterizavimas", + "Slenkstis", + "Gradiento planas", + "Spalvų atranka", + [ + "Atspalvio korekcija", + "Automatinis kontrasto koregavimas", + "Automatinis spalvų koregavimas" + ], + "Pakeisti spalvą" + ], + [ + "Iškirpti", + "Kopijuoti", + "Įdėti", + "Naujas", + "Pašalinti", + "Įjungti", + "Išjungti", + "Kopijuoti apjungiant visus sluoksnius", + "Taikyti", + "Kartoti", + "Atnaujinti" + ], + [ + "Dubliuoti sluoksnį", + "Naujas koregavimo sluoksnis", + "Rastro kaukė", + "Vektorinė kaukė", + "Pridėti (Rodyti viską)", + [ + "Pridėti (Slėpti viską)", + "Atskleisti žymėjimą", + "Paslėpti žymėjimą", + "Nuo skaidrumo" + ], + [ + "Daugiasluoksnė kaukė", + "Sparčiojo maskavimo veiksena" + ], + "Konvertuoti į „Smart Object“", + "Rasterizuoti", + "Grupuoti sluoksnius", + "Apjungti su žemesniu", + "Apjungti su aukštesniu", + [ + "Apjungti sluoksnius", + "Suploti sluoksnius" + ], + "Naujas sluoksnis", + "Įjungti rastro kaukę", + "Išjungti rastro kaukę", + "Įjungti vektorinę kaukę", + "Išjungti vektorinę kaukę", + "Įjungti daugiasluoksnę kaukę", + "Išjungti daugiasluoksnę kaukę", + "Naujas aplankas", + "Pridėti rastro kaukę", + "Pašalinti rastro kaukę", + "Pridėti vektorinę kaukę", + "Pašalinti vektorinę kaukę", + "Susieti rastro kaukę", + "Atsieti rastro kaukę", + "Susieti vektorinę kaukę", + "Atsieti vektorinę kaukę", + "Įjungti sluoksnių efektus", + "Išjungti sluoksnių efektus", + "Pašalinti sluoksnį", + "Sluoksnio neskaidrumo pakeitimas", + "Suklojimo būdo pakeitimas", + "Sluoksnio stilius", + "Sluoksnių eilės tvarka", + [ + "„Smart Object“ sukūrimas", + "„Smart Object“ atnaujinimas", + "„Smart Object“ įkėlimas", + "Šaltinis (Smart Object)", + "Dėklas" + ], + "Pervardyti", + "Keisti spalvą", + "Keisti koregavimo sluoksnį", + "Konvertuoti į figūrą", + "Įjungti filtro kaukę", + "Išjungti filtro kaukę", + "Įjungti išmaniuosius filtrus", + "Išjungti išmaniųjus filtrus", + "Pridėti filtro kaukę", + "Pašalinti filtro kaukę", + "Išvalyti išmaniuosius filtrus", + [ + [ + "Užlieti ištisa spalva", + "Užlieti gradientiškai", + "Užlieti raštais", + "Kontekstinis užpildas" + ], + "Naujas užliejimo sluoksnis", + "Užliejimo sluoksnio koregavimas" + ], + "Kopijuoti sluoksnį", + "Filtro kaukė", + "Pašalinti sluoksnio stilių", + "Perkelti išmanųjį filtrą", + "Pašalinti išmanųjį filtrą", + [ + "Susieti sluoksnius", + "Atsieti sluoksnius" + ], + "Rikiuoti", + [ + "Iškelti į priekį", + "Nukelti pirmyn", + "Nukelti žemyn", + "Nukelti į dugną" + ], + [ + "Sluoksnis užrakintas", + "Užrakinti pakeitimus", + "Užrakinti" + ], + "Animacija" + ], + [ + "Pažymėti viską", + "Naikinti žymėjimą", + "Inversija", + "Keisti", + "Išplėsti", + "Sutraukti", + "Neryškūs žymėjimo kraštai", + "Perkelti žymėjimą", + "Žymėti spalva", + "Rėmeliu", + "Transformuoti žymėjimą", + "Kraštų tobulinimas", + "Tobulinti žymėjimą", + "Magiškas iškirpimas" + ], + [ + "Artinti", + "Tolinti", + "Gairės", + "Liniuotės", + "Tinklelis", + "Pritraukti", + "Pritraukti prie", + "Dokumento ribos", + "Pikselių tinklelis", + "Kontūrai", + "Pritraukti prie pikselių", + [ + "Pjūviai", + "Pjūviai" + ], + "Rodyti" + ], + [ + "Istorija", + "Sluoksniai", + "Savybės", + "Teptukas", + "Tekstas", + "Pastraipa", + "Informacija", + "Sluoksnių kompozicija", + "Paletė", + "Operacijos", + "Histograma", + "Navigatorius", + "Įrankių nustatymai", + "Glifas" + ], + [ + "Teptukas", + "Klonavimo įrankis", + "Apkirpimo įrankis", + "Trintukas", + "Žymėti elipse", + "Pipetė spalvai parinkti", + "Gradientas", + "Ranka", + "Rašymas", + "Lasas", + "Magnetinis lasas", + "Nešimo įrankis", + "Stebuklų lazdelė", + "Dažų kibirėlis", + "Daugiakampis lasas", + "Stačiakampis žymėjimas", + "Transformuoti laisvai", + "Lęšis", + "Liejimo įrankis", + "Aštrinimo įrankis", + "Glodinimo įrankis", + "Šviesinimas", + "Tamsinimas", + "Kempinė", + "Pleistras spuogams", + "Pleistras", + "Lopymo įrankis", + "Žymėti kontūru", + "Tiesioginis žymėjimas", + "Pieštukas", + "Piešti iš rankos", + "Savita figūra", + "Stačiakampis", + "Elipsė", + "Parametrinė figūra", + "Linija", + "Liniuotė", + "Žymėti aptiktus kraštus", + "Pieštukas", + "Perspektyvos apkarpymas", + "Pjūvių Įrankis", + "Žymėjimo skiltimis įrankis", + "Spalvos pakeitimas", + "Raudonų akių taisymas", + "Objekto pažymėjimas", + "Fono trintukas", + "Lėlės lankstymas", + "Pasukti vaizdą", + "Išmanusis mastelio keitimas", + "Nuotraukos turinio perkėlimo įrankis" + ], + [ + "Fotografuoti", + "Spalvos parinkimas", + "Kontūro keitimas", + "Paveikslo drobės dydis", + "Dubliuoti į ...", + "Gradiento koregavimas", + "Sluoksnio stilius", + "Naujas kūrinys", + "Išsaugoti interneto tinklui", + "Lankstyti", + "Paveikslo dydis", + "Rastro vektorinimas", + [ + "Apkirpti", + "Apkirpti", + "Išskleisti (viską)" + ], + "Spartieji klavišai", + "Pridėti gairių", + [ + "Panaikinti gaires", + "Gairės pagal sluoksnį" + ] + ], + [ + "Nepermatomumas", + "Efektai", + "Šviesumas", + [ + "Kontrastas", + "Naudoti senuoju būdu" + ], + "Kanalas", + "Ekspozicija", + "Poslinkis", + "Gama korekcija", + "Atspalvis", + "Grynis", + "Šviesumas", + "Spalvinimas", + "Rėžis", + "Spalvingumas", + [ + "Dydis", + "Interpoliacija", + "Artimiausių kaimynų", + "Bilinear" + ], + "Kampas", + "Apvalumas", + "Kietumas", + "Intervalai", + [ + "Sluoksnių suliejimo būdas", + "Sąlyginis suliejimas" + ], + "Pavyzdžio dydis", + "Kontūras", + "Stilius", + [ + "Apgręžti", + "Reliatyvus", + "Prieraišas" + ], + "Tolerancija", + "Ištisai", + "Lieti", + "Kampas globaliai", + "Nuotolis", + "Paplitimas", + "Triukšmas", + "Pašalinti šešėlį", + "Metodas", + "Kryptis", + "Gylis", + "Švelninti", + "Būdas", + "Gradientas", + "Mastelis", + "Lygiavimas į sluoksnį", + "Vietą", + "Plotis", + "Aukštis", + "Paskirties vieta", + "Tipas", + "Priekinis planas", + "Fono sluoksnis", + "Nustatytoji spalva", + "Pavadinimas", + "Sukurti", + "Formatas", + "Išlaikyti proporcijas", + [ + "Kokybė", + "Psl." + ], + "Dubliuoti", + "Perkelti", + "Išmanieji filtrai", + "Spindulys", + "Poveikio stiprumas", + "Paskirstymas", + [ + "Paskirstyti vienodai", + "Gauso" + ], + "Vienspalviai", + "Mozaikos elemento dydis", + "Raštas", + "Liejimas", + "Stiprumas", + "Išsaugoti detalumą", + "Užliejimo būdas", + "Tekstūra", + "Triukšmas aureolės kraštuose", + "Kraštas", + "Šaltinis", + "Tikslas", + "Kanalai", + "Kaukė", + "Tankumas", + "Lygiuota", + [ + "Kontūras", + "Figūra", + "Pikselių", + "Colis", + "Centimetras", + "Milimetras", + "Procentas" + ], + "Figūros", + "Pusės", + "Savybės", + [ + "Ilgis", + "Santykis", + "Laisvai", + "Tinklelio tipas", + "Izometriškai", + "Tinklelio tarpai", + "Liniuotės vienetai" + ], + "Triukšmų šalinimas", + "Spalvos", + "Atstumai", + "Pakeitimų laipsnis", + "Automatinis žymėjimas", + "Rasti", + "Iš naujo", + [ + "Nuotrauka", + "Ekranas", + "Mobilus įrenginys", + "Reklama", + "Spaudiniai" + ], + [ + "Laisvai", + "Fiksuotas santykis", + "Fiksuotas dydis" + ], + "Žinynas", + [ + "Gyvosios figūros", + "Keisti gyvąsias figūras", + "Vienodi kreivumo spinduliai" + ], + "Leistinas nuokrypis", + [ + "Daugiakampis", + "Žvaigždė", + "Spiralė", + "Kvadratas" + ], + [ + "Kampo spindulys", + "Vidinis spindulys" + ] + ], + [ + "Spalva", + [ + "Spalva neparinkta", + "Raudona", + "Oranžinė", + "Geltona", + "Žalia", + "Mėlyna", + "Violetinė", + "Pilka", + "Balta", + "Skaidri", + "Juoda", + "Ciano", + "Purpurinė", + "Neutralios" + ], + "Iš viso", + "Absoliutus", + "Išlaikyti spalvos šviesumą" + ], + [ + "Šešėlis", + "Vidinis šešėlis", + "Išorinis švytėjimas", + "Vidinis švytėjimas", + "Kanto profilis ir reljefiškumas", + "Spalvos užklojimas", + "Gradiento užklojimas", + "Rašto užklojimas", + "Satininis", + "Apvadas", + "Užklojimo parinktys", + "Parinkti taškus" + ], + [ + "Antgalio forma", + "Antgalio dinamika", + "Išsklaidymas", + "Spalvų dinamika", + [ + "Išbarstymo zona", + "Minimalus diametras", + "Barstymo kampas", + "Barstymo apvalumas", + "Minimalus apvalumas" + ], + [ + "Barstymo pozicija", + "Antgalių skaičius", + "Barstymų skaičius" + ], + [ + "Barstymas priekinio plano/fono", + "Barstymo atspalvis", + "Barstymo grynis", + "Barstymo šviesumas" + ], + [ + "Pažymėkite spusteldami pelės klavišu klonuojamą vietą kartu laikydami Alt (arba K) klavišą.", + "Žymėkite pirmą planą baltai, foną juodai, o nežinomas zonas pilkai.", + "Nekeistinas sluoksnis", + "Teksto sluoksnis pirmiausiai turėtų būti rasterizuotas", + "„Smart Object“ turi būti pirmiausia rastruotas", + "Pažymėkite keletą sluoksnių", + "Tiesinti", + "Pirmiausia atidarykite dokumentą.", + "Pirmiausia uždarykite dabartinį langą.", + "Tik dabartinis įrankis" + ], + [ + "Įrašyti", + "Naujas operacijų rinkinys", + "Nauja operacija" + ], + [ + "Pieštuko prispaudimas valdys permatomumą", + "Pieštuko prispaudimas valdys storį" + ], + [ + "Normalus", + "Ištirpinti", + "Tamsinti", + "Dauginti", + "Spalvos ryškinimas", + "Tiesinis ryškinimas", + "Tamsinti spalvas", + "Šviesinti", + "Šviesinti atrenkant", + "Spalvos šviesinimas", + "Linijinis spalvos pašviesinimas", + "Spalvos šviesinimas", + "Perdengti", + "Išsklaidyta šviesa", + "Kontrastinga šviesa", + "Ryški šviesa", + "Linijinė šviesa", + "Šviesa iš taško", + "Maišymas (Hard Mix)", + "Skirtumų ryškinimas", + "Išimtys (Exclusion)", + "Atimti", + "Dalyba (Divide)", + "Atspalvis", + "Grynis", + "Spalva", + "Spalvos ryškumas", + "Perkloti (Pass Through)" + ] + ], + [ + "Priekinis tarpas", + "Tarpai tarp raidžių", + "Bazinės linijos poslinkis", + [ + "Konvertuoti į tekstą taškučiais", + "Konvertavimas į tekstą pastraipoje" + ] + ], + [ + "Visi sluoksniai", + "Darbinis sluoksnis", + "Žymėjimas", + "Darbinis ir žemyn" + ], + [ + "Pakeisti", + "Prijungimas", + "Atimti", + "Persiklojimas", + "Nepersiklojimai", + "Apjungti" + ], + [ + [ + "Linijinis", + "Radialinis", + "Kampas", + "Atspindėtas", + "Deimantas", + "Sprogimo forma" + ], + [ + "Minkštesnis", + "Tikslumas" + ], + [ + "Kantas į išorę", + "Kantas į vidų", + "Išgaubimas", + "Išgaubimas pagalvėle", + "Išgaubimas su apvadu", + "Kontūro plotis" + ], + [ + "Švelniai", + "Iškalti kietai", + "Iškalti minkštai", + "Glotnumas" + ], + [ + "Aukštyn", + "Žemyn" + ], + [ + "Išorėn", + "Centras", + "Vidus", + "Iš centro" + ], + [ + "Šešėliai", + "Vidutiniai tonai", + "Šviesumos" + ], + [ + "Išblukinimas", + "Gryninti" + ], + [ + "Mažas", + "Vidutinis", + "Didelis" + ], + [ + "Didžiosios raidės", + "Kampai", + "Brūkšniai" + ] + ], + [ + "Žymekliu pasirinkite objektą", + "Transformavimo valdikliai", + "Normalus mastelis (100%)", + "Sutalpinti", + [ + "Lygiuoti kairėn", + "Centruoti horizontaliai", + "Lygiuoti dešinėn", + "Lygiuoti į viršų", + "Centruoti vertikaliai", + "Lygiuoti į apačią", + "Išdėlioti lygiais tarpais" + ] + ], + [ + "Idėti", + "Darbinis projektas", + "Naujas projektas", + "Raiška", + "Pridėta į darbinį projektą.", + "Naujas projektas sėkmingai sukurtas.", + "Prieiga prie kameros uždrausta." + ], + [ + "Orientacija", + "Lankstyti", + "Horizontalūs iškraipymai", + "Vertikalūs iškraipymai", + [ + "Horizontaliai", + "Vertikaliai", + "Horizontalus", + "Vertikalus" + ], + [ + "Be poveikio", + "Lankas", + "Lankas žemyn", + "Lankas aukštyn", + "Arka", + "Išpūstumas", + "Žemutinis apvalkalas", + "Viršutinis apvalkalas", + "Vėliava", + "Banga", + "Žuvis", + "Pakilimas", + "Žuvies akis", + "Išpūsti", + "Suspausti", + "Suvyti", + "Nustatytai" + ], + [ + "Šriftas", + "nepasiekiama", + "Bus atvaizduota naudojant", + "Šiame projekte yra neišsaugotų darbų:", + "Ar tikrai norite jį uždaryti?" + ], + [ + "Spalvų sukeitimas", + "Numatytosios: balta ir juoda" + ] + ], + [ + "įkeltas", + "pridėtas", + "Perkelti gairę", + "Šalinti gairę", + "Pridėti gairę", + "Įkeliama", + "Įkelti VAR0" + ], + [ + "Filtrų galerija", + [ + [ + "Suskystinimas", + [ + "Glodinimas", + "Rekonstruoti", + "Švelninti", + "Sukti", + "Sutraukti", + "Išpūsti", + "Stumti kairėn", + "Užšaldyti", + "Atšildyti" + ] + ], + [ + "Objektyvo iškraipymų korekcija" + ] + ], + "Liejimas", + [ + "Vidurkinimas", + "Liejimas", + "Dar lieti", + "Lieti dėžute", + "Gauso liejimas", + "Optinis liejimas", + "Judesio liejimas", + "Radialinis liejimas", + "Liejimas forma", + "Selektyvusis liejimas", + "Paviršinis liejimas" + ], + "Iškraipymai", + [ + "Sudėti pagal kitą", + "Gnybti", + "Poliarinės koordinatės", + "Raibuliavimas", + "Žirklės", + "Sfera", + "Banga" + ], + "Triukšmas", + [ + "Pridėti triukšmo", + "Dėmių valymas", + "Dulkės ir įbrėžimai", + "Mediana" + ], + "Pikseliuoti", + [ + "Pustonis", + "Kristalai", + "Facetas", + "Fragmentas", + "Pusiau tapyta (mezzo-tinto)", + "Mozaika", + "Puantilizmas" + ], + "Vaizduoti", + [ + "Debesys", + "Debesų įvairovė", + "Objektyvo atspindžiai" + ], + "Aštrinti", + [ + "Aštrinti", + "Aštrinti kraštus", + "Aštrinti stipriau", + "Aštrinti selektyviai", + "Neryškumų maskavimas" + ], + "Stilizuoti", + [ + "Difuzija", + "Išgaubimas", + "Ištraukimas", + "Kraštų aptikimas", + "Tapyba aliejumi" + ], + "Kita", + [ + "Nustatytai", + "Aukštieji dažniai", + "Maksimumas", + "Minimumas", + "Poslinkis", + "Kartoti" + ], + [ + "Neapibrėžta sritis", + "Tebūnie skaidru", + "Kartoti pikselius kraštuose", + "Aplankstyti", + "Paskiausias filtras", + "Peržiūra" + ] + ], + [ + "Šablonai", + [ + "Šriftų filtras", + "Raktiniai žodžiai", + "Išmaišyti" + ], + [ + "Su simboliais", + "Su nuotrauka" + ], + [ + "Miniatiūros", + "Sąrašas" + ] + ] + ] + ] +} \ No newline at end of file diff --git a/www.photopea.com/code/external/ext.js b/www.photopea.com/code/external/ext.js index 5bb208d..4d59c82 100644 --- a/www.photopea.com/code/external/ext.js +++ b/www.photopea.com/code/external/ext.js @@ -1,33 +1,9026 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - +var UDOC={};UDOC.B=function(){var P=new Uint8Array(4),A=P.buffer,m=new Int16Array(A),w=new Uint16Array(A),E=new Int32Array(A),L=new Uint32Array(A),R=new Float32Array(A); +return{readShort:function(f,l){P[0]=f[l];P[1]=f[l+1];return m[0]},readUshort:function(f,l){P[0]=f[l]; +P[1]=f[l+1];return w[0]},readInt:function(f,l){P[0]=f[l];P[1]=f[l+1];P[2]=f[l+2];P[3]=f[l+3];return E[0]},readUint:function(f,l){P[0]=f[l]; +P[1]=f[l+1];P[2]=f[l+2];P[3]=f[l+3];return L[0]},readUintBE:function(f,l){P[3]=f[l];P[2]=f[l+1];P[1]=f[l+2]; +P[0]=f[l+3];return L[0]},readFloat:function(f,l){P[0]=f[l];P[1]=f[l+1];P[2]=f[l+2];P[3]=f[l+3];return R[0]},readASCII:function(f,l,D){var a=""; +for(var h=0;hw)w=R;if(fE)E=f}return[A,m,w,E]},rectToPath:function(P){return{cmds:["M","L","L","L","Z"],crds:[P[0],P[1],P[2],P[1],P[2],P[3],P[0],P[3]]}},insideBox:function(P,A){return A[0]<=P[0]&&A[1]<=P[1]&&P[2]<=A[2]&&P[3]<=A[3]},isBox:function(P,A){var m=function(p,c){for(var S=0; +S<8;S+=2){var B=!0;for(var N=0;N<8;N++)if(Math.abs(c[N]-p[N+S&7])>=2){B=!1;break}if(B)return!0}return!1},L=!1; +if(P.cmds.length>10)return!1;var w=P.cmds.join(""),E=P.crds;if(w=="MLLLZ"&&E.length==8||(w=="MLLLLZ"||w=="MLLLL")&&E.length==10){if(E.length==10)E=E.slice(0,8); +if(A==null){A=[E[0],E[1],E[0],E[1]];for(var R=0;RE)L-=2*Math.PI; +else while(L(w[1]-m[1])*(h[0]-m[0])},f=function(){var h=[m[0]-w[0],m[1]-w[1]],W=[E[0]-L[0],E[1]-L[1]],p=m[0]*w[1]-m[1]*w[0],z=E[0]*L[1]-E[1]*L[0],c=1/(h[0]*W[1]-h[1]*W[0]); +return[(p*W[0]-z*h[0])*c,(p*W[1]-z*h[1])*c]},l=P,D,a;m=A[A.length-1];for(a in A){var w=A[a],q=l;l=[]; +E=q[q.length-1];for(D in q){var L=q[D];if(R(L)){if(!R(E)){l.push(f())}l.push(L)}else if(R(E)){l.push(f())}E=L}m=w}return l}}; +UDOC.M={getScale:function(P){return Math.sqrt(Math.abs(P[0]*P[3]-P[1]*P[2]))},translate:function(P,A,m){UDOC.M.concat(P,[1,0,0,1,A,m])},rotate:function(P,A){UDOC.M.concat(P,[Math.cos(A),-Math.sin(A),Math.sin(A),Math.cos(A),0,0])},scale:function(P,A,m){UDOC.M.concat(P,[A,0,0,m,0,0])},concat:function(P,A){var m=P[0],w=P[1],E=P[2],L=P[3],R=P[4],f=P[5]; +P[0]=m*A[0]+w*A[2];P[1]=m*A[1]+w*A[3];P[2]=E*A[0]+L*A[2];P[3]=E*A[1]+L*A[3];P[4]=R*A[0]+f*A[2]+A[4]; +P[5]=R*A[1]+f*A[3]+A[5]},invert:function(P){var A=P[0],m=P[1],w=P[2],E=P[3],L=P[4],R=P[5],f=A*E-m*w; +P[0]=E/f;P[1]=-m/f;P[2]=-w/f;P[3]=A/f;P[4]=(w*R-E*L)/f;P[5]=(m*L-A*R)/f},multPoint:function(P,A){var m=A[0],w=A[1]; +return[m*P[0]+w*P[2]+P[4],m*P[1]+w*P[3]+P[5]]},multArray:function(P,A){for(var m=0;mm?q:(116*D-16)/A,z=l>m?l:(116*f-16)/A,c=W>m?W:(116*h-16)/A,S=c*96.72,B=z*100,N=p*81.427,x=[S/100,B/100,N/100],i=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427],t=[i[0]*x[0]+i[1]*x[1]+i[2]*x[2],i[3]*x[0]+i[4]*x[1]+i[5]*x[2],i[6]*x[0]+i[7]*x[1]+i[8]*x[2]]; +for(var I=0;I<3;I++)t[I]=Math.max(0,Math.min(1,UDOC.C.srgbGamma(t[I])));return t}};UDOC.getState=function(P){return{font:UDOC.getFont(),dd:{flat:1},ca:1,colr:[0,0,0],space:"/DeviceGray",CA:1,COLR:[0,0,0],sspace:"/DeviceGray",bmode:"/Normal",SA:!1,OPM:0,AIS:!1,OP:!1,op:!1,SMask:"/None",lwidth:1,lcap:0,ljoin:0,mlimit:10,SM:.1,doff:0,dash:[],ctm:[1,0,0,1,0,0],cpos:[0,0],pth:{cmds:[],crds:[]},cpth:P?UDOC.G.rectToPath(P):null,cpstack:[]}}; +UDOC.getFont=function(){return{Tc:0,Tw:0,Th:100,Tl:0,Tf:"Helvetica-Bold",Tfs:1,Tmode:0,Trise:0,Tk:0,Tal:0,Tun:0,Tm:[1,0,0,1,0,0],Tlm:[1,0,0,1,0,0],Trm:[1,0,0,1,0,0]}}; +function FromPS(){}FromPS.Parse=function(P,A){P=new Uint8Array(P);var m=0,L=null,R=null,c=!0;while(!(P[m]==37&&P[m+1]==33))m++; +var w=FromPS.B.readASCII(P,m,P.length-m),E=w.split(/[\n\r]+/);for(var f=0;f>"){var x=[];while(P.length!=0){var i=P.pop();if(i.typ=="mark")break;x.push(i)}x.reverse(); +if(p=="]")P.push({typ:"array",val:x});else{var t={};for(var I=0;I=cr.val.length){}else if(b7.typ=="string")for(var I=0;I=0; +I--)if(m[I].typ=="file"){bP=m[I];break}P.push({typ:"file",val:bP.val})}else if(n=="currentdict"){var T=A[A.length-1]; +P.push({typ:"dict",val:T,maxl:1e3})}else if("currentpacking currentoverprint currentglobal currentsystemparams currentuserparams currentpagedevice".split(" ").indexOf(n)!=-1){var j=E[n.slice(7)]; +P.push({typ:typeof j=="boolean"?"boolean":"dict",val:j})}else if(n=="gcheck"){var V=P.pop();P.push({typ:"boolean",val:!1})}else if("setpacking setoverprint setglobal setsystemparams setuserparams setpagedevice".split(" ").indexOf(n)!=-1){E[n.slice(3)]=P.pop().val}else if(n=="currentflat"){P.push({typ:"real",val:1})}else if(n=="currentlinewidth"){P.push({typ:"real",val:q.lwidth})}else if(n=="currentdash"){P.push({typ:"array",val:FromPS.makeArr(q.dash,"integer")},{typ:"real",val:q.doff})}else if(n=="currentpoint"){var ck=q.ctm.slice(0); +UDOC.M.invert(ck);var ce=UDOC.M.multPoint(ck,q.cpos);P.push({typ:"real",val:ce[0]},{typ:"real",val:ce[1]})}else if(n=="currentscreen"){P.push({typ:"int",val:60},{typ:"real",val:0},{typ:"real",val:0})}else if(n=="setscreen"){P.pop(); +P.pop();P.pop()}else if(n=="currenthalftone"){P.push({typ:"dict",val:{},maxl:1e3})}else if(n=="currentblackgeneration"||n=="currentundercolorremoval"){P.push(E.funs[n.slice(7)])}else if(n=="currentcolortransfer"){for(var I=0; +I<4;I++)P.push(E.funs.blackgeneration)}else if(n=="findresource"){var ai=P.pop().val.slice(1),bx=P.pop(),d=bx.val.slice(1),bj; +if(ai=="Font"){E.res[ai].val[d]={typ:"dict",val:{FontType:{typ:"integer",val:1},FontMatrix:{typ:"array",val:FromPS.makeArr([1,0,0,1,0,0],"real")},FontName:bx,FID:{typ:"fontID",val:Math.floor(Math.random()*16777215)},Encoding:{typ:"array",val:[]},FontBBox:{typ:"array",val:FromPS.makeArr([0,0,1,1],"real")},PaintType:{typ:"integer",val:0}}}}if(ai=="Category"&&d=="Generic")bj={typ:"dict",val:{},maxl:1e3}; +else if((ai=="ProcSet"||ai=="Procset")&&d=="CIDInit")bj={typ:"dict",val:{},maxl:1e3};else bj=E.res[ai].val[d]; +if(bj==null)throw"e";P.push(bj)}else if(n=="resourcestatus"){var ai=P.pop().val.slice(1),d=P.pop().val.slice(1),bj=E.res[ai].val[d]; +if(bj){P.push({typ:"integer",val:1});P.push({typ:"integer",val:Object.keys(bj.val).length})}P.push({typ:"boolean",val:bj!=null})}else if(n=="defineresource"){var ai=P.pop().val.slice(1),cc=P.pop(),d=P.pop().val.slice(1); +E.res[ai].val[d]=cc;P.push(cc)}else if(n=="undefineresource"){var ai=P.pop().val.slice(1),d=P.pop().val.slice(1); +delete E.res[ai].val[d]}else if(n=="resourceforall"){var ai=P.pop().val.slice(1),aU=P.pop().val,X=P.pop(),bi=P.pop().val; +if(bi.length!=1||bi[0]!=42)throw"e";var al=E.res[ai].val;for(var d in al){var Y=aU.slice(0);for(var I=0; +I0?s<>>-J;if(n=="mod")U=s%J;if(n=="exp")U=Math.pow(s,J);if(n=="atan")U=Math.atan2(s,J)*180/Math.PI; +if(cw=="real"){D[0]=U;U=D[0]}P.push({typ:cw,val:U})}else if("neg abs floor ceiling round truncate sqrt ln sin cos".split(" ").indexOf(n)!=-1){var F=P.pop(),s=F.val,U=0,cw=""; +if(n=="neg"||n=="abs"||n=="truncate"||n=="floor"||n=="ceiling"||n=="round")cw=F.typ;else if(n=="sqrt"||n=="sin"||n=="cos"||n=="ln")cw="real"; +if(F.typ=="real"){D[0]=s;s=D[0]}if(n=="neg")U=-s;if(n=="abs")U=Math.abs(s);if(n=="floor")U=Math.floor(s); +if(n=="ceiling")U=Math.ceil(s);if(n=="round")U=Math.round(s);if(n=="truncate")U=Math.trunc(s);if(n=="sqrt")U=Math.sqrt(s); +if(n=="ln")U=Math.log(s);if(n=="sin")U=Math.sin(s*Math.PI/180);if(n=="cos")U=Math.cos(s*Math.PI/180); +if(n=="ln"&&s<=0)throw"e";if(cw=="real"){D[0]=U;U=D[0]}P.push({typ:cw,val:U})}else if("eq ge gt le lt ne".split(" ").indexOf(n)!=-1){var au=P.pop(),F=P.pop(),ba=F.typ,a1=au.typ,s=F.val,J=au.val,U=!1; +if(n=="eq"||n=="ne"){var O=F.typ==au.typ;if(O&&["integer","real","name","null","dict"].indexOf(ba)!=-1)U=s==J; +else if(ba=="real"&&a1=="integer"||a1=="real"&&ba=="integer")U=s==J;else if(!O&&(F.typ=="null"||au.typ=="null"))U=!1; +else if(O&&F.typ=="string"){if(s.length!=J.length)U=!1;else{U=!0;for(var I=0;I=J;else if(n=="gt")U=s>J;else if(n=="le")U=s<=J;else if(n=="lt")U=s0&&o.init<=o.limit||o.inc<0&&o.init>=o.limit){m.push(h);FromPS.addProc(o.proc,m); +P.push({typ:"integer",val:o.init});o.init+=o.inc}}else{var Q=new Float32Array(1);Q[0]=o.limit;o.limit=Q[0]; +Q[0]=o.inc;o.inc=Q[0];Q[0]=o.init;if(o.inc>0&&Q[0]<=o.limit||o.inc<0&&Q[0]>=o.limit){m.push(h);FromPS.addProc(o.proc,m); +P.push({typ:"real",val:Q[0]});Q[0]+=o.inc;o.init=Q[0]}}}else if(n=="loop"){var X=P.pop();m.push({typ:"name",val:n+"---",ctx:{proc:X}})}else if(n=="loop---"){var o=h.ctx; +m.push(h);FromPS.addProc(o.proc,m)}else if(n=="pathforall"){var $=P.pop(),aG=P.pop(),bG=P.pop(),aT=P.pop()}else if(n=="forall"){var X=P.pop(),K=P.pop(),o=[X,K,0]; +m.push({typ:"name",val:n+"---",ctx:o})}else if(n=="forall---"){var o=h.ctx,X=o[0],K=o[1],I=o[2];if(K.typ=="dict"){var bO=Object.keys(K.val); +if(II)m.pop()}else if(n=="bind"){}else if(n=="xcheck"){var K=P.pop(),W=K.typ;P.push({typ:"boolean",val:W=="procedure"})}else if(n=="status"){var Y=P.pop(); +P.push({typ:"boolean",val:!1})}else if(n=="cachestatus"){for(var I=0;I<7;I++)P.push({typ:"integer",val:5e3})}else if(n=="setcachelimit"){P.pop()}else if(n=="type"){var i=P.pop(),aM={name:"nametype",dict:"dicttype",boolean:"booleantype",procedure:"operatortype",string:"stringtype",null:"nulltype",integer:"integertype",array:"arraytype",operator:"operatortype",real:"realtype"}; +if(aM[i.typ]==null){console.log(i);throw i.typ}P.push({typ:"name",val:"/"+aM[i.typ]})}else if(n=="save"){P.push({typ:"state",val:JSON.parse(JSON.stringify(q))})}else if(n=="restore"){q=E.gst=P.pop().val}else if(n=="clipsave"){q.cpstack.push(JSON.parse(JSON.stringify(q.cpth)))}else if(n=="cliprestore"){q.cpath=q.cpstack.pop()}else if(n=="gsave"){w.push(JSON.parse(JSON.stringify(q)))}else if(n=="grestore"){if(w.length!=0)q=E.gst=w.pop(); +else q=UDOC.getState()}else if(n=="grestoreall"){while(w.length!=0)q=E.gst=w.pop()}else if(n=="usertime"||n=="realtime")P.push({typ:"integer",val:n=="usertime"?Date.now()-l:Date.now()}); +else if(n=="flush"||n=="readonly"||n=="executeonly"){}else if(n=="flushfile"){FromPS.GetFile(P.pop())}else if(n=="filter"){var bS=P.pop().val,af; +if(bS=="/SubFileDecode"){var Y=P.pop();if(Y.typ!="string")throw"e";var c4=P.pop().val;Y=Y.val;af=[bS,Y,c4]}else af=[bS]; +var cv=P.pop();P.push({typ:"file",val:{buff:new Uint8Array,off:0},_flt:af,_src:cv})}else if(n=="begincmap"||n=="endcmap"){}else if(n=="begincodespacerange"||n=="beginbfrange"||n=="beginbfchar"){E.cmnum=P.pop().val}else if(n=="endcodespacerange"||n=="endbfrange"||n=="endbfchar"){var $=n=="endbfrange"?3:2,aQ=n.slice(3),T=A[A.length-1],cp=0; +if(T[aQ]==null)T[aQ]=[];for(var I=0;I=0;aR--){var a8=P.pop(),bF=a8.val,j; +if(a8.typ=="string"){j=FromPS.strToInt(bF);if(aR==0)cp=bF.length}else{j=[];for(var bM=0;bM>>24&255)}if(w==4){m.push(E>>>24&255); +m.push(E>>>16&255)}var a=5-w<<3,q=E>>>a&255;E=E&(1<>>24&255);m.push(E>>>16&255); +m.push(E>>>8&255);m.push(E>>>0&255);w=0;E=0}}}},RunLengthDecode:function(P){var A=[],m=P.off;while(!0){if(m>=P.buff.length){console.log(A); +throw"e"}var w=P.buff[m];m++;if(w==128){P.off=m;return new Uint8Array(A)}if(w<128){for(var E=0;E>>3]<<16|w[B+8>>>3]<<8|w[B+16>>>3];t=i>>24-(B&7)-S&(1<>>3]<<16|w[B+8>>>3]<<8|w[B+16>>>3];t=i>>24-(B&7)-S&(1<=z){h[z]=c;a[h[z]]=d[0];W[z]=1;c=c+1+3&~3; +z++}else{h[z]=c;var Z=h[b],Y=W[b];A(a,Z,a,c,Y);a[c+Y]=a[d];Y++;W[z]=Y;z++;c=c+Y+3&~3}if(z+1==1<=z){h[z]=c; +W[z]=0;z++}else{h[z]=c;var Z=h[b],Y=W[b];A(a,Z,a,c,Y);a[c+Y]=a[c];Y++;W[z]=Y;z++;A(a,c,L,R,Y);R+=Y;c=c+Y+3&~3}if(z+1==1<=0){if(A[m][P]!=null)return A[m][P];m--}return null};FromPS.where=function(P,A){var m=A.length-1; +while(m>=0){if(A[m][P]!=null)return A[m];m--}return null};FromPS.skipWhite=function(P){var A=P.off,m=P.buff,w=FromPS.isWhite; +while(w(m[A])||m[A]==37){while(w(m[A]))A++;if(m[A]==37){while(A1){P.pop();if(P.length!=0)E=FromPS.getFToken(P[P.length-1].val,A)}return E}; +FromPS.getFToken=function(P,A){FromPS.skipWhite(P);var m=FromPS.isWhite,w=FromPS.isSpecl,E=P.off,L=P.buff,R=null; +if(E>=L.length)return null;var f=L[E],D=String.fromCharCode(f);E++;if(D=="("){var a=0,q=E;while(!(L[q]==41&&a==0)){if(L[q]==40)a++; +if(L[q]==41)a--;if(L[q]==92)q++;q++}var h=[];for(var W=0;W"&&L[E]==62){R={typ:"name",val:D=="<"?"<<":">>"}; +E++}else if(D=="<"){var h;if(L[E]=="~".charCodeAt(0)){P.off=E+1;var p=FromPS.F.ASCII85Decode(P);h=[]; +for(var W=0;WL[5]){L=L.slice(3).concat(L.slice(0,3)); +E.reverse();l.reverse();for(var q=0;q0)f.push([0,m(w[0],[R[0]],A)]);for(var D=0;D>1)&255; +if(q==4)for(var h=E;h>1)&255;for(var h=E;h>1)&255}if(q==4){for(var h=0; +h=0;D--)L.push(l[D]);continue}var a=f["/MediaBox"];if(a==null)a=P["/Pages"]["/MediaBox"]; +R+=(a[2]-a[0])*(a[3]-a[1])}var L=[P["/Pages"]],q=-1,h=[-1e9,1e9];while(L.length!=0){var f=L.pop();if(f["/Type"]=="/Pages"){var l=f["/Kids"]; +for(var D=l.length-1;D>=0;D--)L.push(l[D]);continue}q++;if(q=h[1])break}};FromPDF.addCmd=function(P,A,m){var w=P.length,E=new Uint8Array(w);for(var L=0;L>1)]>>(1-(m&1)<<2)&15; +else if(w==2)E=P[A+(m>>2)]>>(3-(m&3)<<1)&3;else if(w==1)E=P[A+(m>>3)]>>(7-(m&7)<<0)&1;return E};FromPDF.getString=function(P,A){var m=A["/Subtype"],w="",E=0,L=null,R=A["/ToUnicode"],f=A["/Encoding"],l=A,bm; +if(R!=null&&typeof R!="object")R=null;if(m=="/Type0")l=A["/DescendantFonts"][0];if(R!=null)w=FromPDF.toUnicode(P,R); +else if(f=="/WinAnsiEncoding")w=FromPDF.encFromMap(P,FromPDF._win1252);else if(f=="/MacRomanEncoding")w=FromPDF.encFromMap(P,FromPDF._macRoman); +else if(m=="/Type0"){var D=0,a=l["/CIDSystemInfo"]["/Ordering"];if(a=="Identity")D=0;else if(a=="Japan1")D=31; +else if(a=="GB1")D=31;else if(a=="CNS1")D=31;else if(a=="Korea1")D=31;else{console.log("unknown ordering",a); +D=0}for(var q=0;q4){w--;m++}return P[m]<<24|P[m+1]<<16|P[m+2]<<8|P[m+3]}; +FromPDF.getIndirect=function(P,A,m,w){var E=w[P],f;if(E.chr=="f")return null;if(E.val!=null)return E.val; +if(E.opn)return{typ:"ref",ind:P,gen:A};E.opn=!0;var L=m.off;if(E.chr=="s"){var D=FromPDF.getIndirect(E.off,E.gen,m,w),a={buff:FromPS.GS(D),off:0},q=0,h=0; +while(q!=P){q=FromPS.getFToken(a).val;h=FromPS.getFToken(a).val}a.off=h+D["/First"];f=FromPDF.readObject(a,m,w)}else{m.off=E.off; +var W=FromPS.getFToken(m);if(W.val!="<<"){var p=FromPS.getFToken(m),z=FromPS.getFToken(m)}else m.off-=2; +f=FromPDF.readObject(m,m,w)}E.val=f;m.off=L;E.opn=!1;return f};FromPDF.readObject=function(P,A,m){var w=FromPS.getFToken(P); +if(w.typ=="integer"){var E=P.off,L=FromPS.getFToken(P);if(L&&L.typ=="integer"){FromPS.skipWhite(P);if(P.buff[P.off]==82){P.off++; +if(m&&m[w.val])return FromPDF.getIndirect(w.val,L.val,A,m);else return{typ:"ref",ind:w.val,gen:L.val}}}P.off=E}if(w.val=="<<")return FromPDF.readDict(P,A,m); +if(w.val=="[")return FromPDF.readArra(P,A,m);if(w.typ=="string"){var R="";for(var f=0;f>")throw"e";return w.val};FromPDF.readDict=function(P,A,m){var w={}; +while(!0){var E=P.off,L=FromPS.getFToken(P);if(L.typ=="name"&&L.val==">>")break;P.off=E;var R=FromPDF.readObject(P,A,m),f=FromPDF.readObject(P,A,m); +w[R]=f}if(w["/Length"]!=null&&w["/CFM"]==null){var l=w["/Length"],D=FromPS.getFToken(P);if(P.buff[P.off]==32)P.off++; +if(P.buff[P.off]==13)P.off++;if(P.buff[P.off]==10)P.off++;if(P.off+l>P.buff.length){console.log("too big /Length of a stream",l,P.buff.length-P.off,P.off)}w.buff=P.buff.slice(P.off,P.off+l); +P.off+=l;FromPS.getFToken(P)}return w};FromPDF.readArra=function(P,A,m){var w=[];while(!0){var E=P.off,L=FromPS.getFToken(P); +if(L.typ=="name"&&L.val=="]")return w;P.off=E;var R=FromPDF.readObject(P,A,m);w.push(R)}};var FromWMF=function(){var P=0,A=53,m=55,w=258,E=259,L=260,R=261,f=262,l=263,D=264,a=295,q=313,h=322,W=329,p=513,z=521,c=529,S=531,B=532,N=544,x=552,i=561,t=564,I=804,K=805,n=522,b=523,j=524,c5=525,d=526,bm=527,T=1040,Z=1042,Y=1045,bg=1046,u=1048,aN=1049,c4=1065,aB=1078,b7=1313,U=1336,cr=1352,bI=1051,ae=1055,ac=1564,bp=1565,cl=30,aJ=2074,bP=2851,V=1574,ck=298,ce=299,ai=300,bx=301,bj=302,cc=2071,aU=2096,X=2338,bi=2610,al=3379,b8=2368,a4=2881,cp=3907,b1=496,aX=247,b5=505,ag=762,bR=763,av=764,aZ=1791,aw=1,a2=2,ch=3,aR=4,cs=5,bD=6,aS=7,bK=8,bz=9,bn=10,a9=11,bX=12,k=13,ct=14,ak=15,bQ=16,b3=17,cg=18,aF=19,c2=20,br=21,a7=22,cm=23,aq=24,bL=25,am=26,bU=27,cf=28,cd=29,bM=30,ca=31,ao=32,bd=33,aK=34,cj=35,b6=37,aE=38,aV=42,bk=256,bN=258,c0=512,b2=513,a6=514,aH=2049,a_=3073,bl=4096,be=4097,b9=4098,c1=4110,bY=4111,b4=4112,b$=4115,as=4116,bh=4117,ah=4118,H=4119,bv=4120,au=4121,F=4122,r=4568,s=UDOC.B; +function J(y,M){y=new Uint8Array(y);var v=0,C={fill:!1,strk:!1,bb:[0,0,1,1],lbb:[0,0,1,1],scl:1,fnt:{nam:"Arial",hgh:25,und:!1,orn:0,chrst:0},tclr:[0,0,0],talg:0},e=s.readShort,_=s.readUshort,G=s.readUint,by=G(y,0),bw=0; +if(by==2596720087){v=6;var bJ=e(y,v+8);C.scl=120/bJ;for(var at=0;at<4;at++){C.bb[at]=Math.round(e(y,v)*C.scl); +v+=2}v+=2;v+=6}M.StartPage(C.bb[0],C.bb[1],C.bb[2],C.bb[3]);var g=UDOC.getState(C.bb),a0=_(y,v);v+=2; +var a$=_(y,v);v+=2;var aA=_(y,v);v+=2;var aL=G(y,v);v+=4;var a5=_(y,v);v+=2;var ci=G(y,v);v+=4;var a5=_(y,v); +v+=2;var o=[];while(!0){var cq=G(y,v)<<1,aG=null;v+=4;var an=_(y,v);v+=2;var Q=an,$=v;if(!1){}else if(Q==P)break; +else if(Q==V){var bG=_(y,v);$+=2;var aT=bG;console.log(Q,aT)}else if(Q==E||Q==f||Q==w){}else if(Q==bx){var bO=_(y,$); +$+=2;var bq=o[bO];if(bq.t=="br"){C.fill=bq.stl!=1;if(bq.stl==0){}else if(bq.stl==1){}else throw bq.stl+" e"; +g.colr=bq.clr}else if(bq.t=="pn"){var aM=bq.stl&7;C.strk=aM!=5;if(aM==0||aM==6)g.lwidth=bq.px;else if(aM==5){}else throw aM+" e"; +if((bq.stl&4096)!=0)g.ljoin=2;else if((bq.stl&8192)!=0)g.ljoin=0;else g.ljoin=1;g.COLR=bq.clr}else if(bq.t=="fn"){C.fnt=bq; +g.font.Tf=bq.nam;g.font.Tfs=Math.abs(bq.hgh);g.font.Tun=bq.und}else throw"e"}else if(Q==b1){var bO=_(y,$); +$+=2;o[bO]=null}else if(Q==b||Q==j){var bS=Q==b?0:2;C.lbb[bS+1]=e(y,$);$+=2;C.lbb[bS]=e(y,$);$+=2;ba(C,g)}else if(Q==av){aG={t:"br"}; +aG.stl=_(y,$);$+=2;aG.clr=[y[$]/255,y[$+1]/255,y[$+2]/255];$+=4;aG.htc=_(y,$);$+=2}else if(Q==ag){aG={t:"pn"}; +aG.stl=_(y,$);$+=2;aG.px=e(y,$);$+=2;aG.py=e(y,$);$+=2;aG.clr=[y[$]/255,y[$+1]/255,y[$+2]/255];$+=4}else if(Q==bR){aG={t:"fn",nam:""}; +aG.hgh=e(y,$);$+=2;$+=2*2;aG.orn=e(y,$)/10;$+=2;var af=e(y,$);$+=2;aG.und=y[$+1];$+=2;aG.stk=y[$];aG.chrst=y[v+1]; +$+=2;$+=4;while(y[$]!=0){aG.nam+=String.fromCharCode(y[$]);$++}if(af>500)aG.nam+="-Bold"}else if(Q==aX){aG={t:"pl"}}else if(Q==z)C.tclr=[y[$]/255,y[$+1]/255,y[$+2]/255]; +else if(Q==bj)C.talg=_(y,$);else if(Q==B){UDOC.G.moveTo(g,e(y,$+2),e(y,$))}else if(Q==S){if(g.pth.cmds.length==0){var cv=g.ctm.slice(0); +UDOC.M.invert(cv);var aQ=UDOC.M.multPoint(cv,g.cpos);UDOC.G.moveTo(g,aQ[0],aQ[1])}UDOC.G.lineTo(g,e(y,$+2),e(y,$)); +var bC=C.fill;C.fill=!1;a1(M,g,C);C.fill=bC}else if(Q==U){var a8=_(y,$);$+=2;var bF=$;$+=a8*2;for(var at=0; +at127){at++;bt=bt<<8|y[$+at]}bV+=String.fromCharCode(bt)}var bW=g.colr;g.colr=C.tclr;M.PutText(g,bV,bV.length*g.font.Tfs*.5); +g.colr=bW}else{console.log(Q,cq)}if(aG!=null){var aO=0;while(o[aO]!=null)aO++;o[aO]=aG}v+=cq-6}M.ShowPage(); +M.Done()}function cw(y,M){var v=s.readShort,C=s.readUshort,e=s.readUint,_=e(y,M),G,by,bJ;M+=4;if(_==12)throw"e"; +else{G=e(y,M);M+=4;by=e(y,M);M+=4;var at=C(y,M);M+=2;if(at!=1)throw"e";var g=C(y,M);M+=2;if(g!=1&&g!=24&&g!=32)throw g+" e"; +var a0=e(y,M);M+=4;if(a0!=0)throw"e";var a$=e(y,M);M+=4;var aA=e(y,M);M+=4;var aL=e(y,M);M+=4;bJ=e(y,M); +M+=4;var a5=e(y,M);M+=4}var ci=G*by,o=new Uint8Array(ci*4),bw=Math.floor((G*at*g+31&~31)/8);if(g==1)for(var cq=0; +cq>>3)]>>>7-(Q&7)&1; +o[$]=y[M+aG*4+2];o[$+1]=y[M+aG*4+1];o[$+2]=y[M+aG*4+0];o[$+3]=255}}if(g==24){for(var cq=0;cq500)G.nam+="-Bold"}else if(C==k){_+=16; +var aL=O(H,_),aT="";_+=4;var a5=y(H,_);_+=4;var ci=y(H,_);_+=4;var o=a1(H,_);_+=4;var bw=a1(H,_);_+=4; +var cq=r.ctm.slice(0);if(aL==1)r.ctm=[1,0,0,1,0,0];r.font.Tm=[1,0,0,-1,0,0];UDOC.M.rotate(r.font.Tm,F.fnt.orn*Math.PI/180); +UDOC.M.translate(r.font.Tm,o,bw);var an=F.talg;if((an&6)==6)r.font.Tal=2;else if((an&7)==0)r.font.Tal=0; +else throw an+" e";if((an&24)==24){}else if((an&24)==0)UDOC.M.translate(r.font.Tm,0,r.font.Tfs);else console.log("unknown alignment",an); +var Q=O(H,_);_+=4;var $=O(H,_);_+=4;var aG=O(H,_);_+=4;_+=16;var bG=O(H,_);_+=4;$+=au-8;for(var bO=0; +bO0){UDOC.G.curveTo(r,aP(H,_),aP(H,_+ab),aP(H,_+2*ab),aP(H,_+3*ab),aP(H,_+4*ab),aP(H,_+5*ab)); +_+=6*ab;bC-=3}}else if(C==bI||C==cr){UDOC.G.newPath(r);var aI=b$(H,_);if(C==bI){UDOC.G.drawRect(r,aI[0],aI[1],aI[2]-aI[0],aI[3]-aI[1])}else{var bb=(aI[0]+aI[2])/2,bs=(aI[1]+aI[3])/2; +UDOC.G.arc(r,bb,bs,(aI[2]-aI[0])/2,0,2*Math.PI,!1)}UDOC.G.closePath(r);bh(bv,r,F,!0)}else if(C==a4)bv.Fill(r,!1); +else if(C==b1)bv.Stroke(r);else if(C==cp){bv.Fill(r,!1);bv.Stroke(r)}else if(C==bg||C==u){var bc=[]; +for(var bO=0;bO<6;bO++)bc.push(y(H,_+bO*4));_+=24;if(C==bg)r.ctm=bc;else{var aL=O(H,_);_+=4;if(aL==2){var ad=r.ctm; +r.ctm=bc;UDOC.M.concat(r.ctm,ad)}else throw"e"}}else if(C==x){var bH=O(H,_);_+=4}else if(C==bn){var aI=b$(H,_); +_+=16;var c9=a1(H,_);_+=4;var bA=a1(H,_);_+=4;var aj=a1(H,_);_+=4;var b0=a1(H,_);_+=4;var aY=a1(H,_); +_+=4;var cb=a1(H,_);_+=4;var ap=O(H,_)+au-8;_+=4;var bE=O(H,_);_+=4;var az=O(H,_)+au-8;_+=4;var ay=O(H,_); +_+=4;var c7=O(H,_);_+=4;if(c7!=0)throw"e";var b_=O(H,_);_+=4;var cn=a1(H,_);_+=4;var bV=a1(H,_);_+=4; +var bt=O(H,ap);ap+=4;var bW=O(H,ap);ap+=4;var aO=O(H,ap);ap+=4;if(bW!=aY||aO!=cb)throw"e";var aW=ba(H,ap); +ap+=2;var bB=ba(H,ap);ap+=2;if(bB!=1&&bB!=4&&bB!=8&&bB!=24&&bB!=32)throw bB+" e";var a3=O(H,ap);ap+=4; +if(a3!=0)throw a3+" e";var aD=O(H,ap);ap+=4;var c3=O(H,ap);ap+=4;var ar=O(H,ap);ap+=4;var bZ=O(H,ap); +ap+=4;var bo=O(H,ap);ap+=4;var aC=Math.floor((bW*aW*bB+31&~31)/8),bT=new Uint8Array(bW*aO*4);if(bB==8){for(var bs=0; +bs>>1); +for(var K=0;Kcs)cs=aS}for(var K=0;K=a[f+D+1])return 0;for(var S=0;S<=D;S++){if(q>=a[f+S]&&q255){var b=I.indexOf(n);t.push(b==-1?32:I[b-1])}else t.push(n)}}else{for(var K=0; +K>2);b[j]=S[K+0]; +b[j+1]=S[K+1];b[j+2]=S[K+2]}}var c5=this._res["/XObject"];for(var d in c5){var bm=this._xr[c5[d].ind],T=bm["/SMask"],Z=T!=null?1:0,Y=i!=null?1:0; +if(!R(bm.stream,b)||Z+Y==1)continue;if(Z+Y==2&&!R(this._xr[T.ind].stream,I))continue;return d}var d="/I"+(h(c5)+1); +c5[d]={typ:"ref",ind:this._xr.length};var bg={"/Type":"/XObject","/Subtype":"/Image","/BitsPerComponent":8,"/ColorSpace":S.length==B*N||n=="/DCTDecode"&&q(S)&&q(S).comps==1?"/DeviceGray":"/DeviceRGB","/Height":N,"/Width":B,stream:b}; +if(n!=null)bg["/Filter"]=f(S);if(x){bg["/SMask"]={typ:"ref",ind:this._xr.length-1}}this._xr.push(bg); +return d};function q(S){var B=0;while(B>");if(t){x(S,i(N)+"\nstream\n");S.file.req(S.off,t.length); +for(var K=0;Kthis.size)this.size*=2;var x=new Uint8Array(this.size);for(var i=0;i.05;if(W){p=P.ctm.slice(0); +p[1]*=-1;p[2]*=-1;p[4]=q;p[5]=h;q=h=0;this._trsf(p)}var z=8+16+12+4*6+16;this._addRec("EXTTEXTOUTW",z+w*2); +E.off+=16;R(E.file,E.off,2);E.off+=4;D(E.file,E.off,31.25);E.off+=4;D(E.file,E.off,31.25);E.off+=4;f(E.file,E.off,Math.round(q)); +E.off+=4;f(E.file,E.off,Math.round(h));E.off+=4;R(E.file,E.off,A.length);E.off+=4;R(E.file,E.off,z); +E.off+=4;R(E.file,E.off,0);E.off+=4;E.off+=16;R(E.file,E.off,0);E.off+=4;for(var c=0;c1; +if(B){p*=S;if(h=="L")z="POLYLINETO";c=8+20+4*p}this._addRec(z,c);if(B){m.off+=16;w(m.file,m.off,S*W[1]); +m.off+=4;q+=S-1}for(var N=0;Nthis.size)this.size*=2; +var w=new Uint8Array(this.size);for(var E=0;E0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=o.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==b)throw new Error(d[a]);if(e.header&&o.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(n="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=o.deflateSetDictionary(this.strm,n),a!==b)throw new Error(d[a]);this._dict_set=!0}}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}function s(t,e){return e=e||{},e.gzip=!0,n(t,e)}var o=t("./zlib/deflate"),l=t("./utils/common"),h=t("./utils/strings"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=Object.prototype.toString,u=0,c=4,b=0,g=1,m=2,w=-1,p=0,v=8;i.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?c:u,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===_.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new l.Buf8(r),n.next_out=0,n.avail_out=r),a=o.deflate(n,i),a!==g&&a!==b)return this.onEnd(a),this.ended=!0,!1;0!==n.avail_out&&(0!==n.avail_in||i!==c&&i!==m)||("string"===this.options.to?this.onData(h.buf2binstring(l.shrinkBuf(n.output,n.next_out))):this.onData(l.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||0===n.avail_out)&&a!==g);return i===c?(a=o.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===b):i!==m||(this.onEnd(b),n.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===b&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=i,a.deflate=n,a.deflateRaw=r,a.gzip=s},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=s.inflateInit2(this.strm,e.windowBits);if(a!==h.Z_OK)throw new Error(d[a]);this.header=new _,s.inflateGetHeader(this.strm,this.header)}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg||d[a.err];return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}var s=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/constants"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=t("./zlib/gzheader"),u=Object.prototype.toString;i.prototype.push=function(t,e){var a,i,n,r,d,f,_=this.strm,c=this.options.chunkSize,b=this.options.dictionary,g=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?h.Z_FINISH:h.Z_NO_FLUSH,"string"==typeof t?_.input=l.binstring2buf(t):"[object ArrayBuffer]"===u.call(t)?_.input=new Uint8Array(t):_.input=t,_.next_in=0,_.avail_in=_.input.length;do{if(0===_.avail_out&&(_.output=new o.Buf8(c),_.next_out=0,_.avail_out=c),a=s.inflate(_,h.Z_NO_FLUSH),a===h.Z_NEED_DICT&&b&&(f="string"==typeof b?l.string2buf(b):"[object ArrayBuffer]"===u.call(b)?new Uint8Array(b):b,a=s.inflateSetDictionary(this.strm,f)),a===h.Z_BUF_ERROR&&g===!0&&(a=h.Z_OK,g=!1),a!==h.Z_STREAM_END&&a!==h.Z_OK)return this.onEnd(a),this.ended=!0,!1;_.next_out&&(0!==_.avail_out&&a!==h.Z_STREAM_END&&(0!==_.avail_in||i!==h.Z_FINISH&&i!==h.Z_SYNC_FLUSH)||("string"===this.options.to?(n=l.utf8border(_.output,_.next_out),r=_.next_out-n,d=l.buf2string(_.output,n),_.next_out=r,_.avail_out=c-r,r&&o.arraySet(_.output,_.output,n,r,0),this.onData(d)):this.onData(o.shrinkBuf(_.output,_.next_out)))),0===_.avail_in&&0===_.avail_out&&(g=!0)}while((_.avail_in>0||0===_.avail_out)&&a!==h.Z_STREAM_END);return a===h.Z_STREAM_END&&(i=h.Z_FINISH),i===h.Z_FINISH?(a=s.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===h.Z_OK):i!==h.Z_SYNC_FLUSH||(this.onEnd(h.Z_OK),_.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===h.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=i,a.inflate=n,a.inflateRaw=r,a.ungzip=n},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;r=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;o[254]=o[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;r>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;a4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&a1?h[n++]=65533:r<65536?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return a<0?e:0===a?e:a+o[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t^=-1;for(var o=i;o>>8^n[255&(t^e[o])];return t^-1}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=D[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(R.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){C._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,R.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=N(t.adler,e,n,a):2===t.state.wrap&&(t.adler=O(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+dt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&r<_);if(i=dt-(_-r),r=_-dt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ft)){R.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ht)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return vt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return vt;if(t.strstart-t.block_start>=t.w_size-ft&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?vt:vt}function c(t,e){for(var a,i;;){if(t.lookahead=ht&&(t.ins_h=(t.ins_h<=ht)if(i=C._tr_tally(t,t.strstart-t.match_start,t.match_length-ht),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ht){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<=ht&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ht-1)),t.prev_length>=ht&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ht,i=C._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ht),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<=ht&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+dt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ht?(a=C._tr_tally(t,1,t.match_length-ht),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return vt;break}if(t.match_length=0,a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function w(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}function p(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=Z[t.level].max_lazy,t.good_match=Z[t.level].good_length,t.nice_match=Z[t.level].nice_length,t.max_chain_length=Z[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ht-1,t.match_available=0,t.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=V,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new R.Buf16(2*ot),this.dyn_dtree=new R.Buf16(2*(2*rt+1)),this.bl_tree=new R.Buf16(2*(2*st+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new R.Buf16(lt+1),this.heap=new R.Buf16(2*nt+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new R.Buf16(2*nt+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=Q,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ut:wt,t.adler=2===e.wrap?0:1,e.last_flush=I,C._tr_init(e),H):i(t,K)}function y(t){var e=k(t);return e===H&&p(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?K:(t.state.gzhead=e,H):K}function z(t,e,a,n,r,s){if(!t)return K;var o=1;if(e===Y&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>$||a!==V||n<8||n>15||e<0||e>9||s<0||s>W)return i(t,K);8===n&&(n=9);var l=new v;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<L||e<0)return t?i(t,K):K;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===pt&&e!==F)return i(t,0===t.avail_out?P:K);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ut)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=O(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=ct):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,zt),o.status=wt);else{var _=V+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=G||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=_t),_+=31-_%31,o.status=wt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===ct)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=bt)}else o.status=bt;if(o.status===bt)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=gt)}else o.status=gt;if(o.status===gt)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=mt)}else o.status=mt;if(o.status===mt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=wt)):o.status=wt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,H}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,P);if(o.status===pt&&0!==t.avail_in)return i(t,P);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==pt){var c=o.strategy===G?m(o,e):o.strategy===X?g(o,e):Z[o.level].func(o,e);if(c!==yt&&c!==xt||(o.status=pt),c===vt||c===yt)return 0===t.avail_out&&(o.last_flush=-1),H;if(c===kt&&(e===U?C._tr_align(o):e!==L&&(C._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,H}return e!==F?H:o.wrap<=0?j:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?H:j)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt&&e!==wt&&e!==pt?i(t,K):(t.state=null,e===wt?i(t,M):H)):K}function A(t,e){var a,i,n,s,o,l,h,d,f=e.length;if(!t||!t.state)return K;if(a=t.state,s=a.wrap,2===s||1===s&&a.status!==ut||a.lookahead)return K;for(1===s&&(t.adler=N(t.adler,e,f,0)),a.wrap=0,f>=a.w_size&&(0===s&&(r(a.head),a.strstart=0,a.block_start=0,a.insert=0),d=new R.Buf8(a.w_size),R.arraySet(d,e,f-a.w_size,a.w_size,0),e=d,f=a.w_size),o=t.avail_in,l=t.next_in,h=t.input,t.avail_in=f,t.next_in=0,t.input=e,_(a);a.lookahead>=ht;){i=a.strstart,n=a.lookahead-(ht-1);do a.ins_h=(a.ins_h<>>24,b>>>=y,g-=y,y=k>>>16&255,0===y)A[o++]=65535&k;else{if(!(16&y)){if(0===(64&y)){k=m[(65535&k)+(b&(1<>>=y,g-=y),g<15&&(b+=E[r++]<>>24,b>>>=y,g-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=w[(65535&k)+(b&(1<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=y,g-=y,y=o-l,z>y){if(y=z-y,y>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-y,y2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],x-=3;x&&(A[o++]=S[B++],x>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],x-=3;while(x>2);x&&(A[o++]=A[B++],x>1&&(A[o++]=A[B++]))}break}}break}}while(r>3,r-=x,g-=x<<3,b&=(1<>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new w.Buf16(320),this.work=new w.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=T,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new w.Buf32(bt),e.distcode=e.distdyn=new w.Buf32(gt),e.sane=1,e.back=-1,Z):N}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):N}function o(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?N:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):N}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==Z&&(t.state=null),a):N}function h(t){return l(t,wt)}function d(t){if(pt){var e;for(g=new w.Buf32(512),m=new w.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(y(z,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;y(B,t.lens,0,32,m,0,t.work,{bits:5}),pt=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(w.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),w.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(w.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,a.check=v(a.check,Et,2,0),_=0,u=0,a.mode=F;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=_t;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=_t;break}if(_>>>=4,u-=4,yt=(15&_)+8,0===a.wbits)a.wbits=yt;else if(yt>a.wbits){t.msg="invalid window size",a.mode=_t;break}a.dmax=1<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=L;case L:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=v(a.check,Et,4,0)),_=0,u=0,a.mode=H;case H:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=j;case j:if(1024&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=K;case K:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(yt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),w.arraySet(a.head.extra,n,s,g,yt)),512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.name+=String.fromCharCode(yt));while(yt&&g>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=X;break;case q:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=ht;break}for(;u<3;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=J;break;case 1:if(d(a),a.mode=at,e===A){_>>>=2,u-=2;break t}break;case 2:a.mode=$;break;case 3:t.msg="invalid block type",a.mode=_t}_>>>=2,u-=2;break;case J:for(_>>>=7&u,u-=7&u;u<32;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=_t;break}if(a.length=65535&_,_=0,u=0,a.mode=Q,e===A)break t;case Q:a.mode=V;case V:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;w.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=X;break;case $: +for(;u<14;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=_t;break}a.have=0,a.mode=tt;case tt:for(;a.have>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},xt=y(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid code lengths set",a.mode=_t;break}a.have=0,a.mode=et;case et:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;u>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=_t;break}yt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;u>>=gt,u-=gt,yt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;u>>=gt,u-=gt,yt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=_t;break}for(;g--;)a.lens[a.have++]=yt}}if(a.mode===_t)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=_t;break}if(a.lenbits=9,zt={bits:a.lenbits},xt=y(z,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid literal/lengths set",a.mode=_t;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},xt=y(B,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,xt){t.msg="invalid distances set",a.mode=_t;break}if(a.mode=at,e===A)break t;case at:a.mode=it;case it:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,k(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===X&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=lt;break}if(32&mt){a.back=-1,a.mode=X;break}if(64&mt){t.msg="invalid literal/length code",a.mode=_t;break}a.extra=15&mt,a.mode=nt;case nt:if(a.extra){for(Bt=a.extra;u>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=rt;case rt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=_t;break}a.offset=wt,a.extra=15&mt,a.mode=st;case st:if(a.extra){for(Bt=a.extra;u>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=_t;break}a.mode=ot;case ot:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=_t;break}g>a.wnext?(g-=a.wnext,m=a.wsize-g):m=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,m=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[m++];while(--g);0===a.length&&(a.mode=it);break;case lt:if(0===h)break t;r[o++]=a.length,h--,a.mode=it;break;case ht:if(a.wrap){for(;u<32;){if(0===l)break t;l--,_|=n[s++]<=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;C0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;Zr||t===h&&T>s)return 1;for(;;){B=Z-I,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>I)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(F&y)!==k){for(0===I&&(I=O),x+=C,D=Z-I,U=1<r||t===h&&T>s)return 1;k=F&y,b[k]=O<<24|D<<16|x-g|0}}return 0!==F&&(b[x+F]=Z-I<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function r(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function s(t){return t<256?lt[t]:lt[256+(t>>>7)]}function o(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function l(t,e,a){t.bi_valid>W-a?(t.bi_buf|=e<>W-t.bi_valid,t.bi_valid+=a-W):(t.bi_buf|=e<>>=1,a<<=1;while(--e>0);return a>>>1}function f(t){16===t.bi_valid?(o(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function _(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;r<=X;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;ac&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function u(t,e,a){var i,n,r=new Array(X+1),s=0;for(i=1;i<=X;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=d(r[o]++,o))}}function c(){var t,e,a,i,r,s=new Array(X+1);for(a=0,i=0;i>=7;i8?o(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function m(t,e,a,i){g(t),i&&(o(t,a),o(t,~a)),N.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function w(t,e,a,i){var n=2*e,r=2*a;return t[n]>1;a>=1;a--)p(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],p(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,p(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],_(t,e),u(r,h,t.bl_count)}function y(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o=3&&0===t.bl_tree[2*nt[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function B(t,e,a,i){var n;for(l(t,e-257,5),l(t,a-1,5),l(t,i-4,4),n=0;n>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return D;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;e0?(t.strm.data_type===U&&(t.strm.data_type=S(t)),k(t,t.l_desc),k(t,t.d_desc),s=z(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=n&&(n=r)):n=r=a+5,a+4<=n&&e!==-1?A(t,e,a,i):t.strategy===O||r===n?(l(t,(F<<1)+(i?1:0),3),v(t,st,ot)):(l(t,(L<<1)+(i?1:0),3),B(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),v(t,t.dyn_ltree,t.dyn_dtree)),b(t),i&&g(t)}function C(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ht[a]+M+1)]++,t.dyn_dtree[2*s(e)]++),t.last_lit===t.lit_bufsize-1}var N=t("../utils/common"),O=4,D=0,I=1,U=2,T=0,F=1,L=2,H=3,j=258,K=29,M=256,P=M+1+K,Y=30,q=19,G=2*P+1,X=15,W=16,J=7,Q=256,V=16,$=17,tt=18,et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],at=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],it=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=512,st=new Array(2*(P+2));i(st);var ot=new Array(2*Y);i(ot);var lt=new Array(rt);i(lt);var ht=new Array(j-H+1);i(ht);var dt=new Array(K);i(dt);var ft=new Array(Y);i(ft);var _t,ut,ct,bt=!1;a._tr_init=E,a._tr_stored_block=A,a._tr_flush_block=R,a._tr_tally=C,a._tr_align=Z},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); +/** + * @license + * Copyright 2015 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ - +var PDFJS; + +(function(PDFJS) { + "use strict"; + +var JpegError = (function JpegErrorClosure() { + function JpegError(msg) { + this.message = 'JPEG error: ' + msg; + } + + JpegError.prototype = new Error(); + JpegError.prototype.name = 'JpegError'; + JpegError.constructor = JpegError; + + return JpegError; +})(); + + var JpegImage = (function JpegImageClosure() { + // prettier-ignore + var dctZigZag = new Uint8Array([ + 0, + 1, 8, + 16, 9, 2, + 3, 10, 17, 24, + 32, 25, 18, 11, 4, + 5, 12, 19, 26, 33, 40, + 48, 41, 34, 27, 20, 13, 6, + 7, 14, 21, 28, 35, 42, 49, 56, + 57, 50, 43, 36, 29, 22, 15, + 23, 30, 37, 44, 51, 58, + 59, 52, 45, 38, 31, + 39, 46, 53, 60, + 61, 54, 47, + 55, 62, + 63 + ]); + + var dctCos1 = 4017; // cos(pi/16) + var dctSin1 = 799; // sin(pi/16) + var dctCos3 = 3406; // cos(3*pi/16) + var dctSin3 = 2276; // sin(3*pi/16) + var dctCos6 = 1567; // cos(6*pi/16) + var dctSin6 = 3784; // sin(6*pi/16) + var dctSqrt2 = 5793; // sqrt(2) + var dctSqrt1d2 = 2896; // sqrt(2) / 2 + + // eslint-disable-next-line no-shadow + function JpegImage({ decodeTransform = null, colorTransform = -1 } = {}) { + this._decodeTransform = decodeTransform; + this._colorTransform = colorTransform; + } + + function buildHuffmanTable(codeLengths, values) { + var k = 0, + code = [], + i, + j, + length = 16; + while (length > 0 && !codeLengths[length - 1]) { + length--; + } + code.push({ children: [], index: 0 }); + var p = code[0], + q; + for (i = 0; i < length; i++) { + for (j = 0; j < codeLengths[i]; j++) { + p = code.pop(); + p.children[p.index] = values[k]; + while (p.index > 0) { + p = code.pop(); + } + p.index++; + code.push(p); + while (code.length <= i) { + code.push((q = { children: [], index: 0 })); + p.children[p.index] = q.children; + p = q; + } + k++; + } + if (i + 1 < length) { + // p here points to last code + code.push((q = { children: [], index: 0 })); + p.children[p.index] = q.children; + p = q; + } + } + return code[0].children; + } + + function getBlockBufferOffset(component, row, col) { + return 64 * ((component.blocksPerLine + 1) * row + col); + } + + function decodeScan( + data, + offset, + frame, + components, + resetInterval, + spectralStart, + spectralEnd, + successivePrev, + successive, + parseDNLMarker = false + ) { + var mcusPerLine = frame.mcusPerLine; + var progressive = frame.progressive; + + const startOffset = offset; + let bitsData = 0, + bitsCount = 0; + + function readBit() { + if (bitsCount > 0) { + bitsCount--; + return (bitsData >> bitsCount) & 1; + } + bitsData = data[offset++]; + if (bitsData === 0xff) { + var nextByte = data[offset++]; + if (nextByte) { + if (nextByte === /* DNL = */ 0xdc && parseDNLMarker) { + offset += 2; // Skip marker length. + + const scanLines = readUint16(data, offset); + offset += 2; + if (scanLines > 0 && scanLines !== frame.scanLines) { + throw new DNLMarkerError( + "Found DNL marker (0xFFDC) while parsing scan data", + scanLines + ); + } + } else if (nextByte === /* EOI = */ 0xd9) { + if (parseDNLMarker) { + // NOTE: only 8-bit JPEG images are supported in this decoder. + const maybeScanLines = blockRow * 8; + // Heuristic to attempt to handle corrupt JPEG images with too + // large `scanLines` parameter, by falling back to the currently + // parsed number of scanLines when it's at least one order of + // magnitude smaller than expected (fixes issue10880.pdf). + if (maybeScanLines > 0 && maybeScanLines < frame.scanLines / 10) { + throw new DNLMarkerError( + "Found EOI marker (0xFFD9) while parsing scan data, " + + "possibly caused by incorrect `scanLines` parameter", + maybeScanLines + ); + } + } + throw new EOIMarkerError( + "Found EOI marker (0xFFD9) while parsing scan data" + ); + } + throw new JpegError( + `unexpected marker ${((bitsData << 8) | nextByte).toString(16)}` + ); + } + // unstuff 0 + } + bitsCount = 7; + return bitsData >>> 7; + } + + function decodeHuffman(tree) { + var node = tree; + while (true) { + node = node[readBit()]; + switch (typeof node) { + case "number": + return node; + case "object": + continue; + } + throw new JpegError("invalid huffman sequence"); + } + } + + function receive(length) { + var n = 0; + while (length > 0) { + n = (n << 1) | readBit(); + length--; + } + return n; + } + + function receiveAndExtend(length) { + if (length === 1) { + return readBit() === 1 ? 1 : -1; + } + var n = receive(length); + if (n >= 1 << (length - 1)) { + return n; + } + return n + (-1 << length) + 1; + } + + function decodeBaseline(component, blockOffset) { + var t = decodeHuffman(component.huffmanTableDC); + var diff = t === 0 ? 0 : receiveAndExtend(t); + component.blockData[blockOffset] = component.pred += diff; + var k = 1; + while (k < 64) { + var rs = decodeHuffman(component.huffmanTableAC); + var s = rs & 15, + r = rs >> 4; + if (s === 0) { + if (r < 15) { + break; + } + k += 16; + continue; + } + k += r; + var z = dctZigZag[k]; + component.blockData[blockOffset + z] = receiveAndExtend(s); + k++; + } + } + + function decodeDCFirst(component, blockOffset) { + var t = decodeHuffman(component.huffmanTableDC); + var diff = t === 0 ? 0 : receiveAndExtend(t) << successive; + component.blockData[blockOffset] = component.pred += diff; + } + + function decodeDCSuccessive(component, blockOffset) { + component.blockData[blockOffset] |= readBit() << successive; + } + + var eobrun = 0; + function decodeACFirst(component, blockOffset) { + if (eobrun > 0) { + eobrun--; + return; + } + var k = spectralStart, + e = spectralEnd; + while (k <= e) { + var rs = decodeHuffman(component.huffmanTableAC); + var s = rs & 15, + r = rs >> 4; + if (s === 0) { + if (r < 15) { + eobrun = receive(r) + (1 << r) - 1; + break; + } + k += 16; + continue; + } + k += r; + var z = dctZigZag[k]; + component.blockData[blockOffset + z] = + receiveAndExtend(s) * (1 << successive); + k++; + } + } + + var successiveACState = 0, + successiveACNextValue; + function decodeACSuccessive(component, blockOffset) { + var k = spectralStart; + var e = spectralEnd; + var r = 0; + var s; + var rs; + while (k <= e) { + const offsetZ = blockOffset + dctZigZag[k]; + const sign = component.blockData[offsetZ] < 0 ? -1 : 1; + switch (successiveACState) { + case 0: // initial state + rs = decodeHuffman(component.huffmanTableAC); + s = rs & 15; + r = rs >> 4; + if (s === 0) { + if (r < 15) { + eobrun = receive(r) + (1 << r); + successiveACState = 4; + } else { + r = 16; + successiveACState = 1; + } + } else { + if (s !== 1) { + throw new JpegError("invalid ACn encoding"); + } + successiveACNextValue = receiveAndExtend(s); + successiveACState = r ? 2 : 3; + } + continue; + case 1: // skipping r zero items + case 2: + if (component.blockData[offsetZ]) { + component.blockData[offsetZ] += sign * (readBit() << successive); + } else { + r--; + if (r === 0) { + successiveACState = successiveACState === 2 ? 3 : 0; + } + } + break; + case 3: // set value for a zero item + if (component.blockData[offsetZ]) { + component.blockData[offsetZ] += sign * (readBit() << successive); + } else { + component.blockData[offsetZ] = + successiveACNextValue << successive; + successiveACState = 0; + } + break; + case 4: // eob + if (component.blockData[offsetZ]) { + component.blockData[offsetZ] += sign * (readBit() << successive); + } + break; + } + k++; + } + if (successiveACState === 4) { + eobrun--; + if (eobrun === 0) { + successiveACState = 0; + } + } + } + + let blockRow = 0; + function decodeMcu(component, decode, mcu, row, col) { + var mcuRow = (mcu / mcusPerLine) | 0; + var mcuCol = mcu % mcusPerLine; + blockRow = mcuRow * component.v + row; + var blockCol = mcuCol * component.h + col; + const blockOffset = getBlockBufferOffset(component, blockRow, blockCol); + decode(component, blockOffset); + } + + function decodeBlock(component, decode, mcu) { + blockRow = (mcu / component.blocksPerLine) | 0; + var blockCol = mcu % component.blocksPerLine; + const blockOffset = getBlockBufferOffset(component, blockRow, blockCol); + decode(component, blockOffset); + } + + var componentsLength = components.length; + var component, i, j, k, n; + var decodeFn; + if (progressive) { + if (spectralStart === 0) { + decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive; + } else { + decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive; + } + } else { + decodeFn = decodeBaseline; + } + + var mcu = 0, + fileMarker; + var mcuExpected; + if (componentsLength === 1) { + mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn; + } else { + mcuExpected = mcusPerLine * frame.mcusPerColumn; + } + + var h, v; + while (mcu <= mcuExpected) { + // reset interval stuff + var mcuToRead = resetInterval + ? Math.min(mcuExpected - mcu, resetInterval) + : mcuExpected; + + // The `mcuToRead === 0` case should only occur when all of the expected + // MCU data has been already parsed, i.e. when `mcu === mcuExpected`, but + // some corrupt JPEG images contain more data than intended and we thus + // want to skip over any extra RSTx markers below (fixes issue11794.pdf). + if (mcuToRead > 0) { + for (i = 0; i < componentsLength; i++) { + components[i].pred = 0; + } + eobrun = 0; + + if (componentsLength === 1) { + component = components[0]; + for (n = 0; n < mcuToRead; n++) { + decodeBlock(component, decodeFn, mcu); + mcu++; + } + } else { + for (n = 0; n < mcuToRead; n++) { + for (i = 0; i < componentsLength; i++) { + component = components[i]; + h = component.h; + v = component.v; + for (j = 0; j < v; j++) { + for (k = 0; k < h; k++) { + decodeMcu(component, decodeFn, mcu, j, k); + } + } + } + mcu++; + } + } + } + + // find marker + bitsCount = 0; + fileMarker = findNextFileMarker(data, offset); + if (!fileMarker) { + break; // Reached the end of the image data without finding any marker. + } + if (fileMarker.invalid) { + // Some bad images seem to pad Scan blocks with e.g. zero bytes, skip + // past those to attempt to find a valid marker (fixes issue4090.pdf). + const partialMsg = mcuToRead > 0 ? "unexpected" : "excessive"; + warn( + `decodeScan - ${partialMsg} MCU data, current marker is: ${fileMarker.invalid}` + ); + offset = fileMarker.offset; + } + if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) { + // RSTx + offset += 2; + } else { + break; + } + } + + return offset - startOffset; + } + + // A port of poppler's IDCT method which in turn is taken from: + // Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz, + // 'Practical Fast 1-D DCT Algorithms with 11 Multiplications', + // IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989, + // 988-991. + function quantizeAndInverse(component, blockBufferOffset, p) { + var qt = component.quantizationTable, + blockData = component.blockData; + var v0, v1, v2, v3, v4, v5, v6, v7; + var p0, p1, p2, p3, p4, p5, p6, p7; + var t; + + if (!qt) { + throw new JpegError("missing required Quantization Table."); + } + + // inverse DCT on rows + for (var row = 0; row < 64; row += 8) { + // gather block data + p0 = blockData[blockBufferOffset + row]; + p1 = blockData[blockBufferOffset + row + 1]; + p2 = blockData[blockBufferOffset + row + 2]; + p3 = blockData[blockBufferOffset + row + 3]; + p4 = blockData[blockBufferOffset + row + 4]; + p5 = blockData[blockBufferOffset + row + 5]; + p6 = blockData[blockBufferOffset + row + 6]; + p7 = blockData[blockBufferOffset + row + 7]; + + // dequant p0 + p0 *= qt[row]; + + // check for all-zero AC coefficients + if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) { + t = (dctSqrt2 * p0 + 512) >> 10; + p[row] = t; + p[row + 1] = t; + p[row + 2] = t; + p[row + 3] = t; + p[row + 4] = t; + p[row + 5] = t; + p[row + 6] = t; + p[row + 7] = t; + continue; + } + // dequant p1 ... p7 + p1 *= qt[row + 1]; + p2 *= qt[row + 2]; + p3 *= qt[row + 3]; + p4 *= qt[row + 4]; + p5 *= qt[row + 5]; + p6 *= qt[row + 6]; + p7 *= qt[row + 7]; + + // stage 4 + v0 = (dctSqrt2 * p0 + 128) >> 8; + v1 = (dctSqrt2 * p4 + 128) >> 8; + v2 = p2; + v3 = p6; + v4 = (dctSqrt1d2 * (p1 - p7) + 128) >> 8; + v7 = (dctSqrt1d2 * (p1 + p7) + 128) >> 8; + v5 = p3 << 4; + v6 = p5 << 4; + + // stage 3 + v0 = (v0 + v1 + 1) >> 1; + v1 = v0 - v1; + t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8; + v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8; + v3 = t; + v4 = (v4 + v6 + 1) >> 1; + v6 = v4 - v6; + v7 = (v7 + v5 + 1) >> 1; + v5 = v7 - v5; + + // stage 2 + v0 = (v0 + v3 + 1) >> 1; + v3 = v0 - v3; + v1 = (v1 + v2 + 1) >> 1; + v2 = v1 - v2; + t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12; + v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12; + v7 = t; + t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12; + v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12; + v6 = t; + + // stage 1 + p[row] = v0 + v7; + p[row + 7] = v0 - v7; + p[row + 1] = v1 + v6; + p[row + 6] = v1 - v6; + p[row + 2] = v2 + v5; + p[row + 5] = v2 - v5; + p[row + 3] = v3 + v4; + p[row + 4] = v3 - v4; + } + + // inverse DCT on columns + for (var col = 0; col < 8; ++col) { + p0 = p[col]; + p1 = p[col + 8]; + p2 = p[col + 16]; + p3 = p[col + 24]; + p4 = p[col + 32]; + p5 = p[col + 40]; + p6 = p[col + 48]; + p7 = p[col + 56]; + + // check for all-zero AC coefficients + if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) { + t = (dctSqrt2 * p0 + 8192) >> 14; + // Convert to 8-bit. + if (t < -2040) { + t = 0; + } else if (t >= 2024) { + t = 255; + } else { + t = (t + 2056) >> 4; + } + blockData[blockBufferOffset + col] = t; + blockData[blockBufferOffset + col + 8] = t; + blockData[blockBufferOffset + col + 16] = t; + blockData[blockBufferOffset + col + 24] = t; + blockData[blockBufferOffset + col + 32] = t; + blockData[blockBufferOffset + col + 40] = t; + blockData[blockBufferOffset + col + 48] = t; + blockData[blockBufferOffset + col + 56] = t; + continue; + } + + // stage 4 + v0 = (dctSqrt2 * p0 + 2048) >> 12; + v1 = (dctSqrt2 * p4 + 2048) >> 12; + v2 = p2; + v3 = p6; + v4 = (dctSqrt1d2 * (p1 - p7) + 2048) >> 12; + v7 = (dctSqrt1d2 * (p1 + p7) + 2048) >> 12; + v5 = p3; + v6 = p5; + + // stage 3 + // Shift v0 by 128.5 << 5 here, so we don't need to shift p0...p7 when + // converting to UInt8 range later. + v0 = ((v0 + v1 + 1) >> 1) + 4112; + v1 = v0 - v1; + t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12; + v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12; + v3 = t; + v4 = (v4 + v6 + 1) >> 1; + v6 = v4 - v6; + v7 = (v7 + v5 + 1) >> 1; + v5 = v7 - v5; + + // stage 2 + v0 = (v0 + v3 + 1) >> 1; + v3 = v0 - v3; + v1 = (v1 + v2 + 1) >> 1; + v2 = v1 - v2; + t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12; + v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12; + v7 = t; + t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12; + v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12; + v6 = t; + + // stage 1 + p0 = v0 + v7; + p7 = v0 - v7; + p1 = v1 + v6; + p6 = v1 - v6; + p2 = v2 + v5; + p5 = v2 - v5; + p3 = v3 + v4; + p4 = v3 - v4; + + // Convert to 8-bit integers. + if (p0 < 16) { + p0 = 0; + } else if (p0 >= 4080) { + p0 = 255; + } else { + p0 >>= 4; + } + if (p1 < 16) { + p1 = 0; + } else if (p1 >= 4080) { + p1 = 255; + } else { + p1 >>= 4; + } + if (p2 < 16) { + p2 = 0; + } else if (p2 >= 4080) { + p2 = 255; + } else { + p2 >>= 4; + } + if (p3 < 16) { + p3 = 0; + } else if (p3 >= 4080) { + p3 = 255; + } else { + p3 >>= 4; + } + if (p4 < 16) { + p4 = 0; + } else if (p4 >= 4080) { + p4 = 255; + } else { + p4 >>= 4; + } + if (p5 < 16) { + p5 = 0; + } else if (p5 >= 4080) { + p5 = 255; + } else { + p5 >>= 4; + } + if (p6 < 16) { + p6 = 0; + } else if (p6 >= 4080) { + p6 = 255; + } else { + p6 >>= 4; + } + if (p7 < 16) { + p7 = 0; + } else if (p7 >= 4080) { + p7 = 255; + } else { + p7 >>= 4; + } + + // store block data + blockData[blockBufferOffset + col] = p0; + blockData[blockBufferOffset + col + 8] = p1; + blockData[blockBufferOffset + col + 16] = p2; + blockData[blockBufferOffset + col + 24] = p3; + blockData[blockBufferOffset + col + 32] = p4; + blockData[blockBufferOffset + col + 40] = p5; + blockData[blockBufferOffset + col + 48] = p6; + blockData[blockBufferOffset + col + 56] = p7; + } + } + + function buildComponentData(frame, component) { + var blocksPerLine = component.blocksPerLine; + var blocksPerColumn = component.blocksPerColumn; + var computationBuffer = new Int16Array(64); + + for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) { + for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) { + var offset = getBlockBufferOffset(component, blockRow, blockCol); + quantizeAndInverse(component, offset, computationBuffer); + } + } + return component.blockData; + } + + function findNextFileMarker(data, currentPos, startPos = currentPos) { + const maxPos = data.length - 1; + var newPos = startPos < currentPos ? startPos : currentPos; + + if (currentPos >= maxPos) { + return null; // Don't attempt to read non-existent data and just return. + } + var currentMarker = readUint16(data, currentPos); + if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) { + return { + invalid: null, + marker: currentMarker, + offset: currentPos, + }; + } + var newMarker = readUint16(data, newPos); + while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) { + if (++newPos >= maxPos) { + return null; // Don't attempt to read non-existent data and just return. + } + newMarker = readUint16(data, newPos); + } + return { + invalid: currentMarker.toString(16), + marker: newMarker, + offset: newPos, + }; + } + + JpegImage.prototype = { + parse(data, { dnlScanLines = null } = {}) { + function readDataBlock() { + const length = readUint16(data, offset); + offset += 2; + let endOffset = offset + length - 2; + + var fileMarker = findNextFileMarker(data, endOffset, offset); + if (fileMarker && fileMarker.invalid) { + warn( + "readDataBlock - incorrect length, current marker is: " + + fileMarker.invalid + ); + endOffset = fileMarker.offset; + } + + var array = data.subarray(offset, endOffset); + offset += array.length; + return array; + } + + function prepareComponents(frame) { + var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH); + var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV); + for (var i = 0; i < frame.components.length; i++) { + component = frame.components[i]; + var blocksPerLine = Math.ceil( + (Math.ceil(frame.samplesPerLine / 8) * component.h) / frame.maxH + ); + var blocksPerColumn = Math.ceil( + (Math.ceil(frame.scanLines / 8) * component.v) / frame.maxV + ); + var blocksPerLineForMcu = mcusPerLine * component.h; + var blocksPerColumnForMcu = mcusPerColumn * component.v; + + var blocksBufferSize = + 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1); + component.blockData = new Int16Array(blocksBufferSize); + component.blocksPerLine = blocksPerLine; + component.blocksPerColumn = blocksPerColumn; + } + frame.mcusPerLine = mcusPerLine; + frame.mcusPerColumn = mcusPerColumn; + } + + var offset = 0; + var jfif = null; + var adobe = null; + var frame, resetInterval; + let numSOSMarkers = 0; + var quantizationTables = []; + var huffmanTablesAC = [], + huffmanTablesDC = []; + + let fileMarker = readUint16(data, offset); + offset += 2; + if (fileMarker !== /* SOI (Start of Image) = */ 0xffd8) { + throw new JpegError("SOI not found"); + } + fileMarker = readUint16(data, offset); + offset += 2; + + markerLoop: while (fileMarker !== /* EOI (End of Image) = */ 0xffd9) { + var i, j, l; + switch (fileMarker) { + case 0xffe0: // APP0 (Application Specific) + case 0xffe1: // APP1 + case 0xffe2: // APP2 + case 0xffe3: // APP3 + case 0xffe4: // APP4 + case 0xffe5: // APP5 + case 0xffe6: // APP6 + case 0xffe7: // APP7 + case 0xffe8: // APP8 + case 0xffe9: // APP9 + case 0xffea: // APP10 + case 0xffeb: // APP11 + case 0xffec: // APP12 + case 0xffed: // APP13 + case 0xffee: // APP14 + case 0xffef: // APP15 + case 0xfffe: // COM (Comment) + var appData = readDataBlock(); + + if (fileMarker === 0xffe0) { + // 'JFIF\x00' + if ( + appData[0] === 0x4a && + appData[1] === 0x46 && + appData[2] === 0x49 && + appData[3] === 0x46 && + appData[4] === 0 + ) { + jfif = { + version: { major: appData[5], minor: appData[6] }, + densityUnits: appData[7], + xDensity: (appData[8] << 8) | appData[9], + yDensity: (appData[10] << 8) | appData[11], + thumbWidth: appData[12], + thumbHeight: appData[13], + thumbData: appData.subarray( + 14, + 14 + 3 * appData[12] * appData[13] + ), + }; + } + } + // TODO APP1 - Exif + if (fileMarker === 0xffee) { + // 'Adobe' + if ( + appData[0] === 0x41 && + appData[1] === 0x64 && + appData[2] === 0x6f && + appData[3] === 0x62 && + appData[4] === 0x65 + ) { + adobe = { + version: (appData[5] << 8) | appData[6], + flags0: (appData[7] << 8) | appData[8], + flags1: (appData[9] << 8) | appData[10], + transformCode: appData[11], + }; + } + } + break; + + case 0xffdb: // DQT (Define Quantization Tables) + const quantizationTablesLength = readUint16(data, offset); + offset += 2; + var quantizationTablesEnd = quantizationTablesLength + offset - 2; + var z; + while (offset < quantizationTablesEnd) { + var quantizationTableSpec = data[offset++]; + var tableData = new Uint16Array(64); + if (quantizationTableSpec >> 4 === 0) { + // 8 bit values + for (j = 0; j < 64; j++) { + z = dctZigZag[j]; + tableData[z] = data[offset++]; + } + } else if (quantizationTableSpec >> 4 === 1) { + // 16 bit values + for (j = 0; j < 64; j++) { + z = dctZigZag[j]; + tableData[z] = readUint16(data, offset); + offset += 2; + } + } else { + throw new JpegError("DQT - invalid table spec"); + } + quantizationTables[quantizationTableSpec & 15] = tableData; + } + break; + + case 0xffc0: // SOF0 (Start of Frame, Baseline DCT) + case 0xffc1: // SOF1 (Start of Frame, Extended DCT) + case 0xffc2: // SOF2 (Start of Frame, Progressive DCT) + if (frame) { + throw new JpegError("Only single frame JPEGs supported"); + } + offset += 2; // Skip marker length. + + frame = {}; + frame.extended = fileMarker === 0xffc1; + frame.progressive = fileMarker === 0xffc2; + frame.precision = data[offset++]; + const sofScanLines = readUint16(data, offset); + offset += 2; + frame.scanLines = dnlScanLines || sofScanLines; + frame.samplesPerLine = readUint16(data, offset); + offset += 2; + frame.components = []; + frame.componentIds = {}; + var componentsCount = data[offset++], + componentId; + var maxH = 0, + maxV = 0; + for (i = 0; i < componentsCount; i++) { + componentId = data[offset]; + var h = data[offset + 1] >> 4; + var v = data[offset + 1] & 15; + if (maxH < h) { + maxH = h; + } + if (maxV < v) { + maxV = v; + } + var qId = data[offset + 2]; + l = frame.components.push({ + h, + v, + quantizationId: qId, + quantizationTable: null, // See comment below. + }); + frame.componentIds[componentId] = l - 1; + offset += 3; + } + frame.maxH = maxH; + frame.maxV = maxV; + prepareComponents(frame); + break; + + case 0xffc4: // DHT (Define Huffman Tables) + const huffmanLength = readUint16(data, offset); + offset += 2; + for (i = 2; i < huffmanLength; ) { + var huffmanTableSpec = data[offset++]; + var codeLengths = new Uint8Array(16); + var codeLengthSum = 0; + for (j = 0; j < 16; j++, offset++) { + codeLengthSum += codeLengths[j] = data[offset]; + } + var huffmanValues = new Uint8Array(codeLengthSum); + for (j = 0; j < codeLengthSum; j++, offset++) { + huffmanValues[j] = data[offset]; + } + i += 17 + codeLengthSum; + + (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[ + huffmanTableSpec & 15 + ] = buildHuffmanTable(codeLengths, huffmanValues); + } + break; + + case 0xffdd: // DRI (Define Restart Interval) + offset += 2; // Skip marker length. + + resetInterval = readUint16(data, offset); + offset += 2; + break; + + case 0xffda: // SOS (Start of Scan) + // A DNL marker (0xFFDC), if it exists, is only allowed at the end + // of the first scan segment and may only occur once in an image. + // Furthermore, to prevent an infinite loop, do *not* attempt to + // parse DNL markers during re-parsing of the JPEG scan data. + const parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines; + + offset += 2; // Skip marker length. + + var selectorsCount = data[offset++]; + var components = [], + component; + for (i = 0; i < selectorsCount; i++) { + const index = data[offset++]; + var componentIndex = frame.componentIds[index]; + component = frame.components[componentIndex]; + component.index = index; + var tableSpec = data[offset++]; + component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4]; + component.huffmanTableAC = huffmanTablesAC[tableSpec & 15]; + components.push(component); + } + var spectralStart = data[offset++]; + var spectralEnd = data[offset++]; + var successiveApproximation = data[offset++]; + try { + var processed = decodeScan( + data, + offset, + frame, + components, + resetInterval, + spectralStart, + spectralEnd, + successiveApproximation >> 4, + successiveApproximation & 15, + parseDNLMarker + ); + offset += processed; + } catch (ex) { + if (ex instanceof DNLMarkerError) { + warn(`${ex.message} -- attempting to re-parse the JPEG image.`); + return this.parse(data, { dnlScanLines: ex.scanLines }); + } else if (ex instanceof EOIMarkerError) { + warn(`${ex.message} -- ignoring the rest of the image data.`); + break markerLoop; + } + throw ex; + } + break; + + case 0xffdc: // DNL (Define Number of Lines) + // Ignore the marker, since it's being handled in `decodeScan`. + offset += 4; + break; + + case 0xffff: // Fill bytes + if (data[offset] !== 0xff) { + // Avoid skipping a valid marker. + offset--; + } + break; + + default: + // Could be incorrect encoding -- the last 0xFF byte of the previous + // block could have been eaten by the encoder, hence we fallback to + // `startPos = offset - 3` when looking for the next valid marker. + const nextFileMarker = findNextFileMarker( + data, + /* currentPos = */ offset - 2, + /* startPos = */ offset - 3 + ); + if (nextFileMarker && nextFileMarker.invalid) { + warn( + "JpegImage.parse - unexpected data, current marker is: " + + nextFileMarker.invalid + ); + offset = nextFileMarker.offset; + break; + } + if (offset >= data.length - 1) { + warn( + "JpegImage.parse - reached the end of the image data " + + "without finding an EOI marker (0xFFD9)." + ); + break markerLoop; + } + throw new JpegError( + "JpegImage.parse - unknown marker: " + fileMarker.toString(16) + ); + } + fileMarker = readUint16(data, offset); + offset += 2; + } + + this.width = frame.samplesPerLine; + this.height = frame.scanLines; + this.jfif = jfif; + this.adobe = adobe; + this.components = []; + for (i = 0; i < frame.components.length; i++) { + component = frame.components[i]; + + // Prevent errors when DQT markers are placed after SOF{n} markers, + // by assigning the `quantizationTable` entry after the entire image + // has been parsed (fixes issue7406.pdf). + var quantizationTable = quantizationTables[component.quantizationId]; + if (quantizationTable) { + component.quantizationTable = quantizationTable; + } + + this.components.push({ + index: component.index, + output: buildComponentData(frame, component), + scaleX: component.h / frame.maxH, + scaleY: component.v / frame.maxV, + blocksPerLine: component.blocksPerLine, + blocksPerColumn: component.blocksPerColumn, + }); + } + this.numComponents = this.components.length; + return undefined; + }, + + _getLinearizedBlockData(width, height, isSourcePDF = false) { + var scaleX = this.width / width, + scaleY = this.height / height; + + var component, componentScaleX, componentScaleY, blocksPerScanline; + var x, y, i, j, k; + var index; + var offset = 0; + var output; + var numComponents = this.components.length; + var dataLength = width * height * numComponents; + var data = new Uint8ClampedArray(dataLength); + var xScaleBlockOffset = new Uint32Array(width); + var mask3LSB = 0xfffffff8; // used to clear the 3 LSBs + let lastComponentScaleX; + + for (i = 0; i < numComponents; i++) { + component = this.components[i]; + componentScaleX = component.scaleX * scaleX; + componentScaleY = component.scaleY * scaleY; + offset = i; + output = component.output; + blocksPerScanline = (component.blocksPerLine + 1) << 3; + // Precalculate the `xScaleBlockOffset`. Since it doesn't depend on the + // component data, that's only necessary when `componentScaleX` changes. + if (componentScaleX !== lastComponentScaleX) { + for (x = 0; x < width; x++) { + j = 0 | (x * componentScaleX); + xScaleBlockOffset[x] = ((j & mask3LSB) << 3) | (j & 7); + } + lastComponentScaleX = componentScaleX; + } + // linearize the blocks of the component + for (y = 0; y < height; y++) { + j = 0 | (y * componentScaleY); + index = (blocksPerScanline * (j & mask3LSB)) | ((j & 7) << 3); + for (x = 0; x < width; x++) { + data[offset] = output[index + xScaleBlockOffset[x]]; + offset += numComponents; + } + } + } + + // decodeTransform contains pairs of multiplier (-256..256) and additive + let transform = this._decodeTransform; + + // In PDF files, JPEG images with CMYK colour spaces are usually inverted + // (this can be observed by extracting the raw image data). + // Since the conversion algorithms (see below) were written primarily for + // the PDF use-cases, attempting to use `JpegImage` to parse standalone + // JPEG (CMYK) images may thus result in inverted images (see issue 9513). + // + // Unfortunately it's not (always) possible to tell, from the image data + // alone, if it needs to be inverted. Thus in an attempt to provide better + // out-of-box behaviour when `JpegImage` is used standalone, default to + // inverting JPEG (CMYK) images if and only if the image data does *not* + // come from a PDF file and no `decodeTransform` was passed by the user. + if (!isSourcePDF && numComponents === 4 && !transform) { + // prettier-ignore + transform = new Int32Array([ + -256, 255, -256, 255, -256, 255, -256, 255]); + } + + if (transform) { + for (i = 0; i < dataLength; ) { + for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) { + data[i] = ((data[i] * transform[k]) >> 8) + transform[k + 1]; + } + } + } + return data; + }, + + get _isColorConversionNeeded() { + if (this.adobe) { + // The adobe transform marker overrides any previous setting. + return !!this.adobe.transformCode; + } + if (this.numComponents === 3) { + if (this._colorTransform === 0) { + // If the Adobe transform marker is not present and the image + // dictionary has a 'ColorTransform' entry, explicitly set to `0`, + // then the colours should *not* be transformed. + return false; + } else if ( + this.components[0].index === /* "R" = */ 0x52 && + this.components[1].index === /* "G" = */ 0x47 && + this.components[2].index === /* "B" = */ 0x42 + ) { + // If the three components are indexed as RGB in ASCII + // then the colours should *not* be transformed. + return false; + } + return true; + } + // `this.numComponents !== 3` + if (this._colorTransform === 1) { + // If the Adobe transform marker is not present and the image + // dictionary has a 'ColorTransform' entry, explicitly set to `1`, + // then the colours should be transformed. + return true; + } + return false; + }, + + _convertYccToRgb: function convertYccToRgb(data) { + var Y, Cb, Cr; + for (var i = 0, length = data.length; i < length; i += 3) { + Y = data[i]; + Cb = data[i + 1]; + Cr = data[i + 2]; + data[i] = Y - 179.456 + 1.402 * Cr; + data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr; + data[i + 2] = Y - 226.816 + 1.772 * Cb; + } + return data; + }, + + _convertYcckToRgb: function convertYcckToRgb(data) { + var Y, Cb, Cr, k; + var offset = 0; + for (var i = 0, length = data.length; i < length; i += 4) { + Y = data[i]; + Cb = data[i + 1]; + Cr = data[i + 2]; + k = data[i + 3]; + + data[offset++] = + -122.67195406894 + + Cb * + (-6.60635669420364e-5 * Cb + + 0.000437130475926232 * Cr - + 5.4080610064599e-5 * Y + + 0.00048449797120281 * k - + 0.154362151871126) + + Cr * + (-0.000957964378445773 * Cr + + 0.000817076911346625 * Y - + 0.00477271405408747 * k + + 1.53380253221734) + + Y * + (0.000961250184130688 * Y - + 0.00266257332283933 * k + + 0.48357088451265) + + k * (-0.000336197177618394 * k + 0.484791561490776); + + data[offset++] = + 107.268039397724 + + Cb * + (2.19927104525741e-5 * Cb - + 0.000640992018297945 * Cr + + 0.000659397001245577 * Y + + 0.000426105652938837 * k - + 0.176491792462875) + + Cr * + (-0.000778269941513683 * Cr + + 0.00130872261408275 * Y + + 0.000770482631801132 * k - + 0.151051492775562) + + Y * + (0.00126935368114843 * Y - + 0.00265090189010898 * k + + 0.25802910206845) + + k * (-0.000318913117588328 * k - 0.213742400323665); + + data[offset++] = + -20.810012546947 + + Cb * + (-0.000570115196973677 * Cb - + 2.63409051004589e-5 * Cr + + 0.0020741088115012 * Y - + 0.00288260236853442 * k + + 0.814272968359295) + + Cr * + (-1.53496057440975e-5 * Cr - + 0.000132689043961446 * Y + + 0.000560833691242812 * k - + 0.195152027534049) + + Y * + (0.00174418132927582 * Y - + 0.00255243321439347 * k + + 0.116935020465145) + + k * (-0.000343531996510555 * k + 0.24165260232407); + } + // Ensure that only the converted RGB data is returned. + return data.subarray(0, offset); + }, + + _convertYcckToCmyk: function convertYcckToCmyk(data) { + var Y, Cb, Cr; + for (var i = 0, length = data.length; i < length; i += 4) { + Y = data[i]; + Cb = data[i + 1]; + Cr = data[i + 2]; + data[i] = 434.456 - Y - 1.402 * Cr; + data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr; + data[i + 2] = 481.816 - Y - 1.772 * Cb; + // K in data[i + 3] is unchanged + } + return data; + }, + + _convertCmykToRgb: function convertCmykToRgb(data) { + var c, m, y, k; + var offset = 0; + for (var i = 0, length = data.length; i < length; i += 4) { + c = data[i]; + m = data[i + 1]; + y = data[i + 2]; + k = data[i + 3]; + + data[offset++] = + 255 + + c * + (-0.00006747147073602441 * c + + 0.0008379262121013727 * m + + 0.0002894718188643294 * y + + 0.003264231057537806 * k - + 1.1185611867203937) + + m * + (0.000026374107616089405 * m - + 0.00008626949158638572 * y - + 0.0002748769067499491 * k - + 0.02155688794978967) + + y * + (-0.00003878099212869363 * y - + 0.0003267808279485286 * k + + 0.0686742238595345) - + k * (0.0003361971776183937 * k + 0.7430659151342254); + + data[offset++] = + 255 + + c * + (0.00013596372813588848 * c + + 0.000924537132573585 * m + + 0.00010567359618683593 * y + + 0.0004791864687436512 * k - + 0.3109689587515875) + + m * + (-0.00023545346108370344 * m + + 0.0002702845253534714 * y + + 0.0020200308977307156 * k - + 0.7488052167015494) + + y * + (0.00006834815998235662 * y + + 0.00015168452363460973 * k - + 0.09751927774728933) - + k * (0.00031891311758832814 * k + 0.7364883807733168); + + data[offset++] = + 255 + + c * + (0.000013598650411385307 * c + + 0.00012423956175490851 * m + + 0.0004751985097583589 * y - + 0.0000036729317476630422 * k - + 0.05562186980264034) + + m * + (0.00016141380598724676 * m + + 0.0009692239130725186 * y + + 0.0007782692450036253 * k - + 0.44015232367526463) + + y * + (5.068882914068769e-7 * y + + 0.0017778369011375071 * k - + 0.7591454649749609) - + k * (0.0003435319965105553 * k + 0.7063770186160144); + } + // Ensure that only the converted RGB data is returned. + return data.subarray(0, offset); + }, + + getData({ width, height, forceRGB = false, isSourcePDF = false }) { + if (this.numComponents > 4) { + throw new JpegError("Unsupported color mode"); + } + // Type of data: Uint8ClampedArray(width * height * numComponents) + var data = this._getLinearizedBlockData(width, height, isSourcePDF); + + if (this.numComponents === 1 && forceRGB) { + var dataLength = data.length; + var rgbData = new Uint8ClampedArray(dataLength * 3); + var offset = 0; + for (var i = 0; i < dataLength; i++) { + var grayColor = data[i]; + rgbData[offset++] = grayColor; + rgbData[offset++] = grayColor; + rgbData[offset++] = grayColor; + } + return rgbData; + } else if (this.numComponents === 3 && this._isColorConversionNeeded) { + return this._convertYccToRgb(data); + } else if (this.numComponents === 4) { + if (this._isColorConversionNeeded) { + if (forceRGB) { + return this._convertYcckToRgb(data); + } + return this._convertYcckToCmyk(data); + } else if (forceRGB) { + return this._convertCmykToRgb(data); + } + } + return data; + }, + }; + + return JpegImage; +})(); + + + "use strict"; + var ArithmeticDecoder = function ArithmeticDecoderClosure() { + var QeTable = [{ + qe: 0x5601, + nmps: 1, + nlps: 1, + switchFlag: 1 + }, { + qe: 0x3401, + nmps: 2, + nlps: 6, + switchFlag: 0 + }, { + qe: 0x1801, + nmps: 3, + nlps: 9, + switchFlag: 0 + }, { + qe: 0x0AC1, + nmps: 4, + nlps: 12, + switchFlag: 0 + }, { + qe: 0x0521, + nmps: 5, + nlps: 29, + switchFlag: 0 + }, { + qe: 0x0221, + nmps: 38, + nlps: 33, + switchFlag: 0 + }, { + qe: 0x5601, + nmps: 7, + nlps: 6, + switchFlag: 1 + }, { + qe: 0x5401, + nmps: 8, + nlps: 14, + switchFlag: 0 + }, { + qe: 0x4801, + nmps: 9, + nlps: 14, + switchFlag: 0 + }, { + qe: 0x3801, + nmps: 10, + nlps: 14, + switchFlag: 0 + }, { + qe: 0x3001, + nmps: 11, + nlps: 17, + switchFlag: 0 + }, { + qe: 0x2401, + nmps: 12, + nlps: 18, + switchFlag: 0 + }, { + qe: 0x1C01, + nmps: 13, + nlps: 20, + switchFlag: 0 + }, { + qe: 0x1601, + nmps: 29, + nlps: 21, + switchFlag: 0 + }, { + qe: 0x5601, + nmps: 15, + nlps: 14, + switchFlag: 1 + }, { + qe: 0x5401, + nmps: 16, + nlps: 14, + switchFlag: 0 + }, { + qe: 0x5101, + nmps: 17, + nlps: 15, + switchFlag: 0 + }, { + qe: 0x4801, + nmps: 18, + nlps: 16, + switchFlag: 0 + }, { + qe: 0x3801, + nmps: 19, + nlps: 17, + switchFlag: 0 + }, { + qe: 0x3401, + nmps: 20, + nlps: 18, + switchFlag: 0 + }, { + qe: 0x3001, + nmps: 21, + nlps: 19, + switchFlag: 0 + }, { + qe: 0x2801, + nmps: 22, + nlps: 19, + switchFlag: 0 + }, { + qe: 0x2401, + nmps: 23, + nlps: 20, + switchFlag: 0 + }, { + qe: 0x2201, + nmps: 24, + nlps: 21, + switchFlag: 0 + }, { + qe: 0x1C01, + nmps: 25, + nlps: 22, + switchFlag: 0 + }, { + qe: 0x1801, + nmps: 26, + nlps: 23, + switchFlag: 0 + }, { + qe: 0x1601, + nmps: 27, + nlps: 24, + switchFlag: 0 + }, { + qe: 0x1401, + nmps: 28, + nlps: 25, + switchFlag: 0 + }, { + qe: 0x1201, + nmps: 29, + nlps: 26, + switchFlag: 0 + }, { + qe: 0x1101, + nmps: 30, + nlps: 27, + switchFlag: 0 + }, { + qe: 0x0AC1, + nmps: 31, + nlps: 28, + switchFlag: 0 + }, { + qe: 0x09C1, + nmps: 32, + nlps: 29, + switchFlag: 0 + }, { + qe: 0x08A1, + nmps: 33, + nlps: 30, + switchFlag: 0 + }, { + qe: 0x0521, + nmps: 34, + nlps: 31, + switchFlag: 0 + }, { + qe: 0x0441, + nmps: 35, + nlps: 32, + switchFlag: 0 + }, { + qe: 0x02A1, + nmps: 36, + nlps: 33, + switchFlag: 0 + }, { + qe: 0x0221, + nmps: 37, + nlps: 34, + switchFlag: 0 + }, { + qe: 0x0141, + nmps: 38, + nlps: 35, + switchFlag: 0 + }, { + qe: 0x0111, + nmps: 39, + nlps: 36, + switchFlag: 0 + }, { + qe: 0x0085, + nmps: 40, + nlps: 37, + switchFlag: 0 + }, { + qe: 0x0049, + nmps: 41, + nlps: 38, + switchFlag: 0 + }, { + qe: 0x0025, + nmps: 42, + nlps: 39, + switchFlag: 0 + }, { + qe: 0x0015, + nmps: 43, + nlps: 40, + switchFlag: 0 + }, { + qe: 0x0009, + nmps: 44, + nlps: 41, + switchFlag: 0 + }, { + qe: 0x0005, + nmps: 45, + nlps: 42, + switchFlag: 0 + }, { + qe: 0x0001, + nmps: 45, + nlps: 43, + switchFlag: 0 + }, { + qe: 0x5601, + nmps: 46, + nlps: 46, + switchFlag: 0 + }]; + function ArithmeticDecoder(data, start, end) { + this.data = data; + this.bp = start; + this.dataEnd = end; + this.chigh = data[start]; + this.clow = 0; + this.byteIn(); + this.chigh = this.chigh << 7 & 0xFFFF | this.clow >> 9 & 0x7F; + this.clow = this.clow << 7 & 0xFFFF; + this.ct -= 7; + this.a = 0x8000; + } + ArithmeticDecoder.prototype = { + byteIn: function ArithmeticDecoder_byteIn() { + var data = this.data; + var bp = this.bp; + if (data[bp] === 0xFF) { + var b1 = data[bp + 1]; + if (b1 > 0x8F) { + this.clow += 0xFF00; + this.ct = 8; + } else { + bp++; + this.clow += data[bp] << 9; + this.ct = 7; + this.bp = bp; + } + } else { + bp++; + this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xFF00; + this.ct = 8; + this.bp = bp; + } + if (this.clow > 0xFFFF) { + this.chigh += this.clow >> 16; + this.clow &= 0xFFFF; + } + }, + readBit: function ArithmeticDecoder_readBit(contexts, pos) { + var cx_index = contexts[pos] >> 1, + cx_mps = contexts[pos] & 1; + var qeTableIcx = QeTable[cx_index]; + var qeIcx = qeTableIcx.qe; + var d; + var a = this.a - qeIcx; + if (this.chigh < qeIcx) { + if (a < qeIcx) { + a = qeIcx; + d = cx_mps; + cx_index = qeTableIcx.nmps; + } else { + a = qeIcx; + d = 1 ^ cx_mps; + if (qeTableIcx.switchFlag === 1) { + cx_mps = d; + } + cx_index = qeTableIcx.nlps; + } + } else { + this.chigh -= qeIcx; + if ((a & 0x8000) !== 0) { + this.a = a; + return cx_mps; + } + if (a < qeIcx) { + d = 1 ^ cx_mps; + if (qeTableIcx.switchFlag === 1) { + cx_mps = d; + } + cx_index = qeTableIcx.nlps; + } else { + d = cx_mps; + cx_index = qeTableIcx.nmps; + } + } + do { + if (this.ct === 0) { + this.byteIn(); + } + a <<= 1; + this.chigh = this.chigh << 1 & 0xFFFF | this.clow >> 15 & 1; + this.clow = this.clow << 1 & 0xFFFF; + this.ct--; + } while ((a & 0x8000) === 0); + this.a = a; + contexts[pos] = cx_index << 1 | cx_mps; + return d; + } + }; + return ArithmeticDecoder; +}(); + + + + "use strict"; + var JpxImage = function JpxImageClosure() { + var SubbandsGainLog2 = { + 'LL': 0, + 'LH': 1, + 'HL': 1, + 'HH': 2 + }; + function JpxImage() { + this.failOnCorruptedImage = false; + } + JpxImage.prototype = { + parse: function JpxImage_parse(data) { + var head = readUint16(data, 0); + if (head === 0xFF4F) { + this.parseCodestream(data, 0, data.length); + return; + } + var position = 0, + length = data.length; + while (position < length) { + var headerSize = 8; + var lbox = readUint32(data, position); + var tbox = readUint32(data, position + 4); + position += headerSize; + if (lbox === 1) { + lbox = readUint32(data, position) * 4294967296 + readUint32(data, position + 4); + position += 8; + headerSize += 8; + } + if (lbox === 0) { + lbox = length - position + headerSize; + } + if (lbox < headerSize) { + error('JPX Error: Invalid box field size'); + } + var dataLength = lbox - headerSize; + var jumpDataLength = true; + switch (tbox) { + case 0x6A703268: + jumpDataLength = false; + break; + case 0x636F6C72: + var method = data[position]; + if (method === 1) { + var colorspace = readUint32(data, position + 3); + switch (colorspace) { + case 16: + case 17: + case 18: + break; + default: + warn('Unknown colorspace ' + colorspace); + break; + } + } else if (method === 2) { + info('ICC profile not supported'); + } + break; + case 0x6A703263: + this.parseCodestream(data, position, position + dataLength); + break; + case 0x6A502020: + if (readUint32(data, position) !== 0x0d0a870a) { + warn('Invalid JP2 signature'); + } + break; + case 0x6A501A1A: + case 0x66747970: + case 0x72726571: + case 0x72657320: + case 0x69686472: + break; + default: + var headerType = String.fromCharCode(tbox >> 24 & 0xFF, tbox >> 16 & 0xFF, tbox >> 8 & 0xFF, tbox & 0xFF); + warn('Unsupported header type ' + tbox + ' (' + headerType + ')'); + break; + } + if (jumpDataLength) { + position += dataLength; + } + } + }, + parseImageProperties: function JpxImage_parseImageProperties(stream) { + var newByte = stream.getByte(); + while (newByte >= 0) { + var oldByte = newByte; + newByte = stream.getByte(); + var code = oldByte << 8 | newByte; + if (code === 0xFF51) { + stream.skip(4); + var Xsiz = stream.getInt32() >>> 0; + var Ysiz = stream.getInt32() >>> 0; + var XOsiz = stream.getInt32() >>> 0; + var YOsiz = stream.getInt32() >>> 0; + stream.skip(16); + var Csiz = stream.getUint16(); + this.width = Xsiz - XOsiz; + this.height = Ysiz - YOsiz; + this.componentsCount = Csiz; + this.bitsPerComponent = 8; + return; + } + } + error('JPX Error: No size marker found in JPX stream'); + }, + parseCodestream: function JpxImage_parseCodestream(data, start, end) { + var context = {}; + var doNotRecover = false; + try { + var position = start; + while (position + 1 < end) { + var code = readUint16(data, position); + position += 2; + var length = 0, + j, + sqcd, + spqcds, + spqcdSize, + scalarExpounded, + tile; + switch (code) { + case 0xFF4F: + context.mainHeader = true; + break; + case 0xFFD9: + break; + case 0xFF51: + length = readUint16(data, position); + var siz = {}; + siz.Xsiz = readUint32(data, position + 4); + siz.Ysiz = readUint32(data, position + 8); + siz.XOsiz = readUint32(data, position + 12); + siz.YOsiz = readUint32(data, position + 16); + siz.XTsiz = readUint32(data, position + 20); + siz.YTsiz = readUint32(data, position + 24); + siz.XTOsiz = readUint32(data, position + 28); + siz.YTOsiz = readUint32(data, position + 32); + var componentsCount = readUint16(data, position + 36); + siz.Csiz = componentsCount; + var components = []; + j = position + 38; + for (var i = 0; i < componentsCount; i++) { + var component = { + precision: (data[j] & 0x7F) + 1, + isSigned: !!(data[j] & 0x80), + XRsiz: data[j + 1], + YRsiz: data[j + 1] + }; + calculateComponentDimensions(component, siz); + components.push(component); + } + context.SIZ = siz; + context.components = components; + calculateTileGrids(context, components); + context.QCC = []; + context.COC = []; + break; + case 0xFF5C: + length = readUint16(data, position); + var qcd = {}; + j = position + 2; + sqcd = data[j++]; + switch (sqcd & 0x1F) { + case 0: + spqcdSize = 8; + scalarExpounded = true; + break; + case 1: + spqcdSize = 16; + scalarExpounded = false; + break; + case 2: + spqcdSize = 16; + scalarExpounded = true; + break; + default: + throw new Error('Invalid SQcd value ' + sqcd); + } + qcd.noQuantization = spqcdSize === 8; + qcd.scalarExpounded = scalarExpounded; + qcd.guardBits = sqcd >> 5; + spqcds = []; + while (j < length + position) { + var spqcd = {}; + if (spqcdSize === 8) { + spqcd.epsilon = data[j++] >> 3; + spqcd.mu = 0; + } else { + spqcd.epsilon = data[j] >> 3; + spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1]; + j += 2; + } + spqcds.push(spqcd); + } + qcd.SPqcds = spqcds; + if (context.mainHeader) { + context.QCD = qcd; + } else { + context.currentTile.QCD = qcd; + context.currentTile.QCC = []; + } + break; + case 0xFF5D: + length = readUint16(data, position); + var qcc = {}; + j = position + 2; + var cqcc; + if (context.SIZ.Csiz < 257) { + cqcc = data[j++]; + } else { + cqcc = readUint16(data, j); + j += 2; + } + sqcd = data[j++]; + switch (sqcd & 0x1F) { + case 0: + spqcdSize = 8; + scalarExpounded = true; + break; + case 1: + spqcdSize = 16; + scalarExpounded = false; + break; + case 2: + spqcdSize = 16; + scalarExpounded = true; + break; + default: + throw new Error('Invalid SQcd value ' + sqcd); + } + qcc.noQuantization = spqcdSize === 8; + qcc.scalarExpounded = scalarExpounded; + qcc.guardBits = sqcd >> 5; + spqcds = []; + while (j < length + position) { + spqcd = {}; + if (spqcdSize === 8) { + spqcd.epsilon = data[j++] >> 3; + spqcd.mu = 0; + } else { + spqcd.epsilon = data[j] >> 3; + spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1]; + j += 2; + } + spqcds.push(spqcd); + } + qcc.SPqcds = spqcds; + if (context.mainHeader) { + context.QCC[cqcc] = qcc; + } else { + context.currentTile.QCC[cqcc] = qcc; + } + break; + case 0xFF52: + length = readUint16(data, position); + var cod = {}; + j = position + 2; + var scod = data[j++]; + cod.entropyCoderWithCustomPrecincts = !!(scod & 1); + cod.sopMarkerUsed = !!(scod & 2); + cod.ephMarkerUsed = !!(scod & 4); + cod.progressionOrder = data[j++]; + cod.layersCount = readUint16(data, j); + j += 2; + cod.multipleComponentTransform = data[j++]; + cod.decompositionLevelsCount = data[j++]; + cod.xcb = (data[j++] & 0xF) + 2; + cod.ycb = (data[j++] & 0xF) + 2; + var blockStyle = data[j++]; + cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1); + cod.resetContextProbabilities = !!(blockStyle & 2); + cod.terminationOnEachCodingPass = !!(blockStyle & 4); + cod.verticalyStripe = !!(blockStyle & 8); + cod.predictableTermination = !!(blockStyle & 16); + cod.segmentationSymbolUsed = !!(blockStyle & 32); + cod.reversibleTransformation = data[j++]; + if (cod.entropyCoderWithCustomPrecincts) { + var precinctsSizes = []; + while (j < length + position) { + var precinctsSize = data[j++]; + precinctsSizes.push({ + PPx: precinctsSize & 0xF, + PPy: precinctsSize >> 4 + }); + } + cod.precinctsSizes = precinctsSizes; + } + var unsupported = []; + if (cod.selectiveArithmeticCodingBypass) { + unsupported.push('selectiveArithmeticCodingBypass'); + } + if (cod.resetContextProbabilities) { + unsupported.push('resetContextProbabilities'); + } + if (cod.terminationOnEachCodingPass) { + unsupported.push('terminationOnEachCodingPass'); + } + if (cod.verticalyStripe) { + unsupported.push('verticalyStripe'); + } + if (cod.predictableTermination) { + unsupported.push('predictableTermination'); + } + if (unsupported.length > 0) { + doNotRecover = true; + throw new Error('Unsupported COD options (' + unsupported.join(', ') + ')'); + } + if (context.mainHeader) { + context.COD = cod; + } else { + context.currentTile.COD = cod; + context.currentTile.COC = []; + } + break; + case 0xFF90: + length = readUint16(data, position); + tile = {}; + tile.index = readUint16(data, position + 2); + tile.length = readUint32(data, position + 4); + tile.dataEnd = tile.length + position - 2; + tile.partIndex = data[position + 8]; + tile.partsCount = data[position + 9]; + context.mainHeader = false; + if (tile.partIndex === 0) { + tile.COD = context.COD; + tile.COC = context.COC.slice(0); + tile.QCD = context.QCD; + tile.QCC = context.QCC.slice(0); + } + context.currentTile = tile; + break; + case 0xFF93: + tile = context.currentTile; + if (tile.partIndex === 0) { + initializeTile(context, tile.index); + buildPackets(context); + } + length = tile.dataEnd - position; + parseTilePackets(context, data, position, length); + break; + case 0xFF55: + case 0xFF57: + case 0xFF58: + case 0xFF64: + length = readUint16(data, position); + break; + case 0xFF53: + throw new Error('Codestream code 0xFF53 (COC) is ' + 'not implemented'); + default: + throw new Error('Unknown codestream code: ' + code.toString(16)); + } + position += length; + } + } catch (e) { + if (doNotRecover || this.failOnCorruptedImage) { + error('JPX Error: ' + e.message); + } else { + warn('JPX: Trying to recover from: ' + e.message); + } + } + this.tiles = transformComponents(context); + this.width = context.SIZ.Xsiz - context.SIZ.XOsiz; + this.height = context.SIZ.Ysiz - context.SIZ.YOsiz; + this.componentsCount = context.SIZ.Csiz; + } + }; + function calculateComponentDimensions(component, siz) { + component.x0 = Math.ceil(siz.XOsiz / component.XRsiz); + component.x1 = Math.ceil(siz.Xsiz / component.XRsiz); + component.y0 = Math.ceil(siz.YOsiz / component.YRsiz); + component.y1 = Math.ceil(siz.Ysiz / component.YRsiz); + component.width = component.x1 - component.x0; + component.height = component.y1 - component.y0; + } + function calculateTileGrids(context, components) { + var siz = context.SIZ; + var tile, + tiles = []; + var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz); + var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz); + for (var q = 0; q < numYtiles; q++) { + for (var p = 0; p < numXtiles; p++) { + tile = {}; + tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz); + tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz); + tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz); + tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz); + tile.width = tile.tx1 - tile.tx0; + tile.height = tile.ty1 - tile.ty0; + tile.components = []; + tiles.push(tile); + } + } + context.tiles = tiles; + var componentsCount = siz.Csiz; + for (var i = 0, ii = componentsCount; i < ii; i++) { + var component = components[i]; + for (var j = 0, jj = tiles.length; j < jj; j++) { + var tileComponent = {}; + tile = tiles[j]; + tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz); + tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz); + tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz); + tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz); + tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0; + tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0; + tile.components[i] = tileComponent; + } + } + } + function getBlocksDimensions(context, component, r) { + var codOrCoc = component.codingStyleParameters; + var result = {}; + if (!codOrCoc.entropyCoderWithCustomPrecincts) { + result.PPx = 15; + result.PPy = 15; + } else { + result.PPx = codOrCoc.precinctsSizes[r].PPx; + result.PPy = codOrCoc.precinctsSizes[r].PPy; + } + result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx); + result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy); + return result; + } + function buildPrecincts(context, resolution, dimensions) { + var precinctWidth = 1 << dimensions.PPx; + var precinctHeight = 1 << dimensions.PPy; + var isZeroRes = resolution.resLevel === 0; + var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1); + var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1); + var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0; + var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0; + var numprecincts = numprecinctswide * numprecinctshigh; + resolution.precinctParameters = { + precinctWidth: precinctWidth, + precinctHeight: precinctHeight, + numprecinctswide: numprecinctswide, + numprecinctshigh: numprecinctshigh, + numprecincts: numprecincts, + precinctWidthInSubband: precinctWidthInSubband, + precinctHeightInSubband: precinctHeightInSubband + }; + } + function buildCodeblocks(context, subband, dimensions) { + var xcb_ = dimensions.xcb_; + var ycb_ = dimensions.ycb_; + var codeblockWidth = 1 << xcb_; + var codeblockHeight = 1 << ycb_; + var cbx0 = subband.tbx0 >> xcb_; + var cby0 = subband.tby0 >> ycb_; + var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_; + var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_; + var precinctParameters = subband.resolution.precinctParameters; + var codeblocks = []; + var precincts = []; + var i, j, codeblock, precinctNumber; + for (j = cby0; j < cby1; j++) { + for (i = cbx0; i < cbx1; i++) { + codeblock = { + cbx: i, + cby: j, + tbx0: codeblockWidth * i, + tby0: codeblockHeight * j, + tbx1: codeblockWidth * (i + 1), + tby1: codeblockHeight * (j + 1) + }; + codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0); + codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0); + codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1); + codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1); + var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband); + var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband); + precinctNumber = pi + pj * precinctParameters.numprecinctswide; + codeblock.precinctNumber = precinctNumber; + codeblock.subbandType = subband.type; + codeblock.Lblock = 3; + if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) { + continue; + } + codeblocks.push(codeblock); + var precinct = precincts[precinctNumber]; + if (precinct !== undefined) { + if (i < precinct.cbxMin) { + precinct.cbxMin = i; + } else if (i > precinct.cbxMax) { + precinct.cbxMax = i; + } + if (j < precinct.cbyMin) { + precinct.cbxMin = j; + } else if (j > precinct.cbyMax) { + precinct.cbyMax = j; + } + } else { + precincts[precinctNumber] = precinct = { + cbxMin: i, + cbyMin: j, + cbxMax: i, + cbyMax: j + }; + } + codeblock.precinct = precinct; + } + } + subband.codeblockParameters = { + codeblockWidth: xcb_, + codeblockHeight: ycb_, + numcodeblockwide: cbx1 - cbx0 + 1, + numcodeblockhigh: cby1 - cby0 + 1 + }; + subband.codeblocks = codeblocks; + subband.precincts = precincts; + } + function createPacket(resolution, precinctNumber, layerNumber) { + var precinctCodeblocks = []; + var subbands = resolution.subbands; + for (var i = 0, ii = subbands.length; i < ii; i++) { + var subband = subbands[i]; + var codeblocks = subband.codeblocks; + for (var j = 0, jj = codeblocks.length; j < jj; j++) { + var codeblock = codeblocks[j]; + if (codeblock.precinctNumber !== precinctNumber) { + continue; + } + precinctCodeblocks.push(codeblock); + } + } + return { + layerNumber: layerNumber, + codeblocks: precinctCodeblocks + }; + } + function LayerResolutionComponentPositionIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var maxDecompositionLevelsCount = 0; + for (var q = 0; q < componentsCount; q++) { + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount); + } + var l = 0, + r = 0, + i = 0, + k = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; l < layersCount; l++) { + for (; r <= maxDecompositionLevelsCount; r++) { + for (; i < componentsCount; i++) { + var component = tile.components[i]; + if (r > component.codingStyleParameters.decompositionLevelsCount) { + continue; + } + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + for (; k < numprecincts;) { + var packet = createPacket(resolution, k, l); + k++; + return packet; + } + k = 0; + } + i = 0; + } + r = 0; + } + error('JPX Error: Out of packets'); + }; + } + function ResolutionLayerComponentPositionIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var maxDecompositionLevelsCount = 0; + for (var q = 0; q < componentsCount; q++) { + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount); + } + var r = 0, + l = 0, + i = 0, + k = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; r <= maxDecompositionLevelsCount; r++) { + for (; l < layersCount; l++) { + for (; i < componentsCount; i++) { + var component = tile.components[i]; + if (r > component.codingStyleParameters.decompositionLevelsCount) { + continue; + } + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + for (; k < numprecincts;) { + var packet = createPacket(resolution, k, l); + k++; + return packet; + } + k = 0; + } + i = 0; + } + l = 0; + } + error('JPX Error: Out of packets'); + }; + } + function ResolutionPositionComponentLayerIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var l, r, c, p; + var maxDecompositionLevelsCount = 0; + for (c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount); + } + var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1); + for (r = 0; r <= maxDecompositionLevelsCount; ++r) { + var maxNumPrecincts = 0; + for (c = 0; c < componentsCount; ++c) { + var resolutions = tile.components[c].resolutions; + if (r < resolutions.length) { + maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts); + } + } + maxNumPrecinctsInLevel[r] = maxNumPrecincts; + } + l = 0; + r = 0; + c = 0; + p = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; r <= maxDecompositionLevelsCount; r++) { + for (; p < maxNumPrecinctsInLevel[r]; p++) { + for (; c < componentsCount; c++) { + var component = tile.components[c]; + if (r > component.codingStyleParameters.decompositionLevelsCount) { + continue; + } + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + if (p >= numprecincts) { + continue; + } + for (; l < layersCount;) { + var packet = createPacket(resolution, p, l); + l++; + return packet; + } + l = 0; + } + c = 0; + } + p = 0; + } + error('JPX Error: Out of packets'); + }; + } + function PositionComponentResolutionLayerIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var precinctsSizes = getPrecinctSizesInImageScale(tile); + var precinctsIterationSizes = precinctsSizes; + var l = 0, + r = 0, + c = 0, + px = 0, + py = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; py < precinctsIterationSizes.maxNumHigh; py++) { + for (; px < precinctsIterationSizes.maxNumWide; px++) { + for (; c < componentsCount; c++) { + var component = tile.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + for (; r <= decompositionLevelsCount; r++) { + var resolution = component.resolutions[r]; + var sizeInImageScale = precinctsSizes.components[c].resolutions[r]; + var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution); + if (k === null) { + continue; + } + for (; l < layersCount;) { + var packet = createPacket(resolution, k, l); + l++; + return packet; + } + l = 0; + } + r = 0; + } + c = 0; + } + px = 0; + } + error('JPX Error: Out of packets'); + }; + } + function ComponentPositionResolutionLayerIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var precinctsSizes = getPrecinctSizesInImageScale(tile); + var l = 0, + r = 0, + c = 0, + px = 0, + py = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; c < componentsCount; ++c) { + var component = tile.components[c]; + var precinctsIterationSizes = precinctsSizes.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + for (; py < precinctsIterationSizes.maxNumHigh; py++) { + for (; px < precinctsIterationSizes.maxNumWide; px++) { + for (; r <= decompositionLevelsCount; r++) { + var resolution = component.resolutions[r]; + var sizeInImageScale = precinctsIterationSizes.resolutions[r]; + var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution); + if (k === null) { + continue; + } + for (; l < layersCount;) { + var packet = createPacket(resolution, k, l); + l++; + return packet; + } + l = 0; + } + r = 0; + } + px = 0; + } + py = 0; + } + error('JPX Error: Out of packets'); + }; + } + function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) { + var posX = pxIndex * precinctIterationSizes.minWidth; + var posY = pyIndex * precinctIterationSizes.minHeight; + if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) { + return null; + } + var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide; + return posX / sizeInImageScale.height + startPrecinctRowIndex; + } + function getPrecinctSizesInImageScale(tile) { + var componentsCount = tile.components.length; + var minWidth = Number.MAX_VALUE; + var minHeight = Number.MAX_VALUE; + var maxNumWide = 0; + var maxNumHigh = 0; + var sizePerComponent = new Array(componentsCount); + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + var sizePerResolution = new Array(decompositionLevelsCount + 1); + var minWidthCurrentComponent = Number.MAX_VALUE; + var minHeightCurrentComponent = Number.MAX_VALUE; + var maxNumWideCurrentComponent = 0; + var maxNumHighCurrentComponent = 0; + var scale = 1; + for (var r = decompositionLevelsCount; r >= 0; --r) { + var resolution = component.resolutions[r]; + var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth; + var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight; + minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution); + minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution); + maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide); + maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh); + sizePerResolution[r] = { + width: widthCurrentResolution, + height: heightCurrentResolution + }; + scale <<= 1; + } + minWidth = Math.min(minWidth, minWidthCurrentComponent); + minHeight = Math.min(minHeight, minHeightCurrentComponent); + maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent); + maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent); + sizePerComponent[c] = { + resolutions: sizePerResolution, + minWidth: minWidthCurrentComponent, + minHeight: minHeightCurrentComponent, + maxNumWide: maxNumWideCurrentComponent, + maxNumHigh: maxNumHighCurrentComponent + }; + } + return { + components: sizePerComponent, + minWidth: minWidth, + minHeight: minHeight, + maxNumWide: maxNumWide, + maxNumHigh: maxNumHigh + }; + } + function buildPackets(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var componentsCount = siz.Csiz; + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + var resolutions = []; + var subbands = []; + for (var r = 0; r <= decompositionLevelsCount; r++) { + var blocksDimensions = getBlocksDimensions(context, component, r); + var resolution = {}; + var scale = 1 << decompositionLevelsCount - r; + resolution.trx0 = Math.ceil(component.tcx0 / scale); + resolution.try0 = Math.ceil(component.tcy0 / scale); + resolution.trx1 = Math.ceil(component.tcx1 / scale); + resolution.try1 = Math.ceil(component.tcy1 / scale); + resolution.resLevel = r; + buildPrecincts(context, resolution, blocksDimensions); + resolutions.push(resolution); + var subband; + if (r === 0) { + subband = {}; + subband.type = 'LL'; + subband.tbx0 = Math.ceil(component.tcx0 / scale); + subband.tby0 = Math.ceil(component.tcy0 / scale); + subband.tbx1 = Math.ceil(component.tcx1 / scale); + subband.tby1 = Math.ceil(component.tcy1 / scale); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolution.subbands = [subband]; + } else { + var bscale = 1 << decompositionLevelsCount - r + 1; + var resolutionSubbands = []; + subband = {}; + subband.type = 'HL'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5); + subband.tby0 = Math.ceil(component.tcy0 / bscale); + subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5); + subband.tby1 = Math.ceil(component.tcy1 / bscale); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + subband = {}; + subband.type = 'LH'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale); + subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5); + subband.tbx1 = Math.ceil(component.tcx1 / bscale); + subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + subband = {}; + subband.type = 'HH'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5); + subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5); + subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5); + subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + resolution.subbands = resolutionSubbands; + } + } + component.resolutions = resolutions; + component.subbands = subbands; + } + var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder; + switch (progressionOrder) { + case 0: + tile.packetsIterator = new LayerResolutionComponentPositionIterator(context); + break; + case 1: + tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context); + break; + case 2: + tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context); + break; + case 3: + tile.packetsIterator = new PositionComponentResolutionLayerIterator(context); + break; + case 4: + tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context); + break; + default: + error('JPX Error: Unsupported progression order ' + progressionOrder); + } + } + function parseTilePackets(context, data, offset, dataLength) { + var position = 0; + var buffer, + bufferSize = 0, + skipNextBit = false; + function readBits(count) { + while (bufferSize < count) { + var b = data[offset + position]; + position++; + if (skipNextBit) { + buffer = buffer << 7 | b; + bufferSize += 7; + skipNextBit = false; + } else { + buffer = buffer << 8 | b; + bufferSize += 8; + } + if (b === 0xFF) { + skipNextBit = true; + } + } + bufferSize -= count; + return buffer >>> bufferSize & (1 << count) - 1; + } + function skipMarkerIfEqual(value) { + if (data[offset + position - 1] === 0xFF && data[offset + position] === value) { + skipBytes(1); + return true; + } else if (data[offset + position] === 0xFF && data[offset + position + 1] === value) { + skipBytes(2); + return true; + } + return false; + } + function skipBytes(count) { + position += count; + } + function alignToByte() { + bufferSize = 0; + if (skipNextBit) { + position++; + skipNextBit = false; + } + } + function readCodingpasses() { + if (readBits(1) === 0) { + return 1; + } + if (readBits(1) === 0) { + return 2; + } + var value = readBits(2); + if (value < 3) { + return value + 3; + } + value = readBits(5); + if (value < 31) { + return value + 6; + } + value = readBits(7); + return value + 37; + } + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var sopMarkerUsed = context.COD.sopMarkerUsed; + var ephMarkerUsed = context.COD.ephMarkerUsed; + var packetsIterator = tile.packetsIterator; + while (position < dataLength) { + alignToByte(); + if (sopMarkerUsed && skipMarkerIfEqual(0x91)) { + skipBytes(4); + } + var packet = packetsIterator.nextPacket(); + if (!readBits(1)) { + continue; + } + var layerNumber = packet.layerNumber; + var queue = [], + codeblock; + for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) { + codeblock = packet.codeblocks[i]; + var precinct = codeblock.precinct; + var codeblockColumn = codeblock.cbx - precinct.cbxMin; + var codeblockRow = codeblock.cby - precinct.cbyMin; + var codeblockIncluded = false; + var firstTimeInclusion = false; + var valueReady; + if (codeblock['included'] !== undefined) { + codeblockIncluded = !!readBits(1); + } else { + precinct = codeblock.precinct; + var inclusionTree, zeroBitPlanesTree; + if (precinct['inclusionTree'] !== undefined) { + inclusionTree = precinct.inclusionTree; + } else { + var width = precinct.cbxMax - precinct.cbxMin + 1; + var height = precinct.cbyMax - precinct.cbyMin + 1; + inclusionTree = new InclusionTree(width, height, layerNumber); + zeroBitPlanesTree = new TagTree(width, height); + precinct.inclusionTree = inclusionTree; + precinct.zeroBitPlanesTree = zeroBitPlanesTree; + } + if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) { + while (true) { + if (readBits(1)) { + valueReady = !inclusionTree.nextLevel(); + if (valueReady) { + codeblock.included = true; + codeblockIncluded = firstTimeInclusion = true; + break; + } + } else { + inclusionTree.incrementValue(layerNumber); + break; + } + } + } + } + if (!codeblockIncluded) { + continue; + } + if (firstTimeInclusion) { + zeroBitPlanesTree = precinct.zeroBitPlanesTree; + zeroBitPlanesTree.reset(codeblockColumn, codeblockRow); + while (true) { + if (readBits(1)) { + valueReady = !zeroBitPlanesTree.nextLevel(); + if (valueReady) { + break; + } + } else { + zeroBitPlanesTree.incrementValue(); + } + } + codeblock.zeroBitPlanes = zeroBitPlanesTree.value; + } + var codingpasses = readCodingpasses(); + while (readBits(1)) { + codeblock.Lblock++; + } + var codingpassesLog2 = log2(codingpasses); + var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock; + var codedDataLength = readBits(bits); + queue.push({ + codeblock: codeblock, + codingpasses: codingpasses, + dataLength: codedDataLength + }); + } + alignToByte(); + if (ephMarkerUsed) { + skipMarkerIfEqual(0x92); + } + while (queue.length > 0) { + var packetItem = queue.shift(); + codeblock = packetItem.codeblock; + if (codeblock['data'] === undefined) { + codeblock.data = []; + } + codeblock.data.push({ + data: data, + start: offset + position, + end: offset + position + packetItem.dataLength, + codingpasses: packetItem.codingpasses + }); + position += packetItem.dataLength; + } + } + return position; + } + function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) { + var x0 = subband.tbx0; + var y0 = subband.tby0; + var width = subband.tbx1 - subband.tbx0; + var codeblocks = subband.codeblocks; + var right = subband.type.charAt(0) === 'H' ? 1 : 0; + var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0; + for (var i = 0, ii = codeblocks.length; i < ii; ++i) { + var codeblock = codeblocks[i]; + var blockWidth = codeblock.tbx1_ - codeblock.tbx0_; + var blockHeight = codeblock.tby1_ - codeblock.tby0_; + if (blockWidth === 0 || blockHeight === 0) { + continue; + } + if (codeblock['data'] === undefined) { + continue; + } + var bitModel, currentCodingpassType; + bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb); + currentCodingpassType = 2; + var data = codeblock.data, + totalLength = 0, + codingpasses = 0; + var j, jj, dataItem; + for (j = 0, jj = data.length; j < jj; j++) { + dataItem = data[j]; + totalLength += dataItem.end - dataItem.start; + codingpasses += dataItem.codingpasses; + } + var encodedData = new Uint8Array(totalLength); + var position = 0; + for (j = 0, jj = data.length; j < jj; j++) { + dataItem = data[j]; + var chunk = dataItem.data.subarray(dataItem.start, dataItem.end); + encodedData.set(chunk, position); + position += chunk.length; + } + var decoder = new ArithmeticDecoder(encodedData, 0, totalLength); + bitModel.setDecoder(decoder); + for (j = 0; j < codingpasses; j++) { + switch (currentCodingpassType) { + case 0: + bitModel.runSignificancePropagationPass(); + break; + case 1: + bitModel.runMagnitudeRefinementPass(); + break; + case 2: + bitModel.runCleanupPass(); + if (segmentationSymbolUsed) { + bitModel.checkSegmentationSymbol(); + } + break; + } + currentCodingpassType = (currentCodingpassType + 1) % 3; + } + var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width; + var sign = bitModel.coefficentsSign; + var magnitude = bitModel.coefficentsMagnitude; + var bitsDecoded = bitModel.bitsDecoded; + var magnitudeCorrection = reversible ? 0 : 0.5; + var k, n, nb; + position = 0; + var interleave = subband.type !== 'LL'; + for (j = 0; j < blockHeight; j++) { + var row = offset / width | 0; + var levelOffset = 2 * row * (levelWidth - width) + right + bottom; + for (k = 0; k < blockWidth; k++) { + n = magnitude[position]; + if (n !== 0) { + n = (n + magnitudeCorrection) * delta; + if (sign[position] !== 0) { + n = -n; + } + nb = bitsDecoded[position]; + var pos = interleave ? levelOffset + (offset << 1) : offset; + if (reversible && nb >= mb) { + coefficients[pos] = n; + } else { + coefficients[pos] = n * (1 << mb - nb); + } + } + offset++; + position++; + } + offset += width - blockWidth; + } + } + } + function transformTile(context, tile, c) { + var component = tile.components[c]; + var codingStyleParameters = component.codingStyleParameters; + var quantizationParameters = component.quantizationParameters; + var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount; + var spqcds = quantizationParameters.SPqcds; + var scalarExpounded = quantizationParameters.scalarExpounded; + var guardBits = quantizationParameters.guardBits; + var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed; + var precision = context.components[c].precision; + var reversible = codingStyleParameters.reversibleTransformation; + var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform(); + var subbandCoefficients = []; + var b = 0; + for (var i = 0; i <= decompositionLevelsCount; i++) { + var resolution = component.resolutions[i]; + var width = resolution.trx1 - resolution.trx0; + var height = resolution.try1 - resolution.try0; + var coefficients = new Float32Array(width * height); + for (var j = 0, jj = resolution.subbands.length; j < jj; j++) { + var mu, epsilon; + if (!scalarExpounded) { + mu = spqcds[0].mu; + epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0); + } else { + mu = spqcds[b].mu; + epsilon = spqcds[b].epsilon; + b++; + } + var subband = resolution.subbands[j]; + var gainLog2 = SubbandsGainLog2[subband.type]; + var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048); + var mb = guardBits + epsilon - 1; + copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed); + } + subbandCoefficients.push({ + width: width, + height: height, + items: coefficients + }); + } + var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0); + return { + left: component.tcx0, + top: component.tcy0, + width: result.width, + height: result.height, + items: result.items + }; + } + function transformComponents(context) { + var siz = context.SIZ; + var components = context.components; + var componentsCount = siz.Csiz; + var resultImages = []; + for (var i = 0, ii = context.tiles.length; i < ii; i++) { + var tile = context.tiles[i]; + var transformedTiles = []; + var c; + for (c = 0; c < componentsCount; c++) { + transformedTiles[c] = transformTile(context, tile, c); + } + var tile0 = transformedTiles[0]; + var out = new Uint8Array(tile0.items.length * componentsCount); + var result = { + left: tile0.left, + top: tile0.top, + width: tile0.width, + height: tile0.height, + items: out + }; + var shift, offset, max, min, maxK; + var pos = 0, + j, + jj, + y0, + y1, + y2, + r, + g, + b, + k, + val; + if (tile.codingStyleDefaultParameters.multipleComponentTransform) { + var fourComponents = componentsCount === 4; + var y0items = transformedTiles[0].items; + var y1items = transformedTiles[1].items; + var y2items = transformedTiles[2].items; + var y3items = fourComponents ? transformedTiles[3].items : null; + shift = components[0].precision - 8; + offset = (128 << shift) + 0.5; + max = 255 * (1 << shift); + maxK = max * 0.5; + min = -maxK; + var component0 = tile.components[0]; + var alpha01 = componentsCount - 3; + jj = y0items.length; + if (!component0.codingStyleParameters.reversibleTransformation) { + for (j = 0; j < jj; j++, pos += alpha01) { + y0 = y0items[j] + offset; + y1 = y1items[j]; + y2 = y2items[j]; + r = y0 + 1.402 * y2; + g = y0 - 0.34413 * y1 - 0.71414 * y2; + b = y0 + 1.772 * y1; + out[pos++] = r <= 0 ? 0 : r >= max ? 255 : r >> shift; + out[pos++] = g <= 0 ? 0 : g >= max ? 255 : g >> shift; + out[pos++] = b <= 0 ? 0 : b >= max ? 255 : b >> shift; + } + } else { + for (j = 0; j < jj; j++, pos += alpha01) { + y0 = y0items[j] + offset; + y1 = y1items[j]; + y2 = y2items[j]; + g = y0 - (y2 + y1 >> 2); + r = g + y2; + b = g + y1; + out[pos++] = r <= 0 ? 0 : r >= max ? 255 : r >> shift; + out[pos++] = g <= 0 ? 0 : g >= max ? 255 : g >> shift; + out[pos++] = b <= 0 ? 0 : b >= max ? 255 : b >> shift; + } + } + if (fourComponents) { + for (j = 0, pos = 3; j < jj; j++, pos += 4) { + k = y3items[j]; + out[pos] = k <= min ? 0 : k >= maxK ? 255 : k + offset >> shift; + } + } + } else { + for (c = 0; c < componentsCount; c++) { + var items = transformedTiles[c].items; + shift = components[c].precision - 8; + offset = (128 << shift) + 0.5; + max = 127.5 * (1 << shift); + min = -max; + for (pos = c, j = 0, jj = items.length; j < jj; j++) { + val = items[j]; + out[pos] = val <= min ? 0 : val >= max ? 255 : val + offset >> shift; + pos += componentsCount; + } + } + } + resultImages.push(result); + } + return resultImages; + } + function initializeTile(context, tileIndex) { + var siz = context.SIZ; + var componentsCount = siz.Csiz; + var tile = context.tiles[tileIndex]; + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD; + component.quantizationParameters = qcdOrQcc; + var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD; + component.codingStyleParameters = codOrCoc; + } + tile.codingStyleDefaultParameters = context.currentTile.COD; + } + var TagTree = function TagTreeClosure() { + function TagTree(width, height) { + var levelsLength = log2(Math.max(width, height)) + 1; + this.levels = []; + for (var i = 0; i < levelsLength; i++) { + var level = { + width: width, + height: height, + items: [] + }; + this.levels.push(level); + width = Math.ceil(width / 2); + height = Math.ceil(height / 2); + } + } + TagTree.prototype = { + reset: function TagTree_reset(i, j) { + var currentLevel = 0, + value = 0, + level; + while (currentLevel < this.levels.length) { + level = this.levels[currentLevel]; + var index = i + j * level.width; + if (level.items[index] !== undefined) { + value = level.items[index]; + break; + } + level.index = index; + i >>= 1; + j >>= 1; + currentLevel++; + } + currentLevel--; + level = this.levels[currentLevel]; + level.items[level.index] = value; + this.currentLevel = currentLevel; + delete this.value; + }, + incrementValue: function TagTree_incrementValue() { + var level = this.levels[this.currentLevel]; + level.items[level.index]++; + }, + nextLevel: function TagTree_nextLevel() { + var currentLevel = this.currentLevel; + var level = this.levels[currentLevel]; + var value = level.items[level.index]; + currentLevel--; + if (currentLevel < 0) { + this.value = value; + return false; + } + this.currentLevel = currentLevel; + level = this.levels[currentLevel]; + level.items[level.index] = value; + return true; + } + }; + return TagTree; + }(); + var InclusionTree = function InclusionTreeClosure() { + function InclusionTree(width, height, defaultValue) { + var levelsLength = log2(Math.max(width, height)) + 1; + this.levels = []; + for (var i = 0; i < levelsLength; i++) { + var items = new Uint8Array(width * height); + for (var j = 0, jj = items.length; j < jj; j++) { + items[j] = defaultValue; + } + var level = { + width: width, + height: height, + items: items + }; + this.levels.push(level); + width = Math.ceil(width / 2); + height = Math.ceil(height / 2); + } + } + InclusionTree.prototype = { + reset: function InclusionTree_reset(i, j, stopValue) { + var currentLevel = 0; + while (currentLevel < this.levels.length) { + var level = this.levels[currentLevel]; + var index = i + j * level.width; + level.index = index; + var value = level.items[index]; + if (value === 0xFF) { + break; + } + if (value > stopValue) { + this.currentLevel = currentLevel; + this.propagateValues(); + return false; + } + i >>= 1; + j >>= 1; + currentLevel++; + } + this.currentLevel = currentLevel - 1; + return true; + }, + incrementValue: function InclusionTree_incrementValue(stopValue) { + var level = this.levels[this.currentLevel]; + level.items[level.index] = stopValue + 1; + this.propagateValues(); + }, + propagateValues: function InclusionTree_propagateValues() { + var levelIndex = this.currentLevel; + var level = this.levels[levelIndex]; + var currentValue = level.items[level.index]; + while (--levelIndex >= 0) { + level = this.levels[levelIndex]; + level.items[level.index] = currentValue; + } + }, + nextLevel: function InclusionTree_nextLevel() { + var currentLevel = this.currentLevel; + var level = this.levels[currentLevel]; + var value = level.items[level.index]; + level.items[level.index] = 0xFF; + currentLevel--; + if (currentLevel < 0) { + return false; + } + this.currentLevel = currentLevel; + level = this.levels[currentLevel]; + level.items[level.index] = value; + return true; + } + }; + return InclusionTree; + }(); + var BitModel = function BitModelClosure() { + var UNIFORM_CONTEXT = 17; + var RUNLENGTH_CONTEXT = 18; + var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]); + var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]); + var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]); + function BitModel(width, height, subband, zeroBitPlanes, mb) { + this.width = width; + this.height = height; + this.contextLabelTable = subband === 'HH' ? HHContextLabel : subband === 'HL' ? HLContextLabel : LLAndLHContextsLabel; + var coefficientCount = width * height; + this.neighborsSignificance = new Uint8Array(coefficientCount); + this.coefficentsSign = new Uint8Array(coefficientCount); + this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) : mb > 6 ? new Uint16Array(coefficientCount) : new Uint8Array(coefficientCount); + this.processingFlags = new Uint8Array(coefficientCount); + var bitsDecoded = new Uint8Array(coefficientCount); + if (zeroBitPlanes !== 0) { + for (var i = 0; i < coefficientCount; i++) { + bitsDecoded[i] = zeroBitPlanes; + } + } + this.bitsDecoded = bitsDecoded; + this.reset(); + } + BitModel.prototype = { + setDecoder: function BitModel_setDecoder(decoder) { + this.decoder = decoder; + }, + reset: function BitModel_reset() { + this.contexts = new Int8Array(19); + this.contexts[0] = 4 << 1 | 0; + this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0; + this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0; + }, + setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) { + var neighborsSignificance = this.neighborsSignificance; + var width = this.width, + height = this.height; + var left = column > 0; + var right = column + 1 < width; + var i; + if (row > 0) { + i = index - width; + if (left) { + neighborsSignificance[i - 1] += 0x10; + } + if (right) { + neighborsSignificance[i + 1] += 0x10; + } + neighborsSignificance[i] += 0x04; + } + if (row + 1 < height) { + i = index + width; + if (left) { + neighborsSignificance[i - 1] += 0x10; + } + if (right) { + neighborsSignificance[i + 1] += 0x10; + } + neighborsSignificance[i] += 0x04; + } + if (left) { + neighborsSignificance[index - 1] += 0x01; + } + if (right) { + neighborsSignificance[index + 1] += 0x01; + } + neighborsSignificance[index] |= 0x80; + }, + runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() { + var decoder = this.decoder; + var width = this.width, + height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var neighborsSignificance = this.neighborsSignificance; + var processingFlags = this.processingFlags; + var contexts = this.contexts; + var labels = this.contextLabelTable; + var bitsDecoded = this.bitsDecoded; + var processedInverseMask = ~1; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + for (var i0 = 0; i0 < height; i0 += 4) { + for (var j = 0; j < width; j++) { + var index = i0 * width + j; + for (var i1 = 0; i1 < 4; i1++, index += width) { + var i = i0 + i1; + if (i >= height) { + break; + } + processingFlags[index] &= processedInverseMask; + if (coefficentsMagnitude[index] || !neighborsSignificance[index]) { + continue; + } + var contextLabel = labels[neighborsSignificance[index]]; + var decision = decoder.readBit(contexts, contextLabel); + if (decision) { + var sign = this.decodeSignBit(i, j, index); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j, index); + processingFlags[index] |= firstMagnitudeBitMask; + } + bitsDecoded[index]++; + processingFlags[index] |= processedMask; + } + } + } + }, + decodeSignBit: function BitModel_decodeSignBit(row, column, index) { + var width = this.width, + height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var contribution, sign0, sign1, significance1; + var contextLabel, decoded; + significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0; + if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) { + sign1 = coefficentsSign[index + 1]; + if (significance1) { + sign0 = coefficentsSign[index - 1]; + contribution = 1 - sign1 - sign0; + } else { + contribution = 1 - sign1 - sign1; + } + } else if (significance1) { + sign0 = coefficentsSign[index - 1]; + contribution = 1 - sign0 - sign0; + } else { + contribution = 0; + } + var horizontalContribution = 3 * contribution; + significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0; + if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) { + sign1 = coefficentsSign[index + width]; + if (significance1) { + sign0 = coefficentsSign[index - width]; + contribution = 1 - sign1 - sign0 + horizontalContribution; + } else { + contribution = 1 - sign1 - sign1 + horizontalContribution; + } + } else if (significance1) { + sign0 = coefficentsSign[index - width]; + contribution = 1 - sign0 - sign0 + horizontalContribution; + } else { + contribution = horizontalContribution; + } + if (contribution >= 0) { + contextLabel = 9 + contribution; + decoded = this.decoder.readBit(this.contexts, contextLabel); + } else { + contextLabel = 9 - contribution; + decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1; + } + return decoded; + }, + runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() { + var decoder = this.decoder; + var width = this.width, + height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var neighborsSignificance = this.neighborsSignificance; + var contexts = this.contexts; + var bitsDecoded = this.bitsDecoded; + var processingFlags = this.processingFlags; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + var length = width * height; + var width4 = width * 4; + for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) { + indexNext = Math.min(length, index0 + width4); + for (var j = 0; j < width; j++) { + for (var index = index0 + j; index < indexNext; index += width) { + if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) { + continue; + } + var contextLabel = 16; + if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) { + processingFlags[index] ^= firstMagnitudeBitMask; + var significance = neighborsSignificance[index] & 127; + contextLabel = significance === 0 ? 15 : 14; + } + var bit = decoder.readBit(contexts, contextLabel); + coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit; + bitsDecoded[index]++; + processingFlags[index] |= processedMask; + } + } + } + }, + runCleanupPass: function BitModel_runCleanupPass() { + var decoder = this.decoder; + var width = this.width, + height = this.height; + var neighborsSignificance = this.neighborsSignificance; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var contexts = this.contexts; + var labels = this.contextLabelTable; + var bitsDecoded = this.bitsDecoded; + var processingFlags = this.processingFlags; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + var oneRowDown = width; + var twoRowsDown = width * 2; + var threeRowsDown = width * 3; + var iNext; + for (var i0 = 0; i0 < height; i0 = iNext) { + iNext = Math.min(i0 + 4, height); + var indexBase = i0 * width; + var checkAllEmpty = i0 + 3 < height; + for (var j = 0; j < width; j++) { + var index0 = indexBase + j; + var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0; + var i1 = 0, + index = index0; + var i = i0, + sign; + if (allEmpty) { + var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT); + if (!hasSignificantCoefficent) { + bitsDecoded[index0]++; + bitsDecoded[index0 + oneRowDown]++; + bitsDecoded[index0 + twoRowsDown]++; + bitsDecoded[index0 + threeRowsDown]++; + continue; + } + i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT); + if (i1 !== 0) { + i = i0 + i1; + index += i1 * width; + } + sign = this.decodeSignBit(i, j, index); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j, index); + processingFlags[index] |= firstMagnitudeBitMask; + index = index0; + for (var i2 = i0; i2 <= i; i2++, index += width) { + bitsDecoded[index]++; + } + i1++; + } + for (i = i0 + i1; i < iNext; i++, index += width) { + if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) { + continue; + } + var contextLabel = labels[neighborsSignificance[index]]; + var decision = decoder.readBit(contexts, contextLabel); + if (decision === 1) { + sign = this.decodeSignBit(i, j, index); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j, index); + processingFlags[index] |= firstMagnitudeBitMask; + } + bitsDecoded[index]++; + } + } + } + }, + checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() { + var decoder = this.decoder; + var contexts = this.contexts; + var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT); + if (symbol !== 0xA) { + error('JPX Error: Invalid segmentation symbol'); + } + } + }; + return BitModel; + }(); + var Transform = function TransformClosure() { + function Transform() {} + Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) { + var ll = subbands[0]; + for (var i = 1, ii = subbands.length; i < ii; i++) { + ll = this.iterate(ll, subbands[i], u0, v0); + } + return ll; + }; + Transform.prototype.extend = function extend(buffer, offset, size) { + var i1 = offset - 1, + j1 = offset + 1; + var i2 = offset + size - 2, + j2 = offset + size; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1] = buffer[j1]; + buffer[j2] = buffer[i2]; + }; + Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) { + var llWidth = ll.width, + llHeight = ll.height, + llItems = ll.items; + var width = hl_lh_hh.width; + var height = hl_lh_hh.height; + var items = hl_lh_hh.items; + var i, j, k, l, u, v; + for (k = 0, i = 0; i < llHeight; i++) { + l = i * 2 * width; + for (j = 0; j < llWidth; j++, k++, l += 2) { + items[l] = llItems[k]; + } + } + llItems = ll.items = null; + var bufferPadding = 4; + var rowBuffer = new Float32Array(width + 2 * bufferPadding); + if (width === 1) { + if ((u0 & 1) !== 0) { + for (v = 0, k = 0; v < height; v++, k += width) { + items[k] *= 0.5; + } + } + } else { + for (v = 0, k = 0; v < height; v++, k += width) { + rowBuffer.set(items.subarray(k, k + width), bufferPadding); + this.extend(rowBuffer, bufferPadding, width); + this.filter(rowBuffer, bufferPadding, width); + items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k); + } + } + var numBuffers = 16; + var colBuffers = []; + for (i = 0; i < numBuffers; i++) { + colBuffers.push(new Float32Array(height + 2 * bufferPadding)); + } + var b, + currentBuffer = 0; + ll = bufferPadding + height; + if (height === 1) { + if ((v0 & 1) !== 0) { + for (u = 0; u < width; u++) { + items[u] *= 0.5; + } + } + } else { + for (u = 0; u < width; u++) { + if (currentBuffer === 0) { + numBuffers = Math.min(width - u, numBuffers); + for (k = u, l = bufferPadding; l < ll; k += width, l++) { + for (b = 0; b < numBuffers; b++) { + colBuffers[b][l] = items[k + b]; + } + } + currentBuffer = numBuffers; + } + currentBuffer--; + var buffer = colBuffers[currentBuffer]; + this.extend(buffer, bufferPadding, height); + this.filter(buffer, bufferPadding, height); + if (currentBuffer === 0) { + k = u - numBuffers + 1; + for (l = bufferPadding; l < ll; k += width, l++) { + for (b = 0; b < numBuffers; b++) { + items[k + b] = colBuffers[b][l]; + } + } + } + } + } + return { + width: width, + height: height, + items: items + }; + }; + return Transform; + }(); + var IrreversibleTransform = function IrreversibleTransformClosure() { + function IrreversibleTransform() { + Transform.call(this); + } + IrreversibleTransform.prototype = Object.create(Transform.prototype); + IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) { + var len = length >> 1; + offset = offset | 0; + var j, n, current, next; + var alpha = -1.586134342059924; + var beta = -0.052980118572961; + var gamma = 0.882911075530934; + var delta = 0.443506852043971; + var K = 1.230174104914001; + var K_ = 1 / K; + j = offset - 3; + for (n = len + 4; n--; j += 2) { + x[j] *= K_; + } + j = offset - 2; + current = delta * x[j - 1]; + for (n = len + 3; n--; j += 2) { + next = delta * x[j + 1]; + x[j] = K * x[j] - current - next; + if (n--) { + j += 2; + current = delta * x[j + 1]; + x[j] = K * x[j] - current - next; + } else { + break; + } + } + j = offset - 1; + current = gamma * x[j - 1]; + for (n = len + 2; n--; j += 2) { + next = gamma * x[j + 1]; + x[j] -= current + next; + if (n--) { + j += 2; + current = gamma * x[j + 1]; + x[j] -= current + next; + } else { + break; + } + } + j = offset; + current = beta * x[j - 1]; + for (n = len + 1; n--; j += 2) { + next = beta * x[j + 1]; + x[j] -= current + next; + if (n--) { + j += 2; + current = beta * x[j + 1]; + x[j] -= current + next; + } else { + break; + } + } + if (len !== 0) { + j = offset + 1; + current = alpha * x[j - 1]; + for (n = len; n--; j += 2) { + next = alpha * x[j + 1]; + x[j] -= current + next; + if (n--) { + j += 2; + current = alpha * x[j + 1]; + x[j] -= current + next; + } else { + break; + } + } + } + }; + return IrreversibleTransform; + }(); + var ReversibleTransform = function ReversibleTransformClosure() { + function ReversibleTransform() { + Transform.call(this); + } + ReversibleTransform.prototype = Object.create(Transform.prototype); + ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) { + var len = length >> 1; + offset = offset | 0; + var j, n; + for (j = offset, n = len + 1; n--; j += 2) { + x[j] -= x[j - 1] + x[j + 1] + 2 >> 2; + } + for (j = offset + 1, n = len; n--; j += 2) { + x[j] += x[j - 1] + x[j + 1] >> 1; + } + }; + return ReversibleTransform; + }(); + return JpxImage; +}(); + + + "use strict"; + + var Jbig2Image = function Jbig2ImageClosure() { + function ContextCache() {} + ContextCache.prototype = { + getContexts: function (id) { + if (id in this) { + return this[id]; + } + return this[id] = new Int8Array(1 << 16); + } + }; + function DecodingContext(data, start, end) { + this.data = data; + this.start = start; + this.end = end; + } + DecodingContext.prototype = { + get decoder() { + var decoder = new ArithmeticDecoder(this.data, this.start, this.end); + return shadow(this, 'decoder', decoder); + }, + get contextCache() { + var cache = new ContextCache(); + return shadow(this, 'contextCache', cache); + } + }; + function decodeInteger(contextCache, procedure, decoder) { + var contexts = contextCache.getContexts(procedure); + var prev = 1; + function readBits(length) { + var v = 0; + for (var i = 0; i < length; i++) { + var bit = decoder.readBit(contexts, prev); + prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256; + v = v << 1 | bit; + } + return v >>> 0; + } + var sign = readBits(1); + var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2); + return sign === 0 ? value : value > 0 ? -value : null; + } + function decodeIAID(contextCache, decoder, codeLength) { + var contexts = contextCache.getContexts('IAID'); + var prev = 1; + for (var i = 0; i < codeLength; i++) { + var bit = decoder.readBit(contexts, prev); + prev = prev << 1 | bit; + } + if (codeLength < 31) { + return prev & (1 << codeLength) - 1; + } + return prev & 0x7FFFFFFF; + } + var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 'patternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 'Extension']; + var CodingTemplates = [[{ + x: -1, + y: -2 + }, { + x: 0, + y: -2 + }, { + x: 1, + y: -2 + }, { + x: -2, + y: -1 + }, { + x: -1, + y: -1 + }, { + x: 0, + y: -1 + }, { + x: 1, + y: -1 + }, { + x: 2, + y: -1 + }, { + x: -4, + y: 0 + }, { + x: -3, + y: 0 + }, { + x: -2, + y: 0 + }, { + x: -1, + y: 0 + }], [{ + x: -1, + y: -2 + }, { + x: 0, + y: -2 + }, { + x: 1, + y: -2 + }, { + x: 2, + y: -2 + }, { + x: -2, + y: -1 + }, { + x: -1, + y: -1 + }, { + x: 0, + y: -1 + }, { + x: 1, + y: -1 + }, { + x: 2, + y: -1 + }, { + x: -3, + y: 0 + }, { + x: -2, + y: 0 + }, { + x: -1, + y: 0 + }], [{ + x: -1, + y: -2 + }, { + x: 0, + y: -2 + }, { + x: 1, + y: -2 + }, { + x: -2, + y: -1 + }, { + x: -1, + y: -1 + }, { + x: 0, + y: -1 + }, { + x: 1, + y: -1 + }, { + x: -2, + y: 0 + }, { + x: -1, + y: 0 + }], [{ + x: -3, + y: -1 + }, { + x: -2, + y: -1 + }, { + x: -1, + y: -1 + }, { + x: 0, + y: -1 + }, { + x: 1, + y: -1 + }, { + x: -4, + y: 0 + }, { + x: -3, + y: 0 + }, { + x: -2, + y: 0 + }, { + x: -1, + y: 0 + }]]; + var RefinementTemplates = [{ + coding: [{ + x: 0, + y: -1 + }, { + x: 1, + y: -1 + }, { + x: -1, + y: 0 + }], + reference: [{ + x: 0, + y: -1 + }, { + x: 1, + y: -1 + }, { + x: -1, + y: 0 + }, { + x: 0, + y: 0 + }, { + x: 1, + y: 0 + }, { + x: -1, + y: 1 + }, { + x: 0, + y: 1 + }, { + x: 1, + y: 1 + }] + }, { + coding: [{ + x: -1, + y: -1 + }, { + x: 0, + y: -1 + }, { + x: 1, + y: -1 + }, { + x: -1, + y: 0 + }], + reference: [{ + x: 0, + y: -1 + }, { + x: -1, + y: 0 + }, { + x: 0, + y: 0 + }, { + x: 1, + y: 0 + }, { + x: 0, + y: 1 + }, { + x: 1, + y: 1 + }] + }]; + var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195]; + var RefinementReusedContexts = [0x0020, 0x0008]; + function decodeBitmapTemplate0(width, height, decodingContext) { + var decoder = decodingContext.decoder; + var contexts = decodingContext.contextCache.getContexts('GB'); + var contextLabel, + i, + j, + pixel, + row, + row1, + row2, + bitmap = []; + var OLD_PIXEL_MASK = 0x7BF7; + for (i = 0; i < height; i++) { + row = bitmap[i] = new Uint8Array(width); + row1 = i < 1 ? row : bitmap[i - 1]; + row2 = i < 2 ? row : bitmap[i - 2]; + contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4; + for (j = 0; j < width; j++) { + row[j] = pixel = decoder.readBit(contexts, contextLabel); + contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel; + } + } + return bitmap; + } + function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) { + if (mmr) { + error('JBIG2 error: MMR encoding is not supported'); + } + if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) { + return decodeBitmapTemplate0(width, height, decodingContext); + } + var useskip = !!skip; + var template = CodingTemplates[templateIndex].concat(at); + template.sort(function (a, b) { + return a.y - b.y || a.x - b.x; + }); + var templateLength = template.length; + var templateX = new Int8Array(templateLength); + var templateY = new Int8Array(templateLength); + var changingTemplateEntries = []; + var reuseMask = 0, + minX = 0, + maxX = 0, + minY = 0; + var c, k; + for (k = 0; k < templateLength; k++) { + templateX[k] = template[k].x; + templateY[k] = template[k].y; + minX = Math.min(minX, template[k].x); + maxX = Math.max(maxX, template[k].x); + minY = Math.min(minY, template[k].y); + if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) { + reuseMask |= 1 << templateLength - 1 - k; + } else { + changingTemplateEntries.push(k); + } + } + var changingEntriesLength = changingTemplateEntries.length; + var changingTemplateX = new Int8Array(changingEntriesLength); + var changingTemplateY = new Int8Array(changingEntriesLength); + var changingTemplateBit = new Uint16Array(changingEntriesLength); + for (c = 0; c < changingEntriesLength; c++) { + k = changingTemplateEntries[c]; + changingTemplateX[c] = template[k].x; + changingTemplateY[c] = template[k].y; + changingTemplateBit[c] = 1 << templateLength - 1 - k; + } + var sbb_left = -minX; + var sbb_top = -minY; + var sbb_right = width - maxX; + var pseudoPixelContext = ReusedContexts[templateIndex]; + var row = new Uint8Array(width); + var bitmap = []; + var decoder = decodingContext.decoder; + var contexts = decodingContext.contextCache.getContexts('GB'); + var ltp = 0, + j, + i0, + j0, + contextLabel = 0, + bit, + shift; + for (var i = 0; i < height; i++) { + if (prediction) { + var sltp = decoder.readBit(contexts, pseudoPixelContext); + ltp ^= sltp; + if (ltp) { + bitmap.push(row); + continue; + } + } + row = new Uint8Array(row); + bitmap.push(row); + for (j = 0; j < width; j++) { + if (useskip && skip[i][j]) { + row[j] = 0; + continue; + } + if (j >= sbb_left && j < sbb_right && i >= sbb_top) { + contextLabel = contextLabel << 1 & reuseMask; + for (k = 0; k < changingEntriesLength; k++) { + i0 = i + changingTemplateY[k]; + j0 = j + changingTemplateX[k]; + bit = bitmap[i0][j0]; + if (bit) { + bit = changingTemplateBit[k]; + contextLabel |= bit; + } + } + } else { + contextLabel = 0; + shift = templateLength - 1; + for (k = 0; k < templateLength; k++, shift--) { + j0 = j + templateX[k]; + if (j0 >= 0 && j0 < width) { + i0 = i + templateY[k]; + if (i0 >= 0) { + bit = bitmap[i0][j0]; + if (bit) { + contextLabel |= bit << shift; + } + } + } + } + } + var pixel = decoder.readBit(contexts, contextLabel); + row[j] = pixel; + } + } + return bitmap; + } + function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) { + var codingTemplate = RefinementTemplates[templateIndex].coding; + if (templateIndex === 0) { + codingTemplate = codingTemplate.concat([at[0]]); + } + var codingTemplateLength = codingTemplate.length; + var codingTemplateX = new Int32Array(codingTemplateLength); + var codingTemplateY = new Int32Array(codingTemplateLength); + var k; + for (k = 0; k < codingTemplateLength; k++) { + codingTemplateX[k] = codingTemplate[k].x; + codingTemplateY[k] = codingTemplate[k].y; + } + var referenceTemplate = RefinementTemplates[templateIndex].reference; + if (templateIndex === 0) { + referenceTemplate = referenceTemplate.concat([at[1]]); + } + var referenceTemplateLength = referenceTemplate.length; + var referenceTemplateX = new Int32Array(referenceTemplateLength); + var referenceTemplateY = new Int32Array(referenceTemplateLength); + for (k = 0; k < referenceTemplateLength; k++) { + referenceTemplateX[k] = referenceTemplate[k].x; + referenceTemplateY[k] = referenceTemplate[k].y; + } + var referenceWidth = referenceBitmap[0].length; + var referenceHeight = referenceBitmap.length; + var pseudoPixelContext = RefinementReusedContexts[templateIndex]; + var bitmap = []; + var decoder = decodingContext.decoder; + var contexts = decodingContext.contextCache.getContexts('GR'); + var ltp = 0; + for (var i = 0; i < height; i++) { + if (prediction) { + var sltp = decoder.readBit(contexts, pseudoPixelContext); + ltp ^= sltp; + if (ltp) { + error('JBIG2 error: prediction is not supported'); + } + } + var row = new Uint8Array(width); + bitmap.push(row); + for (var j = 0; j < width; j++) { + var i0, j0; + var contextLabel = 0; + for (k = 0; k < codingTemplateLength; k++) { + i0 = i + codingTemplateY[k]; + j0 = j + codingTemplateX[k]; + if (i0 < 0 || j0 < 0 || j0 >= width) { + contextLabel <<= 1; + } else { + contextLabel = contextLabel << 1 | bitmap[i0][j0]; + } + } + for (k = 0; k < referenceTemplateLength; k++) { + i0 = i + referenceTemplateY[k] + offsetY; + j0 = j + referenceTemplateX[k] + offsetX; + if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) { + contextLabel <<= 1; + } else { + contextLabel = contextLabel << 1 | referenceBitmap[i0][j0]; + } + } + var pixel = decoder.readBit(contexts, contextLabel); + row[j] = pixel; + } + } + return bitmap; + } + function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext) { + if (huffman) { + error('JBIG2 error: huffman is not supported'); + } + var newSymbols = []; + var currentHeight = 0; + var symbolCodeLength = log2(symbols.length + numberOfNewSymbols); + var decoder = decodingContext.decoder; + var contextCache = decodingContext.contextCache; + while (newSymbols.length < numberOfNewSymbols) { + var deltaHeight = decodeInteger(contextCache, 'IADH', decoder); + currentHeight += deltaHeight; + var currentWidth = 0; + while (true) { + var deltaWidth = decodeInteger(contextCache, 'IADW', decoder); + if (deltaWidth === null) { + break; + } + currentWidth += deltaWidth; + var bitmap; + if (refinement) { + var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder); + if (numberOfInstances > 1) { + bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext); + } else { + var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength); + var rdx = decodeInteger(contextCache, 'IARDX', decoder); + var rdy = decodeInteger(contextCache, 'IARDY', decoder); + var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length]; + bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext); + } + } else { + bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext); + } + newSymbols.push(bitmap); + } + } + var exportedSymbols = []; + var flags = [], + currentFlag = false; + var totalSymbolsLength = symbols.length + numberOfNewSymbols; + while (flags.length < totalSymbolsLength) { + var runLength = decodeInteger(contextCache, 'IAEX', decoder); + while (runLength--) { + flags.push(currentFlag); + } + currentFlag = !currentFlag; + } + for (var i = 0, ii = symbols.length; i < ii; i++) { + if (flags[i]) { + exportedSymbols.push(symbols[i]); + } + } + for (var j = 0; j < numberOfNewSymbols; i++, j++) { + if (flags[i]) { + exportedSymbols.push(newSymbols[j]); + } + } + return exportedSymbols; + } + function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext) { + if (huffman) { + error('JBIG2 error: huffman is not supported'); + } + var bitmap = []; + var i, row; + for (i = 0; i < height; i++) { + row = new Uint8Array(width); + if (defaultPixelValue) { + for (var j = 0; j < width; j++) { + row[j] = defaultPixelValue; + } + } + bitmap.push(row); + } + var decoder = decodingContext.decoder; + var contextCache = decodingContext.contextCache; + var stripT = -decodeInteger(contextCache, 'IADT', decoder); + var firstS = 0; + i = 0; + while (i < numberOfSymbolInstances) { + var deltaT = decodeInteger(contextCache, 'IADT', decoder); + stripT += deltaT; + var deltaFirstS = decodeInteger(contextCache, 'IAFS', decoder); + firstS += deltaFirstS; + var currentS = firstS; + do { + var currentT = stripSize === 1 ? 0 : decodeInteger(contextCache, 'IAIT', decoder); + var t = stripSize * stripT + currentT; + var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength); + var applyRefinement = refinement && decodeInteger(contextCache, 'IARI', decoder); + var symbolBitmap = inputSymbols[symbolId]; + var symbolWidth = symbolBitmap[0].length; + var symbolHeight = symbolBitmap.length; + if (applyRefinement) { + var rdw = decodeInteger(contextCache, 'IARDW', decoder); + var rdh = decodeInteger(contextCache, 'IARDH', decoder); + var rdx = decodeInteger(contextCache, 'IARDX', decoder); + var rdy = decodeInteger(contextCache, 'IARDY', decoder); + symbolWidth += rdw; + symbolHeight += rdh; + symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext); + } + var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight); + var offsetS = currentS - (referenceCorner & 2 ? symbolWidth : 0); + var s2, t2, symbolRow; + if (transposed) { + for (s2 = 0; s2 < symbolHeight; s2++) { + row = bitmap[offsetS + s2]; + if (!row) { + continue; + } + symbolRow = symbolBitmap[s2]; + var maxWidth = Math.min(width - offsetT, symbolWidth); + switch (combinationOperator) { + case 0: + for (t2 = 0; t2 < maxWidth; t2++) { + row[offsetT + t2] |= symbolRow[t2]; + } + break; + case 2: + for (t2 = 0; t2 < maxWidth; t2++) { + row[offsetT + t2] ^= symbolRow[t2]; + } + break; + default: + error('JBIG2 error: operator ' + combinationOperator + ' is not supported'); + } + } + currentS += symbolHeight - 1; + } else { + for (t2 = 0; t2 < symbolHeight; t2++) { + row = bitmap[offsetT + t2]; + if (!row) { + continue; + } + symbolRow = symbolBitmap[t2]; + switch (combinationOperator) { + case 0: + for (s2 = 0; s2 < symbolWidth; s2++) { + row[offsetS + s2] |= symbolRow[s2]; + } + break; + case 2: + for (s2 = 0; s2 < symbolWidth; s2++) { + row[offsetS + s2] ^= symbolRow[s2]; + } + break; + default: + error('JBIG2 error: operator ' + combinationOperator + ' is not supported'); + } + } + currentS += symbolWidth - 1; + } + i++; + var deltaS = decodeInteger(contextCache, 'IADS', decoder); + if (deltaS === null) { + break; + } + currentS += deltaS + dsOffset; + } while (true); + } + return bitmap; + } + function readSegmentHeader(data, start) { + var segmentHeader = {}; + segmentHeader.number = readUint32(data, start); + var flags = data[start + 4]; + var segmentType = flags & 0x3F; + if (!SegmentTypes[segmentType]) { + error('JBIG2 error: invalid segment type: ' + segmentType); + } + segmentHeader.type = segmentType; + segmentHeader.typeName = SegmentTypes[segmentType]; + segmentHeader.deferredNonRetain = !!(flags & 0x80); + var pageAssociationFieldSize = !!(flags & 0x40); + var referredFlags = data[start + 5]; + var referredToCount = referredFlags >> 5 & 7; + var retainBits = [referredFlags & 31]; + var position = start + 6; + if (referredFlags === 7) { + referredToCount = readUint32(data, position - 1) & 0x1FFFFFFF; + position += 3; + var bytes = referredToCount + 7 >> 3; + retainBits[0] = data[position++]; + while (--bytes > 0) { + retainBits.push(data[position++]); + } + } else if (referredFlags === 5 || referredFlags === 6) { + error('JBIG2 error: invalid referred-to flags'); + } + segmentHeader.retainBits = retainBits; + var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4; + var referredTo = []; + var i, ii; + for (i = 0; i < referredToCount; i++) { + var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? readUint16(data, position) : readUint32(data, position); + referredTo.push(number); + position += referredToSegmentNumberSize; + } + segmentHeader.referredTo = referredTo; + if (!pageAssociationFieldSize) { + segmentHeader.pageAssociation = data[position++]; + } else { + segmentHeader.pageAssociation = readUint32(data, position); + position += 4; + } + segmentHeader.length = readUint32(data, position); + position += 4; + if (segmentHeader.length === 0xFFFFFFFF) { + if (segmentType === 38) { + var genericRegionInfo = readRegionSegmentInformation(data, position); + var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength]; + var genericRegionMmr = !!(genericRegionSegmentFlags & 1); + var searchPatternLength = 6; + var searchPattern = new Uint8Array(searchPatternLength); + if (!genericRegionMmr) { + searchPattern[0] = 0xFF; + searchPattern[1] = 0xAC; + } + searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF; + searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF; + searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF; + searchPattern[5] = genericRegionInfo.height & 0xFF; + for (i = position, ii = data.length; i < ii; i++) { + var j = 0; + while (j < searchPatternLength && searchPattern[j] === data[i + j]) { + j++; + } + if (j === searchPatternLength) { + segmentHeader.length = i + searchPatternLength; + break; + } + } + if (segmentHeader.length === 0xFFFFFFFF) { + error('JBIG2 error: segment end was not found'); + } + } else { + error('JBIG2 error: invalid unknown segment length'); + } + } + segmentHeader.headerEnd = position; + return segmentHeader; + } + function readSegments(header, data, start, end) { + var segments = []; + var position = start; + while (position < end) { + var segmentHeader = readSegmentHeader(data, position); + position = segmentHeader.headerEnd; + var segment = { + header: segmentHeader, + data: data + }; + if (!header.randomAccess) { + segment.start = position; + position += segmentHeader.length; + segment.end = position; + } + segments.push(segment); + if (segmentHeader.type === 51) { + break; + } + } + if (header.randomAccess) { + for (var i = 0, ii = segments.length; i < ii; i++) { + segments[i].start = position; + position += segments[i].header.length; + segments[i].end = position; + } + } + return segments; + } + function readRegionSegmentInformation(data, start) { + return { + width: readUint32(data, start), + height: readUint32(data, start + 4), + x: readUint32(data, start + 8), + y: readUint32(data, start + 12), + combinationOperator: data[start + 16] & 7 + }; + } + var RegionSegmentInformationFieldLength = 17; + function processSegment(segment, visitor) { + var header = segment.header; + var data = segment.data, + position = segment.start, + end = segment.end; + var args, at, i, atLength; + switch (header.type) { + case 0: + var dictionary = {}; + var dictionaryFlags = readUint16(data, position); + dictionary.huffman = !!(dictionaryFlags & 1); + dictionary.refinement = !!(dictionaryFlags & 2); + dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3; + dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3; + dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1; + dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1; + dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256); + dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512); + dictionary.template = dictionaryFlags >> 10 & 3; + dictionary.refinementTemplate = dictionaryFlags >> 12 & 1; + position += 2; + if (!dictionary.huffman) { + atLength = dictionary.template === 0 ? 4 : 1; + at = []; + for (i = 0; i < atLength; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + dictionary.at = at; + } + if (dictionary.refinement && !dictionary.refinementTemplate) { + at = []; + for (i = 0; i < 2; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + dictionary.refinementAt = at; + } + dictionary.numberOfExportedSymbols = readUint32(data, position); + position += 4; + dictionary.numberOfNewSymbols = readUint32(data, position); + position += 4; + args = [dictionary, header.number, header.referredTo, data, position, end]; + break; + case 6: + case 7: + var textRegion = {}; + textRegion.info = readRegionSegmentInformation(data, position); + position += RegionSegmentInformationFieldLength; + var textRegionSegmentFlags = readUint16(data, position); + position += 2; + textRegion.huffman = !!(textRegionSegmentFlags & 1); + textRegion.refinement = !!(textRegionSegmentFlags & 2); + textRegion.stripSize = 1 << (textRegionSegmentFlags >> 2 & 3); + textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3; + textRegion.transposed = !!(textRegionSegmentFlags & 64); + textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3; + textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1; + textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27; + textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1; + if (textRegion.huffman) { + var textRegionHuffmanFlags = readUint16(data, position); + position += 2; + textRegion.huffmanFS = textRegionHuffmanFlags & 3; + textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3; + textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3; + textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3; + textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3; + textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3; + textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3; + textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 14); + } + if (textRegion.refinement && !textRegion.refinementTemplate) { + at = []; + for (i = 0; i < 2; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + textRegion.refinementAt = at; + } + textRegion.numberOfSymbolInstances = readUint32(data, position); + position += 4; + if (textRegion.huffman) { + error('JBIG2 error: huffman is not supported'); + } + args = [textRegion, header.referredTo, data, position, end]; + break; + case 38: + case 39: + var genericRegion = {}; + genericRegion.info = readRegionSegmentInformation(data, position); + position += RegionSegmentInformationFieldLength; + var genericRegionSegmentFlags = data[position++]; + genericRegion.mmr = !!(genericRegionSegmentFlags & 1); + genericRegion.template = genericRegionSegmentFlags >> 1 & 3; + genericRegion.prediction = !!(genericRegionSegmentFlags & 8); + if (!genericRegion.mmr) { + atLength = genericRegion.template === 0 ? 4 : 1; + at = []; + for (i = 0; i < atLength; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + genericRegion.at = at; + } + args = [genericRegion, data, position, end]; + break; + case 48: + var pageInfo = { + width: readUint32(data, position), + height: readUint32(data, position + 4), + resolutionX: readUint32(data, position + 8), + resolutionY: readUint32(data, position + 12) + }; + if (pageInfo.height === 0xFFFFFFFF) { + delete pageInfo.height; + } + var pageSegmentFlags = data[position + 16]; + readUint16(data, position + 17); + pageInfo.lossless = !!(pageSegmentFlags & 1); + pageInfo.refinement = !!(pageSegmentFlags & 2); + pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1; + pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3; + pageInfo.requiresBuffer = !!(pageSegmentFlags & 32); + pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64); + args = [pageInfo]; + break; + case 49: + break; + case 50: + break; + case 51: + break; + case 62: + break; + default: + error('JBIG2 error: segment type ' + header.typeName + '(' + header.type + ') is not implemented'); + } + var callbackName = 'on' + header.typeName; + if (callbackName in visitor) { + visitor[callbackName].apply(visitor, args); + } + } + function processSegments(segments, visitor) { + for (var i = 0, ii = segments.length; i < ii; i++) { + processSegment(segments[i], visitor); + } + } + function parseJbig2(data, start, end) { + var position = start; + if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 6] !== 0x1A || data[position + 7] !== 0x0A) { + error('JBIG2 error: invalid header'); + } + var header = {}; + position += 8; + var flags = data[position++]; + header.randomAccess = !(flags & 1); + if (!(flags & 2)) { + header.numberOfPages = readUint32(data, position); + position += 4; + } + readSegments(header, data, position, end); + error('Not implemented'); + } + function parseJbig2Chunks(chunks) { + var visitor = new SimpleSegmentVisitor(); + for (var i = 0, ii = chunks.length; i < ii; i++) { + var chunk = chunks[i]; + var segments = readSegments({}, chunk.data, chunk.start, chunk.end); + processSegments(segments, visitor); + } + return visitor.buffer; + } + function SimpleSegmentVisitor() {} + SimpleSegmentVisitor.prototype = { + onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) { + this.currentPageInfo = info; + var rowSize = info.width + 7 >> 3; + var buffer = new Uint8Array(rowSize * info.height); + if (info.defaultPixelValue) { + for (var i = 0, ii = buffer.length; i < ii; i++) { + buffer[i] = 0xFF; + } + } + this.buffer = buffer; + }, + drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) { + var pageInfo = this.currentPageInfo; + var width = regionInfo.width, + height = regionInfo.height; + var rowSize = pageInfo.width + 7 >> 3; + var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator; + var buffer = this.buffer; + var mask0 = 128 >> (regionInfo.x & 7); + var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3); + var i, j, mask, offset; + switch (combinationOperator) { + case 0: + for (i = 0; i < height; i++) { + mask = mask0; + offset = offset0; + for (j = 0; j < width; j++) { + if (bitmap[i][j]) { + buffer[offset] |= mask; + } + mask >>= 1; + if (!mask) { + mask = 128; + offset++; + } + } + offset0 += rowSize; + } + break; + case 2: + for (i = 0; i < height; i++) { + mask = mask0; + offset = offset0; + for (j = 0; j < width; j++) { + if (bitmap[i][j]) { + buffer[offset] ^= mask; + } + mask >>= 1; + if (!mask) { + mask = 128; + offset++; + } + } + offset0 += rowSize; + } + break; + default: + error('JBIG2 error: operator ' + combinationOperator + ' is not supported'); + } + }, + onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) { + var regionInfo = region.info; + var decodingContext = new DecodingContext(data, start, end); + var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext); + this.drawBitmap(regionInfo, bitmap); + }, + onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() { + this.onImmediateGenericRegion.apply(this, arguments); + }, + onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) { + var huffmanTables; + if (dictionary.huffman) { + error('JBIG2 error: huffman is not supported'); + } + var symbols = this.symbols; + if (!symbols) { + this.symbols = symbols = {}; + } + var inputSymbols = []; + for (var i = 0, ii = referredSegments.length; i < ii; i++) { + inputSymbols = inputSymbols.concat(symbols[referredSegments[i]]); + } + var decodingContext = new DecodingContext(data, start, end); + symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext); + }, + onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) { + var regionInfo = region.info; + var huffmanTables; + var symbols = this.symbols; + var inputSymbols = []; + for (var i = 0, ii = referredSegments.length; i < ii; i++) { + inputSymbols = inputSymbols.concat(symbols[referredSegments[i]]); + } + var symbolCodeLength = log2(inputSymbols.length); + var decodingContext = new DecodingContext(data, start, end); + var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext); + this.drawBitmap(regionInfo, bitmap); + }, + onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() { + this.onImmediateTextRegion.apply(this, arguments); + } + }; + function Jbig2Image() {} + Jbig2Image.prototype = { + parseChunks: function Jbig2Image_parseChunks(chunks) { + return parseJbig2Chunks(chunks); + } + }; + return Jbig2Image; +}(); + + + + + + function log2(x) { + var n = 1, i = 0; + while (x > n) { + n <<= 1; + i++; + } + return i; + } + function readInt8(data, start) { + return data[start] << 24 >> 24; + } + function readUint16(data, offset) { + return data[offset] << 8 | data[offset + 1]; + } + function readUint32(data, offset) { + return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0; + } + function shadow(obj, prop, value) { + Object.defineProperty(obj, prop, { + value: value, + enumerable: true, + configurable: true, + writable: false + }); + return value; + } + var error = function() { + console.error.apply(console, arguments); + throw new Error("PDFJS error: " + arguments[0]); + }; + var warn = function() { + console.warn.apply(console, arguments); + }; + var info = function() { + console.info.apply(console, arguments); + }; + Jbig2Image.prototype.parse = function parseJbig2(data) { + var position = 0, end = data.length; + if (data[position] !== 151 || data[position + 1] !== 74 || data[position + 2] !== 66 || data[position + 3] !== 50 || data[position + 4] !== 13 || data[position + 5] !== 10 || data[position + 6] !== 26 || data[position + 7] !== 10) { + error("JBIG2 error: invalid header"); + } + var header = {}; + position += 8; + var flags = data[position++]; + header.randomAccess = !(flags & 1); + if (!(flags & 2)) { + header.numberOfPages = readUint32(data, position); + position += 4; + } + var visitor = this.parseChunks([ { + data: data, + start: position, + end: end + } ]); + var width = visitor.currentPageInfo.width; + var height = visitor.currentPageInfo.height; + var bitPacked = visitor.buffer; + var data = new Uint8Array(width * height); + var q = 0, k = 0; + for (var i = 0; i < height; i++) { + var mask = 0, buffer; + for (var j = 0; j < width; j++) { + if (!mask) { + mask = 128; + buffer = bitPacked[k++]; + } + data[q++] = buffer & mask ? 0 : 255; + mask >>= 1; + } + } + this.width = width; + this.height = height; + this.data = data; + }; + PDFJS.JpegImage = JpegImage; + PDFJS.JpxImage = JpxImage; + PDFJS.Jbig2Image = Jbig2Image; +})(PDFJS || (PDFJS = {})); + + +;(function(){var o,X=0,e=null,n=null;o=window.FFT={};var f={o:function(G){if(G!==0&&(G&G-1)===0){X=G; +f.B();f.q();f.i()}else{throw new Error("init: radix-2 required")}},X:function(G,B){f.G(G,B,1)},e:function(G,B){var j=1/X; +f.G(G,B,-1);for(var q=0;q>2; +for(var P=0;P>1;while(q<=B){B-=q;q>>=1}B+=q;e[G]=B}},i:function(){var G=X>>1,B=X>>2,j=X>>3,q=G+B,i=Math.sin(Math.PI/X),m=2*i*i,Z=Math.sqrt(m*(2-m)),p=n[B]=1,C=n[0]=0; +i=2*m;for(var a=1;an){var p=this.type===c.types.logicalOR||this.type===c.types.logicalAND,g=this.value;this.next();var k=this.start,q=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null, +!1),k,q,d,e);b=this.buildBinary(a,h,b,d,g,p);return this.parseExprOp(b,a,h,n,e)}return b};a.buildBinary=function(b,c,a,n,e,m){b=this.startNodeAt(b,c);b.left=a;b.operator=e;b.right=n;return this.finishNode(b,m?"LogicalExpression":"BinaryExpression")};a.parseMaybeUnary=function(b,a){var d=this.start,n=this.startLoc;if(this.type.prefix){var e=this.startNode();var m=this.type===c.types.incDec;e.operator=this.value;e.prefix=!0;this.next();e.argument=this.parseMaybeUnary(null,!0);this.checkExpressionErrors(b, +!0);m?this.checkLVal(e.argument):this.strict&&"delete"===e.operator&&"Identifier"===e.argument.type?this.raiseRecoverable(e.start,"Deleting local variable in strict mode"):a=!0;m=this.finishNode(e,m?"UpdateExpression":"UnaryExpression")}else{m=this.parseExprSubscripts(b);if(this.checkExpressionErrors(b))return m;for(;this.type.postfix&&!this.canInsertSemicolon();)e=this.startNodeAt(d,n),e.operator=this.value,e.prefix=!1,e.argument=m,this.checkLVal(m),this.next(),m=this.finishNode(e,"UpdateExpression")}return!a&& +this.eat(c.types.starstar)?this.buildBinary(d,n,m,this.parseMaybeUnary(null,!1),"**",!1):m};a.parseExprSubscripts=function(b){var c=this.start,a=this.startLoc,n=this.parseExprAtom(b),e="ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);return this.checkExpressionErrors(b)||e?n:this.parseSubscripts(n,c,a)};a.parseSubscripts=function(b,a,h,n){for(var e;;)if(this.eat(c.types.dot))e=this.startNodeAt(a,h),e.object=b,e.property=this.parseIdent(!0),e.computed=!1, +b=this.finishNode(e,"MemberExpression");else if(this.eat(c.types.bracketL))e=this.startNodeAt(a,h),e.object=b,e.property=this.parseExpression(),e.computed=!0,this.expect(c.types.bracketR),b=this.finishNode(e,"MemberExpression");else if(!n&&this.eat(c.types.parenL))e=this.startNodeAt(a,h),e.callee=b,e.arguments=this.parseExprList(c.types.parenR,!1),b=this.finishNode(e,"CallExpression");else if(this.type===c.types.backQuote)e=this.startNodeAt(a,h),e.tag=b,e.quasi=this.parseTemplate(),b=this.finishNode(e, +"TaggedTemplateExpression");else return b};a.parseExprAtom=function(b){var a=this.potentialArrowAt==this.start;switch(this.type){case c.types._super:this.inFunction||this.raise(this.start,"'super' outside of function or class");case c.types._this:return b=this.type===c.types._this?"ThisExpression":"Super",a=this.startNode(),this.next(),this.finishNode(a,b);case c.types.name:b=this.start;var h=this.startLoc,n=this.parseIdent(this.type!==c.types.name);return a&&!this.canInsertSemicolon()&&this.eat(c.types.arrow)? +this.parseArrowExpression(this.startNodeAt(b,h),[n]):n;case c.types.regexp:return b=this.value,a=this.parseLiteral(b.value),a.regex={pattern:b.pattern,flags:b.flags},a;case c.types.num:case c.types.string:return this.parseLiteral(this.value);case c.types._null:case c.types._true:case c.types._false:return a=this.startNode(),a.value=this.type===c.types._null?null:this.type===c.types._true,a.raw=this.type.keyword,this.next(),this.finishNode(a,"Literal");case c.types.parenL:return this.parseParenAndDistinguishExpression(a); +case c.types.bracketL:return a=this.startNode(),this.next(),a.elements=this.parseExprList(c.types.bracketR,!0,!0,b),this.finishNode(a,"ArrayExpression");case c.types.braceL:return this.parseObj(!1,b);case c.types._function:return a=this.startNode(),this.next(),this.parseFunction(a,!1);case c.types._class:return this.parseClass(this.startNode(),!1);case c.types._new:return this.parseNew();case c.types.backQuote:return this.parseTemplate();default:this.unexpected()}};a.parseLiteral=function(b){var a= +this.startNode();a.value=b;a.raw=this.input.slice(this.start,this.end);this.next();return this.finishNode(a,"Literal")};a.parseParenExpression=function(){this.expect(c.types.parenL);var b=this.parseExpression();this.expect(c.types.parenR);return b};a.parseParenAndDistinguishExpression=function(b){var a=this.start,h=this.startLoc;if(6<=this.options.ecmaVersion){this.next();for(var n=this.start,e=this.startLoc,m=[],p=!0,g={shorthandAssign:0,trailingComma:0},k=void 0,q=void 0;this.type!==c.types.parenR;)if(p? +p=!1:this.expect(c.types.comma),this.type===c.types.ellipsis){k=this.start;m.push(this.parseParenItem(this.parseRest()));break}else this.type!==c.types.parenL||q||(q=this.start),m.push(this.parseMaybeAssign(!1,g,this.parseParenItem));var p=this.start,f=this.startLoc;this.expect(c.types.parenR);if(b&&!this.canInsertSemicolon()&&this.eat(c.types.arrow))return this.checkPatternErrors(g,!0),q&&this.unexpected(q),this.parseParenArrowList(a,h,m);m.length||this.unexpected(this.lastTokStart);k&&this.unexpected(k); +this.checkExpressionErrors(g,!0);1b)return!1; +e+=a[c+1];if(e>=b)return!0}}f.__esModule=!0;f.isIdentifierStart=function(b,a){return 65>b?36===b:91>b?!0:97>b?95===b:123>b?!0:65535>=b?170<=b&&g.test(String.fromCharCode(b)):!1===a?!1:c(b,d)};f.isIdentifierChar=function(a,e){return 48>a?36===a:58>a?!0:65>a?!1:91>a?!0:97>a?95===a:123>a?!0:65535>=a?170<=a&&b.test(String.fromCharCode(a)):!1===e?!1:c(a,d)||c(a,h)};f.reservedWords={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", +5:"class enum extends super const export import",6:"enum",7:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"};f.keywords={5:"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",6:"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this const class extends export import super"}; +a="\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b4\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ad\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +var g=new RegExp("["+a+"]"),b=new RegExp("["+a+"\u200c\u200d\u00b7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]"); +a=null;var d=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,99,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,287,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,1288, +921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,16481,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,1340,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],h=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3, +41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,168,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,316,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,20855,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,3617,6,792618,239]},{}],3:[function(a,l,f){f.__esModule=!0;f.parse=function(a,b){return(new c.Parser(b,a)).parse()};f.parseExpressionAt=function(a,b,d){a=new c.Parser(d,a,b);a.nextToken(); +return a.parseExpression()};f.tokenizer=function(a,b){return new c.Parser(b,a)};var c=a("./state");a("./parseutil");a("./statement");a("./lval");a("./expression");a("./location");f.Parser=c.Parser;f.plugins=c.plugins;l=a("./options");f.defaultOptions=l.defaultOptions;l=a("./locutil");f.Position=l.Position;f.SourceLocation=l.SourceLocation;f.getLineInfo=l.getLineInfo;l=a("./node");f.Node=l.Node;l=a("./tokentype");f.TokenType=l.TokenType;f.tokTypes=l.types;l=a("./tokencontext");f.TokContext=l.TokContext; +f.tokContexts=l.types;l=a("./identifier");f.isIdentifierChar=l.isIdentifierChar;f.isIdentifierStart=l.isIdentifierStart;l=a("./tokenize");f.Token=l.Token;a=a("./whitespace");f.isNewLine=a.isNewLine;f.lineBreak=a.lineBreak;f.lineBreakG=a.lineBreakG;f.version="3.1.0"},{"./expression":1,"./identifier":2,"./location":4,"./locutil":5,"./lval":6,"./node":7,"./options":8,"./parseutil":9,"./state":10,"./statement":11,"./tokencontext":12,"./tokenize":13,"./tokentype":14,"./whitespace":16}],4:[function(a,l, +f){l=a("./state");var c=a("./locutil");a=l.Parser.prototype;a.raise=function(a,b){var d=c.getLineInfo(this.input,a);b+=" ("+d.line+":"+d.column+")";var h=new SyntaxError(b);h.pos=a;h.loc=d;h.raisedAt=this.pos;throw h;};a.raiseRecoverable=a.raise;a.curPosition=function(){if(this.options.locations)return new c.Position(this.curLine,this.pos-this.lineStart)}},{"./locutil":5,"./state":10}],5:[function(a,l,f){function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function"); +}f.__esModule=!0;f.getLineInfo=function(a,c){for(var d=1,e=0;;){g.lineBreakG.lastIndex=e;var m=g.lineBreakG.exec(a);if(m&&m.indexthis.options.ecmaVersion||"let"!=this.value)return!1;g.skipWhiteSpace.lastIndex=this.pos;var a=g.skipWhiteSpace.exec(this.input),a=this.pos+a[0].length,d=this.input.charCodeAt(a);if(91===d||123==d)return!0;if(b.isIdentifierStart(d,!0)){for(d=a+1;b.isIdentifierChar(this.input.charCodeAt(d,!0));++d);a=this.input.slice(a,d);if(!this.isKeyword(a))return!0}return!1}; +a.parseStatement=function(a,b){var e=this.type,d=this.startNode(),k=void 0;this.isLet()&&(e=c.types._var,k="let");switch(e){case c.types._break:case c.types._continue:return this.parseBreakContinueStatement(d,e.keyword);case c.types._debugger:return this.parseDebuggerStatement(d);case c.types._do:return this.parseDoStatement(d);case c.types._for:return this.parseForStatement(d);case c.types._function:return!a&&6<=this.options.ecmaVersion&&this.unexpected(),this.parseFunctionStatement(d);case c.types._class:return a|| +this.unexpected(),this.parseClass(d,!0);case c.types._if:return this.parseIfStatement(d);case c.types._return:return this.parseReturnStatement(d);case c.types._switch:return this.parseSwitchStatement(d);case c.types._throw:return this.parseThrowStatement(d);case c.types._try:return this.parseTryStatement(d);case c.types._const:case c.types._var:return k=k||this.value,a||"var"==k||this.unexpected(),this.parseVarStatement(d,k);case c.types._while:return this.parseWhileStatement(d);case c.types._with:return this.parseWithStatement(d); +case c.types.braceL:return this.parseBlock();case c.types.semi:return this.parseEmptyStatement(d);case c.types._export:case c.types._import:return this.options.allowImportExportEverywhere||(b||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),e===c.types._import?this.parseImport(d):this.parseExport(d);default:var k=this.value,m=this.parseExpression();return e===c.types.name&& +"Identifier"===m.type&&this.eat(c.types.colon)?this.parseLabeledStatement(d,k,m):this.parseExpressionStatement(d,m)}};a.parseBreakContinueStatement=function(a,b){var e="break"==b;this.next();this.eat(c.types.semi)||this.insertSemicolon()?a.label=null:this.type!==c.types.name?this.unexpected():(a.label=this.parseIdent(),this.semicolon());for(var d=0;d=a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)}f.__esModule=!0;var b=a("./identifier"),d=a("./tokentype");l=a("./state");var h=a("./locutil"),n=a("./whitespace"),e=function k(a){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");this.type=a.type;this.value=a.value;this.start=a.start;this.end=a.end;a.options.locations&&(this.loc= +new h.SourceLocation(a,a.startLoc,a.endLoc));a.options.ranges&&(this.range=[a.start,a.end])};f.Token=e;a=l.Parser.prototype;var m="object"==typeof Packages&&"[object JavaPackage]"==Object.prototype.toString.call(Packages);a.next=function(){if(this.options.onToken)this.options.onToken(new e(this));this.lastTokEnd=this.end;this.lastTokStart=this.start;this.lastTokEndLoc=this.endLoc;this.lastTokStartLoc=this.startLoc;this.nextToken()};a.getToken=function(){this.next();return new e(this)};"undefined"!== +typeof Symbol&&(a[Symbol.iterator]=function(){var a=this;return{next:function(){var b=a.getToken();return{done:b.type===d.types.eof,value:b}}}});a.setStrict=function(a){this.strict=a;if(this.type===d.types.num||this.type===d.types.string){this.pos=this.start;if(this.options.locations)for(;this.pos=this.input.length)return this.finishToken(d.types.eof);if(a.override)return a.override(this);this.readToken(this.fullCharCodeAtPos())};a.readToken=function(a){return b.isIdentifierStart(a,6<=this.options.ecmaVersion)||92===a?this.readWord():this.getTokenFromCode(a)};a.fullCharCodeAtPos=function(){var a=this.input.charCodeAt(this.pos);if(55295>=a||57344<= +a)return a;var b=this.input.charCodeAt(this.pos+1);return(a<<10)+b-56613888};a.skipBlockComment=function(){var a=this.options.onComment&&this.curPosition(),b=this.pos,c=this.input.indexOf("*/",this.pos+=2);-1===c&&this.raise(this.pos-2,"Unterminated comment");this.pos=c+2;if(this.options.locations){n.lineBreakG.lastIndex=b;for(var d=void 0;(d=n.lineBreakG.exec(this.input))&&d.indexa||5760<=a&&n.nonASCIIwhitespace.test(String.fromCharCode(a)))++this.pos;else break a}}};a.finishToken=function(a,b){this.end=this.pos;this.options.locations&& +(this.endLoc=this.curPosition());var c=this.type;this.type=a;this.value=b;this.updateContext(c)};a.readToken_dot=function(){var a=this.input.charCodeAt(this.pos+1);if(48<=a&&57>=a)return this.readNumber(!0);var b=this.input.charCodeAt(this.pos+2);if(6<=this.options.ecmaVersion&&46===a&&46===b)return this.pos+=3,this.finishToken(d.types.ellipsis);++this.pos;return this.finishToken(d.types.dot)};a.readToken_slash=function(){var a=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos, +this.readRegexp()):61===a?this.finishOp(d.types.assign,2):this.finishOp(d.types.slash,1)};a.readToken_mult_modulo_exp=function(a){var b=this.input.charCodeAt(this.pos+1),c=1;a=42===a?d.types.star:d.types.modulo;7<=this.options.ecmaVersion&&42===b&&(++c,a=d.types.starstar,b=this.input.charCodeAt(this.pos+2));return 61===b?this.finishOp(d.types.assign,c+1):this.finishOp(a,c)};a.readToken_pipe_amp=function(a){var b=this.input.charCodeAt(this.pos+1);return b===a?this.finishOp(124===a?d.types.logicalOR: +d.types.logicalAND,2):61===b?this.finishOp(d.types.assign,2):this.finishOp(124===a?d.types.bitwiseOR:d.types.bitwiseAND,1)};a.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(d.types.assign,2):this.finishOp(d.types.bitwiseXOR,1)};a.readToken_plus_min=function(a){var b=this.input.charCodeAt(this.pos+1);return b===a?45==b&&62==this.input.charCodeAt(this.pos+2)&&n.lineBreak.test(this.input.slice(this.lastTokEnd,this.pos))?(this.skipLineComment(3),this.skipSpace(), +this.nextToken()):this.finishOp(d.types.incDec,2):61===b?this.finishOp(d.types.assign,2):this.finishOp(d.types.plusMin,1)};a.readToken_lt_gt=function(a){var b=this.input.charCodeAt(this.pos+1),c=1;if(b===a)return c=62===a&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+c)?this.finishOp(d.types.assign,c+1):this.finishOp(d.types.bitShift,c);if(33==b&&60==a&&45==this.input.charCodeAt(this.pos+2)&&45==this.input.charCodeAt(this.pos+3))return this.inModule&&this.unexpected(), +this.skipLineComment(4),this.skipSpace(),this.nextToken();61===b&&(c=2);return this.finishOp(d.types.relational,c)};a.readToken_eq_excl=function(a){var b=this.input.charCodeAt(this.pos+1);return 61===b?this.finishOp(d.types.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===a&&62===b&&6<=this.options.ecmaVersion?(this.pos+=2,this.finishToken(d.types.arrow)):this.finishOp(61===a?d.types.eq:d.types.prefix,1)};a.getTokenFromCode=function(a){switch(a){case 46:return this.readToken_dot();case 40:return++this.pos, +this.finishToken(d.types.parenL);case 41:return++this.pos,this.finishToken(d.types.parenR);case 59:return++this.pos,this.finishToken(d.types.semi);case 44:return++this.pos,this.finishToken(d.types.comma);case 91:return++this.pos,this.finishToken(d.types.bracketL);case 93:return++this.pos,this.finishToken(d.types.bracketR);case 123:return++this.pos,this.finishToken(d.types.braceL);case 125:return++this.pos,this.finishToken(d.types.braceR);case 58:return++this.pos,this.finishToken(d.types.colon);case 63:return++this.pos, +this.finishToken(d.types.question);case 96:if(6>this.options.ecmaVersion)break;++this.pos;return this.finishToken(d.types.backQuote);case 48:a=this.input.charCodeAt(this.pos+1);if(120===a||88===a)return this.readRadixNumber(16);if(6<=this.options.ecmaVersion){if(111===a||79===a)return this.readRadixNumber(8);if(98===a||66===a)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(a);case 47:return this.readToken_slash(); +case 37:case 42:return this.readToken_mult_modulo_exp(a);case 124:case 38:return this.readToken_pipe_amp(a);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(a);case 60:case 62:return this.readToken_lt_gt(a);case 61:case 33:return this.readToken_eq_excl(a);case 126:return this.finishOp(d.types.prefix,1)}this.raise(this.pos,"Unexpected character '"+g(a)+"'")};a.finishOp=function(a,b){var c=this.input.slice(this.pos,this.pos+b);this.pos+=b;return this.finishToken(a, +c)};var p=!!c("\uffff","u");a.readRegexp=function(){for(var a=this,b=void 0,e=void 0,f=this.pos;;){this.pos>=this.input.length&&this.raise(f,"Unterminated regular expression");var g=this.input.charAt(this.pos);n.lineBreak.test(g)&&this.raise(f,"Unterminated regular expression");if(b)b=!1;else{if("["===g)e=!0;else if("]"===g&&e)e=!1;else if("/"===g&&!e)break;b="\\"===g}++this.pos}b=this.input.slice(f,this.pos);++this.pos;e=this.readWord1();g=b;if(e){var h=/^[gim]*$/;6<=this.options.ecmaVersion&&(h= +/^[gimuy]*$/);h.test(e)||this.raise(f,"Invalid regular expression flag");0<=e.indexOf("u")&&!p&&(g=g.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(b,c,d){c=Number("0x"+c);1114111=k?k-48:Infinity;if(k>=a)break;++this.pos;d=d*a+k}return this.pos===c||null!=b&&this.pos-c!==b?null:d};a.readRadixNumber=function(a){this.pos+=2;var c=this.readInt(a);null==c&&this.raise(this.start+2,"Expected number in radix "+a);b.isIdentifierStart(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");return this.finishToken(d.types.num,c)};a.readNumber=function(a){var c=this.pos,e=!1,f=48===this.input.charCodeAt(this.pos);a|| +null!==this.readInt(10)||this.raise(c,"Invalid number");a=this.input.charCodeAt(this.pos);46===a&&(++this.pos,this.readInt(10),e=!0,a=this.input.charCodeAt(this.pos));if(69===a||101===a)a=this.input.charCodeAt(++this.pos),43!==a&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(c,"Invalid number"),e=!0;b.isIdentifierStart(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");a=this.input.slice(c,this.pos);var k=void 0;e?k=parseFloat(a):f&&1!==a.length?/[89]/.test(a)|| +this.strict?this.raise(c,"Invalid number"):k=parseInt(a,8):k=parseInt(a,10);return this.finishToken(d.types.num,k)};a.readCodePoint=function(){if(123===this.input.charCodeAt(this.pos)){6>this.options.ecmaVersion&&this.unexpected();var a=++this.pos;var b=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos);++this.pos;1114111=this.input.length&&this.raise(this.start, +"Unterminated string constant");var e=this.input.charCodeAt(this.pos);if(e===a)break;92===e?(b+=this.input.slice(c,this.pos),b+=this.readEscapedChar(!1),c=this.pos):(n.isNewLine(e)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}b+=this.input.slice(c,this.pos++);return this.finishToken(d.types.string,b)};a.readTmplToken=function(){for(var a="",b=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var c=this.input.charCodeAt(this.pos);if(96=== +c||36===c&&123===this.input.charCodeAt(this.pos+1)){if(this.pos===this.start&&this.type===d.types.template){if(36===c)return this.pos+=2,this.finishToken(d.types.dollarBraceL);++this.pos;return this.finishToken(d.types.backQuote)}a+=this.input.slice(b,this.pos);return this.finishToken(d.types.template,a)}if(92===c)a+=this.input.slice(b,this.pos),a+=this.readEscapedChar(!0),b=this.pos;else if(n.isNewLine(c)){a+=this.input.slice(b,this.pos);++this.pos;switch(c){case 13:10===this.input.charCodeAt(this.pos)&& +++this.pos;case 10:a+="\n";break;default:a+=String.fromCharCode(c)}this.options.locations&&(++this.curLine,this.lineStart=this.pos);b=this.pos}else++this.pos}};a.readEscapedChar=function(a){var b=this.input.charCodeAt(++this.pos);++this.pos;switch(b){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return g(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\x0B";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&& +++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";default:if(48<=b&&55>=b){var b=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],c=parseInt(b,8);255=f?1:2;else if(92===f)this.containsEsc=!0,a+=this.input.slice(d,this.pos),d=this.pos,117!=this.input.charCodeAt(++this.pos)&&this.raise(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos,f=this.readCodePoint(),(c?b.isIdentifierStart:b.isIdentifierChar)(f,e)||this.raise(d, +"Invalid Unicode escape"),a+=g(f),d=this.pos;else break;c=!1}return a+this.input.slice(d,this.pos)};a.readWord=function(){var a=this.readWord1(),b=d.types.name;(6<=this.options.ecmaVersion||!this.containsEsc)&&this.keywords.test(a)&&(b=d.keywords[a]);return this.finishToken(b,a)}},{"./identifier":2,"./locutil":5,"./state":10,"./tokentype":14,"./whitespace":16}],14:[function(a,l,f){function c(a,c){return new b(a,{beforeExpr:!0,binop:c})}function g(a){var c=1>=arguments.length||void 0===arguments[1]? +{}:arguments[1];c.keyword=a;h[a]=d["_"+a]=new b(a,c)}f.__esModule=!0;var b=function e(a){var b=1>=arguments.length||void 0===arguments[1]?{}:arguments[1];if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.label=a;this.keyword=b.keyword;this.beforeExpr=!!b.beforeExpr;this.startsExpr=!!b.startsExpr;this.isLoop=!!b.isLoop;this.isAssign=!!b.isAssign;this.prefix=!!b.prefix;this.postfix=!!b.postfix;this.binop=b.binop||null;this.updateContext=null};f.TokenType=b;a={beforeExpr:!0}; +l={startsExpr:!0};var d={num:new b("num",l),regexp:new b("regexp",l),string:new b("string",l),name:new b("name",l),eof:new b("eof"),bracketL:new b("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new b("]"),braceL:new b("{",{beforeExpr:!0,startsExpr:!0}),braceR:new b("}"),parenL:new b("(",{beforeExpr:!0,startsExpr:!0}),parenR:new b(")"),comma:new b(",",a),semi:new b(";",a),colon:new b(":",a),dot:new b("."),question:new b("?",a),arrow:new b("=>",a),template:new b("template"),ellipsis:new b("...",a),backQuote:new b("`", +l),dollarBraceL:new b("${",{beforeExpr:!0,startsExpr:!0}),eq:new b("=",{beforeExpr:!0,isAssign:!0}),assign:new b("_=",{beforeExpr:!0,isAssign:!0}),incDec:new b("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new b("prefix",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:c("||",1),logicalAND:c("&&",2),bitwiseOR:c("|",3),bitwiseXOR:c("^",4),bitwiseAND:c("&",5),equality:c("==/!=",6),relational:c("",7),bitShift:c("<>",8),plusMin:new b("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}), +modulo:c("%",10),star:c("*",10),slash:c("/",10),starstar:new b("**",{beforeExpr:!0})};f.types=d;var h={};f.keywords=h;g("break");g("case",a);g("catch");g("continue");g("debugger");g("default",a);g("do",{isLoop:!0,beforeExpr:!0});g("else",a);g("finally");g("for",{isLoop:!0});g("function",l);g("if");g("return",a);g("switch");g("throw",a);g("try");g("var");g("const");g("while",{isLoop:!0});g("with");g("new",{beforeExpr:!0,startsExpr:!0});g("this",l);g("super",l);g("class");g("extends",a);g("export"); +g("import");g("null",l);g("true",l);g("false",l);g("in",{beforeExpr:!0,binop:7});g("instanceof",{beforeExpr:!0,binop:7});g("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0});g("void",{beforeExpr:!0,prefix:!0,startsExpr:!0});g("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},{}],15:[function(a,l,f){f.__esModule=!0;f.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)};f.has=function(a,f){return Object.prototype.hasOwnProperty.call(a,f)}},{}],16:[function(a,l,f){f.__esModule= +!0;f.isNewLine=function(a){return 10===a||13===a||8232===a||8233==a};a=/\r\n?|\n|\u2028|\u2029/;f.lineBreak=a;f.lineBreakG=new RegExp(a.source,"g");f.nonASCIIwhitespace=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;f.skipWhiteSpace=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g},{}]},{},[3])(3)}); +var UPNG = {}; + + + +UPNG.toRGBA8 = function(out) +{ + var w = out.width, h = out.height; + if(out.tabs.acTL==null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer]; + + var frms = []; + if(out.frames[0].data==null) out.frames[0].data = out.data; + + var len = w*h*4, img = new Uint8Array(len), empty = new Uint8Array(len), prev=new Uint8Array(len); + for(var i=0; i>3)]>>(7-((i&7)<<0)))& 1), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>2)]>>(6-((i&3)<<1)))& 3), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>1)]>>(4-((i&1)<<2)))&15), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j>>3)]>>>(7 -((x&7) )))& 1), al=(gr==tr*255)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + else if(depth== 2) for(var x=0; x>>2)]>>>(6 -((x&3)<<1)))& 3), al=(gr==tr* 85)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + else if(depth== 4) for(var x=0; x>>1)]>>>(4 -((x&1)<<2)))&15), al=(gr==tr* 17)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + else if(depth== 8) for(var x=0; x>>2<<5);while(i==0){i=n(N,d,1);m=n(N,d+1,2);d+=3;if(m==0){if((d&7)!=0)d+=8-(d&7); +var D=(d>>>3)+4,q=N[D-4]|N[D-3]<<8;if(Z)W=H.H.W(W,w+q);W.set(new R(N.buffer,N.byteOffset+D,q),w);d=D+q<<3; +w+=q;continue}if(Z)W=H.H.W(W,w+(1<<17));if(m==1){v=b.J;C=b.h;X=(1<<9)-1;u=(1<<5)-1}if(m==2){J=A(N,d,5)+257; +h=A(N,d+5,5)+1;Q=A(N,d+10,4)+4;d+=14;var E=d,j=1;for(var c=0;c<38;c+=2){b.Q[c]=0;b.Q[c+1]=0}for(var c=0; +cj)j=K}d+=3*Q;M(b.Q,j);I(b.Q,j,b.u);v=b.w;C=b.d; +d=l(b.u,(1<>>4;if(p>>>8==0){W[w++]=p}else if(p==256){break}else{var z=w+p-254; +if(p>264){var _=b.q[p-257];z=w+(_>>>3)+A(N,d,_&7);d+=_&7}var $=C[e(N,d)&u];d+=$&15;var s=$>>>4,Y=b.c[s],a=(Y>>>4)+n(N,d,Y&15); +d+=Y&15;while(w>>4; +if(b<=15){A[I]=b;I++}else{var Z=0,m=0;if(b==16){m=3+l(V,n,2);n+=2;Z=A[I-1]}else if(b==17){m=3+l(V,n,3); +n+=3}else if(b==18){m=11+l(V,n,7);n+=7}var J=I+m;while(I>>1; +while(An)n=M;A++}while(A>1,I=N[l+1],e=M<<4|I,b=W-I,Z=N[l]<>>15-W;R[J]=e;Z++}}};H.H.l=function(N,W){var R=H.H.m.r,V=15-W;for(var n=0;n>>V}};H.H.M=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8}; +H.H.I=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8;N[V+2]|=R>>>16};H.H.e=function(N,W,R){return(N[W>>>3]|N[(W>>>3)+1]<<8)>>>(W&7)&(1<>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)&(1<>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)}; +H.H.i=function(N,W){return(N[W>>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16|N[(W>>>3)+3]<<24)>>>(W&7)};H.H.m=function(){var N=Uint16Array,W=Uint32Array; +return{K:new N(16),j:new N(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new N(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new W(32),J:new N(512),_:[],h:new N(32),$:[],w:new N(32768),C:[],v:[],d:new N(32768),D:[],u:new N(512),Q:[],r:new N(1<<15),s:new W(286),Y:new W(30),a:new W(19),t:new W(15e3),k:new N(1<<16),g:new N(1<<15)}}(); +(function(){var N=H.H.m,W=1<<15;for(var R=0;R>>1|(V&1431655765)<<1; +V=(V&3435973836)>>>2|(V&858993459)<<2;V=(V&4042322160)>>>4|(V&252645135)<<4;V=(V&4278255360)>>>8|(V&16711935)<<8; +N.r[R]=(V>>>16|V<<16)>>>17}function n(A,l,M){while(l--!=0)A.push(0,M)}for(var R=0;R<32;R++){N.q[R]=N.S[R]<<3|N.T[R]; +N.c[R]=N.p[R]<<4|N.z[R]}n(N._,144,8);n(N._,255-143,9);n(N._,279-255,7);n(N._,287-279,8);H.H.n(N._,9); +H.H.A(N._,9,N.J);H.H.l(N._,9);n(N.$,32,5);H.H.n(N.$,5);H.H.A(N.$,5,N.h);H.H.l(N.$,5);n(N.Q,19,0);n(N.C,286,0); +n(N.D,30,0);n(N.v,320,0)}());return H.H.N}() + + +UPNG.decode._readInterlace = function(data, out) +{ + var w = out.width, h = out.height; + var bpp = UPNG.decode._getBPP(out), cbpp = bpp>>3, bpl = Math.ceil(w*bpp/8); + var img = new Uint8Array( h * bpl ); + var di = 0; + + var starting_row = [ 0, 0, 4, 0, 2, 0, 1 ]; + var starting_col = [ 0, 4, 0, 2, 0, 1, 0 ]; + var row_increment = [ 8, 8, 8, 4, 4, 2, 2 ]; + var col_increment = [ 8, 8, 4, 4, 2, 2, 1 ]; + + var pass=0; + while(pass<7) + { + var ri = row_increment[pass], ci = col_increment[pass]; + var sw = 0, sh = 0; + var cr = starting_row[pass]; while(cr>3]; val = (val>>(7-(cdi&7)))&1; + img[row*bpl + (col>>3)] |= (val << (7-((col&7)<<0))); + } + if(bpp==2) { + var val = data[cdi>>3]; val = (val>>(6-(cdi&7)))&3; + img[row*bpl + (col>>2)] |= (val << (6-((col&3)<<1))); + } + if(bpp==4) { + var val = data[cdi>>3]; val = (val>>(4-(cdi&7)))&15; + img[row*bpl + (col>>1)] |= (val << (4-((col&1)<<2))); + } + if(bpp>=8) { + var ii = row*bpl+col*cbpp; + for(var j=0; j>3)+j]; + } + cdi+=bpp; col+=ci; + } + y++; row += ri; + } + if(sw*sh!=0) di += sh * (1 + bpll); + pass = pass + 1; + } + return img; +} + +UPNG.decode._getBPP = function(out) { + var noc = [1,null,3,1,2,null,4][out.ctype]; + return noc * out.depth; +} + +UPNG.decode._filterZero = function(data, out, off, w, h) +{ + var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), paeth = UPNG.decode._paeth; + bpp = Math.ceil(bpp/8); + + var i=0, di=1, type=data[off], x=0; + + if(type>1) data[off]=[0,0,1][type-2]; + if(type==3) for(x=bpp; x>>1) )&255; + + for(var y=0; y>>1)); + for(; x>>1) ); } + else { for(; x>8)&255; buff[p+1] = n&255; }, + readUint : function(buff,p) { return (buff[p]*(256*256*256)) + ((buff[p+1]<<16) | (buff[p+2]<< 8) | buff[p+3]); }, + writeUint : function(buff,p,n){ buff[p]=(n>>24)&255; buff[p+1]=(n>>16)&255; buff[p+2]=(n>>8)&255; buff[p+3]=n&255; }, + readASCII : function(buff,p,l){ var s = ""; for(var i=0; i=0 && yoff>=0) { si = (y*sw+x)<<2; ti = (( yoff+y)*tw+xoff+x)<<2; } + else { si = ((-yoff+y)*sw-xoff+x)<<2; ti = (y*tw+x)<<2; } + + if (mode==0) { tb[ti] = sb[si]; tb[ti+1] = sb[si+1]; tb[ti+2] = sb[si+2]; tb[ti+3] = sb[si+3]; } + else if(mode==1) { + var fa = sb[si+3]*(1/255), fr=sb[si]*fa, fg=sb[si+1]*fa, fb=sb[si+2]*fa; + var ba = tb[ti+3]*(1/255), br=tb[ti]*ba, bg=tb[ti+1]*ba, bb=tb[ti+2]*ba; + + var ifa=1-fa, oa = fa+ba*ifa, ioa = (oa==0?0:1/oa); + tb[ti+3] = 255*oa; + tb[ti+0] = (fr+br*ifa)*ioa; + tb[ti+1] = (fg+bg*ifa)*ioa; + tb[ti+2] = (fb+bb*ifa)*ioa; + } + else if(mode==2){ // copy only differences, otherwise zero + var fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; + var ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; + if(fa==ba && fr==br && fg==bg && fb==bb) { tb[ti]=0; tb[ti+1]=0; tb[ti+2]=0; tb[ti+3]=0; } + else { tb[ti]=fr; tb[ti+1]=fg; tb[ti+2]=fb; tb[ti+3]=fa; } + } + else if(mode==3){ // check if can be blended + var fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; + var ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; + if(fa==ba && fr==br && fg==bg && fb==bb) continue; + //if(fa!=255 && ba!=0) return false; + if(fa<220 && ba>20) return false; + } + } + return true; +} + + +UPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte) +{ + if(ps==null) ps=0; + if(forbidPlte==null) forbidPlte = false; + + var nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]); + UPNG.encode.compressPNG(nimg, -1); + + return UPNG.encode._main(nimg, w, h, dels, tabs); +} + +UPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels, tabs) { + var nimg = { ctype: 0 + (cc==1 ? 0 : 2) + (ac==0 ? 0 : 4), depth: depth, frames: [] }; + + var time = Date.now(); + var bipp = (cc+ac)*depth, bipl = bipp * w; + for(var i=0; i1, pltAlpha = false; + + var leng = 8 + (16+5+4) /*+ (9+4)*/ + (anim ? 20 : 0); + if(tabs["sRGB"]!=null) leng += 8+1+4; + if(tabs["pHYs"]!=null) leng += 8+9+4; + if(nimg.ctype==3) { + var dl = nimg.plte.length; + for(var i=0; i>>24)!=255) pltAlpha = true; + leng += (8 + dl*3 + 4) + (pltAlpha ? (8 + dl*1 + 4) : 0); + } + for(var j=0; j>>8)&255, b=(c>>>16)&255; + data[offset+ti+0]=r; data[offset+ti+1]=g; data[offset+ti+2]=b; + } + offset+=dl*3; + wUi(data,offset,crc(data,offset-dl*3-4,dl*3+4)); offset+=4; // crc + + if(pltAlpha) { + wUi(data,offset, dl); offset+=4; + wAs(data,offset,"tRNS"); offset+=4; + for(var i=0; i>>24)&255; + offset+=dl; + wUi(data,offset,crc(data,offset-dl-4,dl+4)); offset+=4; // crc + } + } + + var fi = 0; + for(var j=0; j>2, bln>>2)); + for(var j=0; jnw && c==img32[i-nw]) ind[i]=ind[i-nw]; + else { + var cmc = cmap[c]; + if(cmc==null) { cmap[c]=cmc=plte.length; plte.push(c); if(plte.length>=300) break; } + ind[i]=cmc; + } + } + } + //console.log("make palette", Date.now()-time); time = Date.now(); + } + + var cc=plte.length; //console.log("colors:",cc); + if(cc<=256 && forbidPlte==false) { + if(cc<= 2) depth=1; else if(cc<= 4) depth=2; else if(cc<=16) depth=4; else depth=8; + depth = Math.max(depth, minBits); + } + + for(var j=0; j>1)] |= (inj[ii+x]<<(4-(x&1)*4)); + else if(depth==2) for(var x=0; x>2)] |= (inj[ii+x]<<(6-(x&3)*2)); + else if(depth==1) for(var x=0; x>3)] |= (inj[ii+x]<<(7-(x&7)*1)); + } + cimg=nimg; ctype=3; bpp=1; + } + else if(gotAlpha==false && frms.length==1) { // some next "reduced" frames may contain alpha for blending + var nimg = new Uint8Array(nw*nh*3), area=nw*nh; + for(var i=0; i palette indices", Date.now()-time); time = Date.now(); + + return {ctype:ctype, depth:depth, plte:plte, frames:frms }; +} +UPNG.encode.framize = function(bufs,w,h,alwaysBlend,evenCrd,forbidPrev) { + /* DISPOSE + - 0 : no change + - 1 : clear to transparent + - 2 : retstore to content before rendering (previous frame disposed) + BLEND + - 0 : replace + - 1 : blend + */ + var frms = []; + for(var j=0; jmax) max=x; + if(ymay) may=y; + } + } + if(max==-1) mix=miy=max=may=0; + if(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; } + var sarea = (max-mix+1)*(may-miy+1); + if(sareamax) max=cx; + if(cymay) may=cy; + } + } + if(max==-1) mix=miy=max=may=0; + if(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; } + r = {x:mix, y:miy, width:max-mix+1, height:may-miy+1}; + + var fr = frms[i]; fr.rect = r; fr.blend = 1; fr.img = new Uint8Array(r.width*r.height*4); + if(frms[i-1].dispose==0) { + UPNG._copyTile(pimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0); + UPNG.encode._prepareDiff(cimg,w,h,fr.img,r); + //UPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 2); + } + else + UPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0); +} +UPNG.encode._prepareDiff = function(cimg, w,h, nimg, rec) { + UPNG._copyTile(cimg,w,h, nimg,rec.width,rec.height, -rec.x,-rec.y, 2); + /* + var n32 = new Uint32Array(nimg.buffer); + var og = new Uint8Array(rec.width*rec.height*4), o32 = new Uint32Array(og.buffer); + UPNG._copyTile(cimg,w,h, og,rec.width,rec.height, -rec.x,-rec.y, 0); + for(var i=4; i>>2]==o32[(i>>>2)-1]) { + n32[i>>>2]=o32[i>>>2]; + //var j = i, c=p32[(i>>>2)-1]; + //while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; } + } + } + for(var i=nimg.length-8; i>0; i-=4) { + if(nimg[i+7]!=0 && nimg[i+3]==0 && o32[i>>>2]==o32[(i>>>2)+1]) { + n32[i>>>2]=o32[i>>>2]; + //var j = i, c=p32[(i>>>2)-1]; + //while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; } + } + }*/ +} + +UPNG.encode._filterZero = function(img,h,bpp,bpl,data, filter, levelZero) +{ + var fls = [], ftry=[0,1,2,3,4]; + if (filter!=-1) ftry=[filter]; + else if(h*bpl>500000 || bpp==1) ftry=[0]; + var opts; if(levelZero) opts={level:0}; + + + var CMPR = (data.length>10e6 && UZIP!=null) ? UZIP : pako; + + var time = Date.now(); + for(var i=0; i>1) +256)&255; + if(type==4) for(var x=bpp; x>1))&255; + for(var x=bpp; x>1))&255; } + if(type==4) { for(var x= 0; x>> 1); + else c = c >>> 1; + } + tab[n] = c; } + return tab; })(), + update : function(c, buf, off, len) { + for (var i=0; i>> 8); + return c; + }, + crc : function(b,o,l) { return UPNG.crc.update(0xffffffff,b,o,l) ^ 0xffffffff; } +} + + +UPNG.quantize = function(abuf, ps) +{ + var oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer); + + var KD = UPNG.quantize.getKDtree(nimg, ps); + var root = KD[0], leafs = KD[1]; + + var planeDst = UPNG.quantize.planeDst; + var sb = oimg, tb = nimg32, len=sb.length; + + var inds = new Uint8Array(oimg.length>>2), nd; + if(oimg.length<20e6) // precise, but slow :( + for(var i=0; i>2] = nd.ind; tb[i>>2] = nd.est.rgba; + } + else + for(var i=0; i>2] = nd.ind; tb[i>>2] = nd.est.rgba; + } + return { abuf:nimg.buffer, inds:inds, plte:leafs }; +} + +UPNG.quantize.getKDtree = function(nimg, ps, err) { + if(err==null) err = 0.0001; + var nimg32 = new Uint32Array(nimg.buffer); + + var root = {i0:0, i1:nimg.length, bst:null, est:null, tdst:0, left:null, right:null }; // basic statistic, extra statistic + root.bst = UPNG.quantize.stats( nimg,root.i0, root.i1 ); root.est = UPNG.quantize.estats( root.bst ); + var leafs = [root]; + + while(leafs.length maxL) { maxL=leafs[i].est.L; mi=i; } + if(maxL=s0 || node.i1<=s0); + //console.log(maxL, leafs.length, mi); + if(s0wrong) { node.est.L=0; continue; } + + + var ln = {i0:node.i0, i1:s0, bst:null, est:null, tdst:0, left:null, right:null }; ln.bst = UPNG.quantize.stats( nimg, ln.i0, ln.i1 ); + ln.est = UPNG.quantize.estats( ln.bst ); + var rn = {i0:s0, i1:node.i1, bst:null, est:null, tdst:0, left:null, right:null }; rn.bst = {R:[], m:[], N:node.bst.N-ln.bst.N}; + for(var i=0; i<16; i++) rn.bst.R[i] = node.bst.R[i]-ln.bst.R[i]; + for(var i=0; i< 4; i++) rn.bst.m[i] = node.bst.m[i]-ln.bst.m[i]; + rn.est = UPNG.quantize.estats( rn.bst ); + + node.left = ln; node.right = rn; + leafs[mi]=ln; leafs.push(rn); + } + leafs.sort(function(a,b) { return b.bst.N-a.bst.N; }); + for(var i=0; i0) { node0=nd.right; node1=nd.left; } + + var ln = UPNG.quantize.getNearest(node0, r,g,b,a); + if(ln.tdst<=planeDst*planeDst) return ln; + var rn = UPNG.quantize.getNearest(node1, r,g,b,a); + return rn.tdst eMq) i1-=4; + if(i0>=i1) break; + + var t = nimg32[i0>>2]; nimg32[i0>>2] = nimg32[i1>>2]; nimg32[i1>>2]=t; + + i0+=4; i1-=4; + } + while(vecDot(nimg, i0, e)>eMq) i0-=4; + return i0+4; +} +UPNG.quantize.vecDot = function(nimg, i, e) +{ + return nimg[i]*e[0] + nimg[i+1]*e[1] + nimg[i+2]*e[2] + nimg[i+3]*e[3]; +} +UPNG.quantize.stats = function(nimg, i0, i1){ + var R = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; + var m = [0,0,0,0]; + var N = (i1-i0)>>2; + for(var i=i0; i>>0) }; +} +UPNG.M4 = { + multVec : function(m,v) { + return [ + m[ 0]*v[0] + m[ 1]*v[1] + m[ 2]*v[2] + m[ 3]*v[3], + m[ 4]*v[0] + m[ 5]*v[1] + m[ 6]*v[2] + m[ 7]*v[3], + m[ 8]*v[0] + m[ 9]*v[1] + m[10]*v[2] + m[11]*v[3], + m[12]*v[0] + m[13]*v[1] + m[14]*v[2] + m[15]*v[3] + ]; + }, + dot : function(x,y) { return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]+x[3]*y[3]; }, + sml : function(a,y) { return [a*y[0],a*y[1],a*y[2],a*y[3]]; } +} + +UPNG.encode.concatRGBA = function(bufs) { + var tlen = 0; + for(var i=0; il)M.push(6/7*W+1/7*l,5/7*W+2/7*l,4/7*W+3/7*l,3/7*W+4/7*l,2/7*W+5/7*l,1/7*W+6/7*l); +else M.push(4/5*W+1/5*l,3/5*W+2/5*l,2/5*W+3/5*l,1/5*W+4/5*l,0,255);return M}function T(W,l,M,F,t){var K=Q(W[l],W[l+1]); +M.W+=16;for(var $=0;$<64;$+=4){var I=a2(W,M,3);F[$+t]=K[I]}}function u(W,l,M,F,t){var K={W:l*8},$=new Uint8Array(4*4*4); +$.fill(255);for(var I=0;I>8;F[t+2]=S>>16;t+=3}c(F,t,K);t+=8}return t}var E=new Uint8Array(16); +function D(W,l,M){var F=W[l+1]<<8|W[l],t=W[l+3]<<8|W[l+2],K=(F&31)*(255/31),$=(F>>>5&31)*(255/31),I=(F>>10)*(255/31),O=(t&31)*(255/31),C=(t>>>5&63)*(255/63),j=(t>>11)*(255/31),b=E; +b[0]=~~I;b[1]=~~$;b[2]=~~K;b[3]=255;b[12]=~~j;b[13]=~~C;b[14]=~~O;b[15]=255;var h=2/3,_=1-h;b[4]=~~(h*I+_*j); +b[5]=~~(h*$+_*C);b[6]=~~(h*K+_*O);b[7]=255;h=1/3;_=1-h;b[8]=~~(h*I+_*j);b[9]=~~(h*$+_*C);b[10]=~~(h*K+_*O); +b[11]=255;z(W,M,b,l)}function Y(W,l,M){var F=W[l+1]<<8|W[l],t=W[l+3]<<8|W[l+2],K=(F&31)*(255/31),$=(F>>>5&63)*(255/63),I=(F>>11)*(255/31),O=(t&31)*(255/31),C=(t>>>5&63)*(255/63),j=(t>>11)*(255/31),b=E; +b[0]=~~I;b[1]=~~$;b[2]=~~K;b[3]=255;b[4]=~~j;b[5]=~~C;b[6]=~~O;b[7]=255;if(t>8],$=M[(t>>8)+1],I=M[(t>>8)+2],O=M[t&255],C=M[(t&255)+1],j=M[(t&255)+2],b=K>>3<<11|$>>2<<5|I>>3,h=O>>3<<11|C>>2<<5|j>>3; +if(b>>5&63)*(255/63)),K=Math.floor((b>>11)*(255/31)),j=Math.floor((h&31)*(255/31)),C=Math.floor((h>>>5&63)*(255/63)),O=Math.floor((h>>11)*(255/31)); +W[l+0]=b&255;W[l+1]=b>>8;W[l+2]=h&255;W[l+3]=h>>8;var S=2/3,J=1-S,v=Math.floor(S*K+J*O),V=Math.floor(S*$+J*C),p=Math.floor(S*I+J*j); +S=1/3;J=1-S;var w=Math.floor(S*K+J*O),a5=Math.floor(S*$+J*C),y=Math.floor(S*I+J*j),m=l*8+32;for(var i=0; +i<64;i+=4){var f=M[i],H=M[i+1],an=M[i+2],a9=F(f,H,an,K,$,I),a8=F(f,H,an,O,C,j),o=F(f,H,an,v,V,p),R=F(f,H,an,w,a5,y),al=Math.min(a9,Math.min(a8,Math.min(o,R))),g=0; +if(al==a8)g=1;else if(al==o)g=2;else if(al==R)g=3;W[m>>3]|=g<<(m&7);m+=2}}function z(W,l,M,F){var t=F+4<<3; +for(var K=0;K<64;K+=4){var $=W[t>>3]>>(t&7)&3;t+=2;$=$<<2;l[K]=M[$];l[K+1]=M[$+1];l[K+2]=M[$+2];l[K+3]=M[$+3]}}function r(W,l,M,F,t,K){for(var $=0; +$<4;$++){var I=(t+$)*l+F<<2,O=$<<4;K[O+0]=W[I+0];K[O+1]=W[I+1];K[O+2]=W[I+2];K[O+3]=W[I+3];K[O+4]=W[I+4]; +K[O+5]=W[I+5];K[O+6]=W[I+6];K[O+7]=W[I+7];K[O+8]=W[I+8];K[O+9]=W[I+9];K[O+10]=W[I+10];K[O+11]=W[I+11]; +K[O+12]=W[I+12];K[O+13]=W[I+13];K[O+14]=W[I+14];K[O+15]=W[I+15]}}function n(W,l,M,F,t,K){for(var $=0; +$<4;$++){var I=(t+$)*l+F<<2,O=$<<4;W[I+0]=K[O+0];W[I+1]=K[O+1];W[I+2]=K[O+2];W[I+3]=K[O+3];W[I+4]=K[O+4]; +W[I+5]=K[O+5];W[I+6]=K[O+6];W[I+7]=K[O+7];W[I+8]=K[O+8];W[I+9]=K[O+9];W[I+10]=K[O+10];W[I+11]=K[O+11]; +W[I+12]=K[O+12];W[I+13]=K[O+13];W[I+14]=K[O+14];W[I+15]=K[O+15]}}var d="0011001100110011 0001000100010001 0111011101110111 0001001100110111 0000000100010011 0011011101111111 0001001101111111 0000000100110111 0000000000010011 0011011111111111 0000000101111111 0000000000010111 0001011111111111 0000000011111111 0000111111111111 0000000000001111 0000100011101111 0111000100000000 0000000010001110 0111001100010000 0011000100000000 0000100011001110 0000000010001100 0111001100110001 0011000100010000 0000100010001100 0110011001100110 0011011001101100 0001011111101000 0000111111110000 0111000110001110 0011100110011100 0101010101010101 0000111100001111 0101101001011010 0011001111001100 0011110000111100 0101010110101010 0110100101101001 0101101010100101 0111001111001110 0001001111001000 0011001001001100 0011101111011100 0110100110010110 0011110011000011 0110011010011001 0000011001100000 0100111001000000 0010011100100000 0000001001110010 0000010011100100 0110110010010011 0011011011001001 0110001110011100 0011100111000110 0110110011001001 0110001100111001 0111111010000001 0001100011100111 0000111100110011 0011001111110000 0010001011101110 0100010001110111".split(" "),q="0011001102212222 0001001122112221 0000200122112211 0222002200110111 0000000011221122 0011001100220022 0022002211111111 0011001122112211 0000000011112222 0000111111112222 0000111122222222 0012001200120012 0112011201120112 0122012201220122 0011011211221222 0011200122002220 0001001101121122 0111001120012200 0000112211221122 0022002200221111 0111011102220222 0001000122212221 0000001101220122 0000110022102210 0122012200110000 0012001211222222 0110122112210110 0000011012211221 0022110211020022 0110011020022222 0011012201220011 0000200022112221 0000000211221222 0222002200120011 0011001200220222 0120012001200120 0000111122220000 0120120120120120 0120201212010120 0011220011220011 0011112222000011 0101010122222222 0000000021212121 0022112200221122 0022001100220011 0220122102201221 0101222222220101 0000212121212121 0101010101012222 0222011102220111 0002111200021112 0000211221122112 0222011101110222 0002111211120002 0110011001102222 0000000021122112 0110011022222222 0022001100110022 0022112211220022 0000000000002112 0002000100020001 0222122202221222 0101222222222222 0111201122012220".split(" "),Z=[[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,2,0],[0,8,0],[0,2,0],[0,2,0],[0,8,0],[0,8,0],[0,15,0],[0,2,0],[0,8,0],[0,2,0],[0,2,0],[0,8,0],[0,8,0],[0,2,0],[0,2,0],[0,15,0],[0,15,0],[0,6,0],[0,8,0],[0,2,0],[0,8,0],[0,15,0],[0,15,0],[0,2,0],[0,8,0],[0,2,0],[0,2,0],[0,2,0],[0,15,0],[0,15,0],[0,6,0],[0,6,0],[0,2,0],[0,6,0],[0,8,0],[0,15,0],[0,15,0],[0,2,0],[0,2,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,15,0],[0,2,0],[0,2,0],[0,15,0]],ae=[[0,3,15],[0,3,8],[0,15,8],[0,15,3],[0,8,15],[0,3,15],[0,15,3],[0,15,8],[0,8,15],[0,8,15],[0,6,15],[0,6,15],[0,6,15],[0,5,15],[0,3,15],[0,3,8],[0,3,15],[0,3,8],[0,8,15],[0,15,3],[0,3,15],[0,3,8],[0,6,15],[0,10,8],[0,5,3],[0,8,15],[0,8,6],[0,6,10],[0,8,15],[0,5,15],[0,15,10],[0,15,8],[0,8,15],[0,15,3],[0,3,15],[0,5,10],[0,6,10],[0,10,8],[0,8,9],[0,15,10],[0,15,6],[0,3,15],[0,15,8],[0,5,15],[0,15,3],[0,15,6],[0,15,6],[0,15,8],[0,3,15],[0,15,3],[0,5,15],[0,5,15],[0,5,15],[0,8,15],[0,5,15],[0,10,15],[0,5,15],[0,10,15],[0,8,15],[0,13,15],[0,15,3],[0,12,15],[0,3,15],[0,3,8]]; +function P(W,l,M,F,t){var K=a2,$={W:0},I=new Uint8Array(4*4*4),O=[null,null,[0,21,43,64],[0,9,18,27,37,46,55,64],[0,4,9,13,17,21,26,30,34,38,43,47,51,55,60,64]],C=[null,null,d,q],j=[null,null,Z,ae]; +for(var b=0;b>_&1)!=1)_++;$.W=(l<<3)+_+1; +var S=_==4||_==5?K(W,$,2):0,J=_==4?K(W,$,1):0,v=[4,6,6,6,0,0,0,6][_],V=K(W,$,v),p=[4,6,5,7,5,7,7,5][_],w=[0,0,0,0,6,8,7,5][_],a5=[1,1,0,1,0,0,1,1][_],y=[6,4,6,4,2,2,2,4][_],m=[]; +for(var i=0;i<4;i++){var f=i==3?w:p;for(var H=0;H>2)-48,a0=g[x]==i>>2?1:0,a4=K(W,$,o-a0),s=ak[a4]/64,a7=(1-s)*m[0*y+2*x+0]+s*m[0*y+2*x+1],ad=(1-s)*m[1*y+2*x+0]+s*m[1*y+2*x+1],ag=(1-s)*m[2*y+2*x+0]+s*m[2*y+2*x+1],a1=(1-s)*m[3*y+2*x+0]+s*m[3*y+2*x+1]; +I[i]=a7*255;I[i+1]=ad*255;I[i+2]=ag*255;I[i+3]=a1*255}ak=O[R];$.W=ac;if(R!=0)for(var i=0;i<64;i+=4){var x=al.charCodeAt(i>>2)-48,a0=g[x]==i>>2?1:0,a4=K(W,$,R-a0),s=ak[a4]/64,a1=(1-s)*m[3*y+2*x+0]+s*m[3*y+2*x+1]; +I[i+3]=a1*255}ai(I,S);n(M,F,t,h,b,I);l+=16}return l}function ai(W,l){if(l==0)return;for(var M=0;M<64; +M+=4){var F=W[M],t=W[M+1],K=W[M+2],$=W[M+3];if(l==1){var I=$;$=F;F=I}if(l==2){var I=$;$=t;t=I}if(l==3){var I=$; +$=K;K=I}W[M]=F;W[M+1]=t;W[M+2]=K;W[M+3]=$}}function a2(W,l,M){var F=0,t=M;while(M!=0){F=F|X(W,l)<>3]>>(M&7)&1}function e(W,l,M){var F=l>>1,t=M>>1,K=new Uint8Array(F*t*4); +for(var $=0;$>2,p=V==0?0:.25/V; +K[O]=~~(h*p+.5);K[O+1]=~~(_*p+.5);K[O+2]=~~(S*p+.5);K[O+3]=V}return K}function A(W,l,M,F,t,K){return(W-F)*(W-F)+(l-t)*(l-t)+(M-K)*(M-K)}function af(W){var l=A,M=0,F=0; +for(var t=0;t<64;t+=4){var K=W[t],$=W[t+1],I=W[t+2];for(var O=t+4;O<64;O+=4){var C=l(K,$,I,W[O],W[O+1],W[O+2]); +if(C>F){F=C;M=t<<8|O}}}return M}var aj=new ArrayBuffer(4),N=new Uint8Array(aj),ab=new Uint32Array(aj),am=new Uint16Array(aj),a3={Y:function(W,l){N[0]=W[l+0]; +N[1]=W[l+1];return am[0]},T:function(W,l){N[0]=W[l+0];N[1]=W[l+1];N[2]=W[l+2];N[3]=W[l+3];return ab[0]},G:function(W,l,M){ab[0]=M; +W[l+0]=N[0];W[l+1]=N[1];W[l+2]=N[2];W[l+3]=N[3]},t:function(W,l,M){var F="";for(var t=0;t>1)+1]<<8|a[E+(t>>1)];A[t+0]=(K&af)*N; +A[t+1]=(K&ab)*am;A[t+2]=(K&W)*l;A[t+3]=(K&M)*F}E+=e>>>1}else throw"unknown bit count "+Z}else if(c.u&L.i||c.u&L.Q||c.u&L.$){if(Z==8){for(var t=0; +t>2)];E+=e>>>2}else throw"unknown bit count "+Z}else{console.log("unknown texture format, head flags: ",Y.u.toString(2),"pixelFormat flags: ",c.u.toString(2)); +throw"e"}d.push({width:r,height:n,image:A.buffer});r=r>>>1;n=n>>>1}return d}function aa(G,a,E){var G=new Uint8Array(G),D=255,r=0,n=0; +for(var Y=3;Y>1;E=E>>1;n++}z[28]=n;return z.buffer.slice(0,r)}function k(G,a){var E={},D=UTEX.X.T;a+=4;E.u=D(G,a); +a+=4;E.height=D(G,a);a+=4;E.width=D(G,a);a+=4;E.pitch=D(G,a);a+=4;E.depth=D(G,a);a+=4;E.c=D(G,a);a+=4; +a+=11*4;E.Z=Q(G,a);a+=32;E.v=D(G,a);a+=4;E.g=D(G,a);a+=4;E.a3=D(G,a);a+=4;E.a8=D(G,a);a+=4;a+=4;return E}function B(G,a,E,D,Y){var c=UTEX.X.G,z=L.r|L.D|L.h|L.S; +z|=L._|L.N;var r=L.B|L.z|L.A,n=(a*E>>1)*(D?2:1),d=D?1:0;c(G,Y,124);Y+=4;c(G,Y,z);Y+=4;c(G,Y,E);Y+=4; +c(G,Y,a);Y+=4;c(G,Y,n);Y+=4;c(G,Y,d);Y+=4;c(G,Y,10);Y+=4;Y+=11*4;T(G,D,Y);Y+=32;c(G,Y,r);Y+=4;Y+=4*4}function Q(G,a){var E={},D=UTEX.X.T; +a+=4;E.u=D(G,a);a+=4;E.f=UTEX.X.t(G,a,4);a+=4;E.w=D(G,a);a+=4;E.l=D(G,a);a+=4;E.j=D(G,a);a+=4;E.H=D(G,a); +a+=4;E.m=D(G,a);a+=4;return E}function T(G,a,E){var D=UTEX.X.G,Y=L.a;D(G,E,32);E+=4;D(G,E,Y);E+=4;UTEX.X.b(G,E,a?"DXT5":"DXT1"); +E+=4;E+=5*4}function u(G,a){var E={},D=UTEX.X.T;E.V=D(G,a);a+=4;E.a4=D(G,a);a+=4;E.a6=D(G,a);a+=4;E.a1=D(G,a); +a+=4;E.a0=D(G,a);a+=4;return E}return{encode:aa,decode:a6}}();UTEX.VTF=function(){var L={};function a6(k){var B=new Uint8Array(k),Q=0,T={}; +Q=aa(B,Q,T);var u=T.F,G=T.d;if(u*G!=0){var a=new Uint8Array(u*G*4);Q=UTEX.R(B,Q,a,u,G)}var E=T.s,D=T.p,Y=[]; +for(var c=0;c>>D-1-c,r=T.height>>>D-1-c;for(var n=0;n=2){Q.depth=u(k,B);B+=2;if(E>=3){B+=3;Q.a5=T(k,B);B+=4}}return D}return{decode:a6}}();(function(){var j={};if(typeof module=="object"){module.exports=j}else{self.UTIF=j}var b7=typeof require==="function"?require("pako"):self.pako; +function aV(){if(typeof process=="undefined"||process.env.NODE_ENV=="development")console.log.apply(console,arguments)}(function(j,b7){(function(){"use strict"; +var P=function F(){function P(T){this.message="JPEG error: "+T}P.prototype=new Error;P.prototype.name="JpegError"; +P.constructor=P;return P}(),a=function n(){var T=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),f=4017,z=799,G=3406,X=2276,C=1567,w=3784,p=5793,m=2896; +function a(E){if(E==null)E={};if(E.w==null)E.w=-1;this.V=E.n;this.N=E.w}function k(E,O){var D=0,s=[],W,R,h=16,V; +while(h>0&&!E[h-1]){h--}s.push({children:[],index:0});var $=s[0];for(W=0;W0){$=s.pop()}$.index++;s.push($);while(s.length<=W){s.push(V={children:[],index:0}); +$.children[$.index]=V.children;$=V}D++}if(W+10){I--;return g>>I&1}g=E[O++]; +if(g===255){var l=E[O++];if(l){if(l===220&&K){O+=2;var b8=Z(E,O);O+=2;if(b8>0&&b8!==D.s){throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",b8)}}else if(l===217){if(K){var ad=o*8; +if(ad>0&&ad>>7}function as(l){var b8=l;while(!0){b8=b8[H()];switch(typeof b8){case"number":return b8;case"object":continue}throw new P("invalid huffman sequence")}}function ag(l){var a4=0; +while(l>0){a4=a4<<1|H();l--}return a4}function _(l){if(l===1){return H()===1?1:-1}var a4=ag(l);if(a4>=1<>4;if(b5===0){if(b0<15){break}v+=16;continue}v+=b0; +var b2=T[v];r.D[l+b2]=_(b5);v++}}function a8(r,l){var b8=as(r.J),ad=b8===0?0:_(b8)<<$;r.D[l]=r.Q+=ad}function an(r,l){r.D[l]|=H()<<$}function aJ(r,l){if(q>0){q--; +return}var v=R,b8=h;while(v<=b8){var ad=as(r.i),at=ad&15,b5=ad>>4;if(at===0){if(b5<15){q=ag(b5)+(1<>4;if(at===0){if(ad<15){q=ag(ad)+(1<0){for(Y=0;Y0?"unexpected":"excessive";O=a$.offset}if(a$.M>=65488&&a$.M<=65495){O+=2}else{break}}return O-U}function c(E,O,D){var s=E.$,W=E.D,R,h,V,$,K,e,u,U,g,I,q,b,b3,o,r,b4,Y; +if(!s){throw new P("missing required Quantization Table.")}for(var B=0;B<64;B+=8){g=W[O+B];I=W[O+B+1]; +q=W[O+B+2];b=W[O+B+3];b3=W[O+B+4];o=W[O+B+5];r=W[O+B+6];b4=W[O+B+7];g*=s[B];if((I|q|b|b3|o|r|b4)===0){Y=p*g+512>>10; +D[B]=Y;D[B+1]=Y;D[B+2]=Y;D[B+3]=Y;D[B+4]=Y;D[B+5]=Y;D[B+6]=Y;D[B+7]=Y;continue}I*=s[B+1];q*=s[B+2];b*=s[B+3]; +b3*=s[B+4];o*=s[B+5];r*=s[B+6];b4*=s[B+7];R=p*g+128>>8;h=p*b3+128>>8;V=q;$=r;K=m*(I-b4)+128>>8;U=m*(I+b4)+128>>8; +e=b<<4;u=o<<4;R=R+h+1>>1;h=R-h;Y=V*w+$*C+128>>8;V=V*C-$*w+128>>8;$=Y;K=K+u+1>>1;u=K-u;U=U+e+1>>1;e=U-e; +R=R+$+1>>1;$=R-$;h=h+V+1>>1;V=h-V;Y=K*X+U*G+2048>>12;K=K*G-U*X+2048>>12;U=Y;Y=e*z+u*f+2048>>12;e=e*f-u*z+2048>>12; +u=Y;D[B]=R+U;D[B+7]=R-U;D[B+1]=h+u;D[B+6]=h-u;D[B+2]=V+e;D[B+5]=V-e;D[B+3]=$+K;D[B+4]=$-K}for(var v=0; +v<8;++v){g=D[v];I=D[v+8];q=D[v+16];b=D[v+24];b3=D[v+32];o=D[v+40];r=D[v+48];b4=D[v+56];if((I|q|b|b3|o|r|b4)===0){Y=p*g+8192>>14; +if(Y<-2040){Y=0}else if(Y>=2024){Y=255}else{Y=Y+2056>>4}W[O+v]=Y;W[O+v+8]=Y;W[O+v+16]=Y;W[O+v+24]=Y; +W[O+v+32]=Y;W[O+v+40]=Y;W[O+v+48]=Y;W[O+v+56]=Y;continue}R=p*g+2048>>12;h=p*b3+2048>>12;V=q;$=r;K=m*(I-b4)+2048>>12; +U=m*(I+b4)+2048>>12;e=b;u=o;R=(R+h+1>>1)+4112;h=R-h;Y=V*w+$*C+2048>>12;V=V*C-$*w+2048>>12;$=Y;K=K+u+1>>1; +u=K-u;U=U+e+1>>1;e=U-e;R=R+$+1>>1;$=R-$;h=h+V+1>>1;V=h-V;Y=K*X+U*G+2048>>12;K=K*G-U*X+2048>>12;U=Y;Y=e*z+u*f+2048>>12; +e=e*f-u*z+2048>>12;u=Y;g=R+U;b4=R-U;I=h+u;r=h-u;q=V+e;o=V-e;b=$+K;b3=$-K;if(g<16){g=0}else if(g>=4080){g=255}else{g>>=4}if(I<16){I=0}else if(I>=4080){I=255}else{I>>=4}if(q<16){q=0}else if(q>=4080){q=255}else{q>>=4}if(b<16){b=0}else if(b>=4080){b=255}else{b>>=4}if(b3<16){b3=0}else if(b3>=4080){b3=255}else{b3>>=4}if(o<16){o=0}else if(o>=4080){o=255}else{o>>=4}if(r<16){r=0}else if(r>=4080){r=255}else{r>>=4}if(b4<16){b4=0}else if(b4>=4080){b4=255}else{b4>>=4}W[O+v]=g; +W[O+v+8]=I;W[O+v+16]=q;W[O+v+24]=b;W[O+v+32]=b3;W[O+v+40]=o;W[O+v+48]=r;W[O+v+56]=b4}}function y(E,O){var D=O.P,s=O.c,W=new Int16Array(64); +for(var R=0;R=s){return null}var R=Z(E,O);if(R>=65472&&R<=65534){return{u:null,M:R,offset:O}}var h=Z(E,W); +while(!(h>=65472&&h<=65534)){if(++W>=s){return null}h=Z(E,W)}return{u:R.toString(16),M:h,offset:W}}a.prototype={parse(E,O){if(O==null)O={}; +var D=O.F,s=0,W=null,R=null,h,V,$=0;function K(){var b0=Z(E,s);s+=2;var b2=s+b0-2,I=A(E,b2,s);if(I&&I.u){b2=I.offset}var aN=E.subarray(s,b2); +s+=aN.length;return aN}function e(h){var b0=Math.ceil(h.o/8/h.X),b2=Math.ceil(h.s/8/h.B);for(var q=0; +q>4===0){for(b=0; +b<64;b++){b4=T[b];v[b4]=E[s++]}}else if(B>>4===1){for(b=0;b<64;b++){b4=T[b];v[b4]=Z(E,s);s+=2}}else{throw new P("DQT - invalid table spec")}u[B&15]=v}break; +case 65472:case 65473:case 65474:if(h){throw new P("Only single frame JPEGs supported")}s+=2;h={};h.G=I===65473; +h.Z=I===65474;h.precision=E[s++];var a4=Z(E,s),aZ,aX=0,a$=0;s+=2;h.s=D||a4;h.o=Z(E,s);s+=2;h.W=[];h._={}; +var aL=E[s++];for(q=0;q>4,aa=E[s+1]&15;if(aX>4===0?g:U)[ag&15]=k(_,a8)}break;case 65501:s+=2;V=Z(E,s); +s+=2;break;case 65498:var an=++$===1&&!D,aJ;s+=2;var ay=E[s++],aU=[];for(q=0;q>4];aJ.i=U[af&15];aU.push(aJ)}var a_=E[s++],l=E[s++],b8=E[s++]; +try{var ad=Q(E,s,h,aU,V,a_,l,b8>>4,b8&15,an);s+=ad}catch(ex){if(ex instanceof DNLMarkerError){return this.parse(E,{F:ex.s})}else if(ex instanceof EOIMarkerError){break markerLoop}throw ex}break; +case 65500:s+=4;break;case 65535:if(E[s]!==255){s--}break;default:var at=A(E,s-2,s-3);if(at&&at.u){s=at.offset; +break}if(s>=E.length-1){break markerLoop}throw new P("JpegImage.parse - unknown marker: "+I.toString(16))}I=Z(E,s); +s+=2}this.width=h.o;this.height=h.s;this.g=W;this.b=R;this.W=[];for(q=0;q>8)+v[g+1]}}}return r},get f(){if(this.b){return!!this.b.a}if(this.p===3){if(this.N===0){return!1}else if(this.W[0].index===82&&this.W[1].index===71&&this.W[2].index===66){return!1}return!0}if(this.N===1){return!0}return!1},z:function av(E){var O,D,s; +for(var W=0,R=E.length;W4){throw new P("Unsupported color mode")}var R=this.Y(O,D,W);if(this.p===1&&s){var h=R.length,V=new Uint8ClampedArray(h*3),$=0; +for(var K=0;K>24}function Z(T,f){return T[f]<<8|T[f+1]}function J(T,f){return(T[f]<<24|T[f+1]<<16|T[f+2]<<8|T[f+3])>>>0}j.JpegDecoder=a}()); +j.encodeImage=function(P,a,F,n){var Z={t256:[a],t257:[F],t258:[8,8,8,8],t259:[1],t262:[2],t273:[1e3],t277:[4],t278:[F],t279:[a*F*4],t282:[[72,1]],t283:[[72,1]],t284:[1],t286:[[0,1]],t287:[[0,1]],t296:[1],t305:["Photopea (UTIF.js)"],t338:[1]}; +if(n)for(var J in n)Z[J]=n[J];var T=new Uint8Array(j.encode([Z])),f=new Uint8Array(P),z=new Uint8Array(1e3+a*F*4); +for(var J=0;J>>3)];if(G==null)G=a.t325;var X=new Uint8Array(a.height*(f>>>3)); +if(a.t322!=null){var C=a.t322[0],w=a.t323[0],p=Math.floor((a.width+C-1)/C),d=Math.floor((a.height+w-1)/w),m=new Uint8Array(Math.ceil(C*w*T/8)|0); +for(var k=0;k>>3,d=P.t278?P.t278[0]:P.height,m=Math.ceil(C*w*P.width/8); +if(C==16&&!P.isLE&&P.t33422==null)for(var k=0;k>>8&255}else if(w==3)for(var z=3; +z>>3]>>>7-(y&7)&1;c[1]++;return i}function X(c,y){if(F==null){F={}; +for(var i=0;i>>1}return c}function C(c,y){return c>>y}function w(c,y,i,x,E,O){y[i]=C(C(11*c[E]-4*c[E+O]+c[E+O+O]+4,3)+c[x],1); +y[i+O]=C(C(5*c[E]+4*c[E+O]-c[E+O+O]+4,3)-c[x],1)}function p(c,y,i,x,E,O){var s=c[E-O]-c[E+O],W=c[E],V=c[x]; +y[i]=C(C(s+4,3)+W+V,1);y[i+O]=C(C(-s+4,3)+W-V,1)}function d(c,y,i,x,E,O){y[i]=C(C(5*c[E]+4*c[E-O]-c[E-O-O]+4,3)+c[x],1); +y[i+O]=C(C(11*c[E]-4*c[E-O]+c[E-O-O]+4,3)-c[x],1)}function k(c){c=c<0?0:c>4095?4095:c;c=N[c]>>>2;return c}function L(c,y,i,x,E){x=new Uint16Array(x.buffer); +var O=Date.now(),s=j._binBE,W=y+i,V,u,M,g,az,q,ap,b,b3,ab,b1,aR,o,aW,r,a1,aK,ah;y+=4;while(y>>1)*(M>>>1));ah=new Int16Array((u>>>1)*(M>>>1));n=new Int16Array(1024); +for(var a5=0;a5<1024;a5++){var ax=a5-512,aQ=Math.abs(ax),V=Math.floor(768*aQ*aQ*aQ/(255*255*255))+aQ; +n[a5]=Math.sign(ax)*V}N=new Uint16Array(4096);var a4=(1<<16)-1;for(var a5=0;a5<4096;a5++){var aZ=a5,aC=a4*(Math.pow(113,aZ/4095)-1)/112; +N[a5]=Math.min(aC,a4)}}var a9=aK[ap],aX=S(u,1+Z[g]),aL=S(M,1+Z[g]);if(g==0){for(var H=0;H>>1)+_]=c[ak]<<8|c[ak+1]}}else{var a8=[c,y*8],an=[],ay=0,aU=aX*aL,aM=[0,0],ar=0,B=0; +while(ay0){an[ay++]=B;ar--}}var af=(g-1)%3,a_=af!=1?aX:0,l=af!=0?aL:0; +for(var H=0;H>>1)+a_,ad=H*aX;for(var _=0;_>>1,at=aX*2,b5=aL*2; +for(var H=0;H>14-aG*2&3; +var aA=b6[aw];if(aA!=0)for(var H=0;H>>1)*(u>>>1)+(_>>>1),aT=au[ak],aS=aH[ak]-2048,ae=aB[ak]-2048,a6=aD[ak]-2048,a3=(aS<<1)+aT,aI=(ae<<1)+aT,aP=aT+a6,ac=aT-a6; +x[aF]=k(a3);x[aF+1]=k(aP);x[aF+u]=k(ac);x[aF+u+1]=k(aI)}}y+=a2*4}else if(v==16388){y+=a2*4}else if(aE==8192||aE==8448||aE==9216){}else throw v.toString(16)}}console.log(Date.now()-O)}return L}(); +j.decode._ljpeg_diff=function(P,a,F){var n=j.decode._getbithuff,N,Z;N=n(P,a,F[0],F);Z=n(P,a,N,0);if((Z&1<>>(C[w]>>>8);for(var p=0;p>>4;N[Z+w+1]=A<<4|i>>>4;N[Z+w+2]=i<<4|av>>>4}return}var aO=new Uint16Array(16),V=new Uint8Array(J+1); +for(k=0;k>>11;D=15&x>>>22;s=15&x>>>26;for(W=0;W<4&&128<>3))>>>(R&7)&127)<2047)aO[w]=2047; +R+=7}for(w=0;w<16;w++,m+=2){var y=aO[w]<<1;j.decode._putsF(N,(k*J+m)*f,y<<16-f)}m-=m&1?1:31}}};j.decode._decodeNikon=function(P,a,F,n,N,Z,J){var T=[[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,5,4,3,6,2,7,1,0,8,9,11,10,12],[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,57,90,56,39,22,5,4,3,2,1,0,11,12,12],[0,0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0,5,4,6,3,7,2,8,1,9,0,10,11,12],[0,0,1,4,3,1,1,1,1,1,2,0,0,0,0,0,0,5,6,4,7,8,3,9,2,1,0,10,11,12,13,14],[0,0,1,5,1,1,1,1,1,1,1,2,0,0,0,0,0,8,92,75,58,41,7,6,5,4,3,2,1,0,13,14],[0,0,1,4,2,2,3,1,2,0,0,0,0,0,0,0,0,7,6,8,5,9,4,10,3,11,12,2,0,1,13,14]],f=P.t256[0],z=P.t257[0],G=P.t258[0],X=0,S=0,C=j.decode._make_decoder,w=j.decode._getbithuff,p=a[0].exifIFD.makerNote,d=p.t150?p.t150:p.t140,m=0,k=d[m++],L=d[m++],i=0,y,x,E,O,D,s,W=0; +if(k==73||L==88)m+=2110;if(k==70)X=2;if(G==14)X+=3;var Q=[[0,0],[0,0]],c=P.isLE?j._binLE:j._binBE;for(var y=0; +y<2;y++)for(var A=0;A<2;A++){Q[y][A]=c.readShort(d,m);m+=2}var av=1<1)i=Math.floor(av/(aO-1));if(k==68&&L==32&&i>0)S=c.readShort(d,562);var R=[0,0],h=C(T[X]),V=[n,0,0,0]; +for(W=x=0;x>>4;s=(w(F,V,O-D,0)<<1)+1<>>1; +if((s&1<>>3;P[n]|=F>>>16; +P[n+1]|=F>>>8;P[n+2]|=F};j.decode._getbithuff=function(P,a,F,n){var N=0,Z=j.decode._get_byte,J,T=a[0],f=a[1],z=a[2],G=a[3]; +if(F==0||z<0)return 0;while(!G&&z>>32-F; +if(n){z-=n[J+1]>>>8;J=n[J+1]&255}else z-=F;if(z<0)throw"e";a[0]=T;a[1]=f;a[2]=z;a[3]=G;return J};j.decode._make_decoder=function(P){var a,F,n,Z,J,T=[],f=17; +for(a=16;a!=0&&!P[a];a--);T[0]=a;for(n=F=1;F<=a;F++)for(Z=0;Z>>8}else for(var S=0; +S>>8;N[Z+(S<<1)+1]=d[S]&255}}else if(p==14||p==12){var k=16-p;for(var S=0;S1}if(!p){if(a[F]==255&&a[F+1]==N)return{jpegOffset:F};if(L!=null){if(a[F+Q]==255&&a[F+Q+1]==N)X=F+Q; +else aV("JPEGInterchangeFormat does not point to SOI");if(c==null)aV("JPEGInterchangeFormatLength field is missing"); +else if(Q>=S||Q+y<=S)aV("JPEGInterchangeFormatLength field value is invalid");if(X!=null)return{jpegOffset:X}}}if(av!=null){i=av[0]; +aO=av[1]}if(L!=null)if(c!=null)if(y>=2&&Q+y<=S){if(a[F+Q+y-2]==255&&a[F+Q+y-1]==N)C=new Uint8Array(y-2); +else C=new Uint8Array(y);for(d=0;d offset to first strip or tile"); +if(C==null){var O=0,D=[];D[O++]=255;D[O++]=N;var s=P.t519;if(s==null)throw new Error("JPEGQTables tag is missing"); +for(d=0;d>>8;D[O++]=R&255; +D[O++]=d|k<<4;for(m=0;m<16;m++)D[O++]=a[F+W[d]+m];for(m=0;m>>8&255;D[O++]=P.height&255;D[O++]=P.width>>>8&255; +D[O++]=P.width&255;D[O++]=x;if(x==1){D[O++]=1;D[O++]=17;D[O++]=0}else for(d=0;d<3;d++){D[O++]=d+1;D[O++]=d!=0?17:(i&15)<<4|aO&15; +D[O++]=d}if(E!=null&&E[0]!=0){D[O++]=255;D[O++]=f;D[O++]=0;D[O++]=4;D[O++]=E[0]>>>8&255;D[O++]=E[0]&255}C=new Uint8Array(D)}var h=-1; +d=0;while(d>>8&255; +C[$++]=P.height&255;C[$++]=P.width>>>8&255;C[$++]=P.width&255;C[$++]=x;if(x==1){C[$++]=1;C[$++]=17;C[$++]=0}else for(d=0; +d<3;d++){C[$++]=d+1;C[$++]=d!=0?17:(i&15)<<4|aO&15;C[$++]=d}}if(a[S]==255&&a[S+1]==G){var K=a[S+2]<<8|a[S+3]; +w=new Uint8Array(K+2);w[0]=a[S];w[1]=a[S+1];w[2]=a[S+2];w[3]=a[S+3];for(d=0;d>>8&255;z[X.sofPosition+6]=P.height&255;z[X.sofPosition+7]=P.width>>>8&255; +z[X.sofPosition+8]=P.width&255;if(a[F]!=255||a[F+1]!=SOS){z.set(X.sosMarker,G);G+=sosMarker.length}for(J=0; +J=0&&f<128)for(var z=0;z=-127&&f<0){for(var z=0; +z<-f+1;z++){J[N]=Z[a];N++}a++}}};j.decode._decodeThunder=function(P,a,F,n,N){var Z=[0,1,0,-1],J=[0,1,2,3,0,-3,-2,-1],T=a+F,f=N*2,z=0; +while(a>>6,S=G&63;a++;if(X==3){z=S&15;n[f>>>1]|=z<<4*(1-f&1);f++}if(X==0)for(var C=0; +C>>1]|=z<<4*(1-f&1);f++}if(X==2)for(var C=0;C<2;C++){var w=S>>>3*(1-C)&7;if(w!=4){z+=J[w]; +n[f>>>1]|=z<<4*(1-f&1);f++}}if(X==1)for(var C=0;C<3;C++){var w=S>>>2*(2-C)&3;if(w!=2){z+=Z[w];n[f>>>1]|=z<<4*(1-f&1); +f++}}}};j.decode._dmap={"1":0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3};j.decode._lens=function(){var P=function(f,z,G,X){for(var S=0; +S>>3>>3]>>>7-(f&7)&1;if(J==2)i=P[f>>>3]>>>(f&7)&1;f++;G+=i;if(y=="H"){if(T._lens[Q][G]!=null){var aO=T._lens[Q][G]; +G="";z+=aO;if(aO<64){T._addNtimes(X,z,Q);w+=z;Q=1-Q;z=0;A--;if(A==0)y=""}}}else{if(G=="0001"){G="";T._addNtimes(X,k-w,Q); +w=k}if(G=="001"){G="";y="H";A=2}if(T._dmap[G]!=null){p=m+T._dmap[G];T._addNtimes(X,p-w,Q);w=p;G="";Q=1-Q}}if(X.length==Z&&y==""){T._writeBits(X,n,N*8+c*av); +Q=0;c++;w=0;S=T._makeDiff(X);X=[]}}};j.decode._findDiff=function(P,a,F){for(var n=0;n=a&&P[n+1]==F)return P[n]}; +j.decode._makeDiff=function(P){var a=[];if(P[0]==1)a.push(0,1);for(var F=1;F>>3>>3]>>>7-(z&7)&1;if(J==2)x=P[z>>>3]>>>(z&7)&1;z++;X+=x;if(i){if(f._lens[c][X]!=null){var E=f._lens[c][X]; +X="";G+=E;if(E<64){f._addNtimes(S,G,c);c=1-c;G=0}}}else{if(A=="H"){if(f._lens[c][X]!=null){var E=f._lens[c][X]; +X="";G+=E;if(E<64){f._addNtimes(S,G,c);p+=G;c=1-c;G=0;av--;if(av==0)A=""}}}else{if(X=="0001"){X="";f._addNtimes(S,Q-p,c); +p=Q}if(X=="001"){X="";A="H";av=2}if(f._dmap[X]!=null){d=k+f._dmap[X];f._addNtimes(S,d-p,c);p=d;X=""; +c=1-c}}}if(X.endsWith("000000000001")){if(y>=0)f._writeBits(S,n,N*8+y*aO);if(T){if(J==1)i=(P[z>>>3]>>>7-(z&7)&1)==1; +if(J==2)i=(P[z>>>3]>>>(z&7)&1)==1;z++}X="";c=0;y++;p=0;C=f._makeDiff(S);S=[]}}if(S.length==Z)f._writeBits(S,n,N*8+y*aO)}; +j.decode._addNtimes=function(P,a,F){for(var n=0;n>>3]|=P[n]<<7-(F+n&7)};j.decode._decodeLZW=j.decode._decodeLZW=function(){var P,F,n,N,Z=0,J=0,T=0,f=0,z=function(){var k=P>>>3,Q=F[k]<<16|F[k+1]<<8|F[k+2],c=Q>>>24-(P&7)-J&(1<>>----------------");for(var f=0;f4){P.writeUint(F,n,T);d=T}if(X==1||X==7){for(var m=0;m4){p+=p&1;T+=p}n+=4}return[n,T]};j.toRGBA8=function(P,a){var F=P.width,n=P.height,Z=F*n,J=Z*4,T=P.data,f=new Uint8Array(Z*4),z=P.t262?P.t262[0]:2,G=P.t258?Math.min(32,P.t258[0]):1; +if(P.t262==null&&G==1)z=0;if(!1){}else if(z==0){var X=Math.ceil(G*F/8);for(var S=0;S>3)]>>7-(p&7)&1;f[d]=f[d+1]=f[d+2]=(1-m)*255;f[d+3]=255}if(G==4)for(var p=0; +p>1)]>>4-4*(p&1)&15;f[d]=f[d+1]=f[d+2]=(15-m)*17;f[d+3]=255}if(G==8)for(var p=0; +p>3)]>>7-(p&7)&1; +f[d]=f[d+1]=f[d+2]=m*255;f[d+3]=255}if(G==2)for(var p=0;p>2)]>>6-2*(p&3)&3; +f[d]=f[d+1]=f[d+2]=m*85;f[d+3]=255}if(G==8)for(var p=0;p>>3)]>>>7-(i&7)&1; +else if(G==8)aO=T[x+i*k];else throw G;f[d]=A[aO]>>8;f[d+1]=A[av+aO]>>8;f[d+2]=A[av+av+aO]>>8;f[d+3]=255}}else if(z==5){var k=P.t258?P.t258.length:4,E=k>4?1:0; +for(var p=0;p>>1),W=T[O+(K&1)],e=T[O+2]-128,t=T[O+3]-128,u=W+((t>>2)+(t>>3)+(t>>5)),U=W-((e>>2)+(e>>4)+(e>>5))-((t>>1)+(t>>3)+(t>>4)+(t>>5)),M=W+(e+(e>>1)+(e>>2)+(e>>6)); +f[d]=Math.max(0,Math.min(255,u));f[d+1]=Math.max(0,Math.min(255,U));f[d+2]=Math.max(0,Math.min(255,M)); +f[d+3]=255}}}else aV("Unknown Photometric interpretation: "+z);return f};j.replaceIMG=function(P){if(P==null)P=document.getElementsByTagName("img"); +var a=["tif","tiff","dng","cr2","nef"];for(var F=0;FZ){Z=z;J=f}}j.decodeImage(F,J,n);var G=j.toRGBA8(J),X=J.width,S=J.height,C=j._xhrs.indexOf(P.target),f=j._imgs[C]; +j._xhrs.splice(C,1);j._imgs.splice(C,1);var w=document.createElement("canvas");w.width=X;w.height=S; +var p=w.getContext("2d"),d=new ImageData(new Uint8ClampedArray(G.buffer),X,S);p.putImageData(d,0,0); +f.setAttribute("src",w.toDataURL())};j._binBE={nextZero:function(P,a){while(P[a]!=0)a++;return a},readUshort:function(P,a){return P[a]<<8|P[a+1]},readShort:function(P,a){var F=j._binBE.ui8; +F[0]=P[a+1];F[1]=P[a+0];return j._binBE.i16[0]},readInt:function(P,a){var F=j._binBE.ui8;F[0]=P[a+3]; +F[1]=P[a+2];F[2]=P[a+1];F[3]=P[a+0];return j._binBE.i32[0]},readUint:function(P,a){var F=j._binBE.ui8; +F[0]=P[a+3];F[1]=P[a+2];F[2]=P[a+1];F[3]=P[a+0];return j._binBE.ui32[0]},readASCII:function(P,a,F){var n=""; +for(var N=0;N>8&255; +P[a+1]=F&255},writeInt:function(P,a,F){var n=j._binBE.ui8;j._binBE.i32[0]=F;P[a+3]=n[0];P[a+2]=n[1]; +P[a+1]=n[2];P[a+0]=n[3]},writeUint:function(P,a,F){P[a]=F>>24&255;P[a+1]=F>>16&255;P[a+2]=F>>8&255;P[a+3]=F>>0&255},writeASCII:function(P,a,F){for(var n=0; +n>8&255},writeInt:function(P,a,F){var n=j._binBE.ui8; +j._binBE.i32[0]=F;P[a+0]=n[0];P[a+1]=n[1];P[a+2]=n[2];P[a+3]=n[3]},writeUint:function(P,a,F){P[a]=F>>>0&255; +P[a+1]=F>>>8&255;P[a+2]=F>>>16&255;P[a+3]=F>>>24&255},writeASCII:j._binBE.writeASCII};j._copyTile=function(P,a,F,n,N,Z,J,T){var f=Math.min(a,N-J),z=Math.min(F,Z-T); +for(var G=0;G>--aY&1; +az=$[az+I]}M[t]=az}}function d(V,$,K,e){if(V[$+3]!=255)return 0;if(K==0)return $;for(var t=0;t<2;t++){if(V[$+t]==0){V[$+t]=V.length; +V.push(0,0,e,255)}var u=d(V,V[$+t],K-1,e+1);if(u!=0)return u}return 0}function L(V){var $=V.a,K=V.d; +while($<25&&V.c>>8;K=K<<8|e;$+=8}V.a=$;V.d=K}function Q(V,$){if($.a>($.a-=V)&65535>>16-V}function c(V,$){var K=V[0],e=0,t=255,u=0;if($.a<16)L($);var U=$.d>>$.a-8&255; +e=V[1][U];t=K[e+3];$.a-=K[e+2];while(t==255){u=$.d>>--$.a&1;e=K[e+u];t=K[e+3]}return t}function av(V,$){if(V<32768>>16-$)V+=-(1<<$)+1; +return V}function aO(V,$){var K=c(V,$);if(K==0)return 0;var e=Q(K,$);return av(e,K)}function E(V,$,K){var e=Z,t=n,u=J,U=G; +for(var M=0;M>>1);else if(u==7)q=q+V[I-$]>>>1; +else throw u;V[I]=q+aO(U[M],K)}}g+=$}}function O(V,$){var K=Q(V,$);return V==16?-32768:av(K,V)}function R(V,$,K){var e=P.length-a; +for(var t=0;t>>4]}J=S();a+=2;break}else{a+=K-2}}var g=F>8?Uint16Array:Uint8Array,az=N*Z,I=new g(n*az),q={a:0,d:0,b:J==8,c:a,data:P,e:P.length}; +if(q.b)R(I,az,q);else E(I,az,q);return I}return h}()}(j,b7))}())// (c) Dean McNamee , 2013. +// +// https://github.com/deanm/omggif +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +// +// omggif is a JavaScript implementation of a GIF 89a encoder and decoder, +// including animation and compression. It does not rely on any specific +// underlying system, so should run in the browser, Node, or Plask. + +"use strict"; + +function GifWriter(buf, width, height, gopts) { + var p = 0; + + var gopts = gopts === undefined ? { } : gopts; + var loop_count = gopts.loop === undefined ? null : gopts.loop; + var global_palette = gopts.palette === undefined ? null : gopts.palette; + + if (width <= 0 || height <= 0 || width > 65535 || height > 65535) + throw new Error("Width/Height invalid."); + + function check_palette_and_num_colors(palette) { + var num_colors = palette.length; + if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors-1)) { + throw new Error( + "Invalid code/color length, must be power of 2 and 2 .. 256."); + } + return num_colors; + } + + // - Header. + buf[p++] = 0x47; buf[p++] = 0x49; buf[p++] = 0x46; // GIF + buf[p++] = 0x38; buf[p++] = 0x39; buf[p++] = 0x61; // 89a + + // Handling of Global Color Table (palette) and background index. + var gp_num_colors_pow2 = 0; + var background = 0; + if (global_palette !== null) { + var gp_num_colors = check_palette_and_num_colors(global_palette); + while (gp_num_colors >>= 1) ++gp_num_colors_pow2; + gp_num_colors = 1 << gp_num_colors_pow2; + --gp_num_colors_pow2; + if (gopts.background !== undefined) { + background = gopts.background; + if (background >= gp_num_colors) + throw new Error("Background index out of range."); + // The GIF spec states that a background index of 0 should be ignored, so + // this is probably a mistake and you really want to set it to another + // slot in the palette. But actually in the end most browsers, etc end + // up ignoring this almost completely (including for dispose background). + if (background === 0) + throw new Error("Background index explicitly passed as 0."); + } + } + + // - Logical Screen Descriptor. + // NOTE(deanm): w/h apparently ignored by implementations, but set anyway. + buf[p++] = width & 0xff; buf[p++] = width >> 8 & 0xff; + buf[p++] = height & 0xff; buf[p++] = height >> 8 & 0xff; + // NOTE: Indicates 0-bpp original color resolution (unused?). + buf[p++] = (global_palette !== null ? 0x80 : 0) | // Global Color Table Flag. + gp_num_colors_pow2; // NOTE: No sort flag (unused?). + buf[p++] = background; // Background Color Index. + buf[p++] = 0; // Pixel aspect ratio (unused?). + + // - Global Color Table + if (global_palette !== null) { + for (var i = 0, il = global_palette.length; i < il; ++i) { + var rgb = global_palette[i]; + buf[p++] = rgb >> 16 & 0xff; + buf[p++] = rgb >> 8 & 0xff; + buf[p++] = rgb & 0xff; + } + } + + if (loop_count !== null) { // Netscape block for looping. + if (loop_count < 0 || loop_count > 65535) + throw new Error("Loop count invalid."); + // Extension code, label, and length. + buf[p++] = 0x21; buf[p++] = 0xff; buf[p++] = 0x0b; + // NETSCAPE2.0 + buf[p++] = 0x4e; buf[p++] = 0x45; buf[p++] = 0x54; buf[p++] = 0x53; + buf[p++] = 0x43; buf[p++] = 0x41; buf[p++] = 0x50; buf[p++] = 0x45; + buf[p++] = 0x32; buf[p++] = 0x2e; buf[p++] = 0x30; + // Sub-block + buf[p++] = 0x03; buf[p++] = 0x01; + buf[p++] = loop_count & 0xff; buf[p++] = loop_count >> 8 & 0xff; + buf[p++] = 0x00; // Terminator. + } + + + var ended = false; + + this.addFrame = function(x, y, w, h, indexed_pixels, opts) { + if (ended === true) { --p; ended = false; } // Un-end. + + opts = opts === undefined ? { } : opts; + + // TODO(deanm): Bounds check x, y. Do they need to be within the virtual + // canvas width/height, I imagine? + if (x < 0 || y < 0 || x > 65535 || y > 65535) + throw new Error("x/y invalid."); + + if (w <= 0 || h <= 0 || w > 65535 || h > 65535) + throw new Error("Width/Height invalid."); + + if (indexed_pixels.length < w * h) + throw new Error("Not enough pixels for the frame size."); + + var using_local_palette = true; + var palette = opts.palette; + if (palette === undefined || palette === null) { + using_local_palette = false; + palette = global_palette; + } + + if (palette === undefined || palette === null) + throw new Error("Must supply either a local or global palette."); + + var num_colors = check_palette_and_num_colors(palette); + + // Compute the min_code_size (power of 2), destroying num_colors. + var min_code_size = 0; + while (num_colors >>= 1) ++min_code_size; + num_colors = 1 << min_code_size; // Now we can easily get it back. + + var delay = opts.delay === undefined ? 0 : opts.delay; + + // From the spec: + // 0 - No disposal specified. The decoder is + // not required to take any action. + // 1 - Do not dispose. The graphic is to be left + // in place. + // 2 - Restore to background color. The area used by the + // graphic must be restored to the background color. + // 3 - Restore to previous. The decoder is required to + // restore the area overwritten by the graphic with + // what was there prior to rendering the graphic. + // 4-7 - To be defined. + // NOTE(deanm): Dispose background doesn't really work, apparently most + // browsers ignore the background palette index and clear to transparency. + var disposal = opts.disposal === undefined ? 0 : opts.disposal; + if (disposal < 0 || disposal > 3) // 4-7 is reserved. + throw new Error("Disposal out of range."); + + var use_transparency = false; + var transparent_index = 0; + if (opts.transparent !== undefined && opts.transparent !== null) { + use_transparency = true; + transparent_index = opts.transparent; + if (transparent_index < 0 || transparent_index >= num_colors) + throw new Error("Transparent color index."); + } + + if (disposal !== 0 || use_transparency || delay !== 0) { + // - Graphics Control Extension + buf[p++] = 0x21; buf[p++] = 0xf9; // Extension / Label. + buf[p++] = 4; // Byte size. + + buf[p++] = disposal << 2 | (use_transparency === true ? 1 : 0); + buf[p++] = delay & 0xff; buf[p++] = delay >> 8 & 0xff; + buf[p++] = transparent_index; // Transparent color index. + buf[p++] = 0; // Block Terminator. + } + + // - Image Descriptor + buf[p++] = 0x2c; // Image Seperator. + buf[p++] = x & 0xff; buf[p++] = x >> 8 & 0xff; // Left. + buf[p++] = y & 0xff; buf[p++] = y >> 8 & 0xff; // Top. + buf[p++] = w & 0xff; buf[p++] = w >> 8 & 0xff; + buf[p++] = h & 0xff; buf[p++] = h >> 8 & 0xff; + // NOTE: No sort flag (unused?). + // TODO(deanm): Support interlace. + buf[p++] = using_local_palette === true ? (0x80 | (min_code_size-1)) : 0; + + // - Local Color Table + if (using_local_palette === true) { + for (var i = 0, il = palette.length; i < il; ++i) { + var rgb = palette[i]; + buf[p++] = rgb >> 16 & 0xff; + buf[p++] = rgb >> 8 & 0xff; + buf[p++] = rgb & 0xff; + } + } + + p = GifWriterOutputLZWCodeStream( + buf, p, min_code_size < 2 ? 2 : min_code_size, indexed_pixels); + + return p; + }; + + this.end = function() { + if (ended === false) { + buf[p++] = 0x3b; // Trailer. + ended = true; + } + return p; + }; + + this.getOutputBuffer = function() { return buf; }; + this.setOutputBuffer = function(v) { buf = v; }; + this.getOutputBufferPosition = function() { return p; }; + this.setOutputBufferPosition = function(v) { p = v; }; +} + +// Main compression routine, palette indexes -> LZW code stream. +// |index_stream| must have at least one entry. +function GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) { + buf[p++] = min_code_size; + var cur_subblock = p++; // Pointing at the length field. + + var clear_code = 1 << min_code_size; + var code_mask = clear_code - 1; + var eoi_code = clear_code + 1; + var next_code = eoi_code + 1; + + var cur_code_size = min_code_size + 1; // Number of bits per code. + var cur_shift = 0; + // We have at most 12-bit codes, so we should have to hold a max of 19 + // bits here (and then we would write out). + var cur = 0; + + function emit_bytes_to_buffer(bit_block_size) { + while (cur_shift >= bit_block_size) { + buf[p++] = cur & 0xff; + cur >>= 8; cur_shift -= 8; + if (p === cur_subblock + 256) { // Finished a subblock. + buf[cur_subblock] = 255; + cur_subblock = p++; + } + } + } + + function emit_code(c) { + cur |= c << cur_shift; + cur_shift += cur_code_size; + emit_bytes_to_buffer(8); + } + + // I am not an expert on the topic, and I don't want to write a thesis. + // However, it is good to outline here the basic algorithm and the few data + // structures and optimizations here that make this implementation fast. + // The basic idea behind LZW is to build a table of previously seen runs + // addressed by a short id (herein called output code). All data is + // referenced by a code, which represents one or more values from the + // original input stream. All input bytes can be referenced as the same + // value as an output code. So if you didn't want any compression, you + // could more or less just output the original bytes as codes (there are + // some details to this, but it is the idea). In order to achieve + // compression, values greater then the input range (codes can be up to + // 12-bit while input only 8-bit) represent a sequence of previously seen + // inputs. The decompressor is able to build the same mapping while + // decoding, so there is always a shared common knowledge between the + // encoding and decoder, which is also important for "timing" aspects like + // how to handle variable bit width code encoding. + // + // One obvious but very important consequence of the table system is there + // is always a unique id (at most 12-bits) to map the runs. 'A' might be + // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship + // can be used for an effecient lookup strategy for the code mapping. We + // need to know if a run has been seen before, and be able to map that run + // to the output code. Since we start with known unique ids (input bytes), + // and then from those build more unique ids (table entries), we can + // continue this chain (almost like a linked list) to always have small + // integer values that represent the current byte chains in the encoder. + // This means instead of tracking the input bytes (AAAABCD) to know our + // current state, we can track the table entry for AAAABC (it is guaranteed + // to exist by the nature of the algorithm) and the next character D. + // Therefor the tuple of (table_entry, byte) is guaranteed to also be + // unique. This allows us to create a simple lookup key for mapping input + // sequences to codes (table indices) without having to store or search + // any of the code sequences. So if 'AAAA' has a table entry of 12, the + // tuple of ('AAAA', K) for any input byte K will be unique, and can be our + // key. This leads to a integer value at most 20-bits, which can always + // fit in an SMI value and be used as a fast sparse array / object key. + + // Output code for the current contents of the index buffer. + var ib_code = index_stream[0] & code_mask; // Load first input index. + var code_table = { }; // Key'd on our 20-bit "tuple". + + emit_code(clear_code); // Spec says first code should be a clear code. + + // First index already loaded, process the rest of the stream. + for (var i = 1, il = index_stream.length; i < il; ++i) { + var k = index_stream[i] & code_mask; + var cur_key = ib_code << 8 | k; // (prev, k) unique tuple. + var cur_code = code_table[cur_key]; // buffer + k. + + // Check if we have to create a new code table entry. + if (cur_code === undefined) { // We don't have buffer + k. + // Emit index buffer (without k). + // This is an inline version of emit_code, because this is the core + // writing routine of the compressor (and V8 cannot inline emit_code + // because it is a closure here in a different context). Additionally + // we can call emit_byte_to_buffer less often, because we can have + // 30-bits (from our 31-bit signed SMI), and we know our codes will only + // be 12-bits, so can safely have 18-bits there without overflow. + // emit_code(ib_code); + cur |= ib_code << cur_shift; + cur_shift += cur_code_size; + while (cur_shift >= 8) { + buf[p++] = cur & 0xff; + cur >>= 8; cur_shift -= 8; + if (p === cur_subblock + 256) { // Finished a subblock. + buf[cur_subblock] = 255; + cur_subblock = p++; + } + } + + if (next_code === 4096) { // Table full, need a clear. + emit_code(clear_code); + next_code = eoi_code + 1; + cur_code_size = min_code_size + 1; + code_table = { }; + } else { // Table not full, insert a new entry. + // Increase our variable bit code sizes if necessary. This is a bit + // tricky as it is based on "timing" between the encoding and + // decoder. From the encoders perspective this should happen after + // we've already emitted the index buffer and are about to create the + // first table entry that would overflow our current code bit size. + if (next_code >= (1 << cur_code_size)) ++cur_code_size; + code_table[cur_key] = next_code++; // Insert into code table. + } + + ib_code = k; // Index buffer to single input k. + } else { + ib_code = cur_code; // Index buffer to sequence in code table. + } + } + + emit_code(ib_code); // There will still be something in the index buffer. + emit_code(eoi_code); // End Of Information. + + // Flush / finalize the sub-blocks stream to the buffer. + emit_bytes_to_buffer(1); + + // Finish the sub-blocks, writing out any unfinished lengths and + // terminating with a sub-block of length 0. If we have already started + // but not yet used a sub-block it can just become the terminator. + if (cur_subblock + 1 === p) { // Started but unused. + buf[cur_subblock] = 0; + } else { // Started and used, write length and additional terminator block. + buf[cur_subblock] = p - cur_subblock - 1; + buf[p++] = 0; + } + return p; +}; + +var UGIF=function(){var a=function(){var j,F,c,b,H=0,k=0,Z=0,P=0,l=function(){var R=j>>>3,i=F[R+2]<<16|F[R+1]<<8|F[R],M=i>>>(j&7)&(1<>>7,P=b>>>4&7,X=b>>>3&1,l=b>>>0&7,m=f,e=0,V,W=0,G=0,C=0,z=260; +if(Z==1)f+=3*(1<>>2&7;G=A();z=B();if((b&1)==0)z=260;B()}else if(L==254){U()}else if(L==255){U()}else throw L}else if(Q==44){var R=A(),i=A(),M=A(),v=A(),t=B(),q=t>>>7; +C=t>>>6&1;if(q==1){var l=t>>>0&7;e=f;f+=3*(1<=O.length){alert("Some frames are damaged."); +T.pop();break}B();V.d=new Uint8Array(S);var r=a(E,0,Y,V.d,0,Q)}else if(Q==59)break;else throw Q}return{width:F,height:c,data:O,frames:T}}; +function D(j,F,O,c,b,H,k,Z){for(var P=0;P=0; k--) { + line[k] *= l; + } +} + +/** + * Add line number j multiplied by l to line number i + */ +Mat.prototype.addmul = function (i, j, l) { + if (this.mirror) this.mirror.addmul(i,j,l); + var lineI = this.data[i], lineJ = this.data[j]; + for (var k=lineI.length-1; k>=0; k--) { + lineI[k] = lineI[k] + l*lineJ[k]; + } +} + +/** + * Tests if line number i is composed only of zeroes + */ +Mat.prototype.hasNullLine = function (i) { + for (var j=0; j Math.abs(maxValue)) { + maxLine = k; + maxValue = val; + } + } + if (maxValue === 0) { + // The matrix is not invertible. The system may still have solutions. + nullLines.push(pivot); + } else { + // The value of the pivot is maxValue + this.multline(maxLine, 1/maxValue); + this.swap(maxLine, pivot); + for (var i=0; i 0 && result[0].length === 1) { + // Convert Nx1 matrices to simple javascript arrays + for (var i=0; i>8&255; +i[p+1]=C&255},am:function(i,p,C){var O=[];for(var M=0;M>24&255; +i[p+1]=C>>16&255;i[p+2]=C>>8&255;i[p+3]=C>>0&255},L:function(i,p){return A.B.Q(i,p)*(4294967295+1)+A.B.Q(i,p+4)},_:function(i,p,C){var O=""; +for(var M=0;M255)return-1; +return A.T.k.a9(i,A.T.k.aR[p])},as:function(i,p,C){var O=A.B,M=[".notdef"],c=i[p];p++;if(c==0){for(var q=0; +q>4,v=I&15;if(S!=15)l.push(S);if(v!=15)l.push(v);if(v==15)break}var N=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"]; +for(var a=0;a>>1;C.aw=M(i,p);p+=2;C.aK=M(i,p);p+=2; +C.aF=M(i,p);p+=2;C.aL=c(i,p,Z);p+=Z*2;p+=2;C.ay=c(i,p,Z);p+=Z*2;C.av=[];for(var Y=0;Y>>1);return C},b4:function(i,p,C){var O=A.B,M=p;p+=2;var c=O.V(i,p); +p+=2;var q=O.V(i,p);p+=2;C.aj=O.V(i,p);p+=2;var y=O.V(i,p);p+=2;C.A=[];for(var r=0;r=y.ak||y.aZ>=y.ae)return null; +if(y.G>0){y.J=[];for(var r=0;r>>8;Y&=15;if(Y==0)p=c.a(i,p,r)}return r},aI:function(i,p,C,O){var M=A.B,c=A.T.w,q=M.S(i,p),y=M.Q(i,p+4); +p+=8;var r={f:[],z:[]};for(var F=0;F65535)c++;M.push(A.U.codeToGlyph(i,q))}var r=[]; +for(var c=0;c>>1);if(I[E*N]<=a)X=E; +else s=E}return X*N},r=C.T[O],F=r.a3,Z=-1;if(F==0){if(p>=r.map.length)Z=0;else Z=r.map[p]}else if(F==4){var Y=-1,P=r.aL; +if(p>P[P.length-1])Y=-1;else{Y=q(P,1,p);if(P[Y]>1)-(r.p.length-Y)];else o=p+r.av[Y];Z=o&65535}}else if(F==6){var l=p-r.aj,I=r.A; +if(l<0||l>=I.length)Z=0;else Z=I[l]}else if(F==12){var S=r.au;if(p>S[S.length-2])Z=0;else{var c=q(S,3,p); +if(S[c]<=p&&p<=S[c+1]){Z=S[c+2]+(p-S[c])}if(Z==-1)Z=0}}else throw"unknown cmap table format "+r.a3;var v=i["SVG "],L=i.loca; +if(Z!=0&&i["CFF "]==null&&(v==null||v.entries[Z]==null)&&L[Z]==L[Z+1]&&[9,10,11,12,13,32,133,160,5760,8232,8233,8239,12288,6158,8203,8204,8205,8288,65279].indexOf(p)==-1&&!(8192<=p&&p<=8202))Z=0; +return Z},glyphToPath:function(i,p){var C={o:[],v:[]},O=i["SVG "],M=i["CFF "],c=i.COLR,q=A.U;if(O&&O.entries[p]){var y=O.entries[p]; +if(y!=null){if(typeof y=="string"){y=q.SVG.ad(y);O.entries[p]=y}C=y}}else if(c&&c[0]["g"+p]){function r(X){var s=X.toString(16); +return(s.length==1?"0":"")+s}var F=i.CPAL,Z=c[0]["g"+p];for(var Y=0;Y-1)A.U._simpleGlyph(O,C);else A.U._compoGlyph(O,p,C)}},_simpleGlyph:function(i,p){var C=A.U.P; +for(var O=0;O>1;c.length=0;y=!0}else if(W=="o3"||W=="o23"){var B;B=c.length%2!==0; +if(B&&!y){r=c.shift()+n}q+=c.length>>1;c.length=0;y=!0}else if(W=="o4"){if(c.length>1&&!y){r=c.shift()+n; +y=!0}if(F)H.O(M);P+=c.pop();H.j(M,Y,P);F=!0}else if(W=="o5"){while(c.length>0){Y+=c.shift();P+=c.shift(); +H.n(M,Y,P)}}else if(W=="o6"||W=="o7"){var G=c.length,t=W=="o6";for(var D=0;DMath.abs(X-P)){Y=a+c.shift()}else{P=X+c.shift()}H.W(M,o,I,S,v,h,e); +H.W(M,L,N,a,X,Y,P)}}else if(W=="o14"){if(c.length>0&&!y){r=c.shift()+C.nominalWidthX;y=!0}if(c.length==4){var ah=0,T=c.shift(),m=c.shift(),ai=c.shift(),a5=c.shift(),a8=x.F(C,ai),a4=x.F(C,a5); +A.U._drawCFF(C.CharStrings[a8],p,C,O,M);p.x=T;p.y=m;A.U._drawCFF(C.CharStrings[a4],p,C,O,M)}if(F){H.O(M); +F=!1}}else if(W=="o19"||W=="o20"){var B;B=c.length%2!==0;if(B&&!y){r=c.shift()+n}q+=c.length>>1;c.length=0; +y=!0;Z+=q+7>>3}else if(W=="o21"){if(c.length>2&&!y){r=c.shift()+n;y=!0}P+=c.pop();Y+=c.pop();if(F)H.O(M); +H.j(M,Y,P);F=!0}else if(W=="o22"){if(c.length>1&&!y){r=c.shift()+n;y=!0}Y+=c.pop();if(F)H.O(M);H.j(M,Y,P); +F=!0}else if(W=="o25"){while(c.length>6){Y+=c.shift();P+=c.shift();H.n(M,Y,P)}o=Y+c.shift();I=P+c.shift(); +S=o+c.shift();v=I+c.shift();Y=S+c.shift();P=v+c.shift();H.W(M,o,I,S,v,Y,P)}else if(W=="o26"){if(c.length%2){Y+=c.shift()}while(c.length>0){o=Y; +I=P+c.shift();S=o+c.shift();v=I+c.shift();Y=S;P=v+c.shift();H.W(M,o,I,S,v,Y,P)}}else if(W=="o27"){if(c.length%2){P+=c.shift()}while(c.length>0){o=Y+c.shift(); +I=P;S=o+c.shift();v=I+c.shift();Y=S+c.shift();P=v;H.W(M,o,I,S,v,Y,P)}}else if(W=="o10"||W=="o29"){var $=W=="o10"?O:C; +if(c.length==0){console.log("error: empty stack")}else{var Q=c.pop(),k=$.Subrs[Q+$.Bias];p.x=Y;p.y=P; +p.I=q;p.r=y;p.width=r;p.open=F;A.U._drawCFF(k,p,C,O,M);Y=p.x;P=p.y;q=p.I;y=p.r;r=p.width;F=p.open}}else if(W=="o30"||W=="o31"){var G,V=c.length,g=0,_=W=="o31"; +G=V&~2;g+=V-G;while(g0&&Y[l-1]!="e"){Y=Y.slice(0,l)+" "+Y.slice(l); +l++;o=!0}}Y=Y.split(/\s*[\s,]\s*/).map(parseFloat);if(!1){}else if(Z=="translate"){if(Y.length==1)i.translate(P,Y[0],0); +else i.translate(P,Y[0],Y[1])}else if(Z=="scale"){if(Y.length==1)i.scale(P,Y[0],Y[0]);else i.scale(P,Y[0],Y[1])}else if(Z=="rotate"){var S=0,v=0; +if(Y.length!=1){S=Y[1];v=Y[2]}i.translate(P,-S,-v);i.rotate(P,-Math.PI*Y[0]/180);i.translate(P,S,v)}else if(Z=="matrix")P=Y; +else console.log("unknown transform: ",Z);return P}function c(Z){var Y={o:[],v:[]};if(Z==null)return Y; +var P=new DOMParser,o=P.parseFromString(Z,"image/svg+xml"),l=o.getElementsByTagName("svg")[0],I=l.getAttribute("viewBox"); +if(I)I=I.trim().split(" ").map(parseFloat);else I=[0,0,1e3,1e3];q(l.children,Y);for(var S=0;S=0?1:-1)*Math.acos(Math.max(-1,Math.min(1,ac)))},ak=(V-ap)/m,ae=(_-au)/f,a9=ag(1,0,ak,ae),as=ag(ak,ae,(-V-ap)/m,(-_-au)/f); +as=as%(2*Math.PI);var ab=function(at,l,I,K,j,u,w){var ao=function(J,d){var aa=Math.sin(d),U=Math.cos(d),d=J[0],af=J[1],a6=J[2],Z=J[3]; +J[0]=d*U+af*aa;J[1]=-d*aa+af*U;J[2]=a6*U+Z*aa;J[3]=-a6*aa+Z*U},z=function(J,d){for(var n=0;nj)u-=2*Math.PI;else while(u>>2,a=M.hb_buffer_get_glyph_positions(S,0)>>>2; +for(var X=0;X>>16)+4)}q=new Uint8Array(c.buffer);y=new Uint32Array(c.buffer);r=new Int32Array(c.buffer); +if(F!=a){if(Z!=null){M.hb_blob_destroy(Z);M.free(Y);M.hb_face_destroy(P);M.hb_font_destroy(o)}Y=M.malloc(N.byteLength); +q.set(N,Y);Z=M.hb_blob_create(Y,N.byteLength,2,0,0);P=M.hb_face_create(Z,0);o=M.hb_font_create(P);F=a}if(window.TextEncoder==null){alert("Your browser is too old. Please, update it."); +return}if(I==null)I=new window.TextEncoder("utf8");var E=M.hb_buffer_create(),h=I.encode(v),e=h.length,x=M.malloc(e); +q.set(h,x);M.hb_buffer_add_utf8(E,x,e,0,e);M.free(x);M.hb_buffer_set_direction(E,L?4:5);M.hb_buffer_guess_segment_properties(E); +M.hb_shape(o,E,0,0);var H=l(E);M.hb_buffer_destroy(E);var n=H.slice(0);if(!L)n.reverse();for(var B=1; +B8514000) { + //console.log(PUtils.readASCII(buf , 8514500, 500)); + //console.log(PUtils.readASCII(nbuf, 8514500, 500)); + } + for(var i=0; i>>4); + //console.log(CM, CINFO,CMF,FLG); + return UZIP.inflateRaw(new Uint8Array(file.buffer, file.byteOffset+2, file.length-6), buf); +} +UZIP.deflate = function(data, opts/*, buf, off*/) { + if(opts==null) opts={level:6}; + var off=0, buf=new Uint8Array(50+Math.floor(data.length*1.1)); + buf[off]=120; buf[off+1]=156; off+=2; + off = UZIP.F.deflateRaw(data, buf, off, opts.level); + var crc = UZIP.adler(data, 0, data.length); + buf[off+0]=((crc>>>24)&255); + buf[off+1]=((crc>>>16)&255); + buf[off+2]=((crc>>> 8)&255); + buf[off+3]=((crc>>> 0)&255); + return new Uint8Array(buf.buffer, 0, off+4); +} +UZIP.deflateRaw = function(data, opts) { + if(opts==null) opts={level:6}; + var buf=new Uint8Array(50+Math.floor(data.length*1.1)); + var off = UZIP.F.deflateRaw(data, buf, off, opts.level); + return new Uint8Array(buf.buffer, 0, off); +} + + +UZIP.encode = function(obj, noCmpr) { + if(noCmpr==null) noCmpr=false; + var tot = 0, wUi = UZIP.bin.writeUint, wUs = UZIP.bin.writeUshort; + var zpd = {}; + for(var p in obj) { var cpr = !UZIP._noNeed(p) && !noCmpr, buf = obj[p], crc = UZIP.crc.crc(buf,0,buf.length); + zpd[p] = { cpr:cpr, usize:buf.length, crc:crc, file: (cpr ? UZIP.deflateRaw(buf) : buf) }; } + + for(var p in zpd) tot += zpd[p].file.length + 30 + 46 + 2*UZIP.bin.sizeUTF8(p); + tot += 22; + + var data = new Uint8Array(tot), o = 0; + var fof = [] + + for(var p in zpd) { + var file = zpd[p]; fof.push(o); + o = UZIP._writeHeader(data, o, p, file, 0); + } + var i=0, ioff = o; + for(var p in zpd) { + var file = zpd[p]; fof.push(o); + o = UZIP._writeHeader(data, o, p, file, 1, fof[i++]); + } + var csize = o-ioff; + + wUi(data, o, 0x06054b50); o+=4; + o += 4; // disks + wUs(data, o, i); o += 2; + wUs(data, o, i); o += 2; // number of c d records + wUi(data, o, csize); o += 4; + wUi(data, o, ioff ); o += 4; + o += 2; + return data.buffer; +} +// no need to compress .PNG, .ZIP, .JPEG .... +UZIP._noNeed = function(fn) { var ext = fn.split(".").pop().toLowerCase(); return "png,jpg,jpeg,zip".indexOf(ext)!=-1; } + +UZIP._writeHeader = function(data, o, p, obj, t, roff) +{ + var wUi = UZIP.bin.writeUint, wUs = UZIP.bin.writeUshort; + var file = obj.file; + + wUi(data, o, t==0 ? 0x04034b50 : 0x02014b50); o+=4; // sign + if(t==1) o+=2; // ver made by + wUs(data, o, 20); o+=2; // ver + wUs(data, o, 2048); o+=2; // gflip + wUs(data, o, obj.cpr?8:0); o+=2; // cmpr + + wUi(data, o, 0); o+=4; // time + wUi(data, o, obj.crc); o+=4; // crc32 + wUi(data, o, file.length); o+=4; // csize + wUi(data, o, obj.usize); o+=4; // usize + + wUs(data, o, UZIP.bin.sizeUTF8(p)); o+=2; // nlen + wUs(data, o, 0); o+=2; // elen + + if(t==1) { + o += 2; // comment length + o += 2; // disk number + o += 6; // attributes + wUi(data, o, roff); o+=4; // usize + } + var nlen = UZIP.bin.writeUTF8(data, o, p); o+= nlen; + if(t==0) { data.set(file, o); o += file.length; } + return o; +} + + + + + +UZIP.crc = { + table : ( function() { + var tab = new Uint32Array(256); + for (var n=0; n<256; n++) { + var c = n; + for (var k=0; k<8; k++) { + if (c & 1) c = 0xedb88320 ^ (c >>> 1); + else c = c >>> 1; + } + tab[n] = c; } + return tab; })(), + update : function(c, buf, off, len) { + for (var i=0; i>> 8); + return c; + }, + crc : function(b,o,l) { return UZIP.crc.update(0xffffffff,b,o,l) ^ 0xffffffff; } +} +UZIP.adler = function(data,o,len) { + var a = 1, b = 0; + var off = o, end=o+len; + while(off>8)&255; }, + readUint : function(buff,p) { return (buff[p+3]*(256*256*256)) + ((buff[p+2]<<16) | (buff[p+1]<< 8) | buff[p]); }, + writeUint : function(buff,p,n){ buff[p]=n&255; buff[p+1]=(n>>8)&255; buff[p+2]=(n>>16)&255; buff[p+3]=(n>>24)&255; }, + readASCII : function(buff,p,l){ var s = ""; for(var i=0; i> 6)); buff[p+i+1] = (128|((code>> 0)&63)); i+=2; } + else if((code&(0xffffffff-(1<<16)+1))==0) { buff[p+i] = (224|(code>>12)); buff[p+i+1] = (128|((code>> 6)&63)); buff[p+i+2] = (128|((code>>0)&63)); i+=3; } + else if((code&(0xffffffff-(1<<21)+1))==0) { buff[p+i] = (240|(code>>18)); buff[p+i+1] = (128|((code>>12)&63)); buff[p+i+2] = (128|((code>>6)&63)); buff[p+i+3] = (128|((code>>0)&63)); i+=4; } + else throw "e"; + } + return i; + }, + sizeUTF8 : function(str) { + var strl = str.length, i=0; + for(var ci=0; ci>>3; + } + + var lits = U.lits, strt=U.strt, prev=U.prev, li=0, lc=0, bs=0, ebits=0, c=0, nc=0; // last_item, literal_count, block_start + if(dlen>2) { nc=UZIP.F._hash(data,0); strt[nc]=0; } + var nmch=0,nmci=0; + + for(i=0; i14000 || lc>26697) && (dlen-i)>100) { + if(cvrd>>16)>>16)>(mch>>>16)) mch=0; + }//*/ + var len = mch>>>16, dst = mch&0xffff; //if(i-dst<0) throw "e"; + if(mch!=0) { + var len = mch>>>16, dst = mch&0xffff; //if(i-dst<0) throw "e"; + var lgi = goodIndex(len, U.of0); U.lhst[257+lgi]++; + var dgi = goodIndex(dst, U.df0); U.dhst[ dgi]++; ebits += U.exb[lgi] + U.dxb[dgi]; + lits[li] = (len<<23)|(i-cvrd); lits[li+1] = (dst<<16)|(lgi<<8)|dgi; li+=2; + cvrd = i + len; + } + else { U.lhst[data[i]]++; } + lc++; + } + } + if(bs!=i || data.length==0) { + if(cvrd>>3; +} +UZIP.F._bestMatch = function(data, i, prev, c, nice, chain) { + var ci = (i&0x7fff), pi=prev[ci]; + //console.log("----", i); + var dif = ((ci-pi + (1<<15)) & 0x7fff); if(pi==ci || c!=UZIP.F._hash(data,i-dif)) return 0; + var tl=0, td=0; // top length, top distance + var dlim = Math.min(0x7fff, i); + while(dif<=dlim && --chain!=0 && pi!=ci /*&& c==UZIP.F._hash(data,i-dif)*/) { + if(tl==0 || (data[i+tl]==data[i+tl-dif])) { + var cl = UZIP.F._howLong(data, i, dif); + if(cl>tl) { + tl=cl; td=dif; if(tl>=nice) break; //* + if(dif+2maxd) { maxd=curd; pi = ei; } + } //*/ + } + } + + ci=pi; pi = prev[ci]; + dif += ((ci-pi + (1<<15)) & 0x7fff); + } + return (tl<<16)|td; +} +UZIP.F._howLong = function(data, i, dif) { + if(data[i]!=data[i-dif] || data[i+1]!=data[i+1-dif] || data[i+2]!=data[i+2-dif]) return 0; + var oi=i, l = Math.min(data.length, i+258); i+=3; + //while(i+4>>23), end = off+(qb&((1<<23)-1)); + while(off>16), lgi=(qc>>8)&255, dgi=(qc&255); + pos = UZIP.F._writeLit(257+lgi, ltree, out, pos); + putsE(out, pos, len-U.of0[lgi]); pos+=U.exb[lgi]; + + pos = UZIP.F._writeLit(dgi, dtree, out, pos); + putsF(out, pos, dst-U.df0[dgi]); pos+=U.dxb[dgi]; off+=len; + } + } + pos = UZIP.F._writeLit(256, ltree, out, pos); + } + //console.log(pos-opos, fxdSize, dynSize, cstSize); + return pos; +} +UZIP.F._copyExact = function(data,off,len,out,pos) { + var p8 = (pos>>>3); + out[p8]=(len); out[p8+1]=(len>>>8); out[p8+2]=255-out[p8]; out[p8+3]=255-out[p8+1]; p8+=4; + out.set(new Uint8Array(data.buffer, off, len), p8); + //for(var i=0; i4 && U.itree[(U.ordr[numh-1]<<1)+1]==0) numh--; + return [ML, MD, MH, numl, numd, numh, lset, dset]; +} +UZIP.F.getSecond= function(a) { var b=[]; for(var i=0; i>1)+","; return b; } +UZIP.F.contSize = function(tree, hst) { var s=0; for(var i=0; i15) { UZIP.F._putsE(out, pos, rst, rsl); pos+=rsl; } + } + return pos; +} +UZIP.F._lenCodes = function(tree, set) { + var len=tree.length; while(len!=2 && tree[len-1]==0) len-=2; // when no distances, keep one code with length 0 + for(var i=0; i>>1, 138); + if(zc<11) set.push(17, zc-3); + else set.push(18, zc-11); + i += zc*2-2; + } + else if(l==prv && nxt==l && nnxt==l) { + var lz = i+5; + while(lz+2>>1, 6); + set.push(16, zc-3); + i += zc*2-2; + } + else set.push(l, 0); + } + return len>>>1; +} +UZIP.F._hufTree = function(hst, tree, MAXL) { + var list=[], hl = hst.length, tl=tree.length, i=0; + for(i=0; iMAXL) { UZIP.F.restrictDepth(l2, MAXL, maxl); maxl = MAXL; } + for(i=0; iMD) { var od=dps[i].d; dps[i].d=MD; dbt+=bCost-(1<<(maxl-od)); } else break; + dbt = dbt>>>(maxl-MD); + while(dbt>0) { var od=dps[i].d; if(od=0; i--) if(dps[i].d==MD && dbt<0) { dps[i].d--; dbt++; } if(dbt!=0) console.log("debt left"); +} + +UZIP.F._goodIndex = function(v, arr) { + var i=0; if(arr[i|16]<=v) i|=16; if(arr[i|8]<=v) i|=8; if(arr[i|4]<=v) i|=4; if(arr[i|2]<=v) i|=2; if(arr[i|1]<=v) i|=1; return i; +} +UZIP.F._writeLit = function(ch, ltree, out, pos) { + UZIP.F._putsF(out, pos, ltree[ch<<1]); + return pos+ltree[(ch<<1)+1]; +} + + + + + + + + +UZIP.F.inflate = function(data, buf) { + var u8=Uint8Array; + if(data[0]==3 && data[1]==0) return (buf ? buf : new u8(0)); + var F=UZIP.F, bitsF = F._bitsF, bitsE = F._bitsE, decodeTiny = F._decodeTiny, makeCodes = F.makeCodes, codes2map=F.codes2map, get17 = F._get17; + var U = F.U; + + var noBuf = (buf==null); + if(noBuf) buf = new u8((data.length>>>2)<<3); + + var BFINAL=0, BTYPE=0, HLIT=0, HDIST=0, HCLEN=0, ML=0, MD=0; + var off = 0, pos = 0; + var lmap, dmap; + + while(BFINAL==0) { + BFINAL = bitsF(data, pos , 1); + BTYPE = bitsF(data, pos+1, 2); pos+=3; + //console.log(BFINAL, BTYPE); + + if(BTYPE==0) { + if((pos&7)!=0) pos+=8-(pos&7); + var p8 = (pos>>>3)+4, len = data[p8-4]|(data[p8-3]<<8); //console.log(len);//bitsF(data, pos, 16), + if(noBuf) buf=UZIP.F._check(buf, off+len); + buf.set(new u8(data.buffer, data.byteOffset+p8, len), off); + //for(var i=0; itl)tl=l; } pos+=3*HCLEN; //console.log(itree); + makeCodes(U.itree, tl); + codes2map(U.itree, tl, U.imap); + + lmap = U.lmap; dmap = U.dmap; + + pos = decodeTiny(U.imap, (1<>>24))-1; pos+=(ml&0xffffff); + makeCodes(U.ltree, mx0); + codes2map(U.ltree, mx0, lmap); + + //var md = decodeTiny(U.imap, (1<>>24))-1; pos+=(md&0xffffff); + makeCodes(U.dtree, mx1); + codes2map(U.dtree, mx1, dmap); + } + //var ooff=off, opos=pos; + while(true) { + var code = lmap[get17(data, pos) & ML]; pos += code&15; + var lit = code>>>4; //U.lhst[lit]++; + if((lit>>>8)==0) { buf[off++] = lit; } + else if(lit==256) { break; } + else { + var end = off+lit-254; + if(lit>264) { var ebs = U.ldef[lit-257]; end = off + (ebs>>>3) + bitsE(data, pos, ebs&7); pos += ebs&7; } + //UZIP.F.dst[end-off]++; + + var dcode = dmap[get17(data, pos) & MD]; pos += dcode&15; + var dlit = dcode>>>4; + var dbs = U.ddef[dlit], dst = (dbs>>>4) + bitsF(data, pos, dbs&15); pos += dbs&15; + + //var o0 = off-dst, stp = Math.min(end-off, dst); + //if(stp>20) while(off>>3); + } + //console.log(UZIP.F.dst); + //console.log(tlen, dlen, off-tlen+tcnt); + return buf.length==off ? buf : buf.slice(0,off); +} +UZIP.F._check=function(buf, len) { + var bl=buf.length; if(len<=bl) return buf; + var nbuf = new Uint8Array(Math.max(bl<<1,len)); nbuf.set(buf,0); + //for(var i=0; i>>4; + if(lit<=15) { tree[i]=lit; i++; } + else { + var ll = 0, n = 0; + if(lit==16) { + n = (3 + bitsE(data, pos, 2)); pos += 2; ll = tree[i-1]; + } + else if(lit==17) { + n = (3 + bitsE(data, pos, 3)); pos += 3; + } + else if(lit==18) { + n = (11 + bitsE(data, pos, 7)); pos += 7; + } + var ni = i+n; + while(i>>1; + while(imx)mx=v; i++; } + while(i>1; + var cl = tree[i+1], val = (lit<<4)|cl; // : (0x8000 | (U.of0[lit-257]<<7) | (U.exb[lit-257]<<4) | cl); + var rest = (MAX_BITS-cl), i0 = tree[i]<>>(15-MAX_BITS); + while(i0!=i1) { + var p0 = r15[i0]>>>(15-MAX_BITS); + map[p0]=val; i0++; + } + } +} +UZIP.F.revCodes = function(tree, MAX_BITS) { + var r15 = UZIP.F.U.rev15, imb = 15-MAX_BITS; + for(var i=0; i>>imb; } +} + +// used only in deflate +UZIP.F._putsE= function(dt, pos, val ) { val = val<<(pos&7); var o=(pos>>>3); dt[o]|=val; dt[o+1]|=(val>>>8); } +UZIP.F._putsF= function(dt, pos, val ) { val = val<<(pos&7); var o=(pos>>>3); dt[o]|=val; dt[o+1]|=(val>>>8); dt[o+2]|=(val>>>16); } + +UZIP.F._bitsE= function(dt, pos, length) { return ((dt[pos>>>3] | (dt[(pos>>>3)+1]<<8) )>>>(pos&7))&((1<>>3] | (dt[(pos>>>3)+1]<<8) | (dt[(pos>>>3)+2]<<16))>>>(pos&7))&((1<>>3] | (dt[(pos>>>3)+1]<<8))>>>(pos&7))&511; +} */ +UZIP.F._get17= function(dt, pos) { // return at least 17 meaningful bytes + return (dt[pos>>>3] | (dt[(pos>>>3)+1]<<8) | (dt[(pos>>>3)+2]<<16) )>>>(pos&7); +} +UZIP.F._get25= function(dt, pos) { // return at least 17 meaningful bytes + return (dt[pos>>>3] | (dt[(pos>>>3)+1]<<8) | (dt[(pos>>>3)+2]<<16) | (dt[(pos>>>3)+3]<<24) )>>>(pos&7); +} +UZIP.F.U = function(){ + var u16=Uint16Array, u32=Uint32Array; + return { + next_code : new u16(16), + bl_count : new u16(16), + ordr : [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ], + of0 : [3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999], + exb : [0,0,0,0,0,0,0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0], + ldef : new u16(32), + df0 : [1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 65535, 65535], + dxb : [0,0,0,0,1,1,2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0], + ddef : new u32(32), + flmap: new u16( 512), fltree: [], + fdmap: new u16( 32), fdtree: [], + lmap : new u16(32768), ltree : [], ttree:[], + dmap : new u16(32768), dtree : [], + imap : new u16( 512), itree : [], + //rev9 : new u16( 512) + rev15: new u16(1<<15), + lhst : new u32(286), dhst : new u32( 30), ihst : new u32(19), + lits : new u32(15000), + strt : new u16(1<<16), + prev : new u16(1<<15) + }; +} (); + +(function(){ + var U = UZIP.F.U; + var len = 1<<15; + for(var i=0; i>> 1) | ((x & 0x55555555) << 1)); + x = (((x & 0xcccccccc) >>> 2) | ((x & 0x33333333) << 2)); + x = (((x & 0xf0f0f0f0) >>> 4) | ((x & 0x0f0f0f0f) << 4)); + x = (((x & 0xff00ff00) >>> 8) | ((x & 0x00ff00ff) << 8)); + U.rev15[i] = (((x >>> 16) | (x << 16)))>>>17; + } + + function pushV(tgt, n, sv) { while(n--!=0) tgt.push(0,sv); } + + for(var i=0; i<32; i++) { U.ldef[i]=(U.of0[i]<<3)|U.exb[i]; U.ddef[i]=(U.df0[i]<<4)|U.dxb[i]; } + + pushV(U.fltree, 144, 8); pushV(U.fltree, 255-143, 9); pushV(U.fltree, 279-255, 7); pushV(U.fltree,287-279,8); + /* + var i = 0; + for(; i<=143; i++) U.fltree.push(0,8); + for(; i<=255; i++) U.fltree.push(0,9); + for(; i<=279; i++) U.fltree.push(0,7); + for(; i<=287; i++) U.fltree.push(0,8); + */ + UZIP.F.makeCodes(U.fltree, 9); + UZIP.F.codes2map(U.fltree, 9, U.flmap); + UZIP.F.revCodes (U.fltree, 9) + + pushV(U.fdtree,32,5); + //for(i=0;i<32; i++) U.fdtree.push(0,5); + UZIP.F.makeCodes(U.fdtree, 5); + UZIP.F.codes2map(U.fdtree, 5, U.fdmap); + UZIP.F.revCodes (U.fdtree, 5) + + pushV(U.itree,19,0); pushV(U.ltree,286,0); pushV(U.dtree,30,0); pushV(U.ttree,320,0); + /* + for(var i=0; i< 19; i++) U.itree.push(0,0); + for(var i=0; i<286; i++) U.ltree.push(0,0); + for(var i=0; i< 30; i++) U.dtree.push(0,0); + for(var i=0; i<320; i++) U.ttree.push(0,0); + */ +})() + + +var paper=function(t,e){var i=(t=t||require("./node/self.js")).window,n=t.document,r=new function(){function t(t,e,r,s,a){function u(n,u){"string"==typeof(u=u||(u=o(e,n))&&(u.get?u:u.value))&&"#"===u[0]&&(u=t[u.substring(1)]||u);var c,f="function"==typeof u,d=u,_=a||f&&!u.base?u&&u.get?n in t:t[n]:null;a&&_||(f&&_&&(u.base=_),f&&!1!==s&&(c=n.match(/^([gs]et|is)(([A-Z])(.*))$/))&&(l[c[3].toLowerCase()+c[4]]=c[2]),d&&!f&&d.get&&"function"==typeof d.get&&i.isPlainObject(d)||(d={value:d,writable:!0}),(o(t,n)||{configurable:!0}).configurable&&(d.configurable=!0,d.enumerable=null!=r?r:!c),h(t,n,d))}var l={};if(e){for(var c in e)e.hasOwnProperty(c)&&!n.test(c)&&u(c);for(var c in l){var f=l[c],d=t["set"+f],_=t["get"+f]||d&&t["is"+f];!_||!0!==s&&0!==_.length||u(c,{get:_,set:d})}}return t}function i(){for(var t=0,e=arguments.length;t0||u+s0?[["dictionary",n.definitions],s]:s},deserialize:function(t,e,i,n,s){var a=t,o=!i,h=o&&t&&t.length&&"dictionary"===t[0][0];if(i=i||{},Array.isArray(t)){var u=t[0],l="dictionary"===u;if(1==t.length&&/^#/.test(u))return i.dictionary[u];a=[];for(var c=(u=r.exports[u])?1:0,f=t.length;ct.length&&(n=t.length);for(u=0;u0){var s=e[r],a=s&&s[n];a&&a.call(this,r)}},statics:{inject:function t(e){var i=e._events;if(i){var n={};r.each(i,function(t,i){var s="string"==typeof t,a=s?t:i,o=r.capitalize(a),h=a.substring(2).toLowerCase();n[h]=s?{}:t,a="_"+a,e["get"+o]=function(){return this[a]},e["set"+o]=function(t){var e=this[a];e&&this.off(h,e),t&&this.on(h,t),this[a]=t}}),e._eventTypes=n}return t.base.apply(this,arguments)}}},a=r.extend({_class:"PaperScope",initialize:function e(){paper=this,this.settings=new r({applyMatrix:!0,insertItems:!0,handleSize:4,hitTolerance:0}),this.project=null,this.projects=[],this.tools=[],this._id=e._id++,e._scopes[this._id]=this;var i=e.prototype;if(!this.support){var n=Q.getContext(1,1)||{};i.support={nativeDash:"setLineDash"in n||"mozDash"in n,nativeBlendModes:tt.nativeModes},Q.release(n)}if(!this.agent){var s=t.navigator.userAgent.toLowerCase(),a=(/(darwin|win|mac|linux|freebsd|sunos)/.exec(s)||[])[0],o="darwin"===a?"mac":a,h=i.agent=i.browser={platform:o};o&&(h[o]=!0),s.replace(/(opera|chrome|safari|webkit|firefox|msie|trident|atom|node)\/?\s*([.\d]+)(?:.*version\/([.\d]+))?(?:.*rv\:v?([.\d]+))?/g,function(t,e,i,n,r){if(!h.chrome){var s="opera"===e?n:/^(node|trident)$/.test(e)?r:i;h.version=s,h.versionNumber=parseFloat(s),e="trident"===e?"msie":e,h.name=e,h[e]=!0}}),h.chrome&&delete h.webkit,h.atom&&delete h.chrome}},version:"0.11.5",getView:function(){var t=this.project;return t&&t._view},getPaper:function(){return this},execute:function(t,e){paper.PaperScript.execute(t,this,e),U.updateFocus()},install:function(t){var e=this;r.each(["project","view","tool"],function(i){r.define(t,i,{configurable:!0,get:function(){return e[i]}})});for(var i in this)!/^_/.test(i)&&this[i]&&(t[i]=this[i])},setup:function(t){return paper=this,this.project=new y(t),this},createCanvas:function(t,e){return Q.getCanvas(t,e)},activate:function(){paper=this},clear:function(){for(var t=this.projects,e=this.tools,i=t.length-1;i>=0;i--)t[i].remove();for(i=e.length-1;i>=0;i--)e[i].remove()},remove:function(){this.clear(),delete a._scopes[this._id]},statics:new function(){function t(t){return t+="Attribute",function(e,i){return e[t](i)||e[t]("data-paper-"+i)}}return{_scopes:{},_id:0,get:function(t){return this._scopes[t]||null},getAttribute:t("get"),hasAttribute:t("has")}}}),o=r.extend(s,{initialize:function(t){this._scope=paper,this._index=this._scope[this._list].push(this)-1,!t&&this._scope[this._reference]||this.activate()},activate:function(){if(!this._scope)return!1;var t=this._scope[this._reference];return t&&t!==this&&t.emit("deactivate"),this._scope[this._reference]=this,this.emit("activate",t),!0},isActive:function(){return this._scope[this._reference]===this},remove:function(){return null!=this._index&&(r.splice(this._scope[this._list],null,this._index,1),this._scope[this._reference]==this&&(this._scope[this._reference]=null),this._scope=null,!0)},getView:function(){return this._scope.getView()}}),h=r.extend({initialize:function(t){this.precision=r.pick(t,5),this.multiplier=Math.pow(10,this.precision)},number:function(t){return this.precision<16?Math.round(t*this.multiplier)/this.multiplier:t},pair:function(t,e,i){return this.number(t)+(i||",")+this.number(e)},point:function(t,e){return this.number(t.x)+(e||",")+this.number(t.y)},size:function(t,e){return this.number(t.width)+(e||",")+this.number(t.height)},rectangle:function(t,e){return this.point(t,e)+(e||",")+this.size(t,e)}});h.instance=new h;var u=new function(){function t(t,e,i){return ti?i:t}function e(t,e,i){function n(t){var e=134217729*t,i=t-e+e;return[i,t-i]}var r=e*e-t*i,a=e*e+t*i;if(3*s(r)1e8)?o(2,-Math.round(h(t))):0}var n=[[.5773502691896257],[0,.7745966692414834],[.33998104358485626,.8611363115940526],[0,.5384693101056831,.906179845938664],[.2386191860831969,.6612093864662645,.932469514203152],[0,.4058451513773972,.7415311855993945,.9491079123427585],[.1834346424956498,.525532409916329,.7966664774136267,.9602898564975363],[0,.3242534234038089,.6133714327005904,.8360311073266358,.9681602395076261],[.14887433898163122,.4333953941292472,.6794095682990244,.8650633666889845,.9739065285171717],[0,.26954315595234496,.5190961292068118,.7301520055740494,.8870625997680953,.978228658146057],[.1252334085114689,.3678314989981802,.5873179542866175,.7699026741943047,.9041172563704749,.9815606342467192],[0,.2304583159551348,.44849275103644687,.6423493394403402,.8015780907333099,.9175983992229779,.9841830547185881],[.10805494870734367,.31911236892788974,.5152486363581541,.6872929048116855,.827201315069765,.9284348836635735,.9862838086968123],[0,.20119409399743451,.3941513470775634,.5709721726085388,.7244177313601701,.8482065834104272,.937273392400706,.9879925180204854],[.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]],r=[[1],[.8888888888888888,.5555555555555556],[.6521451548625461,.34785484513745385],[.5688888888888889,.47862867049936647,.23692688505618908],[.46791393457269104,.3607615730481386,.17132449237917036],[.4179591836734694,.3818300505051189,.27970539148927664,.1294849661688697],[.362683783378362,.31370664587788727,.22238103445337448,.10122853629037626],[.3302393550012598,.31234707704000286,.26061069640293544,.1806481606948574,.08127438836157441],[.29552422471475287,.26926671930999635,.21908636251598204,.1494513491505806,.06667134430868814],[.2729250867779006,.26280454451024665,.23319376459199048,.18629021092773426,.1255803694649046,.05566856711617366],[.24914704581340277,.2334925365383548,.20316742672306592,.16007832854334622,.10693932599531843,.04717533638651183],[.2325515532308739,.22628318026289723,.2078160475368885,.17814598076194574,.13887351021978725,.09212149983772845,.04048400476531588],[.2152638534631578,.2051984637212956,.18553839747793782,.15720316715819355,.12151857068790319,.08015808715976021,.03511946033175186],[.2025782419255613,.19843148532711158,.1861610000155622,.16626920581699392,.13957067792615432,.10715922046717194,.07036604748810812,.03075324199611727],[.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096]],s=Math.abs,a=Math.sqrt,o=Math.pow,h=Math.log2||function(t){return Math.log(t)*Math.LOG2E};return{EPSILON:1e-12,MACHINE_EPSILON:1.12e-16,CURVETIME_EPSILON:1e-8,GEOMETRIC_EPSILON:1e-7,TRIGONOMETRIC_EPSILON:1e-8,KAPPA:4*(a(2)-1)/3,isZero:function(t){return t>=-1e-12&&t<=1e-12},clamp:t,integrate:function(t,e,i,s){for(var a=n[s-2],o=r[s-2],h=.5*(i-e),u=h+e,l=0,c=s+1>>1,f=1&s?o[l++]*t(u):0;l0?(a=n,n=f<=r?.5*(r+a):f):(r=n,n=f>=a?.5*(r+a):f)}return t(n,r,a)},solveQuadratic:function(n,r,o,h,u,l){var c,f=1/0;if(s(n)<1e-12){if(s(r)<1e-12)return s(o)<1e-12?-1:0;c=-o/r}else{var d=e(n,r*=-.5,o);if(d&&s(d)<1.12e-16){var _=i(s(n),s(r),s(o));_&&(d=e(n*=_,r*=_,o*=_))}if(d>=-1.12e-16){var g=d<0?0:a(d),v=r+(r<0?-g:g);0===v?f=-(c=o/n):(c=v/n,f=o/v)}}var p=0,m=null==u,y=u-1e-12,w=l+1e-12;return isFinite(c)&&(m||c>y&&cy&&f0?1.324717957244746*Math.max(x,a(C)):x,P=_-b*S;if(P!==_){do{d(P),P=0===p?_:_-m/p/(1+1.12e-16)}while(b*P>b*_);s(e)*_*_>s(h/_)&&(g=((v=-h/_)-r)/_)}}var I=u.solveQuadratic(e,g,v,l,c,f),M=null==c;return isFinite(_)&&(0===I||I>0&&_!==l[0]&&_!==l[1])&&(M||_>c-1e-12&&_1?a[1]:a[0])):"x"in a?this._set(a.x||0,a.y||0):"width"in a?this._set(a.width||0,a.height||0):"angle"in a?(this._set(a.length||0,0),this.setAngle(a.angle||0)):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.x=t,this.y=e,this},equals:function(t){return this===t||t&&(this.x===t.x&&this.y===t.y||Array.isArray(t)&&this.x===t[0]&&this.y===t[1])||!1},clone:function(){return new c(this.x,this.y)},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y)]},getLength:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},setLength:function(t){if(this.isZero()){var e=this._angle||0;this._set(Math.cos(e)*t,Math.sin(e)*t)}else{var i=t/this.getLength();u.isZero(i)&&this.getAngle(),this._set(this.x*i,this.y*i)}},getAngle:function(){return 180*this.getAngleInRadians.apply(this,arguments)/Math.PI},setAngle:function(t){this.setAngleInRadians.call(this,t*Math.PI/180)},getAngleInDegrees:"#getAngle",setAngleInDegrees:"#setAngle",getAngleInRadians:function(){if(arguments.length){var t=c.read(arguments),e=this.getLength()*t.getLength();if(u.isZero(e))return NaN;var i=this.dot(t)/e;return Math.acos(i<-1?-1:i>1?1:i)}return this.isZero()?this._angle||0:this._angle=Math.atan2(this.y,this.x)},setAngleInRadians:function(t){if(this._angle=t,!this.isZero()){var e=this.getLength();this._set(Math.cos(t)*e,Math.sin(t)*e)}},getQuadrant:function(){return this.x>=0?this.y>=0?1:4:this.y>=0?2:3}},{beans:!1,getDirectedAngle:function(){var t=c.read(arguments);return 180*Math.atan2(this.cross(t),this.dot(t))/Math.PI},getDistance:function(){var t=c.read(arguments),e=t.x-this.x,i=t.y-this.y,n=e*e+i*i;return r.read(arguments)?n:Math.sqrt(n)},normalize:function(t){t===e&&(t=1);var i=this.getLength(),n=0!==i?t/i:0,r=new c(this.x*n,this.y*n);return n>=0&&(r._angle=this._angle),r},rotate:function(t,e){if(0===t)return this.clone();t=t*Math.PI/180;var i=e?this.subtract(e):this,n=Math.sin(t),r=Math.cos(t);return i=new c(i.x*r-i.y*n,i.x*n+i.y*r),e?i.add(e):i},transform:function(t){return t?t._transformPoint(this):this},add:function(){var t=c.read(arguments);return new c(this.x+t.x,this.y+t.y)},subtract:function(){var t=c.read(arguments);return new c(this.x-t.x,this.y-t.y)},multiply:function(){var t=c.read(arguments);return new c(this.x*t.x,this.y*t.y)},divide:function(){var t=c.read(arguments);return new c(this.x/t.x,this.y/t.y)},modulo:function(){var t=c.read(arguments);return new c(this.x%t.x,this.y%t.y)},negate:function(){return new c(-this.x,-this.y)},isInside:function(){return g.read(arguments).contains(this)},isClose:function(){var t=c.read(arguments),e=r.read(arguments);return this.getDistance(t)<=e},isCollinear:function(){var t=c.read(arguments);return c.isCollinear(this.x,this.y,t.x,t.y)},isColinear:"#isCollinear",isOrthogonal:function(){var t=c.read(arguments);return c.isOrthogonal(this.x,this.y,t.x,t.y)},isZero:function(){var t=u.isZero;return t(this.x)&&t(this.y)},isNaN:function(){return isNaN(this.x)||isNaN(this.y)},isInQuadrant:function(t){return this.x*(t>1&&t<4?-1:1)>=0&&this.y*(t>2?-1:1)>=0},dot:function(){var t=c.read(arguments);return this.x*t.x+this.y*t.y},cross:function(){var t=c.read(arguments);return this.x*t.y-this.y*t.x},project:function(){var t=c.read(arguments),e=t.isZero()?0:this.dot(t)/t.dot(t);return new c(t.x*e,t.y*e)},statics:{min:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.min(t.x,e.x),Math.min(t.y,e.y))},max:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.max(t.x,e.x),Math.max(t.y,e.y))},random:function(){return new c(Math.random(),Math.random())},isCollinear:function(t,e,i,n){return Math.abs(t*n-e*i)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))},isOrthogonal:function(t,e,i,n){return Math.abs(t*i+e*n)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new c(e(this.x),e(this.y))}},{})),f=c.extend({initialize:function(t,e,i,n){this._x=t,this._y=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._x=t,this._y=e,i||this._owner[this._setter](this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner[this._setter](this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner[this._setter](this)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){return"setPosition"===this._setter?4:0}}),d=r.extend({_class:"Size",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"width"in a?this._set(a.width||0,a.height||0):"x"in a?this._set(a.x||0,a.y||0):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.width=t,this.height=e,this},equals:function(t){return t===this||t&&(this.width===t.width&&this.height===t.height||Array.isArray(t)&&this.width===t[0]&&this.height===t[1])||!1},clone:function(){return new d(this.width,this.height)},toString:function(){var t=h.instance;return"{ width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.width),e.number(this.height)]},add:function(){var t=d.read(arguments);return new d(this.width+t.width,this.height+t.height)},subtract:function(){var t=d.read(arguments);return new d(this.width-t.width,this.height-t.height)},multiply:function(){var t=d.read(arguments);return new d(this.width*t.width,this.height*t.height)},divide:function(){var t=d.read(arguments);return new d(this.width/t.width,this.height/t.height)},modulo:function(){var t=d.read(arguments);return new d(this.width%t.width,this.height%t.height)},negate:function(){return new d(-this.width,-this.height)},isZero:function(){var t=u.isZero;return t(this.width)&&t(this.height)},isNaN:function(){return isNaN(this.width)||isNaN(this.height)},statics:{min:function(t,e){return new d(Math.min(t.width,e.width),Math.min(t.height,e.height))},max:function(t,e){return new d(Math.max(t.width,e.width),Math.max(t.height,e.height))},random:function(){return new d(Math.random(),Math.random())}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new d(e(this.width),e(this.height))}},{})),_=d.extend({initialize:function(t,e,i,n){this._width=t,this._height=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._width=t,this._height=e,i||this._owner[this._setter](this),this},getWidth:function(){return this._width},setWidth:function(t){this._width=t,this._owner[this._setter](this)},getHeight:function(){return this._height},setHeight:function(t){this._height=t,this._owner[this._setter](this)}}),g=r.extend({_class:"Rectangle",_readIndex:!0,beans:!0,initialize:function(t,i,n,s){var a,o=typeof t;if("number"===o?(this._set(t,i,n,s),a=4):"undefined"===o||null===t?(this._set(0,0,0,0),a=null===t?1:0):1===arguments.length&&(Array.isArray(t)?(this._set.apply(this,t),a=1):t.x!==e||t.width!==e?(this._set(t.x||0,t.y||0,t.width||0,t.height||0),a=1):t.from===e&&t.to===e&&(this._set(0,0,0,0),r.filter(this,t),a=1)),a===e){var h,u,l=c.readNamed(arguments,"from"),f=r.peek(arguments),_=l.x,g=l.y;if(f&&f.x!==e||r.hasNamed(arguments,"to")){var v=c.readNamed(arguments,"to");h=v.x-_,u=v.y-g,h<0&&(_=v.x,h=-h),u<0&&(g=v.y,u=-u)}else{var p=d.read(arguments);h=p.width,u=p.height}this._set(_,g,h,u),a=arguments.__index;var m=arguments.__filtered;m&&(this.__filtered=m)}return this.__read&&(this.__read=a),this},set:"#initialize",_set:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},clone:function(){return new g(this.x,this.y,this.width,this.height)},equals:function(t){var e=r.isPlainValue(t)?g.read(arguments):t;return e===this||e&&this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height||!1},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+", width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y),e.number(this.width),e.number(this.height)]},getPoint:function(t){return new(t?c:f)(this.x,this.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.x=t.x,this.y=t.y},getSize:function(t){return new(t?d:_)(this.width,this.height,this,"setSize")},_fw:1,_fh:1,setSize:function(){var t=d.read(arguments),e=this._sx,i=this._sy,n=t.width,r=t.height;e&&(this.x+=(this.width-n)*e),i&&(this.y+=(this.height-r)*i),this.width=n,this.height=r,this._fw=this._fh=1},getLeft:function(){return this.x},setLeft:function(t){if(!this._fw){var e=t-this.x;this.width-=.5===this._sx?2*e:e}this.x=t,this._sx=this._fw=0},getTop:function(){return this.y},setTop:function(t){if(!this._fh){var e=t-this.y;this.height-=.5===this._sy?2*e:e}this.y=t,this._sy=this._fh=0},getRight:function(){return this.x+this.width},setRight:function(t){if(!this._fw){var e=t-this.x;this.width=.5===this._sx?2*e:e}this.x=t-this.width,this._sx=1,this._fw=0},getBottom:function(){return this.y+this.height},setBottom:function(t){if(!this._fh){var e=t-this.y;this.height=.5===this._sy?2*e:e}this.y=t-this.height,this._sy=1,this._fh=0},getCenterX:function(){return this.x+this.width/2},setCenterX:function(t){this._fw||.5===this._sx?this.x=t-this.width/2:(this._sx&&(this.x+=2*(t-this.x)*this._sx),this.width=2*(t-this.x)),this._sx=.5,this._fw=0},getCenterY:function(){return this.y+this.height/2},setCenterY:function(t){this._fh||.5===this._sy?this.y=t-this.height/2:(this._sy&&(this.y+=2*(t-this.y)*this._sy),this.height=2*(t-this.y)),this._sy=.5,this._fh=0},getCenter:function(t){return new(t?c:f)(this.getCenterX(),this.getCenterY(),this,"setCenter")},setCenter:function(){var t=c.read(arguments);return this.setCenterX(t.x),this.setCenterY(t.y),this},getArea:function(){return this.width*this.height},isEmpty:function(){return 0===this.width||0===this.height},contains:function(t){return t&&t.width!==e||4===(Array.isArray(t)?t:arguments).length?this._containsRectangle(g.read(arguments)):this._containsPoint(c.read(arguments))},_containsPoint:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e<=this.x+this.width&&i<=this.y+this.height},_containsRectangle:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e+t.width<=this.x+this.width&&i+t.height<=this.y+this.height},intersects:function(){var t=g.read(arguments),e=r.read(arguments)||0;return t.x+t.width>this.x-e&&t.y+t.height>this.y-e&&t.x=4&&(t[1]+=n?"Y":"X");var r=t[n?0:1],s=t[n?1:0],a="get"+r,o="get"+s,h="set"+r,u="set"+s,l="set"+i;this["get"+i]=function(t){return new(t?c:f)(this[a](),this[o](),this,l)},this[l]=function(){var t=c.read(arguments);this[h](t.x),this[u](t.y)}},{beans:!0})),v=g.extend({initialize:function(t,e,i,n,r,s){this._set(t,e,i,n,!0),this._owner=r,this._setter=s},_set:function(t,e,i,n,r){return this._x=t,this._y=e,this._width=i,this._height=n,r||this._owner[this._setter](this),this}},new function(){var t=g.prototype;return r.each(["x","y","width","height"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._dontNotify||this._owner[this._setter](this)}},r.each(["Point","Size","Center","Left","Top","Right","Bottom","CenterX","CenterY","TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],function(e){var i="set"+e;this[i]=function(){this._dontNotify=!0,t[i].apply(this,arguments),this._dontNotify=!1,this._owner[this._setter](this)}},{isSelected:function(){return!!(2&this._owner._selection)},setSelected:function(t){var e=this._owner;e._changeSelection&&e._changeSelection(2,t)}}))}),p=r.extend({_class:"Matrix",initialize:function t(e,i){var n=arguments.length,r=!0;if(n>=6?this._set.apply(this,arguments):1===n||2===n?e instanceof t?this._set(e._a,e._b,e._c,e._d,e._tx,e._ty,i):Array.isArray(e)?this._set.apply(this,i?e.concat([i]):e):r=!1:n?r=!1:this.reset(),!r)throw new Error("Unsupported matrix parameters");return this},set:"#initialize",_set:function(t,e,i,n,r,s,a){return this._a=t,this._b=e,this._c=i,this._d=n,this._tx=r,this._ty=s,a||this._changed(),this},_serialize:function(t,e){return r.serialize(this.getValues(),t,!0,e)},_changed:function(){var t=this._owner;t&&(t._applyMatrix?t.transform(null,!0):t._changed(9))},clone:function(){return new p(this._a,this._b,this._c,this._d,this._tx,this._ty)},equals:function(t){return t===this||t&&this._a===t._a&&this._b===t._b&&this._c===t._c&&this._d===t._d&&this._tx===t._tx&&this._ty===t._ty},toString:function(){var t=h.instance;return"[["+[t.number(this._a),t.number(this._c),t.number(this._tx)].join(", ")+"], ["+[t.number(this._b),t.number(this._d),t.number(this._ty)].join(", ")+"]]"},reset:function(t){return this._a=this._d=1,this._b=this._c=this._tx=this._ty=0,t||this._changed(),this},apply:function(t,e){var i=this._owner;return!!i&&(i.transform(null,!0,r.pick(t,!0),e),this.isIdentity())},translate:function(){var t=c.read(arguments),e=t.x,i=t.y;return this._tx+=e*this._a+i*this._c,this._ty+=e*this._b+i*this._d,this._changed(),this},scale:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});return e&&this.translate(e),this._a*=t.x,this._b*=t.x,this._c*=t.y,this._d*=t.y,e&&this.translate(e.negate()),this._changed(),this},rotate:function(t){t*=Math.PI/180;var e=c.read(arguments,1),i=e.x,n=e.y,r=Math.cos(t),s=Math.sin(t),a=i-i*r+n*s,o=n-i*s-n*r,h=this._a,u=this._b,l=this._c,f=this._d;return this._a=r*h+s*l,this._b=r*u+s*f,this._c=-s*h+r*l,this._d=-s*u+r*f,this._tx+=a*h+o*l,this._ty+=a*u+o*f,this._changed(),this},shear:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});e&&this.translate(e);var i=this._a,n=this._b;return this._a+=t.y*this._c,this._b+=t.y*this._d,this._c+=t.x*i,this._d+=t.x*n,e&&this.translate(e.negate()),this._changed(),this},skew:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0}),i=Math.PI/180,n=new c(Math.tan(t.x*i),Math.tan(t.y*i));return this.shear(n,e)},append:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=t._a,o=t._c,h=t._b,u=t._d,l=t._tx,c=t._ty;this._a=a*i+h*r,this._c=o*i+u*r,this._b=a*n+h*s,this._d=o*n+u*s,this._tx+=l*i+c*r,this._ty+=l*n+c*s,e||this._changed()}return this},prepend:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=this._tx,o=this._ty,h=t._a,u=t._c,l=t._b,c=t._d,f=t._tx,d=t._ty;this._a=h*i+u*n,this._c=h*r+u*s,this._b=l*i+c*n,this._d=l*r+c*s,this._tx=h*a+u*o+f,this._ty=l*a+c*o+d,e||this._changed()}return this},appended:function(t){return this.clone().append(t)},prepended:function(t){return this.clone().prepend(t)},invert:function(){var t=this._a,e=this._b,i=this._c,n=this._d,r=this._tx,s=this._ty,a=t*n-e*i,o=null;return a&&!isNaN(a)&&isFinite(r)&&isFinite(s)&&(this._a=n/a,this._b=-e/a,this._c=-i/a,this._d=t/a,this._tx=(i*s-n*r)/a,this._ty=(e*r-t*s)/a,o=this),o},inverted:function(){return this.clone().invert()},concatenate:"#append",preConcatenate:"#prepend",chain:"#appended",_shiftless:function(){return new p(this._a,this._b,this._c,this._d,0,0)},_orNullIfIdentity:function(){return this.isIdentity()?null:this},isIdentity:function(){return 1===this._a&&0===this._b&&0===this._c&&1===this._d&&0===this._tx&&0===this._ty},isInvertible:function(){var t=this._a*this._d-this._c*this._b;return t&&!isNaN(t)&&isFinite(this._tx)&&isFinite(this._ty)},isSingular:function(){return!this.isInvertible()},transform:function(t,e,i){return arguments.length<3?this._transformPoint(c.read(arguments)):this._transformCoordinates(t,e,i)},_transformPoint:function(t,e,i){var n=t.x,r=t.y;return e||(e=new c),e._set(n*this._a+r*this._c+this._tx,n*this._b+r*this._d+this._ty,i)},_transformCoordinates:function(t,e,i){for(var n=0,r=2*i;ns[h]&&(s[h]=o)}return e||(e=new g),e._set(r[0],r[1],s[0]-r[0],s[1]-r[1],i)},inverseTransform:function(){return this._inverseTransform(c.read(arguments))},_inverseTransform:function(t,e,i){var n=this._a,r=this._b,s=this._c,a=this._d,o=this._tx,h=this._ty,u=n*a-r*s,l=null;if(u&&!isNaN(u)&&isFinite(o)&&isFinite(h)){var f=t.x-this._tx,d=t.y-this._ty;e||(e=new c),l=e._set((f*a-d*s)/u,(d*n-f*r)/u,i)}return l},decompose:function(){var t,e,i,n=this._a,r=this._b,s=this._c,a=this._d,o=n*a-r*s,h=Math.sqrt,u=Math.atan2,l=180/Math.PI;if(0!==n||0!==r){var f=h(n*n+r*r);t=Math.acos(n/f)*(r>0?1:-1),e=[f,o/f],i=[u(n*s+r*a,f*f),0]}else if(0!==s||0!==a){var d=h(s*s+a*a);t=Math.asin(s/d)*(a>0?1:-1),e=[o/d,d],i=[0,u(n*s+r*a,d*d)]}else t=0,i=e=[0,0];return{translation:this.getTranslation(),rotation:t*l,scaling:new c(e),skewing:new c(i[0]*l,i[1]*l)}},getValues:function(){return[this._a,this._b,this._c,this._d,this._tx,this._ty]},getTranslation:function(){return new c(this._tx,this._ty)},getScaling:function(){return(this.decompose()||{}).scaling},getRotation:function(){return(this.decompose()||{}).rotation},applyToContext:function(t){this.isIdentity()||t.transform(this._a,this._b,this._c,this._d,this._tx,this._ty)}},r.each(["a","b","c","d","tx","ty"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._changed()}},{})),m=r.extend({_class:"Line",initialize:function(t,e,i,n,r){var s=!1;arguments.length>=4?(this._px=t,this._py=e,this._vx=i,this._vy=n,s=r):(this._px=t.x,this._py=t.y,this._vx=e.x,this._vy=e.y,s=i),s||(this._vx-=this._px,this._vy-=this._py)},getPoint:function(){return new c(this._px,this._py)},getVector:function(){return new c(this._vx,this._vy)},getLength:function(){return this.getVector().getLength()},intersect:function(t,e){return m.intersect(this._px,this._py,this._vx,this._vy,t._px,t._py,t._vx,t._vy,!0,e)},getSide:function(t,e){return m.getSide(this._px,this._py,this._vx,this._vy,t.x,t.y,!0,e)},getDistance:function(t){return Math.abs(this.getSignedDistance(t))},getSignedDistance:function(t){return m.getSignedDistance(this._px,this._py,this._vx,this._vy,t.x,t.y,!0)},isCollinear:function(t){return c.isCollinear(this._vx,this._vy,t._vx,t._vy)},isOrthogonal:function(t){return c.isOrthogonal(this._vx,this._vy,t._vx,t._vy)},statics:{intersect:function(t,e,i,n,r,s,a,o,h,l){h||(i-=t,n-=e,a-=r,o-=s);var f=i*o-n*a;if(!u.isZero(f)){var d=t-r,_=e-s,g=(a*_-o*d)/f,v=(i*_-n*d)/f;if(l||-1e-12=1?1:g),new c(t+g*i,e+g*n)}},getSide:function(t,e,i,n,r,s,a,o){a||(i-=t,n-=e);var h=r-t,l=h*n-(s-e)*i;return!o&&u.isZero(l)&&(l=(h*i+h*i)/(i*i+n*n))>=0&&l<=1&&(l=0),l<0?-1:l>0?1:0},getSignedDistance:function(t,e,i,n,r,s,a){return a||(i-=t,n-=e),0===i?n>0?r-t:t-r:0===n?i<0?s-e:e-s:((r-t)*n-(s-e)*i)/Math.sqrt(i*i+n*n)},getDistance:function(t,e,i,n,r,s,a){return Math.abs(m.getSignedDistance(t,e,i,n,r,s,a))}}}),y=o.extend({_class:"Project",_list:"projects",_reference:"project",_compactSerialize:!0,initialize:function(t){o.call(this,!0),this._children=[],this._namedChildren={},this._activeLayer=null,this._currentStyle=new V(null,null,this),this._view=U.create(this,t||Q.getCanvas(1,1)),this._selectionItems={},this._selectionCount=0,this._updateVersion=0},_serialize:function(t,e){return r.serialize(this._children,t,!0,e)},_changed:function(t,e){if(1&t){var i=this._view;i&&(i._needsUpdate=!0,!i._requested&&i._autoUpdate&&i.requestUpdate())}var n=this._changes;if(n&&e){var r=this._changesById,s=e._id,a=r[s];a?a.flags|=t:n.push(r[s]={item:e,flags:t})}},clear:function(){for(var t=this._children,e=t.length-1;e>=0;e--)t[e].remove()},isEmpty:function(){return!this._children.length},remove:function t(){return!!t.base.call(this)&&(this._view&&this._view.remove(),!0)},getView:function(){return this._view},getCurrentStyle:function(){return this._currentStyle},setCurrentStyle:function(t){this._currentStyle.set(t)},getIndex:function(){return this._index},getOptions:function(){return this._scope.settings},getLayers:function(){return this._children},getActiveLayer:function(){return this._activeLayer||new b({project:this,insert:!0})},getSymbolDefinitions:function(){var t=[],e={};return this.getItems({class:P,match:function(i){var n=i._definition,r=n._id;return e[r]||(e[r]=!0,t.push(n)),!1}}),t},getSymbols:"getSymbolDefinitions",getSelectedItems:function(){var t=this._selectionItems,e=[];for(var i in t){var n=t[i],r=n._selection;1&r&&n.isInserted()?e.push(n):r||this._updateSelection(n)}return e},_updateSelection:function(t){var e=t._id,i=this._selectionItems;t._selection?i[e]!==t&&(this._selectionCount++,i[e]=t):i[e]===t&&(this._selectionCount--,delete i[e])},selectAll:function(){for(var t=this._children,e=0,i=t.length;e0){t.save(),t.strokeWidth=1;var h=this._selectionItems,u=this._scope.settings.handleSize,l=this._updateVersion;for(var f in h)h[f]._drawSelection(t,e,u,h,l);t.restore()}}}),w=r.extend(s,{statics:{extend:function t(e){return e._serializeFields&&(e._serializeFields=r.set({},this.prototype._serializeFields,e._serializeFields)),t.base.apply(this,arguments)},NO_INSERT:{insert:!1}},_class:"Item",_name:null,_applyMatrix:!0,_canApplyMatrix:!0,_canScaleStroke:!1,_pivot:null,_visible:!0,_blendMode:"normal",_opacity:1,_locked:!1,_guide:!1,_clipMask:!1,_selection:0,_selectBounds:!0,_selectChildren:!1,_serializeFields:{name:null,applyMatrix:null,matrix:new p,pivot:null,visible:!0,blendMode:"normal",opacity:1,locked:!1,guide:!1,clipMask:!1,selected:!1,data:{}},_prioritize:["applyMatrix"]},new function(){var t=["onMouseDown","onMouseUp","onMouseDrag","onClick","onDoubleClick","onMouseMove","onMouseEnter","onMouseLeave"];return r.each(t,function(t){this._events[t]={install:function(t){this.getView()._countItemEvent(t,1)},uninstall:function(t){this.getView()._countItemEvent(t,-1)}}},{_events:{onFrame:{install:function(){this.getView()._animateItem(this,!0)},uninstall:function(){this.getView()._animateItem(this,!1)}},onLoad:{},onError:{}},statics:{_itemHandlers:t}})},{initialize:function(){},_initialize:function(t,i){var n=t&&r.isPlainObject(t),s=n&&!0===t.internal,a=this._matrix=new p,o=n&&t.project||paper.project,h=paper.settings;return this._id=s?null:l.get(),this._parent=this._index=null,this._applyMatrix=this._canApplyMatrix&&h.applyMatrix,i&&a.translate(i),a._owner=this,this._style=new V(o._currentStyle,this,o),s||n&&0==t.insert||!h.insertItems&&(!n||!0!==t.insert)?this._setProject(o):(n&&t.parent||o)._insertItem(e,this,!0),n&&t!==w.NO_INSERT&&this.set(t,{internal:!0,insert:!0,project:!0,parent:!0}),n},_serialize:function(t,e){function i(i){for(var a in i){var o=s[a];r.equals(o,"leading"===a?1.2*i.fontSize:i[a])||(n[a]=r.serialize(o,t,"data"!==a,e))}}var n={},s=this;return i(this._serializeFields),this instanceof x||i(this._style._defaults),[this._class,n]},_changed:function(t){var i=this._symbol,n=this._parent||i,r=this._project;8&t&&(this._bounds=this._position=this._decomposed=this._globalMatrix=e),n&&40&t&&w._clearBoundsCache(n),2&t&&w._clearBoundsCache(this),r&&r._changed(t,this),i&&i._changed(t)},getId:function(){return this._id},getName:function(){return this._name},setName:function(t){if(this._name&&this._removeNamed(),t===+t+"")throw new Error("Names consisting only of numbers are not supported.");var i=this._getOwner();if(t&&i){var n=i._children,r=i._namedChildren;(r[t]=r[t]||[]).push(this),t in n||(n[t]=this)}this._name=t||e,this._changed(128)},getStyle:function(){return this._style},setStyle:function(t){this.getStyle().set(t)}},r.each(["locked","visible","blendMode","opacity","guide"],function(t){var e=r.capitalize(t),i="_"+t,n={locked:128,visible:137};this["get"+e]=function(){return this[i]},this["set"+e]=function(e){e!=this[i]&&(this[i]=e,this._changed(n[t]||129))}},{}),{beans:!0,getSelection:function(){return this._selection},setSelection:function(t){if(t!==this._selection){this._selection=t;var e=this._project;e&&(e._updateSelection(this),this._changed(129))}},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){if(this._selectChildren)for(var t=this._children,e=0,i=t.length;e=0;i--)if(e[i].contains(t))return!0;return!1}return t.isInside(this.getInternalBounds())},isInside:function(){return g.read(arguments).contains(this.getBounds())},_asPathItem:function(){return new L.Rectangle({rectangle:this.getInternalBounds(),matrix:this._matrix,insert:!1})},intersects:function(t,e){return t instanceof w&&this._asPathItem().getIntersections(t._asPathItem(),null,e,!0).length>0}},new function(){function t(){return this._hitTest(c.read(arguments),M.getOptions(arguments))}function e(){var t=c.read(arguments),e=M.getOptions(arguments),i=[];return this._hitTest(t,r.set({all:i},e)),i}function i(t,e,i,n){var r=this._children;if(r)for(var s=r.length-1;s>=0;s--){var a=r[s],o=a!==n&&a._hitTest(t,e,i);if(o&&!e.all)return o}return null}return y.inject({hitTest:t,hitTestAll:e,_hitTest:i}),{hitTest:t,hitTestAll:e,_hitTestChildren:i}},{_hitTest:function(t,e,i){function n(t){return t&&_&&!_(t)&&(t=null),t&&e.all&&e.all.push(t),t}function s(e,i){var n=i?l["get"+i]():g.getPosition();if(t.subtract(n).divide(u).length<=1)return new M(e,g,{name:i?r.hyphenate(i):e,point:n})}if(this._locked||!this._visible||this._guide&&!e.guides||this.isEmpty())return null;var a=this._matrix,o=i?i.appended(a):this.getGlobalMatrix().prepend(this.getView()._matrix),h=Math.max(e.tolerance,1e-12),u=e._tolerancePadding=new d(L._getStrokePadding(h,a._shiftless().invert()));if(!(t=a._inverseTransform(t))||!this._children&&!this.getBounds({internal:!0,stroke:!0,handle:!0}).expand(u.multiply(2))._containsPoint(t))return null;var l,c,f=!(e.guides&&!this._guide||e.selected&&!this.isSelected()||e.type&&e.type!==r.hyphenate(this._class)||e.class&&!(this instanceof e.class)),_=e.match,g=this,v=e.position,p=e.center,m=e.bounds;if(f&&this._parent&&(v||p||m)){if((p||m)&&(l=this.getInternalBounds()),!(c=v&&s("position")||p&&s("center","Center"))&&m)for(var y=["TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],w=0;w<8&&!c;w++)c=s("bounds",y[w]);c=n(c)}return c||(c=this._hitTestChildren(t,e,o)||f&&n(this._hitTestSelf(t,e,o,this.getStrokeScaling()?null:o._shiftless().invert()))||null),c&&c.point&&(c.point=a.transform(c.point)),c},_hitTestSelf:function(t,e){if(e.fill&&this.hasFill()&&this._contains(t))return new M("fill",this)},matches:function(t,e){function i(t,e){for(var n in t)if(t.hasOwnProperty(n)){var s=t[n],a=e[n];if(r.isPlainObject(s)&&r.isPlainObject(a)){if(!i(s,a))return!1}else if(!r.equals(s,a))return!1}return!0}var n=typeof t;if("object"===n){for(var s in t)if(t.hasOwnProperty(s)&&!this.matches(s,t[s]))return!1;return!0}if("function"===n)return t(this);if("match"===t)return e(this);var a=/^(empty|editable)$/.test(t)?this["is"+r.capitalize(t)]():"type"===t?r.hyphenate(this._class):this[t];if("class"===t){if("function"==typeof e)return this instanceof e;a=this._class}if("function"==typeof e)return!!e(a);if(e){if(e.test)return e.test(a);if(r.isPlainObject(e))return i(e,a)}return r.equals(a,e)},getItems:function(t){return w._getItems(this,t,this._matrix)},getItem:function(t){return w._getItems(this,t,this._matrix,null,!0)[0]||null},statics:{_getItems:function t(e,i,n,s,a){if(!s){var o="object"==typeof i&&i,h=o&&o.overlapping,u=o&&o.inside,l=(w=h||u)&&g.read([w]);s={items:[],recursive:o&&!1!==o.recursive,inside:!!u,overlapping:!!h,rect:l,path:h&&new L.Rectangle({rectangle:l,insert:!1})},o&&(i=r.filter({},i,{recursive:!0,inside:!0,overlapping:!0}))}var c=e._children,f=s.items;n=(l=s.rect)&&(n||new p);for(var d=0,_=c&&c.length;d<_;d++){var v=c[d],m=n&&n.appended(v._matrix),y=!0;if(l){var w=v.getBounds(m);if(!l.intersects(w))continue;l.contains(w)||s.overlapping&&(w.contains(l)||s.path.intersects(v,m))||(y=!1)}if(y&&v.matches(i)&&(f.push(v),a))break;if(!1!==s.recursive&&t(v,i,m,s,a),a&&f.length>0)break}return f}}},{importJSON:function(t){var e=r.importJSON(t,this);return e!==this?this.addChild(e):e},addChild:function(t){return this.insertChild(e,t)},insertChild:function(t,e){var i=e?this.insertChildren(t,[e]):null;return i&&i[0]},addChildren:function(t){return this.insertChildren(this._children.length,t)},insertChildren:function(t,e){var i=this._children;if(i&&e&&e.length>0){for(var n={},s=(e=r.slice(e)).length-1;s>=0;s--){var a=(l=e[s])&&l._id;!l||n[a]?e.splice(s,1):(l._remove(!1,!0),n[a]=!0)}r.splice(i,e,t,0);for(var o=this._project,h=o._changes,s=0,u=e.length;s=0;n--)i[n]._remove(!0,!1);return i.length>0&&this._changed(11),i},clear:"#removeChildren",reverseChildren:function(){if(this._children){this._children.reverse();for(var t=0,e=this._children.length;t0},isInserted:function(){return!!this._parent&&this._parent.isInserted()},isAbove:function(t){return-1===this._getOrder(t)},isBelow:function(t){return 1===this._getOrder(t)},isParent:function(t){return this._parent===t},isChild:function(t){return t&&t._parent===this},isDescendant:function(t){for(var e=this;e=e._parent;)if(e===t)return!0;return!1},isAncestor:function(t){return!!t&&t.isDescendant(this)},isSibling:function(t){return this._parent===t._parent},isGroupedWith:function(t){for(var e=this._parent;e;){if(e._parent&&/^(Group|Layer|CompoundPath)$/.test(e._class)&&t.isDescendant(e))return!0;e=e._parent}return!1}},r.each(["rotate","scale","shear","skew"],function(t){var e="rotate"===t;this[t]=function(){var i=(e?r:c).read(arguments),n=c.read(arguments,0,{readNull:!0});return this.transform((new p)[t](i,n||this.getPosition(!0)))}},{translate:function(){var t=new p;return this.transform(t.translate.apply(t,arguments))},transform:function(t,e,i,n){var r=this._matrix,s=t&&!t.isIdentity(),a=(e||this._applyMatrix)&&(!r.isIdentity()||s||e&&i&&this._children);if(!s&&!a)return this;if(s){!t.isInvertible()&&r.isInvertible()&&(r._backup=r.getValues()),r.prepend(t,!0);var o=this._style,h=o.getFillColor(!0),u=o.getStrokeColor(!0);h&&h.transform(t),u&&u.transform(t)}if(a&&(a=this._transformContent(r,i,n))){var l=this._pivot;l&&r._transformPoint(l,l,!0),r.reset(!0),n&&this._canApplyMatrix&&(this._applyMatrix=!0)}var c=this._bounds,f=this._position;(s||a)&&this._changed(9);var d=s&&c&&t.decompose();if(d&&d.skewing.isZero()&&d.rotation%90==0){for(var _ in c){var g=c[_];if(g.nonscaling)delete c[_];else if(a||!g.internal){var v=g.rect;t._transformBounds(v,v)}}this._bounds=c;var p=c[this._getBoundsCacheKey(this._boundsOptions||{})];p&&(this._position=p.rect.getCenter(!0))}else s&&f&&this._pivot&&(this._position=t._transformPoint(f,f));return this},_transformContent:function(t,e,i){var n=this._children;if(n){for(var r=0,s=n.length;rr:n1&&s<4?-1:1,s>2?-1:1),o=a.multiply(r),h=o.subtract(a.multiply(n));if(new g(i?o.add(a.multiply(i)):o,h).contains(e))return{point:h,quadrant:s}}}function e(t,e,i,n){var r=t.divide(e);return(!n||r.isInQuadrant(n))&&r.subtract(r.normalize()).multiply(e).divide(i).length<=1}return{_contains:function e(i){if("rectangle"===this._type){var n=t(this,i);return n?i.subtract(n.point).divide(this._radius).getLength()<=1:e.base.call(this,i)}return i.divide(this.size).getLength()<=.5},_hitTestSelf:function i(n,r,s,a){var o=!1,h=this._style,u=r.stroke&&h.hasStroke(),l=r.fill&&h.hasFill();if(u||l){var c=this._type,f=this._radius,d=u?h.getStrokeWidth()/2:0,_=r._tolerancePadding.add(L._getStrokePadding(d,!h.getStrokeScaling()&&a));if("rectangle"===c){var v=_.multiply(2),p=t(this,n,v);if(p)o=e(n.subtract(p.point),f,_,p.quadrant);else{var m=new g(this._size).setCenter(0,0),y=m.expand(v),w=m.expand(v.negate());o=y._containsPoint(n)&&!w._containsPoint(n)}}else o=e(n,f,_)}return o?new M(u?"stroke":"fill",this):i.base.apply(this,arguments)}}},{statics:new function(){function t(t,e,i,n,s){var a=new C(r.getNamed(s),e);return a._type=t,a._size=i,a._radius=n,a}return{Circle:function(){var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return t("circle",e,new d(2*i),i,arguments)},Rectangle:function(){var e=g.readNamed(arguments,"rectangle"),i=d.min(d.readNamed(arguments,"radius"),e.getSize(!0).divide(2));return t("rectangle",e.getCenter(!0),e.getSize(!0),i,arguments)},Ellipse:function(){var e=C._readEllipse(arguments),i=e.radius;return t("ellipse",e.center,i.multiply(2),i,arguments)},_readEllipse:function(t){var e,i;if(r.hasNamed(t,"radius"))e=c.readNamed(t,"center"),i=d.readNamed(t,"radius");else{var n=g.readNamed(t,"rectangle");e=n.getCenter(!0),i=n.getSize(!0).divide(2)}return{center:e,radius:i}}}}}),S=w.extend({_class:"Raster",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!1,handle:!1},_serializeFields:{crossOrigin:null,source:null},_prioritize:["crossOrigin"],initialize:function(t,i){if(!this._initialize(t,i!==e&&c.read(arguments,1))){var r="string"==typeof t?n.getElementById(t):t;r?this.setImage(r):this.setSource(t)}this._size||(this._size=new d,this._loaded=!1)},_equals:function(t){return this.getSource()===t.getSource()},copyContent:function(t){var e=t._image,i=t._canvas;if(e)this._setImage(e);else if(i){var n=Q.getCanvas(t._size);n.getContext("2d").drawImage(i,0,0),this._setImage(n)}this._crossOrigin=t._crossOrigin},getSize:function(){var t=this._size;return new _(t?t.width:0,t?t.height:0,this,"setSize")},setSize:function(){var t=d.read(arguments);if(!t.equals(this._size))if(t.width>0&&t.height>0){var e=this.getElement();this._setImage(Q.getCanvas(t)),e&&this.getContext(!0).drawImage(e,0,0,t.width,t.height)}else this._canvas&&Q.release(this._canvas),this._size=t.clone()},getWidth:function(){return this._size?this._size.width:0},setWidth:function(t){this.setSize(t,this.getHeight())},getHeight:function(){return this._size?this._size.height:0},setHeight:function(t){this.setSize(this.getWidth(),t)},getLoaded:function(){return this._loaded},isEmpty:function(){var t=this._size;return!t||0===t.width&&0===t.height},getResolution:function(){var t=this._matrix,e=new c(0,0).transform(t),i=new c(1,0).transform(t).subtract(e),n=new c(0,1).transform(t).subtract(e);return new d(72/i.getLength(),72/n.getLength())},getPpi:"#getResolution",getImage:function(){return this._image},setImage:function(t){function e(t){var e=i.getView(),n=t&&t.type||"load";e&&i.responds(n)&&(paper=e._scope,i.emit(n,new G(t)))}var i=this;this._setImage(t),this._loaded?setTimeout(e,0):t&&Z.add(t,{load:function(n){i._setImage(t),e(n)},error:e})},_setImage:function(t){this._canvas&&Q.release(this._canvas),t&&t.getContext?(this._image=null,this._canvas=t,this._loaded=!0):(this._image=t,this._canvas=null,this._loaded=!!(t&&t.src&&t.complete)),this._size=new d(t?t.naturalWidth||t.width:0,t?t.naturalHeight||t.height:0),this._context=null,this._changed(521)},getCanvas:function(){if(!this._canvas){var t=Q.getContext(this._size);try{this._image&&t.drawImage(this._image,0,0),this._canvas=t.canvas}catch(e){Q.release(t)}}return this._canvas},setCanvas:"#setImage",getContext:function(t){return this._context||(this._context=this.getCanvas().getContext("2d")),t&&(this._image=null,this._changed(513)),this._context},setContext:function(t){this._context=t},getSource:function(){var t=this._image;return t&&t.src||this.toDataURL()},setSource:function(e){var i=new t.Image,n=this._crossOrigin;n&&(i.crossOrigin=n),i.src=e,this.setImage(i)},getCrossOrigin:function(){var t=this._image;return t&&t.crossOrigin||this._crossOrigin||""},setCrossOrigin:function(t){this._crossOrigin=t;var e=this._image;e&&(e.crossOrigin=t)},getElement:function(){return this._canvas||this._loaded&&this._image}},{beans:!1,getSubCanvas:function(){var t=g.read(arguments),e=Q.getContext(t.getSize());return e.drawImage(this.getCanvas(),t.x,t.y,t.width,t.height,0,0,t.width,t.height),e.canvas},getSubRaster:function(){var t=g.read(arguments),e=new S(w.NO_INSERT);return e._setImage(this.getSubCanvas(t)),e.translate(t.getCenter().subtract(this.getSize().divide(2))),e._matrix.prepend(this._matrix),e.insertAbove(this),e},toDataURL:function(){var t=this._image,e=t&&t.src;if(/^data:/.test(e))return e;var i=this.getCanvas();return i?i.toDataURL.apply(i,arguments):null},drawImage:function(t){var e=c.read(arguments,1);this.getContext(!0).drawImage(t,e.x,e.y)},getAverageColor:function(t){var e,i;if(t?t instanceof A?(i=t,e=t.getBounds()):"object"==typeof t&&("width"in t?e=new g(t):"x"in t&&(e=new g(t.x-.5,t.y-.5,1,1))):e=this.getBounds(),!e)return null;var n=Math.min(e.width,32),s=Math.min(e.height,32),a=S._sampleContext;a?a.clearRect(0,0,33,33):a=S._sampleContext=Q.getContext(new d(32)),a.save();var o=(new p).scale(n/e.width,s/e.height).translate(-e.x,-e.y);o.applyToContext(a),i&&i.draw(a,new r({clip:!0,matrices:[o]})),this._matrix.applyToContext(a);var h=this.getElement(),u=this._size;h&&a.drawImage(h,-u.width/2,-u.height/2),a.restore();for(var l=a.getImageData(.5,.5,Math.ceil(n),Math.ceil(s)).data,c=[0,0,0],f=0,_=0,v=l.length;_0&&(null==t||"object"==typeof t?1===c&&t&&"point"in t?(o=t.point,h=t.handleIn,u=t.handleOut,l=t.selection):(o=t,h=i,u=n,l=r):(o=[t,i],h=n!==e?[n,r]:null,u=s!==e?[s,a]:null)),new z(o,this,"_point"),new z(h,this,"_handleIn"),new z(u,this,"_handleOut"),l&&this.setSelection(l)},_serialize:function(t,e){var i=this._point,n=this._selection,s=n||this.hasHandles()?[i,this._handleIn,this._handleOut]:i;return n&&s.push(n),r.serialize(s,t,!0,e)},_changed:function(t){var e=this._path;if(e){var i,n=e._curves,r=this._index;n&&(t&&t!==this._point&&t!==this._handleIn||!(i=r>0?n[r-1]:e._closed?n[n.length-1]:null)||i._changed(),t&&t!==this._point&&t!==this._handleOut||!(i=n[r])||i._changed()),e._changed(25)}},getPoint:function(){return this._point},setPoint:function(){this._point.set(c.read(arguments))},getHandleIn:function(){return this._handleIn},setHandleIn:function(){this._handleIn.set(c.read(arguments))},getHandleOut:function(){return this._handleOut},setHandleOut:function(){this._handleOut.set(c.read(arguments))},hasHandles:function(){return!this._handleIn.isZero()||!this._handleOut.isZero()},isSmooth:function(){var t=this._handleIn,e=this._handleOut;return!t.isZero()&&!e.isZero()&&t.isCollinear(e)},clearHandles:function(){this._handleIn._set(0,0),this._handleOut._set(0,0)},getSelection:function(){return this._selection},setSelection:function(t){var e=this._selection,i=this._path;this._selection=t=t||0,i&&t!==e&&(i._updateSelection(this,e,t),i._changed(129))},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){return!!(7&this._selection)},setSelected:function(t){this._changeSelection(7,t)},getIndex:function(){return this._index!==e?this._index:null},getPath:function(){return this._path||null},getCurve:function(){var t=this._path,e=this._index;return t?(e>0&&!t._closed&&e===t._segments.length-1&&e--,t.getCurves()[e]||null):null},getLocation:function(){var t=this.getCurve();return t?new O(t,this===t._segment1?0:1):null},getNext:function(){var t=this._path&&this._path._segments;return t&&(t[this._index+1]||this._path._closed&&t[0])||null},smooth:function(t,i,n){var r=t||{},s=r.type,a=r.factor,o=this.getPrevious(),h=this.getNext(),u=(o||this)._point,l=this._point,f=(h||this)._point,d=u.getDistance(l),_=l.getDistance(f);if(s&&"catmull-rom"!==s){if("geometric"!==s)throw new Error("Smoothing method '"+s+"' not supported.");if(o&&h){var g=u.subtract(f),v=a===e?.4:a,p=v*d/(d+_);i||this.setHandleIn(g.multiply(p)),n||this.setHandleOut(g.multiply(p-v))}}else{var m=a===e?.5:a,y=Math.pow(d,m),w=y*y,x=Math.pow(_,m),b=x*x;if(!i&&o){var C=2*b+3*x*y+w,S=3*x*(x+y);this.setHandleIn(0!==S?new c((b*u._x+C*l._x-w*f._x)/S-l._x,(b*u._y+C*l._y-w*f._y)/S-l._y):new c)}if(!n&&h){var C=2*w+3*y*x+b,S=3*y*(y+x);this.setHandleOut(0!==S?new c((w*f._x+C*l._x-b*u._x)/S-l._x,(w*f._y+C*l._y-b*u._y)/S-l._y):new c)}}},getPrevious:function(){var t=this._path&&this._path._segments;return t&&(t[this._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._index},isLast:function(){var t=this._path;return t&&this._index===t._segments.length-1||!1},reverse:function(){var t=this._handleIn,e=this._handleOut,i=t.clone();t.set(e),e.set(i)},reversed:function(){return new T(this._point,this._handleOut,this._handleIn)},remove:function(){return!!this._path&&!!this._path.removeSegment(this._index)},clone:function(){return new T(this._point,this._handleIn,this._handleOut)},equals:function(t){return t===this||t&&this._class===t._class&&this._point.equals(t._point)&&this._handleIn.equals(t._handleIn)&&this._handleOut.equals(t._handleOut)||!1},toString:function(){var t=["point: "+this._point];return this._handleIn.isZero()||t.push("handleIn: "+this._handleIn),this._handleOut.isZero()||t.push("handleOut: "+this._handleOut),"{ "+t.join(", ")+" }"},transform:function(t){this._transformCoordinates(t,new Array(6),!0),this._changed()},interpolate:function(t,e,i){var n=1-i,r=i,s=t._point,a=e._point,o=t._handleIn,h=e._handleIn,u=e._handleOut,l=t._handleOut;this._point._set(n*s._x+r*a._x,n*s._y+r*a._y,!0),this._handleIn._set(n*o._x+r*h._x,n*o._y+r*h._y,!0),this._handleOut._set(n*l._x+r*u._x,n*l._y+r*u._y,!0),this._changed()},_transformCoordinates:function(t,e,i){var n=this._point,r=i&&this._handleIn.isZero()?null:this._handleIn,s=i&&this._handleOut.isZero()?null:this._handleOut,a=n._x,o=n._y,h=2;return e[0]=a,e[1]=o,r&&(e[h++]=r._x+a,e[h++]=r._y+o),s&&(e[h++]=s._x+a,e[h++]=s._y+o),t&&(t._transformCoordinates(e,e,h/2),a=e[0],o=e[1],i?(n._x=a,n._y=o,h=2,r&&(r._x=e[h++]-a,r._y=e[h++]-o),s&&(s._x=e[h++]-a,s._y=e[h++]-o)):(r||(e[h++]=a,e[h++]=o),s||(e[h++]=a,e[h++]=o))),e}}),z=c.extend({initialize:function(t,i,n){var r,s,a;if(t)if((r=t[0])!==e)s=t[1];else{var o=t;(r=o.x)===e&&(r=(o=c.read(arguments)).x),s=o.y,a=o.selected}else r=s=0;this._x=r,this._y=s,this._owner=i,i[n]=this,a&&this.setSelected(!0)},_set:function(t,e){return this._x=t,this._y=e,this._owner._changed(this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner._changed(this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner._changed(this)},isZero:function(){var t=u.isZero;return t(this._x)&&t(this._y)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){var t=this._owner;return this===t._point?1:this===t._handleIn?2:this===t._handleOut?4:0}}),k=r.extend({_class:"Curve",beans:!0,initialize:function(t,e,i,n,r,s,a,o){var h,u,l,c,f,d,_=arguments.length;3===_?(this._path=t,h=e,u=i):_?1===_?"segment1"in t?(h=new T(t.segment1),u=new T(t.segment2)):"point1"in t?(l=t.point1,f=t.handle1,d=t.handle2,c=t.point2):Array.isArray(t)&&(l=[t[0],t[1]],c=[t[6],t[7]],f=[t[2]-t[0],t[3]-t[1]],d=[t[4]-t[6],t[5]-t[7]]):2===_?(h=new T(t),u=new T(e)):4===_?(l=t,f=e,d=i,c=n):8===_&&(l=[t,e],c=[a,o],f=[i-t,n-e],d=[r-a,s-o]):(h=new T,u=new T),this._segment1=h||new T(l,null,f),this._segment2=u||new T(c,d,null)},_serialize:function(t,e){return r.serialize(this.hasHandles()?[this.getPoint1(),this.getHandle1(),this.getHandle2(),this.getPoint2()]:[this.getPoint1(),this.getPoint2()],t,!0,e)},_changed:function(){this._length=this._bounds=e},clone:function(){return new k(this._segment1,this._segment2)},toString:function(){var t=["point1: "+this._segment1._point];return this._segment1._handleOut.isZero()||t.push("handle1: "+this._segment1._handleOut),this._segment2._handleIn.isZero()||t.push("handle2: "+this._segment2._handleIn),t.push("point2: "+this._segment2._point),"{ "+t.join(", ")+" }"},classify:function(){return k.classify(this.getValues())},remove:function(){var t=!1;if(this._path){var e=this._segment2,i=e._handleOut;(t=e.remove())&&this._segment1._handleOut.set(i)}return t},getPoint1:function(){return this._segment1._point},setPoint1:function(){this._segment1._point.set(c.read(arguments))},getPoint2:function(){return this._segment2._point},setPoint2:function(){this._segment2._point.set(c.read(arguments))},getHandle1:function(){return this._segment1._handleOut},setHandle1:function(){this._segment1._handleOut.set(c.read(arguments))},getHandle2:function(){return this._segment2._handleIn},setHandle2:function(){this._segment2._handleIn.set(c.read(arguments))},getSegment1:function(){return this._segment1},getSegment2:function(){return this._segment2},getPath:function(){return this._path},getIndex:function(){return this._segment1._index},getNext:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index+1]||this._path._closed&&t[0])||null},getPrevious:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._segment1._index},isLast:function(){var t=this._path;return t&&this._segment1._index===t._curves.length-1||!1},isSelected:function(){return this.getPoint1().isSelected()&&this.getHandle1().isSelected()&&this.getHandle2().isSelected()&&this.getPoint2().isSelected()},setSelected:function(t){this.getPoint1().setSelected(t),this.getHandle1().setSelected(t),this.getHandle2().setSelected(t),this.getPoint2().setSelected(t)},getValues:function(t){return k.getValues(this._segment1,this._segment2,t)},getPoints:function(){for(var t=this.getValues(),e=[],i=0;i<8;i+=2)e.push(new c(t[i],t[i+1]));return e}},{getLength:function(){return null==this._length&&(this._length=k.getLength(this.getValues(),0,1)),this._length},getArea:function(){return k.getArea(this.getValues())},getLine:function(){return new m(this._segment1._point,this._segment2._point)},getPart:function(t,e){return new k(k.getPart(this.getValues(),t,e))},getPartLength:function(t,e){return k.getLength(this.getValues(),t,e)},divideAt:function(t){return this.divideAtTime(t&&t.curve===this?t.time:this.getTimeAt(t))},divideAtTime:function(t,e){var i=null;if(t>=1e-8&&t<=1-1e-8){var n=k.subdivide(this.getValues(),t),r=n[0],s=n[1],a=e||this.hasHandles(),o=this._segment1,h=this._segment2,u=this._path;a&&(o._handleOut._set(r[2]-r[0],r[3]-r[1]),h._handleIn._set(s[4]-s[6],s[5]-s[7]));var l=r[6],f=r[7],d=new T(new c(l,f),a&&new c(r[4]-l,r[5]-f),a&&new c(s[2]-l,s[3]-f));u?(u.insert(o._index+1,d),i=this.getNext()):(this._segment2=d,this._changed(),i=new k(d,h))}return i},splitAt:function(t){var e=this._path;return e?e.splitAt(t):null},splitAtTime:function(t){return this.splitAt(this.getLocationAtTime(t))},divide:function(t,i){return this.divideAtTime(t===e?.5:i?t:this.getTimeAt(t))},split:function(t,i){return this.splitAtTime(t===e?.5:i?t:this.getTimeAt(t))},reversed:function(){return new k(this._segment2.reversed(),this._segment1.reversed())},clearHandles:function(){this._segment1._handleOut._set(0,0),this._segment2._handleIn._set(0,0)},statics:{getValues:function(t,e,i,n){var r=t._point,s=t._handleOut,a=e._handleIn,o=e._point,h=r.x,u=r.y,l=o.x,c=o.y,f=n?[h,u,h,u,l,c,l,c]:[h,u,h+s._x,u+s._y,l+a._x,c+a._y,l,c];return i&&i._transformCoordinates(f,f,4),f},subdivide:function(t,i){var n=t[0],r=t[1],s=t[2],a=t[3],o=t[4],h=t[5],u=t[6],l=t[7];i===e&&(i=.5);var c=1-i,f=c*n+i*s,d=c*r+i*a,_=c*s+i*o,g=c*a+i*h,v=c*o+i*u,p=c*h+i*l,m=c*f+i*_,y=c*d+i*g,w=c*_+i*v,x=c*g+i*p,b=c*m+i*w,C=c*y+i*x;return[[n,r,f,d,m,y,b,C],[b,C,w,x,v,p,u,l]]},getMonoCurves:function(t,e){var i=[],n=e?0:1,r=t[n+0],s=t[n+2],a=t[n+4],o=t[n+6];if(r>=s==s>=a&&s>=a==a>=o||k.isStraight(t))i.push(t);else{var h=3*(s-a)-r+o,l=2*(r+a)-4*s,c=s-r,f=[],d=u.solveQuadratic(h,l,c,f,1e-8,1-1e-8);if(d){f.sort();var _=f[0],g=k.subdivide(t,_);i.push(g[0]),d>1&&(_=(f[1]-_)/(1-_),g=k.subdivide(g[1],_),i.push(g[0])),i.push(g[1])}else i.push(t)}return i},solveCubic:function(t,e,i,n,r,s){var a=t[e],o=t[e+2],h=t[e+4],l=t[e+6],c=0;if(!(ai&&l>i&&o>i&&h>i)){var f=3*(o-a),d=3*(h-o)-f,_=l-a-f-d;c=u.solveCubic(_,d,f,a-i,n,r,s)}return c},getTimeOf:function(t,e){var i=new c(t[0],t[1]),n=new c(t[6],t[7]);if(null===(e.isClose(i,1e-12)?0:e.isClose(n,1e-12)?1:null))for(var r=[e.x,e.y],s=[],a=0;a<2;a++)for(var o=k.solveCubic(t,a,r[a],s,0,1),h=0;h=0&&i<=1){var n=e.getDistance(k.getPoint(t,i),!0);if(n.999999999999?1:k.getTimeOf(t,new c(n+h*s,r+h*a))}for(var u=1/0,l=0,f=0;f<=100;f++)i(f/100);for(var d=.005;d>1e-8;)i(l-d)||i(l+d)||(d/=2);return l},getPart:function(t,e,i){var n=e>i;if(n){var r=e;e=i,i=r}return e>0&&(t=k.subdivide(t,e)[1]),i<1&&(t=k.subdivide(t,(i-e)/(1-e))[0]),n?[t[6],t[7],t[4],t[5],t[2],t[3],t[0],t[1]]:t},isFlatEnough:function(t,e){var i=t[0],n=t[1],r=t[2],s=t[3],a=t[4],o=t[5],h=t[6],u=t[7],l=3*r-2*i-h,c=3*s-2*n-u,f=3*a-2*h-i,d=3*o-2*u-n;return Math.max(l*l,f*f)+Math.max(c*c,d*d)<=16*e*e},getArea:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7];return 3*((h-i)*(n+s)-(o-e)*(r+a)+r*(e-s)-n*(i-a)+h*(s+e/3)-o*(a+i/3))/20},getBounds:function(t){for(var e=t.slice(0,2),i=e.slice(),n=[0,0],r=0;r<2;r++)k._addBounds(t[r],t[r+2],t[r+4],t[r+6],r,0,e,i,n);return new g(e[0],e[1],i[0]-e[0],i[1]-e[1])},_addBounds:function(t,e,i,n,r,s,a,o,h){function l(t,e){var i=t-e,n=t+e;io[r]&&(o[r]=n)}s/=2;var c=a[r]-s,f=o[r]+s;if(tf||e>f||i>f||n>f)if(e=0&&o<=1&&h<=0&&h>=-1}}return!1},isLinear:function(t,e,i,n){var r=n.subtract(t).divide(3);return e.equals(r)&&i.negate().equals(r)}},function(t,e){this[e]=function(e){var i=this._segment1,n=this._segment2;return t(i._point,i._handleOut,n._handleIn,n._point,e)},this.statics[e]=function(e,i){var n=e[0],r=e[1],s=e[6],a=e[7];return t(new c(n,r),new c(e[2]-n,e[3]-r),new c(e[4]-s,e[5]-a),new c(s,a),i)}},{statics:{},hasHandles:function(){return!this._segment1._handleOut.isZero()||!this._segment2._handleIn.isZero()},hasLength:function(t){return(!this.getPoint1().equals(this.getPoint2())||this.hasHandles())&&this.getLength()>(t||0)},isCollinear:function(t){return t&&this.isStraight()&&t.isStraight()&&this.getLine().isCollinear(t.getLine())},isHorizontal:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).y)<1e-8},isVertical:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).x)<1e-8}}),{beans:!1,getLocationAt:function(t,e){return this.getLocationAtTime(e?t:this.getTimeAt(t))},getLocationAtTime:function(t){return null!=t&&t>=0&&t<=1?new O(this,t):null},getTimeAt:function(t,e){return k.getTimeAt(this.getValues(),t,e)},getParameterAt:"#getTimeAt",getOffsetAtTime:function(t){return this.getPartLength(0,t)},getLocationOf:function(){return this.getLocationAtTime(this.getTimeOf(c.read(arguments)))},getOffsetOf:function(){var t=this.getLocationOf.apply(this,arguments);return t?t.getOffset():null},getTimeOf:function(){return k.getTimeOf(this.getValues(),c.read(arguments))},getParameterOf:"#getTimeOf",getNearestLocation:function(){var t=c.read(arguments),e=this.getValues(),i=k.getNearestTime(e,t),n=k.getPoint(e,i);return new O(this,i,n,null,t.getDistance(n))},getNearestPoint:function(){var t=this.getNearestLocation.apply(this,arguments);return t?t.getPoint():t}},new function(){var t=["getPoint","getTangent","getNormal","getWeightedTangent","getWeightedNormal","getCurvature"];return r.each(t,function(t){this[t+"At"]=function(e,i){var n=this.getValues();return k[t](n,i?e:k.getTimeAt(n,e))},this[t+"AtTime"]=function(e){return k[t](this.getValues(),e)}},{statics:{_evaluateMethods:t}})},new function(){function t(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=9*(n-s)+3*(t[6]-e),h=6*(e+s)-12*n,u=3*(n-e),l=9*(r-a)+3*(t[7]-i),c=6*(i+a)-12*r,f=3*(r-i);return function(t){var e=(o*t+h)*t+u,i=(l*t+c)*t+f;return Math.sqrt(e*e+i*i)}}function i(t,e){return Math.max(2,Math.min(16,Math.ceil(32*Math.abs(e-t))))}function n(t,e,i,n){if(null==e||e<0||e>1)return null;var r=t[0],s=t[1],a=t[2],o=t[3],h=t[4],l=t[5],f=t[6],d=t[7],_=u.isZero;_(a-r)&&_(o-s)&&(a=r,o=s),_(h-f)&&_(l-d)&&(h=f,l=d);var g,v,p=3*(a-r),m=3*(h-a)-p,y=f-r-p-m,w=3*(o-s),x=3*(l-o)-w,b=d-s-w-x;if(0===i)g=0===e?r:1===e?f:((y*e+m)*e+p)*e+r,v=0===e?s:1===e?d:((b*e+x)*e+w)*e+s;else{if(e<1e-8?(g=p,v=w):e>1-1e-8?(g=3*(f-h),v=3*(d-l)):(g=(3*y*e+2*m)*e+p,v=(3*b*e+2*x)*e+w),n){0===g&&0===v&&(e<1e-8||e>1-1e-8)&&(g=h-a,v=l-o);var C=Math.sqrt(g*g+v*v);C&&(g/=C,v/=C)}if(3===i){var h=6*y*e+2*m,l=6*b*e+2*x,S=Math.pow(g*g+v*v,1.5);g=0!==S?(g*l-v*h)/S:0,v=0}}return 2===i?new c(v,-g):new c(g,v)}return{statics:{classify:function(t){function i(t,i,n){var r=i!==e,s=r&&i>0&&i<1,a=r&&n>0&&n<1;return!r||(s||a)&&("loop"!==t||s&&a)||(t="arch",s=a=!1),{type:t,roots:s||a?s&&a?i0?Math.sqrt(y/3):Math.sqrt(-y),x=2*g;return i(y>0?"serpentine":"loop",(_+w)/x,(_-w)/x)},getLength:function(n,r,s,a){if(r===e&&(r=0),s===e&&(s=1),k.isStraight(n)){var o=n;s<1&&(o=k.subdivide(o,s)[0],r/=s),r>0&&(o=k.subdivide(o,r)[1]);var h=o[6]-o[0],l=o[7]-o[1];return Math.sqrt(h*h+l*l)}return u.integrate(a||t(n),r,s,i(r,s))},getTimeAt:function(n,r,s){if(s===e&&(s=r<0?1:0),0===r)return s;var a=Math.abs,o=r>0,h=o?s:0,l=o?1:s,c=t(n),f=k.getLength(n,h,l,c),d=a(r)-f;if(a(d)<1e-12)return o?l:h;if(d>1e-12)return null;var _=r/f,g=0;return u.findRoot(function(t){return g+=u.integrate(c,s,t,i(s,t)),s=t,g-r},c,s+_,h,l,32,1e-12)},getPoint:function(t,e){return n(t,e,0,!1)},getTangent:function(t,e){return n(t,e,1,!0)},getWeightedTangent:function(t,e){return n(t,e,1,!1)},getNormal:function(t,e){return n(t,e,2,!0)},getWeightedNormal:function(t,e){return n(t,e,2,!1)},getCurvature:function(t,e){return n(t,e,3,!1).x},getPeaks:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=3*n-e-3*s+t[6],h=3*e-6*n+3*s,l=-3*e+3*n,c=3*r-i-3*a+t[7],f=3*i-6*r+3*a,d=-3*i+3*r,_=[];return u.solveCubic(9*(o*o+c*c),9*(o*h+f*c),2*(h*h+f*f)+3*(l*o+d*c),l*h+f*d,_,1e-8,1-1e-8),_.sort()}}}},new function(){function t(t,e,i,n,r,s,a){var o=!a&&i.getPrevious()===r,h=!a&&i!==r&&i.getNext()===r;if(null!==n&&n>=(o?1e-8:0)&&n<=(h?1-1e-8:1)&&null!==s&&s>=(h?1e-8:0)&&s<=(o?1-1e-8:1)){var u=new O(i,n,null,a),l=new O(r,s,null,a);u._intersection=l,l._intersection=u,e&&!e(u)||O.insert(t,u,!0)}}function e(r,s,a,o,h,u,l,c,f,d,_,g,v){if(++f>=4096||++c>=40)return f;var p,y,w=s[0],x=s[1],b=s[6],C=s[7],S=m.getSignedDistance,P=S(w,x,b,C,s[2],s[3]),I=S(w,x,b,C,s[4],s[5]),M=P*I>0?.75:4/9,T=M*Math.min(0,P,I),z=M*Math.max(0,P,I),O=S(w,x,b,C,r[0],r[1]),A=S(w,x,b,C,r[2],r[3]),L=S(w,x,b,C,r[4],r[5]),N=S(w,x,b,C,r[6],r[7]),B=i(O,A,L,N),D=B[0],j=B[1];if(0===P&&0===I&&0===O&&0===A&&0===L&&0===N||null==(p=n(D,j,T,z))||null==(y=n(D.reverse(),j.reverse(),T,z)))return f;var E=d+(_-d)*p,F=d+(_-d)*y;if(Math.max(v-g,F-E)<1e-9){var R=(E+F)/2,q=(g+v)/2;t(h,u,l?o:a,l?q:R,l?a:o,l?R:q)}else if(r=k.getPart(r,p,y),y-p>.8)if(F-E>v-g){R=(E+F)/2;f=e(s,(V=k.subdivide(r,.5))[0],o,a,h,u,!l,c,f,g,v,E,R),f=e(s,V[1],o,a,h,u,!l,c,f,g,v,R,F)}else{var V=k.subdivide(s,.5),q=(g+v)/2;f=e(V[0],r,o,a,h,u,!l,c,f,g,q,E,F),f=e(V[1],r,o,a,h,u,!l,c,f,q,v,E,F)}else f=v-g>=1e-9?e(s,r,o,a,h,u,!l,c,f,g,v,E,F):e(r,s,a,o,h,u,l,c,f,E,F,g,v);return f}function i(t,e,i,n){var r,s=[0,t],a=[1/3,e],o=[2/3,i],h=[1,n],u=e-(2*t+n)/3,l=i-(t+2*n)/3;if(u*l<0)r=[[s,a,h],[s,o,h]];else{var c=u/l;r=[c>=2?[s,a,h]:c<=.5?[s,o,h]:[s,a,o,h],[s,h]]}return(u||l)<0?r.reverse():r}function n(t,e,i,n){return t[0][1]n?r(e,!1,n):t[0][0]}function r(t,e,i){for(var n=t[0][0],r=t[0][1],s=1,a=t.length;s=i:h<=i)return h===i?o:n+(i-r)*(o-n)/(h-r);n=o,r=h}return null}function s(t,e,i,n,r){var s=u.isZero;if(s(n)&&s(r)){var a=k.getTimeOf(t,new c(e,i));return null===a?[]:[a]}for(var o=Math.atan2(-r,n),h=Math.sin(o),l=Math.cos(o),f=[],d=[],_=0;_<8;_+=2){var g=t[_]-e,v=t[_+1]-i;f.push(g*l-v*h,g*h+v*l)}return k.solveCubic(f,1,0,d,0,1),d}function a(e,i,n,r,a,o,h){for(var u=i[0],l=i[1],c=s(e,u,l,i[6]-u,i[7]-l),f=0,d=c.length;fl(n[0],n[2],n[4],n[6])&&l(i[0],i[2],i[4],i[6])-1e-12l(n[1],n[3],n[5],n[7])&&l(i[1],i[3],i[5],i[7])-1e-12>1,C=1&x,S=6*b,P=6*C,I=new c(i[S],i[S+1]),M=new c(n[P],n[P+1]);I.isClose(M,1e-12)&&t(h,u,r,b,s,C)}}}return h}function l(e,i,n,r){var s=k.classify(e);if("loop"===s.type){var a=s.roots;t(n,r,i,a[0],i,a[1])}return n}function f(t,e){function i(t){var e=t[6]-t[0],i=t[7]-t[1];return e*e+i*i}var n=Math.abs,r=m.getDistance,s=k.isStraight(t),a=k.isStraight(e),o=s&&a,h=i(t)>1,C=k.getTimeOf(v[w],new c(v[x][b?6:0],v[x][b?7:1]));if(null!=C){var S=w?[b,C]:[C,b];(!p.length||n(S[0]-p[0][0])>1e-8&&n(S[1]-p[0][1])>1e-8)&&p.push(S)}if(y>2&&!p.length)break}if(2!==p.length)p=null;else if(!o){var P=k.getPart(t,p[0][0],p[1][0]),I=k.getPart(e,p[0][1],p[1][1]);(n(I[2]-P[2])>1e-7||n(I[3]-P[3])>1e-7||n(I[4]-P[4])>1e-7||n(I[5]-P[5])>1e-7)&&(p=null)}return p}return{getIntersections:function(t){var e=this.getValues(),i=t&&t!==this&&t.getValues();return i?h(e,i,this,t,[]):l(e,this,[])},statics:{getOverlaps:f,getIntersections:function(t,e,i,n,r,s){var a=!e;a&&(e=t);for(var o,u,c=t.length,f=e.length,d=[],_=[],g=0;g=.99999999){var s=t.getNext();s&&(e=0,t=s)}this._setCurve(t),this._time=e,this._point=i||t.getPointAtTime(e),this._overlap=n,this._distance=r,this._intersection=this._next=this._previous=null},_setCurve:function(t){var e=t._path;this._path=e,this._version=e?e._version:0,this._curve=t,this._segment=null,this._segment1=t._segment1,this._segment2=t._segment2},_setSegment:function(t){this._setCurve(t.getCurve()),this._segment=t,this._time=t===this._segment1?0:1,this._point=t._point.clone()},getSegment:function(){var t=this._segment;if(!t){var e=this.getCurve(),i=this.getTime();0===i?t=e._segment1:1===i?t=e._segment2:null!=i&&(t=e.getPartLength(0,i)1?n[r-1]:r>0?n[0]:.5;c.push(k.getLength(i,e?s:0,e?1:s)/2)}function e(t,e,i){return ee&&te||t=1e-8&&n<=1-1e-8,a=r>=1e-8&&r<=1-1e-8;if(s&&a)return!this.isTouching();var o=this.getCurve(),h=n<1e-8?o.getPrevious():o,u=i.getCurve(),l=r<1e-8?u.getPrevious():u;if(n>1-1e-8&&(o=o.getNext()),r>1-1e-8&&(u=u.getNext()),!(h&&o&&l&&u))return!1;var c=[];s||(t(h,!0),t(o,!1)),a||(t(l,!0),t(u,!1));var f=this.getPoint(),d=Math.min.apply(Math,c),_=s?o.getTangentAtTime(n):o.getPointAt(d).subtract(f),g=s?_.negate():h.getPointAt(-d).subtract(f),v=a?u.getTangentAtTime(r):u.getPointAt(d).subtract(f),p=a?v.negate():l.getPointAt(-d).subtract(f),m=g.getAngle(),y=_.getAngle(),w=p.getAngle(),x=v.getAngle();return!!(s?e(m,w,x)^e(y,w,x)&&e(m,x,w)^e(y,x,w):e(w,m,y)^e(x,m,y)&&e(w,y,m)^e(x,y,m))},hasOverlap:function(){return!!this._overlap}},r.each(k._evaluateMethods,function(t){var e=t+"At";this[t]=function(){var t=this.getCurve(),i=this.getTime();return null!=i&&t&&t[e](i,!0)}},{preserve:!0}),new function(){function t(t,e,i){function n(i,n){for(var s=i+n;s>=-1&&s<=r;s+=n){var a=t[(s%r+r)%r];if(!e.getPoint().isClose(a.getPoint(),1e-7))break;if(e.equals(a))return a}return null}for(var r=t.length,s=0,a=r-1;s<=a;){var o,h=s+a>>>1,u=t[h];if(i&&(o=e.equals(u)?u:n(h,-1)||n(h,1)))return e._overlap&&(o._overlap=o._intersection._overlap=!0),o;var l=e.getPath(),c=u.getPath();(l!==c?l._id-c._id:e.getIndex()+e.getTime()-(u.getIndex()+u.getTime()))<0?a=h-1:s=h+1}return t.splice(s,0,e),e}return{statics:{insert:t,expand:function(e){for(var i=e.slice(),n=e.length-1;n>=0;n--)t(i,e[n]._intersection,!1);return i}}}}),A=w.extend({_class:"PathItem",_selectBounds:!1,_canScaleStroke:!0,beans:!0,initialize:function(){},statics:{create:function(t){var e,i,n;if(r.isPlainObject(t)?(i=t.segments,e=t.pathData):Array.isArray(t)?i=t:"string"==typeof t&&(e=t),i){var s=i[0];n=s&&Array.isArray(s[0])}else e&&(n=(e.match(/m/gi)||[]).length>1||/z\s*\S+/i.test(e));return new(n?N:L)(t)}},_asPathItem:function(){return this},isClockwise:function(){return this.getArea()>=0},setClockwise:function(t){this.isClockwise()!=(t=!!t)&&this.reverse()},setPathData:function(t){function e(t,e){var i=+n[t];return o&&(i+=h[e]),i}function i(t){return new c(e(t,"x"),e(t+1,"y"))}var n,r,s,a=t&&t.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi),o=!1,h=new c,u=new c;this.clear();for(var l=0,f=a&&a.length;lu&&this[n?"removeSegments":"removeChildren"](u,h);for(c=0;c=0&&e;h--){var u=i[h];e=!1;for(var l=s-1;l>=0&&!e;l--)u.compare(n[l])&&(a[l]||(a[l]=!0,o++),e=!0)}e=e&&o===s}return e}}),L=A.extend({_class:"Path",_serializeFields:{segments:[],closed:!1},initialize:function(t){this._closed=!1,this._segments=[],this._version=0;var i=Array.isArray(t)?"object"==typeof t[0]?t:arguments:!t||t.size!==e||t.x===e&&t.point===e?null:arguments;i&&i.length>0?this.setSegments(i):(this._curves=e,this._segmentSelection=0,i||"string"!=typeof t||(this.setPathData(t),t=null)),this._initialize(!i&&t)},_equals:function(t){return this._closed===t._closed&&r.equals(this._segments,t._segments)},copyContent:function(t){this.setSegments(t._segments),this._closed=t._closed},_changed:function t(i){if(t.base.call(this,i),8&i){if(this._length=this._area=e,16&i)this._version++;else if(this._curves)for(var n=0,r=this._curves.length;n0&&(i(f[0],!0),p.push("z")),p.join("")},isEmpty:function(){return!this._segments.length},_transformContent:function(t){for(var e=this._segments,i=new Array(6),n=0,r=e.length;n0&&e+r-1===u?e-1:e,c=l,f=Math.min(l+r,u);t._curves&&(n.splice.apply(n,[l,0].concat(t._curves)),c+=t._curves.length);for(a=c;a0?t-1:t},add:function(t){return arguments.length>1&&"number"!=typeof t?this._add(T.readList(arguments)):this._add([T.read(arguments)])[0]},insert:function(t,e){return arguments.length>2&&"number"!=typeof e?this._add(T.readList(arguments,1),t):this._add([T.read(arguments,1)],t)[0]},addSegment:function(){return this._add([T.read(arguments)])[0]},insertSegment:function(t){return this._add([T.read(arguments,1)],t)[0]},addSegments:function(t){return this._add(T.readList(t))},insertSegments:function(t,e){return this._add(T.readList(e),t)},removeSegment:function(t){return this.removeSegments(t,t+1)[0]||null},removeSegments:function(t,e,i){t=t||0,e=r.pick(e,this._segments.length);var n=this._segments,s=this._curves,a=n.length,o=n.splice(t,e-t),h=o.length;if(!h)return o;for(l=0;l0&&e===a+(this._closed?1:0)?t-1:t,l=(s=s.splice(f,h)).length-1;l>=0;l--)s[l]._path=null;i&&(o._curves=s.slice(1)),this._adjustCurves(f,f)}return this._changed(25),o},clear:"#removeSegments",hasHandles:function(){for(var t=this._segments,e=0,i=t.length;e0&&this._segmentSelection===7*t},setFullySelected:function(t){t&&this._selectSegments(!0),this.setSelected(t)},setSelection:function t(e){1&e||this._selectSegments(!1),t.base.call(this,e)},_selectSegments:function(t){var e=this._segments,i=e.length,n=t?7:0;this._segmentSelection=n*i;for(var r=0;r0&&this.setSelected(!0)},divideAt:function(t){var e,i=this.getLocationAt(t);return i&&(e=i.getCurve().divideAt(i.getCurveOffset()))?e._segment1:null},splitAt:function(t){var e=this.getLocationAt(t),i=e&&e.index,n=e&&e.time;n>1-1e-8&&(i++,n=0);var r=this.getCurves();if(i>=0&&i=1e-8&&r[i++].divideAtTime(n);var s,a=this.removeSegments(i,this._segments.length,!0);return this._closed?(this.setClosed(!1),s=this):((s=new L(w.NO_INSERT)).insertAbove(this),s.copyAttributes(this)),s._add(a,0),this.addSegment(a[0]),s}return null},split:function(t,i){var n,r=i===e?t:(n=this.getCurves()[t])&&n.getLocationAtTime(i);return null!=r?this.splitAt(r):null},join:function(t,e){var i=e||0;if(t&&t!==this){var n=t._segments,r=this.getLastSegment(),s=t.getLastSegment();if(!s)return this;r&&r._point.isClose(s._point,i)&&t.reverse();var a=t.getFirstSegment();if(r&&r._point.isClose(a._point,i))r.setHandleOut(a._handleOut),this._add(n.slice(1));else{var o=this.getFirstSegment();o&&o._point.isClose(a._point,i)&&t.reverse(),s=t.getLastSegment(),o&&o._point.isClose(s._point,i)?(o.setHandleIn(s._handleIn),this._add(n.slice(0,n.length-1),0)):this._add(n.slice())}t._closed&&this._add([n[0]]),t.remove()}var h=this.getFirstSegment(),u=this.getLastSegment();return h!==u&&h._point.isClose(u._point,i)&&(h.setHandleIn(u._handleIn),u.remove(),this.setClosed(!0)),this},reduce:function(t){for(var e=this.getCurves(),i=t&&t.simplify,n=i?1e-7:0,r=e.length-1;r>=0;r--){var s=e[r];!s.hasHandles()&&(!s.hasLength(n)||i&&s.isCollinear(s.getNext()))&&s.remove()}return this},reverse:function(){this._segments.reverse();for(var t=0,e=this._segments.length;t0&&n.push(new T(e[i-1].curve.slice(6))),this.setSegments(n)},simplify:function(t){var e=new D(this).fit(t||2.5);return e&&this.setSegments(e),!!e},smooth:function(t){function i(t,e){var i=t&&t.index;if(null!=i){var r=t.path;if(r&&r!==n)throw new Error(t._class+" "+i+" of "+r+" is not part of "+n);e&&t instanceof k&&i++}else i="number"==typeof t?t:e;return Math.min(i<0&&h?i%o:i<0?i+o:i,o-1)}var n=this,r=t||{},s=r.type||"asymmetric",a=this._segments,o=a.length,h=this._closed,u=h&&r.from===e&&r.to===e,l=i(r.from,0),c=i(r.to,o-1);if(l>c)if(h)l-=o;else{var f=l;l=c,c=f}if(/^(?:asymmetric|continuous)$/.test(s)){var d="asymmetric"===s,_=Math.min,g=c-l+1,v=g-1,p=u?_(g,4):1,m=p,y=p,w=[];if(h||(m=_(1,l),y=_(1,o-c-1)),(v+=m+y)<=1)return;for(var x=0,b=l-m;x<=v;x++,b++)w[x]=a[(b<0?b+o:b)%o]._point;for(var C=w[0]._x+2*w[1]._x,S=w[0]._y+2*w[1]._y,P=2,I=v-1,M=[C],T=[S],z=[P],O=[],A=[],x=1;x=0;x--)O[x]=(M[x]-O[x+1])/z[x],A[x]=(T[x]-A[x+1])/z[x];O[v]=(3*w[v]._x-O[I])/2,A[v]=(3*w[v]._y-A[I])/2;for(var x=m,F=v-y,b=l;x<=F;x++,b++){var R=a[b<0?b+o:b],q=R._point,V=O[x]-q._x,H=A[x]-q._y;(u||xm)&&R.setHandleIn(-V,-H)}}else for(x=l;x<=c;x++)a[x<0?x+o:x].smooth(r,!u&&x===l,!u&&x===c)},toShape:function(t){function i(t,e){var i=l[t],n=i.getNext(),r=l[e],s=r.getNext();return i._handleOut.isZero()&&n._handleIn.isZero()&&r._handleOut.isZero()&&s._handleIn.isZero()&&n._point.subtract(i._point).isCollinear(s._point.subtract(r._point))}function n(t){var e=l[t],i=e.getNext(),n=e._handleOut,r=i._handleIn;if(n.isOrthogonal(r)){var s=e._point,a=i._point,o=new m(s,n,!0).intersect(new m(a,r,!0),!0);return o&&u.isZero(n.getLength()/o.subtract(s).getLength()-.5522847498307936)&&u.isZero(r.getLength()/o.subtract(a).getLength()-.5522847498307936)}return!1}function r(t,e){return l[t]._point.getDistance(l[e]._point)}if(!this._closed)return null;var s,a,o,h,l=this._segments;if(!this.hasHandles()&&4===l.length&&i(0,2)&&i(1,3)&&function(t){var e=l[t],i=e.getPrevious(),n=e.getNext();return i._handleOut.isZero()&&e._handleIn.isZero()&&e._handleOut.isZero()&&n._handleIn.isZero()&&e._point.subtract(i._point).isOrthogonal(n._point.subtract(e._point))}(1)?(s=C.Rectangle,a=new d(r(0,3),r(0,1)),h=l[1]._point.add(l[2]._point).divide(2)):8===l.length&&n(0)&&n(2)&&n(4)&&n(6)&&i(1,5)&&i(3,7)?(s=C.Rectangle,o=(a=new d(r(1,6),r(0,3))).subtract(new d(r(0,7),r(1,2))).divide(2),h=l[3]._point.add(l[4]._point).divide(2)):4===l.length&&n(0)&&n(1)&&n(2)&&n(3)&&(u.isZero(r(0,2)-r(1,3))?(s=C.Circle,o=r(0,2)/2):(s=C.Ellipse,o=new d(r(2,0)/2,r(3,1)/2)),h=l[1]._point),s){var c=this.getPosition(!0),f=new s({center:c,size:a,radius:o,insert:!1});return f.copyAttributes(this,!0),f._matrix.prepend(this._matrix),f.rotate(h.subtract(c).getAngle()+90),(t===e||t)&&f.insertAbove(this),f}return null},toPath:"#clone",compare:function t(e){if(!e||e instanceof N)return t.base.call(this,e);var i=this.getCurves(),n=e.getCurves(),r=i.length,s=n.length;if(!r||!s)return r==s;for(var a,o,h=i[0].getValues(),u=[],l=0,c=0,f=0;f0?s-1:f,o=v[0][1];break}}for(var d,_=Math.abs,g=u[a];h&&g;){var v=k.getOverlaps(h,g);if(v&&_(v[0][0]-c)<1e-8){1===(c=v[1][0])&&(h=++l=s&&(a=0),g=u[a]||n[a].getValues(),o=0),!h)return d[0]===a&&d[1]===o;continue}}break}return!1},_hitTestSelf:function(t,e,i,n){function r(e,i){return t.subtract(e).divide(i).length<=1}function s(t,i,n){if(!e.selected||i.isSelected()){var s=t._point;if(i!==s&&(i=i.add(s)),r(i,x))return new M(n,g,{segment:t,point:i})}}function a(t,i){return(i||e.segments)&&s(t,t._point,"segment")||!i&&e.handles&&(s(t,t._handleIn,"handle-in")||s(t,t._handleOut,"handle-out"))}function o(t){f.add(t)}function h(e){var i=y||e._index>0&&e._index0||S?0:null;if(null!==P&&(P>0?(u=v.getStrokeJoin(),l=v.getStrokeCap(),c=v.getMiterLimit(),x=x.add(L._getStrokePadding(P,n))):u=l="round"),!e.ends||e.segments||y){if(e.segments||e.handles)for(T=0;T1?h(d.getSegment())||(d=null):r(d.getPoint(),x)||(d=null)}if(!d&&"miter"===u&&m>1)for(var T=0;Tt)return a.getLocationAt(t-s)}if(e.length>0&&t<=this.getLength())return new O(e[e.length-1],1)}else if(t&&t.getPath&&t.getPath()===this)return t;return null}}),new function(){function t(t,e,i,n){function r(e){var i=h[e],n=h[e+1];s==i&&a==n||(t.beginPath(),t.moveTo(s,a),t.lineTo(i,n),t.stroke(),t.beginPath(),t.arc(i,n,o,0,2*Math.PI,!0),t.fill())}for(var s,a,o=n/2,h=new Array(6),u=0,l=e.length;u0&&n(f[0])}return{_draw:function(t,i,n,r){function s(t){return c[(t%f+f)%f]}var a=i.dontStart,o=i.dontFinish||i.clip,h=this.getStyle(),u=h.hasFill(),l=h.hasStroke(),c=h.getDashArray(),f=!paper.support.nativeDash&&l&&c&&c.length;if(a||t.beginPath(),(u||l&&!f||o)&&(e(t,this,r),this._closed&&t.closePath()),!o&&(u||l)&&(this._setStyles(t,i,n),u&&(t.fill(h.getFillRule()),t.shadowColor="rgba(0,0,0,0)"),l)){if(f){a||t.beginPath();var d,_=new B(this,.25,32,!1,r),g=_.length,v=-h.getDashOffset(),p=0;for(v%=g;v>0;)v-=s(p--)+s(p--);for(;v0||d>0)&&_.drawPart(t,Math.max(v,0),Math.max(d,0)),v=d+s(p++)}t.stroke()}},_drawSelected:function(i,n){i.beginPath(),e(i,this,n),i.stroke(),t(i,this._segments,n,paper.settings.handleSize)}}},new function(){function t(t){var e=t._segments;if(!e.length)throw new Error("Use a moveTo() command first");return e[e.length-1]}return{moveTo:function(){var t=this._segments;1===t.length&&this.removeSegment(0),t.length||this._add([new T(c.read(arguments))])},moveBy:function(){throw new Error("moveBy() is unsupported on Path items.")},lineTo:function(){this._add([new T(c.read(arguments))])},cubicCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=c.read(arguments),r=t(this);r.setHandleOut(e.subtract(r._point)),this._add([new T(n,i.subtract(n))])},quadraticCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=t(this)._point;this.cubicCurveTo(e.add(n.subtract(e).multiply(1/3)),e.add(i.subtract(e).multiply(1/3)),i)},curveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=r.pick(r.read(arguments),.5),s=1-n,a=t(this)._point,o=e.subtract(a.multiply(s*s)).subtract(i.multiply(n*n)).divide(2*n*s);if(o.isNaN())throw new Error("Cannot put a curve through points with parameter = "+n);this.quadraticCurveTo(o,i)},arcTo:function(){var e,i,n,s,a=Math.abs,o=Math.sqrt,h=t(this),l=h._point,f=c.read(arguments),_=r.peek(arguments);if("boolean"==typeof(x=r.pick(_,!0)))var g=(C=l.add(f).divide(2)).add(C.subtract(l).rotate(x?-90:90));else if(r.remain(arguments)<=2)g=f,f=c.read(arguments);else{var v=d.read(arguments),y=u.isZero;if(y(v.width)||y(v.height))return this.lineTo(f);var w=r.read(arguments),x=!!r.read(arguments),b=!!r.read(arguments),C=l.add(f).divide(2),S=(W=l.subtract(C).rotate(-w)).x,P=W.y,I=a(v.width),M=a(v.height),z=I*I,k=M*M,O=S*S,A=P*P,L=o(O/z+A/k);if(L>1&&(z=(I*=L)*I,k=(M*=L)*M),L=(z*k-z*A-k*O)/(z*A+k*O),a(L)<1e-12&&(L=0),L<0)throw new Error("Cannot create an arc with the given arguments");e=new c(I*P/M,-M*S/I).multiply((b===x?-1:1)*o(L)).rotate(w).add(C),i=(n=(s=(new p).translate(e).rotate(w).scale(I,M))._inverseTransform(l)).getDirectedAngle(s._inverseTransform(f)),!x&&i>0?i-=360:x&&i<0&&(i+=360)}if(g){var N=new m(l.add(g).divide(2),g.subtract(l).rotate(90),!0),B=new m(g.add(f).divide(2),f.subtract(g).rotate(90),!0),D=new m(l,f),j=D.getSide(g);if(!(e=N.intersect(B,!0))){if(!j)return this.lineTo(f);throw new Error("Cannot create an arc with the given arguments")}i=(n=l.subtract(e)).getDirectedAngle(f.subtract(e));var E=D.getSide(e);0===E?i=j*a(i):j===E&&(i+=i<0?360:-360)}for(var F=a(i),R=F>=360?4:Math.ceil((F-1e-7)/90),q=i/R,V=q*Math.PI/360,H=4/3*Math.sin(V)/(1+Math.cos(V)),Z=[],U=0;U<=R;U++){var W=f,G=null;if(U0&&(h(t[0],y),h(t[t.length-1],y)),v},_getStrokePadding:function(t,e){if(!e)return[t,t];var i=new c(t,0).transform(e),n=new c(0,t).transform(e),r=i.getAngleInRadians(),s=i.getLength(),a=n.getLength(),o=Math.sin(r),h=Math.cos(r),u=Math.tan(r),l=Math.atan2(a*u,s),f=Math.atan2(a,u*s);return[Math.abs(s*Math.cos(l)*h+a*Math.sin(l)*o),Math.abs(a*Math.sin(f)*h+s*Math.cos(f)*o)]},_addBevelJoin:function(t,e,i,n,r,s,a,o){var h=t.getCurve(),u=h.getPrevious(),l=h.getPoint1().transform(r),f=u.getNormalAtTime(1).multiply(i).transform(s),d=h.getNormalAtTime(0).multiply(i).transform(s);if(f.getDirectedAngle(d)<0&&(f=f.negate(),d=d.negate()),o&&a(l),a(l.add(f)),"miter"===e){var _=new m(l.add(f),new c(-f.y,f.x),!0).intersect(new m(l.add(d),new c(-d.y,d.x),!0),!0);_&&l.getDistance(_)<=n*i&&a(_)}a(l.add(d))},_addSquareCap:function(t,e,i,n,r,s,a){var o=t._point.transform(n),h=t.getLocation(),u=h.getNormal().multiply(0===h.getTime()?i:-i).transform(r);"square"===e&&(a&&(s(o.subtract(u)),s(o.add(u))),o=o.add(u.rotate(-90))),s(o.add(u)),s(o.subtract(u))},getHandleBounds:function(t,e,i,n,r){var s,a,o=i.getStyle();if(r.stroke&&o.hasStroke()){var h=i._getStrokeMatrix(n,r),u=o.getStrokeWidth()/2,l=u;"miter"===o.getStrokeJoin()&&(l=u*o.getMiterLimit()),"square"===o.getStrokeCap()&&(l=Math.max(l,u*Math.SQRT2)),s=L._getStrokePadding(u,h),a=L._getStrokePadding(l,h)}for(var c=new Array(6),f=1/0,d=-f,_=f,v=d,p=0,m=t.length;pd&&(d=I),M<_&&(_=M),T>v&&(v=T)}}return new g(f,_,d-f,v-_)}}});L.inject({statics:new function(){function t(t,e,i){var n=r.getNamed(i),s=new L(n&&0==n.insert&&w.NO_INSERT);return s._add(t),s._closed=e,s.set(n,{insert:!0})}function e(e,i,r){for(var s=new Array(4),a=0;a<4;a++){var o=n[a];s[a]=new T(o._point.multiply(i).add(e),o._handleIn.multiply(i),o._handleOut.multiply(i))}return t(s,!0,r)}var i=.5522847498307936,n=[new T([-1,0],[0,i],[0,-i]),new T([0,-1],[-i,0],[i,0]),new T([1,0],[0,-i],[0,i]),new T([0,1],[i,0],[-i,0])];return{Line:function(){return t([new T(c.readNamed(arguments,"from")),new T(c.readNamed(arguments,"to"))],!1,arguments)},Circle:function(){var t=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return e(t,new d(i),arguments)},Rectangle:function(){var e,n=g.readNamed(arguments,"rectangle"),r=d.readNamed(arguments,"radius",0,{readNull:!0}),s=n.getBottomLeft(!0),a=n.getTopLeft(!0),o=n.getTopRight(!0),h=n.getBottomRight(!0);if(!r||r.isZero())e=[new T(s),new T(a),new T(o),new T(h)];else{var u=(r=d.min(r,n.getSize(!0).divide(2))).width,l=r.height,c=u*i,f=l*i;e=[new T(s.add(u,0),null,[-c,0]),new T(s.subtract(0,l),[0,f]),new T(a.add(0,l),null,[0,-f]),new T(a.add(u,0),[-c,0],null),new T(o.subtract(u,0),null,[c,0]),new T(o.add(0,l),[0,-f],null),new T(h.subtract(0,l),null,[0,f]),new T(h.subtract(u,0),[c,0])]}return t(e,!0,arguments)},RoundRectangle:"#Rectangle",Ellipse:function(){var t=C._readEllipse(arguments);return e(t.center,t.radius,arguments)},Oval:"#Ellipse",Arc:function(){var t=c.readNamed(arguments,"from"),e=c.readNamed(arguments,"through"),i=c.readNamed(arguments,"to"),n=r.getNamed(arguments),s=new L(n&&0==n.insert&&w.NO_INSERT);return s.moveTo(t),s.arcTo(e,i),s.set(n)},RegularPolygon:function(){for(var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"sides"),n=r.readNamed(arguments,"radius"),s=360/i,a=i%3==0,o=new c(0,a?-n:n),h=a?-1:.5,u=new Array(i),l=0;l=0;a--){var o=n[a];n!==i||o instanceof L||(n=r.slice(n)),Array.isArray(o)?n[a]=new L({segments:o,insert:!1}):o instanceof N&&(n.splice.apply(n,[a,1].concat(o.removeChildren())),o.remove())}return t.base.call(this,e,n)},reduce:function t(e){for(var i=this._children,n=i.length-1;n>=0;n--)(r=i[n].reduce(e)).isEmpty()&&r.remove();if(!i.length){var r=new L(w.NO_INSERT);return r.copyAttributes(this),r.insertAbove(this),this.remove(),r}return t.base.call(this)},isClosed:function(){for(var t=this._children,e=0,i=t.length;e=0;d--){var _=h[d].split();_&&(s(_)&&_.getFirstSegment().setHandleIn(0,0),a.getLastSegment().setHandleOut(0,0))}return s(a),i(f,!1,e,n)}function a(t,e){for(var i=t;i;){if(i===e)return;i=i._previous}for(;t._next&&t._next!==e;)t=t._next;if(!t._next){for(;e._previous;)e=e._previous;t._next=e,e._previous=t}}function o(t){for(var e=t.length-1;e>=0;e--)t[e].clearHandles()}function h(t,e,i){var n=t&&t.length;if(n){var s=r.each(t,function(t,e){this[t._id]={container:null,winding:t.isClockwise()?1:-1,index:e}},{}),a=t.slice().sort(function(t,e){return v(e.getArea())-v(t.getArea())}),o=a[0];null==i&&(i=o.isClockwise());for(var h=0;h=0;d--){var _=a[d];if(_.contains(c)){var g=s[_._id];f=g.winding,l.winding+=f,l.container=g.exclude?g.container:_;break}}if(e(l.winding)===e(f))l.exclude=!0,t[l.index]=null;else{var p=l.container;u.setClockwise(p?!p.isClockwise():i)}}}return t}function l(t,e,i){function n(t){return t._path._id+"."+t._segment1._index}for(var r,s,h,u=e&&[],l=!1,c=i||[],f=i&&{},d=(i&&i.length)-1;d>=0;d--)(y=i[d])._path&&(f[n(y)]=!0);for(d=t.length-1;d>=0;d--){var _,g=t[d],v=g._time,p=v,m=e&&!e(g),y=g._curve;if(y&&(y!==s?(l=!y.hasHandles()||f&&f[n(y)],r=[],h=null,s=y):h>=1e-8&&(v/=h)),m)r&&r.push(g);else{if(e&&u.unshift(g),h=p,v<1e-8)_=y._segment1;else if(v>1-1e-8)_=y._segment2;else{var w=y.divideAtTime(v,!0);l&&c.push(y,w),_=w._segment1;for(var x=r.length-1;x>=0;x--){var b=r[x];b._time=(b._time-v)/(1-v)}}g._setSegment(_);var C=_._intersection,S=g._intersection;if(C){a(C,S);for(var P=C;P;)a(P._intersection,C),P=P._next}else _._intersection=S}}return i||o(c),u||t}function c(t,e,i,n,r){function s(s){var a=s[l+0],h=s[l+6];if(!(p<_(a,h)||p>g(a,h))){var f=s[u+0],v=s[u+2],x=s[u+4],b=s[u+6];if(a!==h){var I=p===a?0:p===h?1:y>g(f,v,x,b)||w<_(f,v,x,b)?1:k.solveCubic(s,l,p,T,0,1)>0?T[0]:1,z=0===I?f:1===I?b:k.getPoint(s,I)[i?"y":"x"],O=a>h?1:-1,A=o[l]>o[l+6]?1:-1,L=o[u+6];return p!==a?(zw?S+=O:P=!0,z>d-m&&zw&&(S+=O):f!=L&&(Lw?(S+=O,P=!0):L>y&&zy&&zy||by)&&(P=!0)}}function a(t){var e=t[l+0],n=t[l+2],r=t[l+4],a=t[l+6];if(p<=g(e,n,r,a)&&p>=_(e,n,r,a))for(var o,h=t[u+0],c=t[u+2],f=t[u+4],d=t[u+6],v=y>g(h,c,f,d)||w<_(h,c,f,d)?[t]:k.getMonoCurves(t,i),m=0,x=v.length;ml.quality&&(l=I);break}d-=m}for(_=s.length-1;_>=0;_--)s[_].segment._winding=l}function d(t,e){function i(t){var i;return!(!t||t._visited||e&&(!e[(i=t._winding||{}).winding]||e.unite&&2===i.winding&&i.windingL&&i.windingR))}function n(t){if(t)for(var e=0,i=s.length;e=0;c--){var f=u[c],_=f._path,g=f._segment,v=g.getPrevious(),p=g.getNext();t(v,_)&&t(p,_)&&(g.remove(),v._handleOut._set(0,0),p._handleIn._set(0,0),v===g||v.getCurve().hasLength()||(p._handleIn.set(v._handleIn),v.remove()))}s&&(l(a,n&&function(t){var e=t.getCurve(),i=t.getSegment(),n=t._intersection,r=n._curve,s=n._segment;if(e&&r&&e._path&&r._path)return!0;i&&(i._intersection=null),s&&(s._intersection=null)},h),h&&o(h),i=d(r.each(i,function(t){this.push.apply(this,t._segments)},[])));var m,y=i.length;return y>1&&e?(i!==e&&this.setChildren(i),m=this):1!==y||e||(i[0]!==this&&this.setSegments(i[0].removeSegments()),m=this),m||((m=new N(w.NO_INSERT)).addChildren(i),(m=m.reduce()).copyAttributes(this),this.replaceWith(m)),m},reorient:function(t,i){var n=this._children;return n&&n.length?this.setChildren(h(this.removeChildren(),function(e){return!!(t?e:1&e)},i)):i!==e&&this.setClockwise(i),this},getInteriorPoint:function(){var t=this.getBounds().getCenter(!0);if(!this.contains(t)){for(var e=this.getCurves(),i=t.y,n=[],r=[],s=0,a=e.length;s=_(h,u,l,c)&&i<=g(h,u,l,c))for(var f=k.getMonoCurves(o),d=0,v=f.length;d=m&&i<=y||i>=y&&i<=m)){var w=i===m?p[0]:i===y?p[6]:1===k.solveCubic(p,1,i,r,0,1)?k.getPoint(p,r[0]).x:(p[0]+p[6])/2;n.push(w)}}}n.length>1&&(n.sort(function(t,e){return t-e}),t.x=(n[0]+n[1])/2)}return t}}});var B=r.extend({_class:"PathFlattener",initialize:function(t,e,i,n,r){function s(t,e){var i=k.getValues(t,e,r);h.push(i),a(i,t._index,0,1)}function a(t,i,r,s){if(!(s-r>c)||n&&k.isStraight(t)||k.isFlatEnough(t,e||.25)){var o=t[6]-t[0],h=t[7]-t[1],f=Math.sqrt(o*o+h*h);f>0&&(l+=f,u.push({offset:l,curve:t,index:i,time:s}))}else{var d=k.subdivide(t,.5),_=(r+s)/2;a(d[0],i,r,_),a(d[1],i,_,s)}}for(var o,h=[],u=[],l=0,c=1/(i||32),f=t._segments,d=f[0],_=1,g=f.length;_=t){this.index=e;var a=i[e-1],o=a&&a.index===s.index?a.time:0,h=a?a.offset:0;return{index:s.index,time:o+(s.time-o)*(t-h)/(s.offset-h)}}}return{index:i[n-1].index,time:1}},drawPart:function(t,e,i){for(var n=this._get(e),r=this._get(i),s=n.index,a=r.index;s<=a;s++){var o=k.getPart(this.curves[s],s===n.index?n.time:0,s===r.index?r.time:1);s===n.index&&t.moveTo(o[0],o[1]),t.bezierCurveTo.apply(t,o.slice(2))}}},r.each(k._evaluateMethods,function(t){this[t+"At"]=function(e){var i=this._get(e);return k[t](this.curves[i.index],i.time)}},{})),D=r.extend({initialize:function(t){for(var e,i=this.points=[],n=t._segments,r=t._closed,s=0,a=n.length;s0&&(n=[new T(e[0])],i>1&&(this.fitCubic(n,t,0,i-1,e[1].subtract(e[0]),e[i-2].subtract(e[i-1])),this.closed&&(n.shift(),n.pop()))),n},fitCubic:function(t,e,i,n,r,s){var a=this.points;if(n-i!=1){for(var o,h=this.chordLengthParameterize(i,n),u=Math.max(e,e*e),l=!0,c=0;c<=4;c++){var f=this.generateBezier(i,n,h,r,s),d=this.findMaxError(i,n,f,h);if(d.error=u)break;l=this.reparameterize(i,n,h,f),u=d.error}var _=a[o-1].subtract(a[o+1]);this.fitCubic(t,e,i,o,r,_),this.fitCubic(t,e,o,n,_.negate(),s)}else{var g=a[i],v=a[n],p=g.getDistance(v)/3;this.addCurve(t,[g,g.add(r.normalize(p)),v.add(s.normalize(p)),v])}},addCurve:function(t,e){t[t.length-1].setHandleOut(e[1].subtract(e[0])),t.push(new T(e[3],e[2].subtract(e[3])))},generateBezier:function(t,e,i,n,r){for(var s=Math.abs,a=this.points,o=a[t],h=a[e],u=[[0,0],[0,0]],l=[0,0],c=0,f=e-t+1;c1e-12){var I=u[0][0]*l[1]-u[1][0]*l[0];C=(l[0]*u[1][1]-l[1]*u[0][1])/P,S=I/P}else{var M=u[0][0]+u[0][1],T=u[1][0]+u[1][1];C=S=s(M)>1e-12?l[0]/M:s(T)>1e-12?l[1]/T:0}var z,k,O=h.getDistance(o),A=1e-12*O;if(CO*O&&(C=S=O/3,z=k=null)}return[o,o.add(z||n.normalize(C)),h.add(k||r.normalize(S)),h]},reparameterize:function(t,e,i,n){for(r=t;r<=e;r++)i[r-t]=this.findRoot(n,this.points[r],i[r-t]);for(var r=1,s=i.length;r=s&&(s=h,r=a)}return{error:s,index:r}}}),j=w.extend({_class:"TextItem",_applyMatrix:!1,_canApplyMatrix:!1,_serializeFields:{content:null},_boundsOptions:{stroke:!1,handle:!1},initialize:function(t){this._content="",this._lines=[];var i=t&&r.isPlainObject(t)&&t.x===e&&t.y===e;this._initialize(i&&t,!i&&c.read(arguments))},_equals:function(t){return this._content===t._content},copyContent:function(t){this.setContent(t._content)},getContent:function(){return this._content},setContent:function(t){this._content=""+t,this._lines=this._content.split(/\r\n|\n|\r/gm),this._changed(265)},isEmpty:function(){return!this._content},getCharacterStyle:"#getStyle",setCharacterStyle:"#setStyle",getParagraphStyle:"#getStyle",setParagraphStyle:"#setStyle"}),E=j.extend({_class:"PointText",initialize:function(){j.apply(this,arguments)},getPoint:function(){var t=this._matrix.getTranslation();return new f(t.x,t.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.translate(t.subtract(this._matrix.getTranslation()))},_draw:function(t,e,i){if(this._content){this._setStyles(t,e,i);var n=this._lines,r=this._style,s=r.hasFill(),a=r.hasStroke(),o=r.getLeading(),h=t.shadowColor;t.font=r.getFontStyle(),t.textAlign=r.getJustification();for(var u=0,l=n.length;u1&&(h-=1),a[o]=6*h<1?s+6*(r-s)*h:2*h<1?r:3*h<2?s+(r-s)*(2/3-h)*6:s}return a},"rgb-gray":function(t,e,i){return[.2989*t+.587*e+.114*i]},"gray-rgb":function(t){return[t,t,t]},"gray-hsb":function(t){return[0,0,t]},"gray-hsl":function(t){return[0,0,t]},"gradient-rgb":function(){return[]},"rgb-gradient":function(){return[]}};return r.each(n,function(t,e){s[e]=[],r.each(t,function(t,i){var a=r.capitalize(t),o=/^(hue|saturation)$/.test(t),h=s[e][i]="gradient"===t?function(t){var e=this._components[0];return t=R.read(Array.isArray(t)?t:arguments,0,{readNull:!0}),e!==t&&(e&&e._removeOwner(this),t&&t._addOwner(this)),t}:"gradient"===e?function(){return c.read(arguments,0,{readNull:"highlight"===t,clone:!0})}:function(t){return null==t||isNaN(t)?0:t};this["get"+a]=function(){return this._type===e||o&&/^hs[bl]$/.test(this._type)?this._components[i]:this._convert(e)[i]},this["set"+a]=function(t){this._type===e||o&&/^hs[bl]$/.test(this._type)||(this._components=this._convert(e),this._properties=n[e],this._type=e),this._components[i]=h.call(this,t),this._changed()}},this)},{_class:"Color",_readIndex:!0,initialize:function e(i){var a,o,h,u,l=arguments,c=this.__read,f=0;Array.isArray(i)&&(i=(l=i)[0]);var d=null!=i&&typeof i;if("string"===d&&i in n&&(a=i,i=l[1],Array.isArray(i)?(o=i,h=l[2]):(c&&(f=1),l=r.slice(l,1),d=typeof i)),!o){if(u="number"===d?l:"object"===d&&null!=i.length?i:null){a||(a=u.length>=3?"rgb":"gray");var _=n[a].length;h=u[_],c&&(f+=u===arguments?_+(null!=h?1:0):1),u.length>_&&(u=r.slice(u,0,_))}else if("string"===d)a="rgb",4===(o=t(i)).length&&(h=o[3],o.length--);else if("object"===d)if(i.constructor===e){if(a=i._type,o=i._components.slice(),h=i._alpha,"gradient"===a)for(var g=1,v=o.length;g1?1:t))}var i=this._convert("rgb"),n=t||null==this._alpha?1:this._alpha;return i=[e(i[0]),e(i[1]),e(i[2])],n<1&&i.push(n<0?0:n),t?"#"+((1<<24)+(i[0]<<16)+(i[1]<<8)+i[2]).toString(16).slice(1):(4==i.length?"rgba(":"rgb(")+i.join(",")+")"},toCanvasStyle:function(t,e){if(this._canvasStyle)return this._canvasStyle;if("gradient"!==this._type)return this._canvasStyle=this.toCSS();var i,n=this._components,r=n[0],s=r._stops,a=n[1],o=n[2],h=n[3],u=e&&e.inverted();if(u&&(a=u._transformPoint(a),o=u._transformPoint(o),h&&(h=u._transformPoint(h))),r._radial){var l=o.getDistance(a);if(h){var c=h.subtract(a);c.getLength()>l&&(h=a.add(c.normalize(l-.1)))}var f=h||a;i=t.createRadialGradient(f.x,f.y,0,a.x,a.y,l)}else i=t.createLinearGradient(a.x,a.y,o.x,o.y);for(var d=0,_=s.length;d<_;d++){var g=s[d],v=g._offset;i.addColorStop(null==v?d/(_-1):v,g._color.toCanvasStyle())}return this._canvasStyle=i},transform:function(t){if("gradient"===this._type){for(var e=this._components,i=1,n=e.length;i0&&!(r instanceof N))for(var a=0,o=s.length;a0},hasStroke:function(){var t=this.getStrokeColor();return!!t&&t.alpha>0&&this.getStrokeWidth()>0},hasShadow:function(){var t=this.getShadowColor();return!!t&&t.alpha>0&&(this.getShadowBlur()>0||!this.getShadowOffset().isZero())},getView:function(){return this._project._view},getFontStyle:function(){var t=this.getFontSize();return this.getFontWeight()+" "+t+(/[a-z]/i.test(t+"")?" ":"px ")+this.getFontFamily()},getFont:"#getFontFamily",setFont:"#setFontFamily",getLeading:function t(){var e=t.base.call(this),i=this.getFontSize();return/pt|em|%|px/.test(i)&&(i=this.getView().getPixelSize(i)),null!=e?e:1.2*i}}),H=new function(){function t(t,e,i,n){for(var r=["","webkit","moz","Moz","ms","o"],s=e[0].toUpperCase()+e.substring(1),a=0;a<6;a++){var o=r[a],h=o?o+s:e;if(h in t){if(!i)return t[h];t[h]=n;break}}}return{getStyles:function(t){var e=t&&9!==t.nodeType?t.ownerDocument:t,i=e&&e.defaultView;return i&&i.getComputedStyle(t,"")},getBounds:function(t,e){var i,n=t.ownerDocument,r=n.body,s=n.documentElement;try{i=t.getBoundingClientRect()}catch(t){i={left:0,top:0,width:0,height:0}}var a=i.left-(s.clientLeft||r.clientLeft||0),o=i.top-(s.clientTop||r.clientTop||0);if(!e){var h=n.defaultView;a+=h.pageXOffset||s.scrollLeft||r.scrollLeft,o+=h.pageYOffset||s.scrollTop||r.scrollTop}return new g(a,o,i.width,i.height)},getViewportBounds:function(t){var e=t.ownerDocument,i=e.defaultView,n=e.documentElement;return new g(0,0,i.innerWidth||n.clientWidth,i.innerHeight||n.clientHeight)},getOffset:function(t,e){return H.getBounds(t,e).getPoint()},getSize:function(t){return H.getBounds(t,!0).getSize()},isInvisible:function(t){return H.getSize(t).equals(new d(0,0))},isInView:function(t){return!H.isInvisible(t)&&H.getViewportBounds(t).intersects(H.getBounds(t,!0))},isInserted:function(t){return n.body.contains(t)},getPrefixed:function(e,i){return e&&t(e,i)},setPrefixed:function(e,i,n){if("object"==typeof i)for(var r in i)t(e,r,!0,i[r]);else t(e,i,!0,n)}}},Z={add:function(t,e){if(t)for(var i in e)for(var n=e[i],r=i.split(/[\s,]+/g),s=0,a=r.length;s1?r.hyphenate(i):i.toLowerCase())}function s(t,e,i,n){var o,h=U._focused;if(l[e]=t,t?c[e]=i:delete c[e],e.length>1&&(o=r.camelize(e))in f){f[o]=t;var u=paper&&paper.agent;if("meta"===o&&u&&u.mac)if(t)a={};else{for(var d in a)d in c&&s(!1,d,a[d],n);a=null}}else t&&a&&(a[e]=i);h&&h._handleKeyEvent(t?"keydown":"keyup",n,e,i)}var a,o,h={"\t":"tab"," ":"space","\b":"backspace","":"delete",Spacebar:"space",Del:"delete",Win:"meta",Esc:"escape"},u={tab:"\t",space:" ",enter:"\r"},l={},c={},f=new r({shift:!1,control:!1,alt:!1,meta:!1,capsLock:!1,space:!1}).inject({option:{get:function(){return this.alt}},command:{get:function(){var t=paper&&paper.agent;return t&&t.mac?this.meta:this.control}}});return Z.add(n,{keydown:function(e){var i=t(e),n=paper&&paper.agent;i.length>1||n&&n.chrome&&(e.altKey||n.mac&&e.metaKey||!n.mac&&e.ctrlKey)?s(!0,i,u[i]||(i.length>1?"":i),e):o=i},keypress:function(e){if(o){var i=t(e),n=e.charCode,r=n>=32?String.fromCharCode(n):i.length>1?"":i;i!==o&&(i=r.toLowerCase()),s(!0,i,r,e),o=null}},keyup:function(e){var i=t(e);i in c&&s(!1,i,c[i],e)}}),Z.add(i,{blur:function(t){for(var e in c)s(!1,e,c[e],t)}}),{modifiers:f,isDown:function(t){return!!l[t]}}},X=G.extend({_class:"MouseEvent",initialize:function(t,e,i,n,r){this.type=t,this.event=e,this.point=i,this.target=n,this.delta=r},toString:function(){return"{ type: '"+this.type+"', point: "+this.point+", target: "+this.target+(this.delta?", delta: "+this.delta:"")+", modifiers: "+this.getModifiers()+" }"}}),Y=G.extend({_class:"ToolEvent",_item:null,initialize:function(t,e,i){this.tool=t,this.type=e,this.event=i},_choosePoint:function(t,e){return t||(e?e.clone():null)},getPoint:function(){return this._choosePoint(this._point,this.tool._point)},setPoint:function(t){this._point=t},getLastPoint:function(){return this._choosePoint(this._lastPoint,this.tool._lastPoint)},setLastPoint:function(t){this._lastPoint=t},getDownPoint:function(){return this._choosePoint(this._downPoint,this.tool._downPoint)},setDownPoint:function(t){this._downPoint=t},getMiddlePoint:function(){return!this._middlePoint&&this.tool._lastPoint?this.tool._point.add(this.tool._lastPoint).divide(2):this._middlePoint},setMiddlePoint:function(t){this._middlePoint=t},getDelta:function(){return!this._delta&&this.tool._lastPoint?this.tool._point.subtract(this.tool._lastPoint):this._delta},setDelta:function(t){this._delta=t},getCount:function(){return this.tool[/^mouse(down|up)$/.test(this.type)?"_downCount":"_moveCount"]},setCount:function(t){this.tool[/^mouse(down|up)$/.test(this.type)?"downCount":"count"]=t},getItem:function(){if(!this._item){var t=this.tool._scope.project.hitTest(this.getPoint());if(t){for(var e=t.item,i=e._parent;/^(Group|CompoundPath)$/.test(i._class);)e=i,i=i._parent;this._item=e}}return this._item},setItem:function(t){this._item=t},toString:function(){return"{ type: "+this.type+", point: "+this.getPoint()+", count: "+this.getCount()+", modifiers: "+this.getModifiers()+" }"}}),K=(o.extend({_class:"Tool",_list:"tools",_reference:"tool",_events:["onMouseDown","onMouseUp","onMouseDrag","onMouseMove","onActivate","onDeactivate","onEditOptions","onKeyDown","onKeyUp"],initialize:function(t){o.call(this),this._moveCount=-1,this._downCount=-1,this.set(t)},getMinDistance:function(){return this._minDistance},setMinDistance:function(t){this._minDistance=t,null!=t&&null!=this._maxDistance&&t>this._maxDistance&&(this._maxDistance=t)},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(t){this._maxDistance=t,null!=this._minDistance&&null!=t&&t255){var u=255-r,l=o-r;d=r+(d-r)*u/l,_=r+(_-r)*u/l,g=r+(g-r)*u/l}}function i(t,e,i){return p(t,e,i)-v(t,e,i)}function n(t,e,i,n){var r,s=[t,e,i],a=p(t,e,i),o=v(t,e,i);r=0===v(o=o===t?0:o===e?1:2,a=a===t?0:a===e?1:2)?1===p(o,a)?2:1:0,s[a]>s[o]?(s[r]=(s[r]-s[o])*n/(s[a]-s[o]),s[a]=n):s[r]=s[a]=0,s[o]=0,d=s[0],_=s[1],g=s[2]}var s,a,o,h,u,l,c,f,d,_,g,v=Math.min,p=Math.max,m=Math.abs,y={multiply:function(){d=u*s/255,_=l*a/255,g=c*o/255},screen:function(){d=u+s-u*s/255,_=l+a-l*a/255,g=c+o-c*o/255},overlay:function(){d=u<128?2*u*s/255:255-2*(255-u)*(255-s)/255,_=l<128?2*l*a/255:255-2*(255-l)*(255-a)/255,g=c<128?2*c*o/255:255-2*(255-c)*(255-o)/255},"soft-light":function(){var t=s*u/255;d=t+u*(255-(255-u)*(255-s)/255-t)/255,_=(t=a*l/255)+l*(255-(255-l)*(255-a)/255-t)/255,g=(t=o*c/255)+c*(255-(255-c)*(255-o)/255-t)/255},"hard-light":function(){d=s<128?2*s*u/255:255-2*(255-s)*(255-u)/255,_=a<128?2*a*l/255:255-2*(255-a)*(255-l)/255,g=o<128?2*o*c/255:255-2*(255-o)*(255-c)/255},"color-dodge":function(){d=0===u?0:255===s?255:v(255,255*u/(255-s)),_=0===l?0:255===a?255:v(255,255*l/(255-a)),g=0===c?0:255===o?255:v(255,255*c/(255-o))},"color-burn":function(){d=255===u?255:0===s?0:p(0,255-255*(255-u)/s),_=255===l?255:0===a?0:p(0,255-255*(255-l)/a),g=255===c?255:0===o?0:p(0,255-255*(255-c)/o)},darken:function(){d=us?u:s,_=l>a?l:a,g=c>o?c:o},difference:function(){(d=u-s)<0&&(d=-d),(_=l-a)<0&&(_=-_),(g=c-o)<0&&(g=-g)},exclusion:function(){d=u+s*(255-u-u)/255,_=l+a*(255-l-l)/255,g=c+o*(255-c-c)/255},hue:function(){n(s,a,o,i(u,l,c)),e(d,_,g,t(u,l,c))},saturation:function(){n(u,l,c,i(s,a,o)),e(d,_,g,t(u,l,c))},luminosity:function(){e(u,l,c,t(s,a,o))},color:function(){e(s,a,o,t(u,l,c))},add:function(){d=v(u+s,255),_=v(l+a,255),g=v(c+o,255)},subtract:function(){d=p(u-s,0),_=p(l-a,0),g=p(c-o,0)},average:function(){d=(u+s)/2,_=(l+a)/2,g=(c+o)/2},negation:function(){d=255-m(255-s-u),_=255-m(255-a-l),g=255-m(255-o-c)}},w=this.nativeModes=r.each(["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","darker","copy","xor"],function(t){this[t]=!0},{}),x=Q.getContext(1,1);x&&(r.each(y,function(t,e){var i="darken"===e,n=!1;x.save();try{x.fillStyle=i?"#300":"#a00",x.fillRect(0,0,1,1),x.globalCompositeOperation=e,x.globalCompositeOperation===e&&(x.fillStyle=i?"#a00":"#300",x.fillRect(0,0,1,1),n=x.getImageData(0,0,1,1).data[0]!==i?170:51)}catch(t){}x.restore(),w[e]=n}),Q.release(x)),this.process=function(t,e,i,n,r){var v=e.canvas,p="normal"===t;if(p||w[t])i.save(),i.setTransform(1,0,0,1,0,0),i.globalAlpha=n,p||(i.globalCompositeOperation=t),i.drawImage(v,r.x,r.y),i.restore();else{var m=y[t];if(!m)return;for(var x=i.getImageData(r.x,r.y,v.width,v.height),b=x.data,C=e.getImageData(0,0,v.width,v.height).data,S=0,P=b.length;S=2&&!t.hasHandles())if(h>2){a=t._closed?"polygon":"polyline";for(var l=[],c=0;c, + +License: + LGPL - Lesser General Public License + +Credits: + - Algorithm based on +*/ + +/* + Class: NETXUS.RectanglePacker + A class that finds an 'efficient' position for a rectangle inside another rectangle + without overlapping the space already taken. + + Algorithm based on + + It uses a binary tree to partition the space of the parent rectangle and allocate the + passed rectangles by dividing the partitions into filled and empty. +*/ + + +// Create a NETXUS namespace object if it doesn't exists +if (typeof NETXUS === 'undefined') + var NETXUS = function() {}; + + +/* + Constructor: NETXUS.RectanglePacker + Initializes the object with the given maximum dimensions + + Parameters: + + width - The containing rectangle maximum width as integer + height - The containing rectangle maximum height as integer + +*/ +NETXUS.RectanglePacker = function ( width, height ) { + + this.root = {}; + + // initialize + this.reset( width, height ); +} + + +/* + Resets the object to its initial state by initializing the internal variables + + Parameters: + + width - The containing rectangle maximum width as integer + height - The containing rectangle maximum height as integer +*/ +NETXUS.RectanglePacker.prototype.reset = function ( width, height ) { + this.root.x = 0; + this.root.y = 0; + this.root.w = width; + this.root.h = height; + delete this.root.lft; + delete this.root.rgt; + + this.usedWidth = 0; + this.usedHeight = 0; +} + + +/* + Returns the actual used dimensions of the containing rectangle. + + Returns: + + A object composed of the properties: 'w' for width and 'h' for height. +*/ +NETXUS.RectanglePacker.prototype.getDimensions = function () { + return { w: this.usedWidth, h: this.usedHeight }; +} + + +/* + Finds a suitable place for the given rectangle + + Parameters: + + w - The rectangle width as integer. + h - The rectangle height as integer. + + Returns: + + If there is room for the rectangle then returns the coordinates as an object + composed of 'x' and 'y' properties. + If it doesn't fit returns null +*/ +NETXUS.RectanglePacker.prototype.findCoords = function ( w, h ) { + + // private function to traverse the node tree by recursion + function recursiveFindCoords ( node, w, h ) { + + // private function to clone a node coords and size + function cloneNode ( node ) { + return { + x: node.x, + y: node.y, + w: node.w, + h: node.h + }; + } + + // if we are not at a leaf then go deeper + if ( node.lft ) { + // check first the left branch if not found then go by the right + var coords = recursiveFindCoords( node.lft, w, h ); + return coords ? coords : recursiveFindCoords( node.rgt, w, h ); + } + else + { + // if already used or it's too big then return + if ( node.used || w > node.w || h > node.h ) + return null; + + // if it fits perfectly then use this gap + if ( w == node.w && h == node.h ) { + node.used = true; + return { x: node.x, y: node.y }; + } + + // initialize the left and right leafs by clonning the current one + node.lft = cloneNode( node ); + node.rgt = cloneNode( node ); + + // checks if we partition in vertical or horizontal + if ( node.w - w > node.h - h ) { + node.lft.w = w; + node.rgt.x = node.x + w; + node.rgt.w = node.w - w; + } else { + node.lft.h = h; + node.rgt.y = node.y + h; + node.rgt.h = node.h - h; + } + + return recursiveFindCoords( node.lft, w, h ); + } + } + + // perform the search + var coords = recursiveFindCoords( this.root, w, h ); + // if fitted then recalculate the used dimensions + if (coords) { + if ( this.usedWidth < coords.x + w ) + this.usedWidth = coords.x + w; + if ( this.usedHeight < coords.y + h ) + this.usedHeight = coords.y + h; + } + return coords; +} + +function UnionFind(count) { + this.roots = new Array(count); + this.ranks = new Array(count); + + for(var i=0; i>>4)+"."+(e[9]&15);k.P=A(e,12,4);k.a=A(e,16,4);k.p=A(e,20,4);k.v=a(e,24); +for(var z=0;z<5;z++)k.v+="."+a(e,26+2*z);k.platform=A(e,40,4);k.d=L(e,44);k.k=A(e,48,4);k.l=L(e,52); +k.Q=[L(e,56),L(e,60)];k.U=L(e,64);k.A=d(e,68);k.h=A(e,80,4);return k}function F(e,n){var A=I,L={},k=A(e,n); +n+=4;for(var z=0;z>>1)}}function u(e,n,A,L){var k=I(n,A); +A+=4;e.r=t(n,A,k-1);A+=k;var z=I(n,A);A+=4;var r=I(n,A);A+=4;e.e=i(n,A,r);A+=r;var s=a(n,A);A+=2;var x=n[A]; +A++;e.z=t(n,A,x)}function H(e,n,A,L){var k=A-8;e.L=n[A];A++;e.u=n[A];A++;A+=2;var z=I(n,A);A+=4;var r=I(n,A); +A+=4;var s=I(n,A);A+=4;var x=I(n,A);A+=4;var j=I(n,A);A+=4;if(z!=0){e.S=[];A=k+z;for(var b=0;bH?l:(116*m-16)/u,c=q>H?q:(116*w-16)/u,p=J>H?J:(116*K-16)/u,d=p*96.72,e=c*100,n=M*81.427,A=d/100,k=e/100,D=n/100,z=v.O,r=[z[0]*A+z[1]*k+z[2]*D,z[3]*A+z[4]*k+z[5]*D,z[6]*A+z[7]*k+z[8]*D]; +for(var s=0;s<3;s++)r[s]=Math.max(0,Math.min(255,v.m(r[s])*255));return{g:r[0],q:r[1],N:r[2]}}};v.R=function(){var F=[],o=[]; +for(var D=0;D<2e3;D++){var u=D/1e3;F[D]=v.G(u);o[D]=u>.008856?Math.pow(u,1/3):(903.3*u+16)*(1/116)}return[F,o]}(); +function C(F,o){var D=o*o*o,u=D*3,H=1/(o-1),w=[];for(var q=0;q1?J.o:null; +for(var d=0;d>2]|=t[r]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(a[e>>2]|=(224|i>>12)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=64?(this.block=a[16],this.start=e-64,this.hash(),this.hashed=!0):this.start=e}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},t.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,h=this.lastByteIndex;t[16]=this.block,t[h>>2]|=o[3&h],this.block=t[16],h>=56&&(this.hashed||this.hash(),t[0]=this.block,t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0),t[14]=this.hBytes<<3|this.bytes>>>29,t[15]=this.bytes<<3,this.hash()}},t.prototype.hash=function(){var t,h,s=this.h0,i=this.h1,e=this.h2,r=this.h3,o=this.h4,n=this.blocks;for(t=16;t<80;++t)h=n[t-3]^n[t-8]^n[t-14]^n[t-16],n[t]=h<<1|h>>>31;for(t=0;t<20;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i&e|~i&r)+o+1518500249+n[t]<<0)<<5|o>>>27)+(s&(i=i<<30|i>>>2)|~s&e)+r+1518500249+n[t+1]<<0)<<5|r>>>27)+(o&(s=s<<30|s>>>2)|~o&i)+e+1518500249+n[t+2]<<0)<<5|e>>>27)+(r&(o=o<<30|o>>>2)|~r&s)+i+1518500249+n[t+3]<<0)<<5|i>>>27)+(e&(r=r<<30|r>>>2)|~e&o)+s+1518500249+n[t+4]<<0,e=e<<30|e>>>2;for(;t<40;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i^e^r)+o+1859775393+n[t]<<0)<<5|o>>>27)+(s^(i=i<<30|i>>>2)^e)+r+1859775393+n[t+1]<<0)<<5|r>>>27)+(o^(s=s<<30|s>>>2)^i)+e+1859775393+n[t+2]<<0)<<5|e>>>27)+(r^(o=o<<30|o>>>2)^s)+i+1859775393+n[t+3]<<0)<<5|i>>>27)+(e^(r=r<<30|r>>>2)^o)+s+1859775393+n[t+4]<<0,e=e<<30|e>>>2;for(;t<60;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i&e|i&r|e&r)+o-1894007588+n[t]<<0)<<5|o>>>27)+(s&(i=i<<30|i>>>2)|s&e|i&e)+r-1894007588+n[t+1]<<0)<<5|r>>>27)+(o&(s=s<<30|s>>>2)|o&i|s&i)+e-1894007588+n[t+2]<<0)<<5|e>>>27)+(r&(o=o<<30|o>>>2)|r&s|o&s)+i-1894007588+n[t+3]<<0)<<5|i>>>27)+(e&(r=r<<30|r>>>2)|e&o|r&o)+s-1894007588+n[t+4]<<0,e=e<<30|e>>>2;for(;t<80;t+=5)s=(h=(i=(h=(e=(h=(r=(h=(o=(h=s<<5|s>>>27)+(i^e^r)+o-899497514+n[t]<<0)<<5|o>>>27)+(s^(i=i<<30|i>>>2)^e)+r-899497514+n[t+1]<<0)<<5|r>>>27)+(o^(s=s<<30|s>>>2)^i)+e-899497514+n[t+2]<<0)<<5|e>>>27)+(r^(o=o<<30|o>>>2)^s)+i-899497514+n[t+3]<<0)<<5|i>>>27)+(e^(r=r<<30|r>>>2)^o)+s-899497514+n[t+4]<<0,e=e<<30|e>>>2;this.h0=this.h0+s<<0,this.h1=this.h1+i<<0,this.h2=this.h2+e<<0,this.h3=this.h3+r<<0,this.h4=this.h4+o<<0},t.prototype.hex=function(){this.finalize();var t=this.h0,h=this.h1,s=this.h2,i=this.h3,e=this.h4;return r[t>>28&15]+r[t>>24&15]+r[t>>20&15]+r[t>>16&15]+r[t>>12&15]+r[t>>8&15]+r[t>>4&15]+r[15&t]+r[h>>28&15]+r[h>>24&15]+r[h>>20&15]+r[h>>16&15]+r[h>>12&15]+r[h>>8&15]+r[h>>4&15]+r[15&h]+r[s>>28&15]+r[s>>24&15]+r[s>>20&15]+r[s>>16&15]+r[s>>12&15]+r[s>>8&15]+r[s>>4&15]+r[15&s]+r[i>>28&15]+r[i>>24&15]+r[i>>20&15]+r[i>>16&15]+r[i>>12&15]+r[i>>8&15]+r[i>>4&15]+r[15&i]+r[e>>28&15]+r[e>>24&15]+r[e>>20&15]+r[e>>16&15]+r[e>>12&15]+r[e>>8&15]+r[e>>4&15]+r[15&e]},t.prototype.toString=t.prototype.hex,t.prototype.digest=function(){this.finalize();var t=this.h0,h=this.h1,s=this.h2,i=this.h3,e=this.h4;return[t>>24&255,t>>16&255,t>>8&255,255&t,h>>24&255,h>>16&255,h>>8&255,255&h,s>>24&255,s>>16&255,s>>8&255,255&s,i>>24&255,i>>16&255,i>>8&255,255&i,e>>24&255,e>>16&255,e>>8&255,255&e]},t.prototype.array=t.prototype.digest,t.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(20),h=new DataView(t);return h.setUint32(0,this.h0),h.setUint32(4,this.h1),h.setUint32(8,this.h2),h.setUint32(12,this.h3),h.setUint32(16,this.h4),t};var y=c();i?module.exports=y:(h.sha1=y,e&&define(function(){return y}))}();var EXRLoader={parse:function(e){var r={FloatType:1,UnsignedByteType:2,HalfFloatType:3,RGBEFormat:4};this.type=r.FloatType;var a=65536,n=a>>3,t=14,i=65537,o=1<>>20&2047;0===r&&(M.setFloat64(0,e*Math.pow(2,64)),r=(M.getUint32(0)>>>20&2047)-64);var a=r-1022;return[function(e,r){for(var a=Math.min(3,Math.ceil(Math.abs(r)/1023)),n=e,t=0;t>a&(1<n)return!1;I(6,u,h,e,l);var w=O.l;if(u=O.c,h=O.lc,f[t]=w,w==v){if(l.value-a.value>n)throw"Something wrong with hufUnpackEncTable";I(8,u,h,e,l);var p=O.l+c;if(u=O.c,h=O.lc,t+p>o+1)throw"Something wrong with hufUnpackEncTable";for(;p--;)f[t++]=0;t--}else if(w>=s){if(t+(p=w-s+2)>o+1)throw"Something wrong with hufUnpackEncTable";for(;p--;)f[t++]=0;t--}}!function(e){for(var r=0;r<=58;++r)E[r]=0;for(r=0;r0;--r){var n=a+E[r]>>1;E[r]=a,a=n}for(r=0;r0&&(e[r]=t|E[t]++<<6)}}(f)}function x(e){return 63&e}function P(e){return e>>6}var z={c:0,lc:0};function N(e,r,a,n){e=e<<8|te(a,n),r+=8,z.c=e,z.lc=r}var T={c:0,lc:0};function k(e,r,a,n,t,i,o,f,l,u){if(e==r){n<8&&(N(a,n,t,o),a=z.c,n=z.lc);var s=a>>(n-=8);s=new Uint8Array([s])[0];if(l.value+s>u)return!1;for(var v=f[l.value-1];s-- >0;)f[l.value++]=v}else{if(!(l.value32767?r-65536:r}var F={a:0,b:0};function B(e,r){var a=D(e),n=D(r),t=a+(1&n)+(n>>1),i=t,o=t-n;F.a=i,F.b=o}function L(e,r){var a=_(e),n=_(r),t=a-(n>>1)&u,i=n+t-l&u;F.a=i,F.b=t}function X(e,r,a,n,t,i,o){for(var f,l=o<16384,u=a>t?t:a,s=1;s<=u;)s<<=1;for(f=s>>=1,s>>=1;s>=1;){for(var v,c,h,w,p=0,y=p+i*(t-f),d=i*s,g=i*f,A=n*s,S=n*f;p<=y;p+=g){for(var U=p,b=p+n*(a-f);U<=b;U+=S){var m=U+A,M=(C=U+d)+A;l?(B(e[U+r],e[C+r]),v=F.a,h=F.b,B(e[m+r],e[M+r]),c=F.a,w=F.b,B(v,c),e[U+r]=F.a,e[m+r]=F.b,B(h,w),e[C+r]=F.a,e[M+r]=F.b):(L(e[U+r],e[C+r]),v=F.a,h=F.b,L(e[m+r],e[M+r]),c=F.a,w=F.b,L(v,c),e[U+r]=F.a,e[m+r]=F.b,L(h,w),e[C+r]=F.a,e[M+r]=F.b)}if(a&s){var C=U+d;l?B(e[U+r],e[C+r]):L(e[U+r],e[C+r]),v=F.a,e[C+r]=F.b,e[U+r]=v}}if(t&s)for(U=p,b=p+n*(a-f);U<=b;U+=S){m=U+A;l?B(e[U+r],e[m+r]):L(e[U+r],e[m+r]),v=F.a,e[m+r]=F.b,e[U+r]=v}f=s,s>>=1}return p}function V(e,r,a,n,l,u){var s=a.value,v=ne(r,a),c=ne(r,a);a.value+=4;var h=ne(r,a);if(a.value+=4,v<0||v>=i||c<0||c>=i)throw"Something wrong with HUF_ENCSIZE";var w=new Array(i),p=new Array(o);if(function(e){for(var r=0;r8*(n-(a.value-s)))throw"Something wrong with hufUncompress";!function(e,r,a,n){for(;r<=a;r++){var i=P(e[r]),o=x(e[r]);if(i>>o)throw"Invalid table entry";if(o>t){if((s=n[i>>o-t]).len)throw"Invalid table entry";if(s.lit++,s.p){var f=s.p;s.p=new Array(s.lit);for(var l=0;l0;l--){var s;if((s=n[(i<=t;)if((A=r[c>>h-t&f]).len)h-=A.len,k(A.lit,l,c,h,a,0,i,s,v,w),c=T.c,h=T.lc;else{if(!A.p)throw"hufDecode issues";var y;for(y=0;y=d&&P(e[A.p[y]])==(c>>h-d&(1<>=g,h-=g;h>0;){var A;if(!(A=r[c<i||(r[t++]=e[a++],t>i));)r[t++]=e[n++]}function W(e){for(var r=e.byteLength,a=new Array,n=0,t=new DataView(e);r>0;){var i=t.getInt8(n++);if(i<0){r-=(f=-i)+1;for(var o=0;o>8==255?t+=255&n:(a[t]=n,t++),e.value++}function Y(e,r){r[0]=le(e[0]),r[1]=le(e[1]),r[2]=le(e[5]),r[3]=le(e[6]),r[4]=le(e[14]),r[5]=le(e[15]),r[6]=le(e[27]),r[7]=le(e[28]),r[8]=le(e[2]),r[9]=le(e[4]),r[10]=le(e[7]),r[11]=le(e[13]),r[12]=le(e[16]),r[13]=le(e[26]),r[14]=le(e[29]),r[15]=le(e[42]),r[16]=le(e[3]),r[17]=le(e[8]),r[18]=le(e[12]),r[19]=le(e[17]),r[20]=le(e[25]),r[21]=le(e[30]),r[22]=le(e[41]),r[23]=le(e[43]),r[24]=le(e[9]),r[25]=le(e[11]),r[26]=le(e[18]),r[27]=le(e[24]),r[28]=le(e[31]),r[29]=le(e[40]),r[30]=le(e[44]),r[31]=le(e[53]),r[32]=le(e[10]),r[33]=le(e[19]),r[34]=le(e[23]),r[35]=le(e[32]),r[36]=le(e[39]),r[37]=le(e[45]),r[38]=le(e[52]),r[39]=le(e[54]),r[40]=le(e[20]),r[41]=le(e[22]),r[42]=le(e[33]),r[43]=le(e[38]),r[44]=le(e[46]),r[45]=le(e[51]),r[46]=le(e[55]),r[47]=le(e[60]),r[48]=le(e[21]),r[49]=le(e[34]),r[50]=le(e[37]),r[51]=le(e[47]),r[52]=le(e[50]),r[53]=le(e[56]),r[54]=le(e[59]),r[55]=le(e[61]),r[56]=le(e[35]),r[57]=le(e[36]),r[58]=le(e[48]),r[59]=le(e[49]),r[60]=le(e[57]),r[61]=le(e[58]),r[62]=le(e[62]),r[63]=le(e[63])}function j(e){for(var r=.5*Math.cos(.7853975),a=.5*Math.cos(.196349375),n=.5*Math.cos(.39269875),t=.5*Math.cos(3*3.14159/16),i=.5*Math.cos(.981746875),o=.5*Math.cos(3*3.14159/8),f=.5*Math.cos(1.374445625),l=new Array(4),u=new Array(4),s=new Array(4),v=new Array(4),c=0;c<8;++c){var h=8*c;l[0]=n*e[h+2],l[1]=o*e[h+2],l[2]=n*e[h+6],l[3]=o*e[h+6],u[0]=a*e[h+1]+t*e[h+3]+i*e[h+5]+f*e[h+7],u[1]=t*e[h+1]-f*e[h+3]-a*e[h+5]-i*e[h+7],u[2]=i*e[h+1]-a*e[h+3]+f*e[h+5]+t*e[h+7],u[3]=f*e[h+1]-i*e[h+3]+t*e[h+5]-a*e[h+7],s[0]=r*(e[h+0]+e[h+4]),s[3]=r*(e[h+0]-e[h+4]),s[1]=l[0]+l[3],s[2]=l[1]-l[2],v[0]=s[0]+s[1],v[1]=s[3]+s[2],v[2]=s[3]-s[2],v[3]=s[0]-s[1],e[h+0]=v[0]+u[0],e[h+1]=v[1]+u[1],e[h+2]=v[2]+u[2],e[h+3]=v[3]+u[3],e[h+4]=v[3]-u[3],e[h+5]=v[2]-u[2],e[h+6]=v[1]-u[1],e[h+7]=v[0]-u[0]}for(var w=0;w<8;++w)l[0]=n*e[16+w],l[1]=o*e[16+w],l[2]=n*e[48+w],l[3]=o*e[48+w],u[0]=a*e[8+w]+t*e[24+w]+i*e[40+w]+f*e[56+w],u[1]=t*e[8+w]-f*e[24+w]-a*e[40+w]-i*e[56+w],u[2]=i*e[8+w]-a*e[24+w]+f*e[40+w]+t*e[56+w],u[3]=f*e[8+w]-i*e[24+w]+t*e[40+w]-a*e[56+w],s[0]=r*(e[w]+e[32+w]),s[3]=r*(e[w]-e[32+w]),s[1]=l[0]+l[3],s[2]=l[1]-l[2],v[0]=s[0]+s[1],v[1]=s[3]+s[2],v[2]=s[3]-s[2],v[3]=s[0]-s[1],e[0+w]=v[0]+u[0],e[8+w]=v[1]+u[1],e[16+w]=v[2]+u[2],e[24+w]=v[3]+u[3],e[32+w]=v[3]-u[3],e[40+w]=v[2]-u[2],e[48+w]=v[1]-u[1],e[56+w]=v[0]-u[0]}function q(e){for(var r=0;r<64;++r){var a=e[0][r],n=e[1][r],t=e[2][r];e[0][r]=a+1.5747*t,e[1][r]=a-.1873*n-.4682*t,e[2][r]=a+1.8556*n}}function J(e,r,a){for(var n=0;n<64;++n)r[a+n]=ue(K(e[n]))}function K(e){return e<=1?Math.sign(e)*Math.pow(Math.abs(e),2.2):Math.sign(e)*Math.pow(m,Math.abs(e)-1)}function Q(e){var r=e.array.slice(e.offset.value,e.offset.value+e.size),a=new Uint8Array(pako.inflate(r).buffer),n=new Uint8Array(a.length);return Z(a),H(a,n),new DataView(n.buffer)}function $(e){var r=e.viewer,a={value:e.offset.value},n=new Uint8Array(e.width*e.lines*(we.channels.length*e.type*y)),t={version:oe(r,a),unknownUncompressedSize:oe(r,a),unknownCompressedSize:oe(r,a),acCompressedSize:oe(r,a),dcCompressedSize:oe(r,a),rleCompressedSize:oe(r,a),rleUncompressedSize:oe(r,a),rleRawSize:oe(r,a),totalAcUncompressedCount:oe(r,a),totalDcUncompressedCount:oe(r,a),acCompression:oe(r,a)};if(t.version<2)throw"EXRLoader.parse: "+we.compression+" version "+t.version+" is unsupported";for(var i=new Array,o=se(r,a)-y;o>0;){var f=ee(r.buffer,a),l=ie(r,a),u=l>>2&3,s=new Int8Array([(l>>4)-1])[0],v=ie(r,a);i.push({name:f,index:s,type:v,compression:u}),o-=f.length+3}for(var c=we.channels,h=new Array(e.channels),w=0;w=0&&(m.idx[C.index]=M),p.offset=M)}if(t.acCompressedSize>0)switch(t.acCompression){case g:var O=new Uint16Array(t.totalAcUncompressedCount);V(e.array,r,a,t.acCompressedSize,O,t.totalAcUncompressedCount);break;case A:var I=e.array.slice(a.value,a.value+t.totalAcUncompressedCount);O=new Uint16Array(pako.inflate(I).buffer);a.value+=t.totalAcUncompressedCount}if(t.dcCompressedSize>0){var E={array:e.array,offset:a,size:t.dcCompressedSize},R=new Uint16Array(Q(E).buffer);a.value+=t.dcCompressedSize}if(t.rleRawSize>0){I=e.array.slice(a.value,a.value+t.rleCompressedSize);var x=W(pako.inflate(I).buffer);a.value+=t.rleCompressedSize}var P=0,z=new Array(h.length);for(w=0;w>10,a=1023&e;return(e>>15?-1:1)*(r?31===r?a?NaN:1/0:Math.pow(2,r-15)*(1+a/1024):a/1024*6103515625e-14)}function ue(e){M.setFloat32(0,e);var r=M.getInt32(0),a=r>>16&32768,n=r>>12&2047,t=r>>23&255;return t<103?a:t>142?(a|=31744,a|=(255==t?0:1)&&8388607&r):t<113?a|=((n|=2048)>>114-t)+(n>>113-t&1):(a|=t-112<<10|n>>1,a+=1&n)}function se(e,r){var a=e.getUint16(r.value,!0);return r.value+=y,a}function ve(e,r,a,n,t){return"string"===n||"stringvector"===n||"iccProfile"===n?function(e,r,a){var n=(new TextDecoder).decode(new Uint8Array(e).slice(r.value,r.value+a));return r.value=r.value+a,n}(r,a,t):"chlist"===n?function(e,r,a,n){for(var t=a.value,i=[];a.value=n)throw"Something is wrong with PIZ_COMPRESSION BITMAP_SIZE";if(v<=c)for(s=0;s>3]&1<<(7&t))&&(r[n++]=t);for(var i=n-1;nRe?Re-ze:Se,ke.offset=pe,ke.size=xe,Ne=Ae(ke),pe.value+=xe;for(var Fe=0;Fe=Re)break;for(var Le=0;Le(We=qe>Je?qe:Je)?Ke:We)<1e-32)Ge[Oe]=Ge[Oe+1]=Ge[Oe+2]=Ge[Oe+3]=0;else{var Qe=C(We);We=256*Qe[0]/We,Ge[Oe]=qe*We,Ge[Oe+1]=Je*We,Ge[Oe+2]=Ke*We,Ge[Oe+3]=Qe[1]+128}}Pe=Ge}var $e=this.type===r.UnsignedByteType?r.RGBEFormat:r.RGBAFormat;return{header:we,width:Ee,height:Re,data:Pe,format:$e,type:this.type}}}; \ No newline at end of file diff --git a/www.photopea.com/code/external/fribidi.wasm b/www.photopea.com/code/external/fribidi.wasm index 5bb208d..4b8a476 100644 Binary files a/www.photopea.com/code/external/fribidi.wasm and b/www.photopea.com/code/external/fribidi.wasm differ diff --git a/www.photopea.com/code/external/hb.wasm b/www.photopea.com/code/external/hb.wasm index 5bb208d..3bfed4c 100644 Binary files a/www.photopea.com/code/external/hb.wasm and b/www.photopea.com/code/external/hb.wasm differ diff --git a/www.photopea.com/code/pp.js b/www.photopea.com/code/pp.js index 5bb208d..59e9f83 100644 --- a/www.photopea.com/code/pp.js +++ b/www.photopea.com/code/pp.js @@ -1,33 +1,11634 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - +(function(){function fG(){this.wV={};this.gD={}}fG.A2=[];fG.Iq=function(Z){var S=fG.A2;if(S.length!=0){var b=new d(s.E.J1); +for(var D=0;D0};fG.prototype.addEventListener=function(Z,S){this.i(Z,S,null)}; +fG.prototype.i=function(Z,S,b){if(this.wV[Z]==null){this.wV[Z]=[];this.gD[Z]=[]}this.wV[Z].push(S);this.gD[Z].push(b); +if(Z==s.E.J1){var Y=fG.A2;if(Y.indexOf(this)==-1)Y.push(this)}};fG.prototype.removeEventListener=function(Z,S){var b=this.wV[Z]; +if(b==null)return;var Y=b.indexOf(S);if(Y<0)return;var P=this.gD[Z];b.splice(Y,1);P.splice(Y,1);if(Z==s.E.J1&&b.length==0){var w=fG.A2; +w.splice(w.indexOf(this),1)}};fG.prototype.m=function(Z){Z.currentTarget=this;if(Z.target==null)Z.target=this; +var S=this.wV[Z.type];if(S==null)return;var b=this.gD[Z.type];for(var D=0;D=0; +if(Z==null)return"";var b=[];for(var D=0;D>>D&1)==1)break;D++}if(S==0||b[D][1]==""){if((S&15)!=0&&a2._V(Z,[33,126])>.7)D=0; +else if(S==0)D=0;else{D=0}}return b[D][1]};a2.a6=120;a2.wk=20;a2.cols=16;a2.o9=function(Z){var S=Z.name.postScriptName; +if(S==null)return null;return S.replace(/ /g,"-")};a2.lJ=function(Z){var S=Z.name,b=S.typoFamilyName?S.typoFamilyName:S.fontFamily,Y=S.typoSubfamilyName?S.typoSubfamilyName:S.fontSubfamily,P=a2.aih,w=b.toLowerCase(); +for(var D=0;D128)P=this.OO(S,P);if(this.aij[Z]==null){this.aij[Z]=1; +var l=Date.now()-this.amb>2e3?2e3:0;this.amb=Date.now();alert(Z+" \u27A1 "+P,l)}return this.NI(P,S)}this.Ug[Z]="a"; +var O=new d(s.E.P,!0);O.data={e:s.U.LV,Sz:{url:"rsrc/fonts/"+b}};this.m(O)};a2.prototype.OO=function(Z,S,b){var Y=this.tM[S]; +if(Y&&Typr.U.codeToGlyph(Y,Z)!=0)return S;var P=this.tO(),w=a2.a5Q(Z),f=w[0];if(P[S]&&(P[S][3]&f)==0){if(b)for(var D=0; +Dh?1:0}for(var D=0;DS[2])return 1;return 0};a2.a5I=function(Z,S){if(Z[5]=="fs/"+Z[2]+".otf")Z[5]=""; +else if(Z[5]=="gf/"+Z[2]+".otf")Z[5]="a";if(Z[2]==(Z[0]+"-"+Z[1]).replace(/\s/g,"")){Z[2]=""}else if(Z[2]==Z[0].replace(/\s/g,"")){Z[2]="a"}if(S){if(Z[0]==S[0])Z[0]=""; +if(Z[1]==S[1])Z[1]="";if(Z[3]==S[3])Z[3]="";if(Z[4]==S[4])Z[4]=""}return Z.join(",")};a2.ae0=function(Z,S){Z=Z.split(","); +if(Z[0]=="")Z[0]=S[0];if(Z[1]=="")Z[1]=S[1];if(Z[3]=="")Z[3]=S[3];else Z[3]=parseInt(Z[3]);if(Z[4]=="")Z[4]=S[4]; +else Z[4]=parseInt(Z[4]);if(Z[2]=="")Z[2]=(Z[0]+"-"+Z[1]).replace(/\s/g,"");else if(Z[2]=="a")Z[2]=Z[0].replace(/\s/g,""); +if(Z[5]=="")Z[5]="fs/"+Z[2]+".otf";else if(Z[5]=="a")Z[5]="gf/"+Z[2]+".otf";return Z};a2.a0W={ArialMT:"LiberationSans","Arial-BoldMT":"LiberationSans-Bold","Arial-ItalicMT":"LiberationSans-Italic","Arial-BoldItalicMT":"LiberationSans-BoldItalic",TimesNewRomanPSMT:"LiberationSerif","TimesNewRomanPS-BoldMT":"LiberationSerif-Bold","TimesNewRomanPS-ItalicMT":"LiberationSerif-Italic","TimesNewRomanPS-BoldItalicMT":"LiberationSerif-BoldItalic",CourierNewPSMT:"LiberationMono","CourierNewPS-BoldMT":"LiberationMono-Bold","CourierNewPS-ItalicMT":"LiberationMono-Italic","CourierNewPS-BoldItalicMT":"LiberationMono-BoldItalic",Courier:"CourierPrime",TrebuchetMS:"SourceSansPro-Regular","TrebuchetMS-Bold":"SourceSansPro-Semibold","TrebuchetMS-Italic":"SourceSansPro-It","TrebuchetMS-BoldItalic":"SourceSansPro-SemiboldIt","Times-Roman":"LiberationSerif",Impact:"Anton-Regular",Calibri:"SourceSansPro-Regular","Calibri-Italic":"SourceSansPro-It","Calibri-Bold":"SourceSansPro-Bold",CalibriBold:"SourceSansPro-Bold","Times-Roman":"LiberationSerif","Times-Italic":"LiberationSerif-Italic","Times-Bold":"LiberationSerif-Bold","Helvetica-Bold":"LiberationSans-Bold","HelveticaNeue-Thin":"Roboto-Thin","HelveticaNeue-Light":"Roboto-Light",HelveticaNeue:"Roboto-Regular","HelveticaNeue-Roman":"Roboto-Regular","HelveticaNeue-Medium":"Roboto-Medium","HelveticaNeue-Bold":"Roboto-Bold","HelveticaNeue-BoldItalic":"Roboto-BoldItalic","HelveticaNeue-Black":"Roboto-Black","HelveticaNeue-Heavy":"Roboto-Black","SFProText-Light":"Roboto-Light","SFProText-Regular":"Roboto-Regular","SFProText-Roman":"Roboto-Regular","SFProText-Medium":"Roboto-Medium","SFProText-Semibold":"Roboto-Medium","SFProText-Bold":"Roboto-Bold","SFProText-BoldItalic":"SFProText-BoldItalic","SFProText-Black":"Roboto-Black","SFProText-Heavy":"Roboto-Black","SFProDisplay-Light":"Roboto-Light","SFProDisplay-Regular":"Roboto-Regular","SFProDisplay-Roman":"Roboto-Regular","SFProDisplay-Medium":"Roboto-Medium","SFProDisplay-Semibold":"Roboto-Medium","SFProDisplay-Bold":"Roboto-Bold","SFProDisplay-BoldItalic":"SFProDisplay-BoldItalic","SFProDisplay-Black":"Roboto-Black","SFProDisplay-Heavy":"Roboto-Black","SFUIText-Light":"Roboto-Light","SFUIText-Regular":"Roboto-Regular","SFUIText-Roman":"Roboto-Regular","SFUIText-Medium":"Roboto-Medium","SFUIText-Semibold":"Roboto-Medium","SFUIText-Bold":"Roboto-Bold","SFUIText-BoldItalic":"SFUIText-BoldItalic","SFUIText-Black":"Roboto-Black","SFUIText-Heavy":"Roboto-Black",Verdana:"DejaVuSans","Verdana-Bold":"DejaVuSans-Bold","Verdana-Italic":"DejaVuSans-Oblique","Verdana-BoldItalic":"DejaVuSans-BoldOblique","MyriadPro-Regular":"PTSans-Regular","MyriadPro-Bold":"PTSans-Bold","MyriadPro-LightIt":"PTSans-Italic","MyriadPro-Semibold":"PTSans-Bold","MyriadPro-BlackCond":"PTSans-NarrowBold",Cambria:"Oranienbaum-Regular",Georgia:"CharisSIL","Georgia-Bold":"CharisSIL-Bold","Georgia-Italic":"CharisSIL-Italic","Georgia-BoldItalic":"CharisSIL-BoldItalic","AGaramondPro-Regular":"EBGaramond08-Regular","AGaramondPro-Bold":"EBGaramond08-Bold","AGaramondPro-Italic":"EBGaramond08-Italic",Garamond:"EBGaramond08-Regular",FontAwesome:"FontAwesome5FreeSolid","ProximaNova-Regular":"Metropolis-Regular","ProximaNova-Semibold":"Metropolis-SemiBold","ProximaNova-Light":"Metropolis-Light",BellMT:"GalatiaSIL",PalatinoLinotype:"TeXGyrePagella-Regular","PalatinoLinotype-Bold":"TeXGyrePagella-Bold","PalatinoLinotype-Italic":"TeXGyrePagella-Italic","PalatinoLinotype-BoldItalic":"TeXGyrePagella-BoldItalic"}; +a2.prototype.tO=function(){if(FNTS.map==null){var Z=FNTS.list,S=[];for(var D=0;DS()/20};fv.gx=function(){return fv.anp()!=null}; +fv.Po=function(){return fv.A7};fv.wi=function(Z){window.addEventListener("message",fv.aex,!1);setInterval(fv.bF,5e3); +if(fv.gx()){fv.ON=Z;fv.MV()}else setTimeout(Z,1)};fv.bF=function(){if(fv.gx()&&fv.bU){fv.at(fv.WH()); +fv.bU=!1}};fv.H3=function(Z){fv.ON=Z;var S="https://www.photopea.com/papi/login.php?redirect="+encodeURIComponent(window.location.href); +fv.Nk=window.open(S,"_blank")};fv.ajK=function(){localStorage.removeItem(fv.io+"_uid");localStorage.removeItem(fv.io+"_provider"); +localStorage.removeItem(fv.io+"_token");fv.A7=null};fv.aex=function(Z){if(Z.data instanceof ArrayBuffer||Z.data instanceof Object)return; +if(Z.data.charAt(0)!="{")return;var S=JSON.parse(Z.data);if(S.prms==null)return;var b=S.prms.split(","); +if(b[0]=="papi_logged_in"){localStorage[fv.io+"_uid"]=b[1];fv.Bs(b[2]);localStorage[fv.io+"_provider"]=b[3]; +fv.Nk.close();fv.MV()}if(b[0]=="payment_complete"){fv.XR.close();fv.MV()}};fv.anp=function(){var Z=localStorage[fv.io+"_token"]; +if(Z!=null&&Date.now()*.001+10w?1:-1;if(h)return-1;if(Q)return 1;return P>w?1:-1},S=LNG.langs.slice(0);S.sort(Z); +return S};aV.a55=function(Z){aV.TP=Z};aV.YF=function(Z){for(var D=0;D")==-1)aV.dh[JSON.stringify(Z[D])]=Z[D+1]}; +aV.Ky=function(Z){var S=-1,b=LNG.langs;for(var D=0;D&\x7F"); +if(s.ei[l]!=!0){h=1}var O=S[Y](Z("u}-"));O[Q](Z("zx"),e);O[Q](Z("$(0&\""),Z("(}{.%ZXVY5){h=4}b[f](O)}if(af.hB)h=5; +if(af.SC)h=6;return h};af.a3$=function(Z){var S=s.Qk("y),+1ZRU:.787=mlITWRZVgphaifg}u~!C{+,P5)2328eDPnDJ\\NhYdgbjf2q}"),b={method:"HEAD",mode:"no-cors"},Y=new Request(S,b); +fetch(Y).then(function(P){return P}).then(function(P){Z(!1)}).catch(function(P){af.hB=!0;console.clear(); +Z(!0)})};af.al6=function(){var Z=s.r3("UU[YW#ECC8"),S=s.r3("VQ](RUK>@B8p71*03m}x'"),b=s.r3("WQRMKT"),Y=this.a6G[Z][S](); +if(Y[b]<4){af.SC=!0;this.a9$(!0)}};af.adY=function(){var Z=s.ei._cwY,S=s.ei[s.ZJ("$y+n&-(5>@")],b="FQi[VE];;J6@?18',!'*3$|*niu~hgcWhlOUU`LOIT53A-11/)~$'>-cvys~_]k[RQiYHEJMWH@N--E$++|!|~t*hht,{HaWP_NrcLBNWIDN>049?5(+3qq}3$pp{ZjkoMi6UEJCLAQ/.+47-09>Tspy|ru~(xAaVl2Tcm]|LMZ\\",Y=String.fromCharCode(32); +Z(s.yt(b)+Y+Y+af.Jt());if(!fv.FE())S(af.adY,Math.round(Math.PI*1e4))};af.Zg=function(Z){var S=s.ZJ,b=s.ei[S("u#z/*%1:")],Y=S("t&|{1%h2.94@I"),P=S("$y+[145/+AC7"),w=S("%y/.`/1:.:C"),f=b[Y](Z[0]); +for(var h in Z[1]){if(h=="txt")f[w]=Z[1][h];else f[P](h,Z[1][h])}return f};af.a3I=function(Z,S,b,Y,P){s.Z9(b); +var w=s.ZJ,f=w("r$'\x7F+$f.283"),h=w("$y+[145/+AC7"),Q=w("rx{_3%1:u5BF:F@P"),e=w("#y'&~#("),l=w("$(0&\""),O=w("$&z"),m=w("r'0( "),V=w("%y/.`/1:.:C"),q=w("u}-"),K=s.Qk("zz*{+&"),z=s.ei[w("u#z/*%1:")],t=w("t&|{1%h2.94@I"),H=w("$w)#-4"),i=s.Qk("z#+ 05e,0300*300){var a=z[w("xy+_)%0+7@BtN,N[NWLNBc~iSbedj4,/fsy:%!~{+-5*6?[4CDhSqqY]aQ bai,kw)6/ \"#)}$D_JC8@9GRk@CFQT_z~zy\\.`*~q$}(/?L?H=?3ToZDSVU[%| Wdj+uqol{}&z'0L%45YDbbnnArE~}\"\"W$[hn/nz,92t*3+#D_=>D7R5f9bWJ\\V`gw%w!v}|-H3,!)\"0;T1P@Id%jeZb[it.juxs{w*y#>>AGFKkSVQFNGU`yVad_gcuen8p}w6V<7,4-;F_W4?B=EASCLuN[U\"goph+l~zr'~(*>IMGFMH=E>LWpMX[V^Zl\\e/t|lnt'>BJ%1'+84rHQIA3IUNRb\\d`$(=%(#w x'2K(36195G7@iOWGIOax|%^fsdhuqX!~-% .p7,2X\\qY\\]k!hsPVhZtepsnvr0P61&.'5@Y06H:TEPSNVRoorxW\\+3xl$%yX~o&5=3*270+30)S=3;if(Z>=4*270+30)S=4; +return S};af.anW=function(){var Z=s.ZJ,S=Z("r$'\x7F+$f.283"),b=Z("$y+[145/+AC7"),Y=Z("rx{_3%1:u5BF:F@P"),P=Z("#y'&~#("),w=Z("$(0&\""),f=Z("$&z"),h=Z("r'0( "),Q=Z("%y/.`/1:.:C"),e=Z("u}-"),l=s.Qk("zz*{+&"),O=s.ei[Z("u#z/*%1:")],m=Z("t&|{1%h2.94@I"),V=Z("$w)#-4"),q=s.Qk("z#+ 05e,0B:FPLJGCku+e[mqqp%nlz%yRNiTxA=MIJg,Rp7fhpeqz+*l>p:}46979O\\OX=IAVYj&pTWli -&pn/J5,(&#O),<0S`YJLDPPMXq-wpemft 9mp*++~1-N&N?C;GQMKHDlv,f\\nrrq&om{&zS=JC9@?OjUzI\\NRZh_T^awhw!hh~n21sv")),t=s.ei,H=-1,i=t[s.Qk("f#!}f")],y=s.Qk("xy'"),j=s.Qk("TU"),J=s.Qk("Vi"),g=0; +if(i&&i[y]){var A=i[y];if(A==J)H=0;if(A==j)H=1}var a=H==-1?null:af.Zg(z[H]),I=this.CA,E=this.a6W,c=this.head,u=this.XE,n=s.Qk("~u*\"'/P)9ADBCrlnR]"),o=[.2,.6,.2],x=Math.random(); +while(o[g]rzwc$!$V>CP/l{m|ww(.#'7SZYD7IIILLTPw]a!e\\phmurryz~.HON3*>6;CODBULryxdbff]qinv7>=!|!2.%916>^edSHFYPv~'$#bbijn}8EBE"),R=v.split(","),X=O[m](l); +for(var D=0;D9EN~Y,JpMSgcao'/gvx\"u\"+p&.'5@Y3A8MHCOX\"SSbTc^*nrjv37L}}-~.)TA?9G;`TLNM\\_^~f\\mmoqyn`t+*AV((7)83^7CIPEjn$il-megfuxw8|!x%A>fgyJWNX=LONT}ux]eUW]o-i3lz$s!|}**'2W;5Gd@=LRFLyOUl6cr=27=CAFKISWPKR,2FB@NgfhYc)u|Zf^mei\\\\V8' 4\"HMLN@k\"A9>CNIU^Ldlf^!2Fxm}%z#~@DKg(>2]AEPcgmd\\]cV|2rjlkz}|=&z' FJ_ESUYn"),M=O[m](V); +M[Q]=B;c[S](M)}}else if(E==2){var r=af.C3(u);if(!af.V6){af.V6=!0;var v=s.Qk("uu,{J*(R:5?GEIA@oHWXM$$'r/53eMR_>[j\\kffv|qu&bih3&888;;C?'lp0TK_W\\daahim|W^]\"x-%*2>31D;\")(SQUUL`X]eFMLoko!|s( %-mtsbWUh_&.,kkrsw'AI"),R=v.split(","),B=s.Qk("9z-)!5-68LW[UT[UCWg^WkY4!003~;A?9Ay 40.687FIHZz`RLalH@BApsrWm|$v(,BF[<465DGFfKMTJIOgdhXnbckgwst2R8\"40(<4=?[_UFFbmaY[Zilk,sihn'c(w.\"?_bH_NWZWSKML[^]}fjZptu%EH.CDGC97%9I2CRrX@NEZUP\\e\"hobr|Ynxtu*(._.1OL)55K;iIG#omySYmigu/)1j2PTTSgkS~\\Xm>twxrn%'z@=##9)W@6B;?OEGgqiw-^^#c* }k 0||,}-(EeK4_8GIRFR[AV^Wep*cqh}xs )R$$3%4/Z?C;Gcg|NN]O^Y%qoiwk1%|~}-0/O7->>@BJ?1E[Zq'XXgYhc/gsy!u;?T\"M6+=lCFGA=SUInpQQgW&ndpim}su;C:239,RJMPpQIKJY\\[{`d\\h%\"JK].;2JBQIM@@:{jcwe,102$Oe%|\"'2-9B0HPJBdu*\\Qah^fb$(/Kk\"uA%)4GKQH@AG:`uVNPO^a`!i^jc*.C)79=R"); +for(var N=0;N@rtvMOL"));eQ[b](s.Qk("t!x.1"),s.Qk("pu(y~1)?).4")); +var B=s.Qk("(u*:~%4<=5ECUu[VKSLZe~U[jrsk{y,/O50%-&4?X/5DLMEUSeehnmfm`8\\a%E-0tz*23+;9Y@G:eKSTLnPb^Vjbkm*.('.rx(01)97WAB<=@AQ#Iol}(ZY[1de3=mFuBL\"$TQ)__3`=lBpz|OQS*,)|'<$'(6K"),M=O[m](V); +M[Q]=B;eQ[S](M);I[S]($)}else if(E==2){var r=af.C3(u);for(var D=0;DA@suI|T"));eQ[b](s.Qk("t!x.1"),s.Qk("pu(y~1)?).4")); +var B=s.Qk("(u*:~%4<=5ECUu[VKSLZe~U[jrsk{y,/O50%-&4?X/5DLMEUSeehnmfm`8\\a%E-0tz*23+;9Y@G:eKSTLnPb^Vjbkm*.('.rx(01)97WAB<=@AQ#IolO(&]_5a43k>@uBLN!VQ_[dd`:[{ak\\Pfe#a[savi{u '6"),s.Qk("wu$.#"));M[Q]=B;c[S](M)}}else{console.log(2);var hN=O[m](V);hN.setAttribute(f,s.Qk("y),+1ZRU.@8iARrqq|S~P~Wcirdixxz$@$}0M2:*77D<Y17bIDNVTXPOTcd-245=+81v~/H&29T,2]D?IQOSKJO^_(-138&3,qy*C!-4O'-X?:DLJNFEJYZ#(,/4!.'lt%>{(/J\"(S:5?GEIA@ETU}#(%({)\"go 9v#*E|#N50:B@D<;@OPx}# $vU")),fq=[bI[0]]; +if(E==2)fq=bI.slice(1,1+af.C3(u));for(var D=0;DDate.now()*.001+30){while(d3.W1.length>0)d3.W1.pop()()}else{if(d3.m9==0)d3.m9=1; +gapi.auth.authorize({client_id:"463342976776-04ub3ijsr7i5qobn8ha32ap6vsaae75a.apps.googleusercontent.com",scope:["https://www.googleapis.com/auth/drive.install","https://www.googleapis.com/auth/drive.file"].join(" "),immediate:d3.m9==2?!1:!0},d3.a0u)}}; +d3.a0u=function(Z){if(Z&&!Z.error){d3.tD=Z;d3.m9=!1;d3.PA()}else if(d3.m9==1){d3.m9=2;d3.PA()}else alert("Error: "+Z.error)}; +d3.Tf=function(){return"access_token="+d3.tD.access_token+"&token_type="+d3.tD.token_type};d3.Qa=function(){return d3.tD.token_type+" "+d3.tD.access_token}; +function fK(){}fK.Vq=function(Z){var S=new Uint8Array(Z),b=0,Y={qr:[],kT:[],list:[]},P=k.gU(S,b);b+=2; +if(P<=2){return fK.a4P(S)}var w=k.gU(S,b);b+=2;var f=k.zG(S,b,8);b+=8;var h=k.r(S,b);b+=4;if(h>0)Y.qr=fK.WU(S,b,h,w,P); +b+=h;var Q=k.zG(S,b,8);b+=8;var e=k.r(S,b);b+=4;if(e>0)Y.kT=bQ.en(S,b,e);b+=e;var l=k.zG(S,b,8);b+=8; +var O=k.r(S,b);b+=4;if(O>0){var m={};gD.pP(S,m,b+4);Y.list=m.Brsh.v}b+=O;var V=Y.list;for(var D=0;D>>D&1;if(h){if(w==0){var Q=iS.k3(Z,S);S+=2+2*Q.length}else{var Q=iS.a6U(Z,S); +S+=256}P.push(Q)}else P.push(w==0?[0,0,255,255]:iS.agw())}var e=cL.VS("curv");for(var D=0;D<4;D++){if(w==0){var l=P[D],O=[]; +for(var m=0;m1){}if(m){if(m.v.masterFXSwitch==null)m.v.masterFXSwitch={t:"bool",v:!0}; +ak.mV(m.v)}}return Y};hn.JF=function(Z,S){Z.p2.Nm.v=S};hn.$C=function(Z){var S=new ca,b=0;k.WA(S,b,2); +b+=2;k.Nm(S,b,"8BSL");b+=4;k.WA(S,b,3);b+=2;var Y=b;b+=4;b=bQ.f3(S,b,Z.LN);k.DK(S,Y,b-Y-4);var P=Z.Vb.length; +k.DK(S,b,P);b+=4;for(var D=0;D>>2)-16;console.log(k.LO(S,V,64)); +console.log(k.LO(m,V,64));console.log(S.slice(V,V+64));console.log(m.slice(V,V+64));throw D}return[Y]}; +fM.YM=function(Z,S){var b=k.r(Z,S);return k.zG(Z,S+4,b)};fM.IY=function(Z,S,b){k.DK(Z,S,b.length);k.Nm(Z,S+4,b)}; +fM.$C=function(Z){var S=new ca,b=0;k.DK(S,b,16);b+=4;k.d3(S,b,Z.ep+"\0");b+=4+Z.ep.length*2+2;S.Ml(b,1); +S.data[b++]=Z.exp?1:0;var Y=Z.a_.length;k.DK(S,b,Y);b+=4;for(var D=0;D>>2)}else if(Y==3||Y==4){Q=new Float32Array(f*h*2); +var e=0,l=0,O=!0;b=Y==3?32:16+8+40;while(b1e3)throw"e";if(b==0)b=4;return k.zG(Z,S+4,b).trim()}; +gD.Vm=function(Z,S){var b=k.Dk(Z,S);return b==0?8:4+b};gD.uw=function(Z,S,b){var Y="warp list Comp xx xy yx yy tx ty PinP PnRt PnOv PnDp xor PuX0 PuX1 PuX2 PuX3 PuY0 PuY1 PuY2 PuY3 base kana ruby box flow trim then else".split(" "),P=4=12)Y[h].WL=k.zG(Z,S+8,4); +break;case"lsdk":Y.lsct={type:k.r(Z,S)};break;case"lyvr":Y[h]=k.r(Z,S);break;case"lnsr":var O={artb:1,bgnd:1,cont:1,layr:1,lset:1,rend:1,shap:1,user:1,____:null}; +Y[h]=k.zG(Z,S,4);break;case"lspf":Y[h]=k.r(Z,S);break;case"lclr":Y[h]=k.gU(Z,S);break;case"luni":Y[h]=k.U9(Z,S); +break;case"fxrp":Y[h]=new ar(k.j4(Z,S),k.j4(Z,S+8));break;case"artb":case"artd":Y[h]={};gD.pP(Z,Y[h],S+4); +break;case"SoCo":Y[h]={};gD.pP(Z,Y[h],S+4);break;case"GdFl":Y[h]={};gD.pP(Z,Y[h],S+4);ak.b$(Y[h],h); +break;case"PtFl":Y[h]={};gD.pP(Z,Y[h],S+4);ak.b$(Y[h],h);break;case"CgEd":var m=Y.brit=cL.VS("brit"),V={}; +gD.pP(Z,V,S+4);m.Brgh.v=V.Brgh?V.Brgh.v:0;m.Cntr.v=V.Cntr?V.Cntr.v:0;m.useLegacy.v=V.useLegacy?V.useLegacy.v:0; +break;case"brit":if(Y.brit==null){var m=Y.brit=cL.VS("brit"),V={};m.Brgh.v=k.S1(Z,S);m.Cntr.v=k.S1(Z,S+2); +m.useLegacy.v=!1}break;case"levl":var q=Z.buffer.slice(S,S+Q);Y[h]=bY.Vq(q);break;case"curv":Y[h]=iS.DD(Z,S,Q); +break;case"expA":var K=k.gU(Z,S),z=Y[h]=cL.VS("expA");z.Exps.v=k.Wi(Z,S+2);z.Ofst.v=k.Wi(Z,S+6);z.gammaCorrection.v=k.Wi(Z,S+10); +break;case"vibA":Y[h]={};gD.pP(Z,Y[h],S+4);break;case"hue2":Y[h]=iD.DD(Z,S,Q);break;case"blnc":var z=Y[h]=cL.VS(h); +z.PrsL.v=Z[S+18]==1;var t=["ShdL","MdtL","HghL"];for(var D=0;D<3;D++)for(var H=0;H<3;H++)z[t[D]].v[H].v=k.S1(Z,S+D*6+H*2); +break;case"blwh":var i={};gD.pP(Z,i,S+4);var z=cL.VS(h),y="Bl Cyn Grn Mgnt Rd Yllw tintColor useTint".split(" "); +for(var D=0;D>0&1)==1;r.kF=(N>>1&1)==0;r.isEnabled=(N>>2&1)==0; +r.b=hF.yi(Z,S+8,Q-8,w.c,w.v);break;case"shmd":Y[h]={};var eQ=k.r(Z,S),E=S+4;for(var D=0;D>0&1){h=S[b];b++}if(m>>1&1){Q=k.j4(S,b);b+=8}if(m>>2&1){e=S[b];b++}if(m>>3&1){l=k.j4(S,b); +b+=8}if((b-O&1)==1)b++;Z.jg=[h,Q,e,l]}else{if(Y==20)b+=2;else{Z.Wr=fj.Wn(S,b);b+=18}}return P+Y};fj.aaJ=function(Z,S,b){k.DK(S,b,0); +b+=4;if(Z.d==null)return b;var Y=Z.Y6(),P=Z.add.vmsk,w=b,f=!0;k.DK(S,b,0);k.bW(S,b,Z.d.rect);b+=16;k.sL(S,b,Z.d.color); +b+=1;fj.ma(Z.d,S,b,f);b+=1;if(f){if(Z.Wr){fj.ad2(S,b,Z.Wr);b+=18}k.sL(S,b,15);b+=1;k.sL(S,b,Y?Y.uu:255); +b+=1;k.LW(S,b,Y?Y.Mt:0);b+=8;k.sL(S,b,P?P.uu:255);b+=1;k.LW(S,b,P?P.Mt:0);b+=8;b++}k.DK(S,w-4,b-w);return b}; +fj.Wn=function(Z,S){var b=new F.bN;fj.aw(b,Z,S);S+=1;b.color=Z[S];S+=1;b.rect=k.TD(Z,S);S+=16;return b}; +fj.ad2=function(Z,S,b){fj.ma(b,Z,S,!1);S+=1;k.sL(Z,S,b.color);S+=1;k.bW(Z,S,b.rect);S+=16};fj.aw=function(Z,S,b){var Y=S[b]; +Z.kF=(Y>>0&1)==0;Z.isEnabled=(Y>>1&1)==0;Z._W=(Y>>3&1)==1;return Y>>4&1};fj.ma=function(Z,S,b,Y){var P=0; +if(!Z.kF)P+=1<<0;if(!Z.isEnabled)P+=1<<1;if(Z._W)P+=1<<3;if(Y)P+=1<<4;k.sL(S,b,P)};fj.a6N=function(Z,S,b){var Y=k.r(S,b); +b+=4;if(Y==0)return b;if(Y!=5*8)console.log("unexpected Layer Blending Ranges content, size:",Y);for(var D=0; +D>>3),l=e&3,O=e+(l==0?0:4-l); +if(h<=0){return T.f(O)}if(f>3){console.log("unknown compression: "+f,Y,P,Y*P,h);f=0}if(f==0){if(w+O<=b.length)Q=b.slice(w,w+O); +else{Q=T.f(e);for(var D=0;D>>8; +K[j+1]=i&255}}}if(K.length==O)Q=K;else{Q=T.f(O);for(var D=0;D>>1]=Q[D];Q=J}return Q};dk.BJ=function(Z,S,b,Y,P,w,f){var h=Y*P;if(f==0)for(var D=0; +D0;f=P,C-=i5){e=C<128?C:128;if(f<=h-3&&Z[f+1]==Z[f+0]&&Z[f+2]==Z[f+0]){for(P=f+3; +P=128){var h=Z[S++],Q=P+(257-C);while(P+1>>1];if(P)P.QG=k.gU(b,D)}}if(S.wu.r1032){var b=S.wu.r1032,f=k.r(b,12); +for(var D=0;D0){var e=Z.add.Txt2?Z.add.Txt2.gH:null; +Z.add.Txt2={};Z.add.Txt2.gH=cs.a5m(Y,null,e)}var l=[Z.add.lnk2,Z.add.FEid,Z.add.Patt],O=Z.a1A(Z.t);Z.va(O); +Z.wu.r1005=new Uint8Array([0,0,0,0,0,1,0,2,0,0,0,0,0,1,0,2]);k.aM(Z.wu.r1005,0,Z.GY);k.aM(Z.wu.r1005,8,Z.GY); +if(Z.oz()){Z.wu.r1022=new Uint8Array([0,3+Z.eP.length-1,0])}else delete Z.wu.r1022;Z.wu.r1026=new Uint8Array(Z.t.length*2); +for(var D=0;D8)c0.l9(2,e-b,"Lay: "+h.getName());b=e;c0.V$(h,f); +if(Q)c0.V$(Q,f)}};c0.V$=function(Z,S){var b=Z.rect.X(),Y=Z.rect.Yz(S),P=Y.X()/b;if(b>2e3*3e3&&P<.5){if(Z.buffer){var w=T.f(Y.X()*4); +T.uH(Z.buffer,Z.rect,w,Y);Z.buffer=w;Z.rect=Y}else{var w=T.f(Y.X());T.JS(Z.channel,Z.rect,w,Y);Z.channel=w; +Z.rect=Y}alert("Removing hidden parts of layers")}};c0.a3a=function(Z,S,b,Y,P){var w=b,f=Z.hY;b+=f?8:4; +b=c0.mQ(Z,S,b,Y,P);var h=b-w-(f?8:4);if(h%2!=0)h++;if(f)k.CI(S,w,h);else k.DK(S,w,h);return w+h+(f?8:4)}; +c0.mQ=function(Z,S,b,Y,P){var w=Z.t.length;k.Ul(S,b,P?-w:w);b+=2;var f=[];for(var D=0;D>>3)}else if(q==1){K=T.f(V);var H=Z.hY?4:2;if(t==0)b+=Z.pd*m*H;b+=dk.hP(S,K,O,m,z+t*m*H,b,H)}else{console.log("unknown compression of image data: ",q); +return}if(t".charCodeAt(0)){b+=2;break}else{var e=Z[b];if(e==10||e==9||e==32)b++; +else{console.log("unknown byte: "+e+", char: "+String.fromCharCode(e),b);b++}}}return b};bc.gc=function(Z,S,b,Y){k.Nm(S,b,"<<\n"); +b+=3;var P=bc.afp;for(var w in Z){k.sL(S,b,"\t".charCodeAt(0),Y+1);b+=Y+1;k.Nm(S,b,"/"+w);b+=1+w.length; +if(P(Z[w])||Z[w]instanceof Array){k.Nm(S,b," ");b++}else{k.Nm(S,b,"\n");b++;k.sL(S,b,"\t".charCodeAt(0),Y+1); +b+=Y+1}b=bc.DN(Z[w],S,b,Y+1);k.Nm(S,b,"\n");b++}k.sL(S,b,"\t".charCodeAt(0),Y);b+=Y;k.Nm(S,b,">>");b+=2; +return b};bc.av=function(Z,S,b,Y){var P=S,w={size:0,G:0};while(!0){while(Z[S]==" ".charCodeAt(0)||Z[S]=="\t".charCodeAt(0)||Z[S]=="\n".charCodeAt(0))S++; +if(Z[S]=="<".charCodeAt(0)){w.G={};S=bc.Mm(Z,w.G,S,b+1);break}else if(Z[S]=="(".charCodeAt(0)){S+=3; +var f=S;while(!0){if(Z[f-1]!="\\".charCodeAt(0)&&Z[f]==")".charCodeAt(0)&&(Z[f+1]=="\n".charCodeAt(0)||Z[f+1]==" ".charCodeAt(0)))break; +else f++}w.G=k.iR(Z,S,f);S=f+2;break}else if(Z[S]=="[".charCodeAt(0)){S++;w.G=[];while(Z[S]==" ".charCodeAt(0)||Z[S]=="\t".charCodeAt(0)||Z[S]=="\n".charCodeAt(0))S++; +while(Z[S]!="]".charCodeAt(0)){var h=bc.av(Z,S,b+1,Y);w.G.push(h.G);S+=h.size;while(Z[S]==" ".charCodeAt(0)||Z[S]=="\t".charCodeAt(0)||Z[S]=="\n".charCodeAt(0))S++}S++; +break}else{var Q=k.indexOf(Z," ".charCodeAt(0),S,S+50),e=k.indexOf(Z,"\n".charCodeAt(0),S,S+50);if(e==-1)e=Infinity; +if(Q==-1)Q=Infinity;var l=k.zG(Z,S,Math.min(Q,e)-S).trim(),O=parseFloat(l);if(!isNaN(O)){w.G=parseFloat(l); +S=Math.min(Q,e)+1;break}else if(l=="true"||l=="false"){w.G=l=="true";S=Math.min(Q,e)+1;break}else if(l=="null"||l=="NaN"||l=="undefined"){w.G=0; +S=Math.min(Q,e)+1;break}else{console.log("unknown identifier: "+l);throw"e"}S=Math.min(Q,e)+1}}w.size=S-P; +return w};bc.DN=function(Z,S,b,Y){if(Z instanceof Array){var P=Z.length==0||typeof Z[0]=="number";if(P){k.Nm(S,b,"[ "); +b+=2;for(var D=0;D>");b+=2;return b};hg.D6=function(Z){return Z==9||Z==10||Z==32};hg.Pj=function(Z,S,b,Y){while(!0){while(hg.D6(Z[b])||Z[b]==0)b++; +if(b>=Z.length)break;if(Z[b]=="/".charCodeAt(0)){b++;var P=b;while(!hg.D6(Z[P]))P++;var w=k.zG(Z,b,P-b); +b=P+1;var f=hg.av(Z,b,Y,w);S["_"+w]=f.G;b+=f.size}else if(Z[b]==">".charCodeAt(0)){b+=2;break}else{var h=Z[b]; +console.log(k.zG(Z,b,b+100));console.log("unknown byte: "+h+", char: "+String.fromCharCode(h)+", offset: "+b); +b++;throw"e";return-1}}return b};hg.jz=function(Z,S,b,Y){for(var P in Z){var w=P.substring(1,P.length); +k.Nm(S,b,"/"+w);b+=1+w.length;k.Nm(S,b," ");b++;b=hg.DN(Z[P],S,b,Y+1);k.Nm(S,b," ");b++}return b};hg.av=function(Z,S,b,Y){var P=S,w={type:"",size:0,G:0}; +while(hg.D6(Z[S]))S++;if(Z[S]=="<".charCodeAt(0)){w.type="Object";w.G={};S=hg.Mm(Z,w.G,S,b+1)}else if(Z[S]=="(".charCodeAt(0)){w.type="String"; +S++;if(Z[S]==")".charCodeAt(0)){w.G="s";S++}else{S+=2;var f=S,h=0;while(!0){if(Z[f]==")".charCodeAt(0)&&Z[f-1]!="\\".charCodeAt(0))break; +else f+=1}w.G="s"+k.iR(Z,S,f);S=f+2}}else if(Z[S]=="[".charCodeAt(0)){S++;w.G=[];w.type="Array";while(hg.D6(Z[S]))S++; +while(Z[S]!="]".charCodeAt(0)){var Q=hg.av(Z,S,b+1,Y);if(Q==-1)return-1;w.G.push(Q.G);S+=Q.size;delete Q.size; +while(hg.D6(Z[S]))S++}S++}else{var e=S;while(!hg.D6(Z[e]))e++;var l=k.zG(Z,S,e-S),O=parseFloat(l);if(!isNaN(O)&&l.indexOf(".")!=-1){w.type="Float"; +var m=parseFloat(l);w.G="f"+m}else if(!isNaN(O)&&l.indexOf(".")==-1){w.type="Integer";w.G="i"+parseInt(l)}else if(l=="true"||l=="false"){w.type="Boolean"; +w.G=l=="true"}else if(l.charAt(0)=="/"){w.type="BString";w.G=l}else if(l=="NaN"){w.type="Float";w.G="f0"}else{console.log("unknown value",JSON.stringify(l)); +throw"e"}S=e+1}w.size=S-P;return w};hg.a8C=function(Z){if(Z==Math.round(Z))return Z+".0";var S=Z.toFixed(5); +if(0=0;D--)Z+=String.fromCharCode(C>>D*8&255);return Z};k.anx=function(Z){var C=0;for(var D=Z.length-1; +D>=0;D--)C|=Z.charCodeAt(D)<<(3-D)*8;return C};k.indexOf=function(Z,S,b,Y){if(b==null)b=0;if(Y==null)Y=Z.length; +Y=Math.min(Y,Z.length);for(var D=b;D0){var f=S[0];for(var D=b;D>6; +S[b+D+1]=128|w>>0&63;D+=2}else if((w&4294967295-(1<<16)+1)==0){S[b+D]=224|w>>12;S[b+D+1]=128|w>>6&63; +S[b+D+2]=128|w>>0&63;D+=3}else if((w&4294967295-(1<<21)+1)==0){S[b+D]=240|w>>18;S[b+D+1]=128|w>>12&63; +S[b+D+2]=128|w>>6&63;S[b+D+3]=128|w>>0&63;D+=4}else throw"e"}return D};k.MA=function(Z,S){var b=k.r(Z,S),Y=k.cP(Z,S+4,b-1); +return{zk:Y,jM:4+b}};k.a4Z=function(Z,S){var b=k.l2(Z,S),Y=k.AT(Z,S+4,b);return Y};k.U9=function(Z,S){var b=k.r(Z,S),Y=k.vH(Z,S+4,b); +return Y};k.PJ=function(Z,S){var b=k.r(Z,S),Y=k.vH(Z,S+4,b-1);return Y};k.aj3=function(Z,S,b){k.Fu(Z,S,b.length); +S+=4;k.ac3(Z,S,b)};k.a2H=function(Z,S,b){k.KI(Z,S,b.length);S+=4;k.BX(Z,S,b)};k.d3=function(Z,S,b){Z.Ml(S,4+2*b.length); +k.a2H(Z.data,S,b)};k.amk=function(Z,S,b){Z.Ml(S,4+2*b.length);k.aj3(Z.data,S,b)};k.LO=function(Z,S,b){var Y=[]; +for(var D=0;D>8&255;Z[S+1]=C&255};k.WA=function(Z,S,C){Z.Ml(S,4);k.xd(Z.data,S,C)};k.amT=function(Z,S){var b=k.gU(Z,S),Y=k.gU(Z,S+2); +return b+Y*(1/65536)};k.aM=function(Z,S,C){var b=Math.floor(C),Y=Math.floor((C-b)*65536);k.xd(Z,S,b); +k.xd(Z,S+2,Y)};k.ME=function(Z,S){return Z[S+1]<<8|Z[S]};k.bK=function(Z,S,C){Z[S+1]=C>>8&255;Z[S]=C&255}; +k.RG=function(Z,S,C){Z.Ml(S,4);k.bK(Z.data,S,C)};k.S1=function(Z,S){k.Ld[0]=Z[S+1];k.Ld[1]=Z[S];return k.bA[0]}; +k.gh=function(Z,S){k.Ld[0]=Z[S];k.Ld[1]=Z[S+1];return k.bA[0]};k.IQ=k.xd;k.Ul=k.WA;k.Dk=function(Z,S){k.lN[0]=Z[S+3]; +k.lN[1]=Z[S+2];k.lN[2]=Z[S+1];k.lN[3]=Z[S];return k.IR[0]};k.kQ=function(Z,S,C){k.IR[0]=C;Z[S+3]=k.lN[0]; +Z[S+2]=k.lN[1];Z[S+1]=k.lN[2];Z[S+0]=k.lN[3]};k.Fe=function(Z,S,C){Z.Ml(S,4);k.kQ(Z.data,S,C)};k.Jk=function(Z,S,b,Y){b[Y+0]=Z[S+0]; +b[Y+1]=Z[S+1];b[Y+2]=Z[S+2];b[Y+3]=Z[S+3]};k.l2=function(Z,S){k.Jk(Z,S,k.lN,0);return k.W8[0]};k.Fu=function(Z,S,C){k.W8[0]=C; +k.Jk(k.lN,0,Z,S)};k.xo=function(Z,S,C){Z.Ml(S,4);k.Fu(Z.data,S,C)};k.xq=function(Z,S){k.Jk(Z,S,k.lN,0); +return k.IR[0]};k.aaV=function(Z,S,C){k.IR[0]=C;k.Jk(k.lN,0,Z,S)};k.a9E=function(Z,S,C){Z.Ml(S,4);k.aaV(Z.data,S,C)}; +k.r=function(Z,S){var b=Z[S]*(256*256*256)+(Z[S+1]<<16|Z[S+2]<<8|Z[S+3]);return b};k.KI=function(Z,S,C){Z[S]=C>>24&255; +Z[S+1]=C>>16&255;Z[S+2]=C>>8&255;Z[S+3]=C>>0&255};k.DK=function(Z,S,C){Z.Ml(S,4);k.KI(Z.data,S,C)};k.JX=function(Z,S){return k.r(Z,S)<<32|k.r(Z,S+4)}; +k.rp=function(Z,S,C){k.KI(Z,S,C>>16>>16);k.KI(Z,S+4,C&4294967295)};k.CI=function(Z,S,C){Z.Ml(S,8);k.rp(Z.data,S,C)}; +k.j4=function(Z,S){var b=new Uint8Array(8);for(var D=0;D<8;D++)b[D]=Z[S+7-D];var Y=new Float64Array(b.buffer); +return Y[0]};k.a2E=function(Z,S){var b=new Uint8Array(8);for(var D=0;D<8;D++)b[D]=Z[S+D];var Y=new Float64Array(b.buffer); +return Y[0]};k.Gs=function(Z,S,C){var b=new Float64Array(1);b[0]=C;var Y=new Uint8Array(b.buffer);for(var D=0; +D<4;D++){var P=Y[D];Y[D]=Y[7-D];Y[7-D]=P}for(var D=0;D<8;D++)Z[S+D]=Y[D]};k.LW=function(Z,S,C){Z.Ml(S,8); +k.Gs(Z.data,S,C)};k.Wi=function(Z,S){k.lN[0]=Z[S+3];k.lN[1]=Z[S+2];k.lN[2]=Z[S+1];k.lN[3]=Z[S+0];return k.JT[0]}; +k.Td=function(Z,S){k.lN[0]=Z[S+0];k.lN[1]=Z[S+1];k.lN[2]=Z[S+2];k.lN[3]=Z[S+3];return k.JT[0]};k.GQ=function(Z,S,C){k.JT[0]=C; +Z[S+0]=k.lN[3];Z[S+1]=k.lN[2];Z[S+2]=k.lN[1];Z[S+3]=k.lN[0]};k.aot=function(Z,S,C){Z.Ml(S,4);k.GQ(Z.data,S,C)}; +k.vy=function(Z,S,C){k.JT[0]=C;Z[S+0]=k.lN[0];Z[S+1]=k.lN[1];Z[S+2]=k.lN[2];Z[S+3]=k.lN[3]};k.a26=function(Z,S,C){Z.Ml(S,4); +k.vy(Z.data,S,C)};k.ao6=function(Z,S){var b=k.Dk(Z,S),Y=b*(1/(1<<24));return Y};k.hS=function(Z,S,b){var Y=Math.floor(b*(1<<24)); +k.kQ(Z,S,Y)};k.aha=function(Z,S,b){Z.Ml(S,4);k.hS(Z.data,S,b)};k.yA=function(Z,S){var b=Z[S],Y=k.zG(Z,S+1,b); +b+=1-b%2;return{mz:Y,length:b+1}};k.af7=function(Z,S,b){var Y=b.length;Z[S]=Y;k.ue(Z,S+1,b);if(Y%2==0){Z[S+1+Y]=0; +++Y}return Y+1};k.Bn=function(Z,S,b){Z.Ml(S,b.length+2);return k.af7(Z.data,S,b)};k.Nw=function(Z,S){var b=new fR; +b.w=k.j4(Z,S+0*8);b.O=k.j4(Z,S+1*8);b.tE=k.j4(Z,S+2*8);b.KU=k.j4(Z,S+3*8);b.RN=k.j4(Z,S+4*8);b.Sv=k.j4(Z,S+5*8); +return b};k.X0=function(Z,S,b){k.Gs(Z,S+0*8,b.w);k.Gs(Z,S+1*8,b.O);k.Gs(Z,S+2*8,b.tE);k.Gs(Z,S+3*8,b.KU); +k.Gs(Z,S+4*8,b.RN);k.Gs(Z,S+5*8,b.Sv)};k.abA=function(Z,S,b){Z.Ml(S,48);k.X0(Z.data,S,b)};k.a5F=function(Z,S){var b=k.Wi(Z,S),Y=k.Wi(Z,S+4),P=k.Wi(Z,S+8),w=k.Wi(Z,S+12); +return new b4(b,Y,P-b,w-Y)};k.ab7=function(Z,S,b){k.GQ(Z,S,b.x);k.GQ(Z,S+4,b.y);k.GQ(Z,S+8,b.x+b.c); +k.GQ(Z,S+12,b.y+b.v)};k.a8U=function(Z,S,b){Z.Ml(S,16);k.ab7(Z.data,S,b)};k.TD=function(Z,S){var b=k.Dk(Z,S),Y=k.Dk(Z,S+4),P=k.Dk(Z,S+8),w=k.Dk(Z,S+12); +return new b4(Y,b,w-Y,P-b)};k.o7=function(Z,S,b){k.kQ(Z,S,b.y);k.kQ(Z,S+4,b.x);k.kQ(Z,S+8,b.y+b.v);k.kQ(Z,S+12,b.x+b.c)}; +k.bW=function(Z,S,b){Z.Ml(S,16);k.o7(Z.data,S,b)};k.NR=function(Z,S,b){var Y=new Uint8Array(b);for(var D=0; +D=this.x&&Z<=this.x+this.c&&(S>=this.y&&S<=this.y+this.v)}; +b4.prototype.DS=function(Z){return this.contains(Z.x,Z.y)};b4.prototype.ls=function(Z){return this.x<=Z.x&&this.y<=Z.y&&Z.x+Z.c<=this.x+this.c&&Z.y+Z.v<=this.y+this.v}; +b4.prototype.ky=function(Z){this.x=Z.x;this.y=Z.y;this.c=Z.c;this.v=Z.v};b4.prototype.Oh=function(Z){return this.x==Z.x&&this.y==Z.y&&this.c==Z.c&&this.v==Z.v}; +b4.prototype.lg=function(Z,S){this.x-=Z;this.y-=S;this.c+=2*Z;this.v+=2*S};b4.prototype.aii=function(Z){this.lg(Z.x,Z.y)}; +b4.prototype.Yz=function(Z){var S=Math.max(this.x,Z.x),b=Math.max(this.y,Z.y),Y=Math.min(this.x+this.c,Z.x+Z.c),P=Math.min(this.y+this.v,Z.y+Z.v); +if(Ythis.x+this.c||Z.y>this.y+this.v||Z.x+Z.c=7){Q=Q}else alert("Unknown XCF version: "+w); +h=8}var e={};Y=cr.Ou(b,Y,e);var l=[];Y=cr.wB(b,Y,l,h);var O=[];Y=cr.wB(b,Y,O,h);S.Qo=0;for(var D=0;D0){S.t.push(S._z());S.Qo--}S.t.reverse();delete S.Qo;S.buffer=T.f(S.c*S.v*4); +if(S.t.length==0)console.log("No layers!!!");for(var D=0;DO){b.t.push(b._z()); +b.Qo--}b.Qo=O;if(f.add.lsct==fr.k8||f.add.lsct==fr.U1)b.Qo++;var hN=P==4?k.r:k.JX;if(f.bu()){f.buffer=T.f(f.rect.X()*4); +var bI=new T.XA(f.rect.X()),fq=hN(Z,S);S+=P;var e9=hN(Z,S);S+=P;cr.td(Z,fq,bI,Y,P,w);T.s$(bI,f.buffer); +if(e9!=0){f.d=new F.bN;f.d.color=0;f.d.rect=f.rect.clone();f.d.channel=cr.G9(Z,e9,Y,P,w).sK;if(m[by.YR])f.d.isEnabled=k.r(m[by.YR],0)==1}}b.t.push(f)}; +cr.a6r=function(Z){var S="("+k.cP(Z,0,Z.length-1)+")",b=[],Y={};cr.Qd(S,1,b);cr.afL(b,Y);return Y};cr.afL=function(Z,S){for(var D=0; +D=Z.length)throw"e"; +var Y=Z.charAt(S);S++;if(Y=="("){var P=[];S=cr.Qd(Z,S,P);b.push(P)}else if(Y==" "||Y=="\n"||Y=="\r"){}else if(Y==")")return S; +else if(Y=="\""){var w=S;while(!0){var f=Z[S];S++;if(f=="\"")break;if(f=="\\")S++}b.push(JSON.parse(Z.slice(w-1,S)))}else{var w=S-1; +while(Z[S]!=" "&&Z[S]!=")")S++;b.push(Z.slice(w,S))}}};cr.G9=function(Z,S,b,Y,P){var w=k.r(Z,S);S+=4; +var f=k.r(Z,S);S+=4;var h=k.MA(Z,S);S+=h.jM;var Q={};S=cr.Ou(Z,S,Q);var e=new T.XA(w*f),l=Y==4?k.r:k.JX,O=l(Z,S); +S+=Y;cr.td(Z,O,e,b,Y,P);return{sK:e.h,aX:Q}};cr.td=function(Z,S,b,Y,P,w){var f=k.r(Z,S);S+=4;var h=k.r(Z,S); +S+=4;var Q=k.r(Z,S);S+=4;var e=P==4?k.r:k.JX,l=e(Z,S);S+=P;cr.aoS(Z,l,b,Y,Q,P,w)};cr.aoS=function(Z,S,b,Y,P,w,f){var h=k.r(Z,S),l=0,D=0; +S+=4;var Q=k.r(Z,S);S+=4;var e=new b4(0,0,h,Q);if(f==100||f==150)l=1;else if(f==200||f==250)l=2;else if(f==300||f==350)l=4; +else if(f==500||f==550)l=2;else if(f==600||f==650)l=4;else if(f==700||f==750)l=8;else{alert("unsupported bit depth "+f); +throw"e"}var O=P/l,l=Math.round(P/O),m=[];S=cr.wB(Z,S,m,w);var V=new T.XA(64*64*l),q=new b4,K=Y[by.a2l][0],z=[V.h,V.l,V.O,V.w]; +if(O==3)V.w.fill(255);var t=Date.now();for(var H=0;H>>8,255)}}}else if(f==600){var c=cr.a49(),u=new Uint32Array(1),n=new Float32Array(u.buffer); +for(var A=0;A1)o=1;a[I]=c[~~(.5+o*1e3)]}}}else console.log("unknown data format",f); +T.CF(V,q,b,e)}};cr.a49=function(){var Z=cr.abQ;if(Z!=null)return Z;Z=cr.abQ=new Uint8Array(1001);for(var D=0; +D<1001;D++)Z[D]=~~(.49+255*T.Ur(D*.001));return Z};cr.a5U=function(Z,S,b,Y,P,w){if(Y==1){for(var f=0; +f1)console.log(Y.pages.length,"pages"); +var P=[],f=new b4;for(var h=0;h8e3*8e3||l.c>3e4||l.v>3e4){b.Uf(e,!0); +var O=b.$R(e,h);if(O.X()>=l.X())b.Uf(e,!1)}l=b.$R(e,h);for(var V=0;VS||Math.max(Math.round(Z.c/b),Math.round(Z.v/b))>3e4)b++; +if(b!=1&&!window.confirm("Your image is quite large ("+Z.c+" x "+Z.v+" px).\n"+"Press OK to scale it down "+b+"x, or Cancel to keep the size."))b=1; +return b};bl.$R=function(Z,S){var b=[],Y=bl;for(var P=0;P3e4&&Q.c<=3e4||h.v>3e4&&Q.v<=3e4){alert("Re-arranging artboards"); +for(var P=0;P1&&I.image!=null)a=!0}if(l.shouldBreakMaskChain){while(Q.length!=0)h.c$(Q.pop(),S)}if(z){j.add.lsct=l.layerListExpandedType==2?fr.k8:fr.U1; +j.WL="pass";j.NG=24;j.Ba(l.isVisible);S.t.push(S._z());if(q=="artboard"){var E=O.clone(),c=V.I2();E.x=-Math.floor(V.RN/c); +E.y=-Math.floor(V.Sv/c);E.c=Math.floor(E.c/c);E.v=Math.floor(E.v/c);j.PB(E);var u=l.backgroundColor,n=u?{h:255*u.red,l:255*u.green,O:255*u.blue}:{h:255,l:255,O:255}; +j.add.artb.Clr={t:"Objc",v:T.W.RQ(n)};j.add.artb.artboardBackgroundType={t:"long",v:4}}h.sl(l.layers,S,V,Y,P,w,f)}else if(K&&!a){j.add.vmsk=new F.NS; +j.add.vstk=JSON.parse(JSON.stringify(a4.m3.default));j.add.vstk.strokeEnabled.v=!1;j.add.vogk=[];var o=A!=null&&A.frameFXMulti.v.length==1,x=m?m.fills:null,g=m?h.Pt(Y,x,O,V,j.getName(),S,h.qn(f,l.do_objectID+"_image")):[]; +if(g.length==0){if(o)j.add.vstk.fillEnabled.v=!1;else j.add.iOpa=0;j.add.SoCo={classID:"null",Clr:{t:"Objc",v:T.W.RQ({h:0,l:0,O:0})}}}else{var v=g[0],R=null,X=null; +if(v.type=="SoFi"){R="SoCo";X=a4.pe}if(v.type=="GrFl"){R="GdFl";X=a4.xz}if(v.type=="patternFill"){R="PtFl"; +X=a4.jl}if(R!=null){j.add[R]={classID:"null"};for(var D=0;D0)d0/=2;var cT=iw.v.Fltr.v; +cT.Brgh.v=Math.round(d7*255);cT.Cntr.v=Math.round(d0*255);cT.useLegacy.v=!0;x.push(iw)}}}if(a){var fU=e9.patternFillType; +if(fU==3){var dX=j.rect.c/j.rect.v,g$=O.c/O.v;if(dXbb.length){hP[hP.length-2]--; +ea--;if(hP[hP.length-2]==0){hP.pop();hP.pop()}}hP[hP.length-2]+=bb.length-ea}bb=bb.replace(/\u2028/g,"\n"); +bb=bb.replace(/\u2029/g,"\n");bb=bb.replace(/\r/g,"\n");var hD=j.add.TySh.HK;eO.kk(hD,0,bb);if(bb!=""){var bP=l.textBehaviour,iz=m.textStyle,iq=iz?iz.verticalAlignment:0,cU=h.a7K(hD,hP,eG,bb),c=aw.I2(),aH=eO.SZ(hD,0,1),co=0; +if(aH.xp.Font){var eK=aH.E2[aH.xp.Font].Name;if(eK=="FontAwesome"||eK=="Ionicons")cU*=.87}var h6=aH.xp.AutoLeading?0:aH.xp.Leading*.6,dh=Math.max(cU,h6)*c,cX=O.c,eY=O.v; +if(bP==0){eO.es(hD,0);var ga=eO.qH(aH.jm);if(ga==1)co=cX*c;if(ga==2)co=cX*c*.5;if(iq==0)dh*=1;else dh*=.9}else{eO.es(hD,1); +eO.oZ(hD,[0,0,Math.round(cX),Math.round(eY)]);if(bP==2&&iq==0)dh=dh*.2;else if(bP==2&&iq==1){dh=c*.5*(eY-aH.xp.FontSize)}else if(bP==1&&iq==0)dh=dh*.2; +else dh=dh*.35}j.add.TySh.A.translate(co,dh)}}else if(q=="symbolInstance"||q=="symbolMaster"){var h0=l.symbolID; +if(w[l.do_objectID])h0=w[l.do_objectID].symbolID;var a8=h.qn(f,l.do_objectID+"_symbolID");if(a8)h0=a8.value; +if(h0=="")continue;var cc={};for(var B in w)cc[B]=w[B];if(l.overrides)for(var B in l.overrides)cc[B]=l.overrides[B]; +var hW=f.slice(0);if(l.overrideValues)hW=hW.concat(l.overrideValues);var em=P[h0];if(em==null){console.log("Unknown master master",l.symbolID); +continue}var br=bl.TD(em.ru.frame),cF=br.c/O.c,cW=br.v/O.v,bM=V.clone();bM.scale(cF,cW);j.add.lsct=fr.U1; +j.WL="pass";j.NG=24;j.Ba(l.isVisible);S.t.push(S._z());var ct=em.ru;if(S.P3.indexOf(ct)==-1){S.P3.push(ct); +h.sl(ct.layers,S,bM,Y,P,cc,hW);S.P3.pop()}}else if(q=="slice"){console.log("slice layers are ignored by now"); +continue}else{console.log("unknown layer type: "+q,l);continue}if(m&&m.contextSettings){var aQ=m.contextSettings,eA=aQ.blendMode; +if(eA1){Q.push(j);S.t.push(S._z())}}while(Q.length!=0)h.c$(Q.pop(),S)};bl.qn=function(Z,S){for(var D=0; +D127){P+=128*(Z[b]-1);b++;if(Z[b-1]>127){P+=128*(Z[b]-1);b++}}var w=Z[b];b++;Y.push(P,w)}return Y}; +bl.a7K=function(Z,S,b,Y){var P=bl,w=0,l=0,O=0;for(var D=0;DY.length/2;for(var D=0;D0; +var E=q.NSStrikethrough;if(E==null)E=q.strikethroughStyle;if(E!=null)K.xp.Strikethrough=E>0;if(q.MSAttributedStringTextTransformAttribute==1)K.xp.FontCaps=2; +var c=q.NSParagraphStyle;if(c==null)c=q.paragraphStyle;if(c){var u=c.paragraphSpacing;if(u!=null){K.jm.SpaceAfter=u}var n=c.NSAlignment; +if(n==null)n=c.alignment;if(n!=null){var o=0;if(!1){}else if(n==1)o=1;else if(n==2)o=2;else if(n==4)o=0; +else{o=n;console.log("unknown align",n)}if(e&&o<2)o=1-o;K.jm.Justification=o}var x=c.NSMinLineHeight; +if(x==null)x=c.minimumLineHeight;if(x!=null){K.xp.AutoLeading=!1;K.xp.Leading=x}}K.jm._Direction=e?1:0; +eO.Yg(Z,l,l+m,K);l+=m}return O};bl.a3F=function(Z,S,b,Y,P,w,f){var h=bl,Q=JSON.parse(a4.default),e=!1; +for(var D=0;D1e6; +if(A.type!="text"&&!I){if(a){var l=f.Nw(A.transform);l.oN();var E=O.clone();E.concat(l);m.add.vmsk=new F.NS; +m.add.vmsk.b=f.KB(a);E=E.clone();E.oN();T.Y.$d(m.add.vmsk.b,E);m.vK(S)}}else if(!I)alert("Clipping by text has been ignored")}m.add.lsct=fr.k8; +m.WL="pass";m.NG=24;if(Z.visible!=null)m.Ba(Z.visible);S.t.push(S._z());var c=Q.children,u=z;if(u)u=u.color; +if(u)u=u.value;if(z){if(h=="artboard"&&t=="solid"){m.PB(new b4(0,0,10,10));m.add.artb.Clr={t:"Objc",v:T.W.RQ({h:u.r,l:u.g,O:u.b})}; +m.add.artb.artboardBackgroundType={t:"long",v:4}}else{var n=S.Dl();n.wc("BACKGROUND");n.NG|=16;n.add.vstk=JSON.parse(JSON.stringify(a4.m3.default)); +n.add.vmsk=new F.NS;n.add.vmsk.b=f.KB({type:"rect",x:w.x,y:w.y,width:w.c,height:w.v});f.yX(z,t,O,w,w,n,S,Y,P); +n.vK(S);S.t.push(n)}}for(var D=0;D>>16&255)/255,(er>>>8&255)/255,(er>>>0&255)/255]}}eO.Yg(cT,aw,aw+hP,dX); +aw+=hP}if(d0.type=="area"||d0.type=="autoHeight"){var ea=d0.width,hD=d0.height;eO.es(cT,1);eO.oZ(cT,[0,0,ea,hD!=null?hD:ea*2])}}else console.log(h,Z); +S.t.push(m)};ev.KB=function(Z){var S=Z.type,b=[{type:6},{type:8,all:0}];if(S=="rect"){var Y=Z.r,P=Z.x,w=Z.y,f=Z.width,h=Z.height; +if(Y==null)b=T.Y.i9.Rect(P,w,f,h,0);else b=b.concat([{type:0,qU:1,length:8,uT:0,Y9:0,oY:1}]).concat(T.Y.Sb([P,w,P+f,w,P+f,w+h,P,w+h],Y,!1))}else if(S=="circle"){var Y=Z.r; +b=T.Y.i9.TN(Z.cx-Y,Z.cy-Y,2*Y,2*Y)}else if(S=="ellipse"){var Q=Z.rx,e=Z.ry;b=T.Y.i9.TN(Z.cx-Q,Z.cy-e,2*Q,2*e)}else if(S=="path"||S=="compound"){var l=Typr.U.SVGToPath(Z.path); +b=T.z.Cp({K:l.cmds,H:l.crds},!1)}else if(S=="line"){var O=Z.x1,m=Z.x2,V=Z.y1,q=Z.y2;b=b.concat([{type:0,qU:1,length:2,uT:0,Y9:0,oY:1}]).concat(T.Y.Sb([O,V,m,q],0,!0))}else if(S=="polygon"){var K=Z.points,z=[]; +for(var D=0;D8192)V*=.5;S.c3=!0;S.c=~~(Q.c*V);S.v=~~(Q.v*V);S.buffer=T.f(S.c*S.v*4); +var q=new fR(V,0,0,V,-Q.x*V,-Q.y*V),K={WF:iZ.QZ(h),a3Z:f};iZ.hz(w,h.children,S,q,K,new fR,0);if(S.t.length==0){var z=S.Dl(); +z.wc("Layer");S.t.push(z)}};iZ.dW=function(Z){var S=" ";if(Z.indexOf(",")!=-1)S=",";return Z.split(S).map(parseFloat)}; +iZ.hz=function(Z,S,b,Y,P,w,f){var h=iZ,Q=["display","opacity","fill-opacity"];for(var e=0;e0){if(O=="text")w=h.oK(l,w); +var v=l.getAttribute("viewBox"),R=l.getAttribute("width"),X=l.getAttribute("height");if(v&&R&&X){var B=iZ.dW(v),M=h.oK(l),r=new fR; +r.translate(-B[0],-B[1]);r.scale(parseFloat(R)/B[2],parseFloat(X)/B[3]);r.translate(M.RN,M.Sv);r.concat(z); +z=r}var N=l.children.length,$=P.WF;P.WF=V;var eQ=O!="text"&&O!="textPath"||N>1;if(eQ){var hN=i._7(); +i.add.lsct=f<2&&hN&&(m==null||!m.endsWith(":::"))?fr.k8:fr.U1;i.WL="pass";i.NG=24;i.Ba(hN);b.t.push(b._z())}h.hz(Z,l.children,b,z,P,w,f+1); +if(eQ)b.t.push(i);else{var bI=b.t[b.t.length-1];bI.opacity=i.opacity;bI.WL=i.WL}P.WF=$}else if(O=="use"){var r=h.oK(l); +r.concat(z);var fq=h.kN(l),e9=Z.getElementById(fq.slice(1)),$=P.WF;P.WF=V;h.hz(Z,[e9],b,r,P,w,f+1);P.WF=$}else if(O=="path"||O=="rect"||O=="circle"||O=="ellipse"||O=="polygon"||O=="polyline"||O=="line"){i.NG|=16; +i.add.vmsk=new F.NS;i.add.vstk=JSON.parse(JSON.stringify(a4.m3.default));i.add.vstk.strokeEnabled.v=!1; +var W=i.add.vstk,u=i.add.vmsk,L=V.fill,bd=L=="none"||V["fill-opacity"]&&parseFloat(V["fill-opacity"])==0; +u.b=h.KB(Z,l,V["fill-rule"]=="evenodd",bd);T.Y.$d(u.b,z);var iw=T.Y.Al(u.b),d7=V.stroke,d0=V["stroke-width"],gS=V["stroke-dasharray"],cf=V["stroke-linejoin"],cT=V["stroke-linecap"],fU=V["paint-order"]; +if(d7==null||d7=="none"||d7=="null"){}else{var dX=h.YU(Z,d7,z,iw),g$=["SoFi","GrFl","patternFill"].indexOf(dX.type),bX=dX.G.v.Opct.v,eG=1; +if(bX.val!=100){i.opacity=Math.round(i.opacity*bX.val/100);bX.val=100}var aw=[a4.pe,a4.xz,a4.jl][g$],hP=W.strokeStyleContent.v={classID:a4.m3.Vh[g$]}; +for(var D=0;D0){var ea=h.QZ(l.children[0],P.a3Z);for(var q in ea)if(Q.indexOf(q)==-1)V[q]=ea[q]}var hD=V["xml:space"],bP=l.textContent; +if(hD=="preserve")bP=bP.replace(/\t/g," ").replace(/\n/g," ");if(m==null)i.wc(bP);i.add.lnsr="rend"; +i.add.TySh=eO.nR(0,0);i.add.TySh.az=new b4(0,0,100,100);i.add.TySh.A=r.clone();var iz=i.add.TySh.HK; +eO.kk(iz,0,bP);var L=V.fill,iq=V["font-weight"],cU=V["font-family"],aH=V["text-decoration"],d7=V.stroke,d0=V["stroke-width"],eK=V["dominant-baseline"]; +if(eK=="text-before-edge")h6=K;else if(eK=="middle")h6=K/2;else if(eK=="hanging")h6=K;if(h6!=0)i.add.TySh.A.translate(0,h6); +var co=eO.SZ(iz,0,1);if(L&&L!="none"){var dh=CSS.R0(L);co.xp.FillColor={Type:1,Values:[1,dh.h/255,dh.l/255,dh.O/255]}}if(aH=="underline")co.xp.Underline=!0; +co.xp.FontSize=Math.round(K);eO.FK(co,"LiberationSans");if(iq=="bold")eO.FK(co,"LiberationSans-Bold"); +if(cU){cU=cU.split(",")[0].trim();if(cU[0]=="\"")cU=cU.slice(1);if(cU[cU.length-1]=="\"")cU=cU.slice(0,cU.length-1); +var cX=cU+":"+(iq?iq:"normal"),eY={"'DejaVu Sans':normal":"DejaVuSans","'DejaVu Sans':bold":"DejaVuSans-Bold","'Nimbus Sans L':normal":"NimbusSanL-Reg","'Nimbus Sans L':bold":"NimbusSanL-Bol","Libre Franklin:300":"LibreFranklin-Light","Libre Franklin:400":"LibreFranklin-Regular","Libre Franklin:500":"LibreFranklin-Medium","Libre Franklin:600":"LibreFranklin-SemiBold","Libre Franklin:700":"LibreFranklin-Bold"}; +if(eY[cX])eO.FK(co,eY[cX]);else eO.FK(co,cU)}if(V["text-anchor"])co.jm.Justification=["start","end","middle"].indexOf(V["text-anchor"]); +eO.Yg(iz,0,bP.length,co);if(d7==null||d7=="none"){}else{var ga=JSON.parse(a4.FT[a4.order.indexOf("FrFX")]); +ga.Clr.v=T.W.RQ(CSS.R0(d7));ga.Sz.v.val=Math.round(parseFloat(d0)*G.V.I2(r));var h0=JSON.parse(a4.default); +for(var D=0;D"); +var h={Zo:[],a_:[],FH:0,Mf:0,Pm:0,RM:{},vg:{},Zb:0,Vb:{},iL:{},IS:0,S9:[]};iZ.mQ(Z,h,Z.root.children,1,S,b); +if(h.Zo.length!=0){Y.push(P.cb(1)+"");Y=Y.concat(h.Zo);Y.push(P.cb(1)+"")}Y.push(P.cb(1)+"");Y=Y.concat(h.a_);Y.push("");Y=Y.join(S.a0i?"\n":"");var e=T.f(Math.round(Y.length*1.5)),l=k.Cz(Y,e,0); +if(P.N2){console.log(P.N2);var O="SVGParser.gen.db = [\n";for(var D=0;D");f.mQ(Z,S,J,Y+1,P,w); +S.a_.push(f.cb(Y)+"")}}else if(Q.q3()&&l==null){var A=new b4(0,0,Z.c,Z.v);f.cQ(V,Q.add,S,A);if(V.length!=0)t.push("style=\""+V.join(";")+"\""); +S.a_.push(f.cb(Y)+"")}else if(l&&Q.add.SoLd==null){var A=T.Y.Al(l.b,null,!0),a=T.Y.W6(l.b); +if(a.bC!=0){t.push("fill-rule=\"evenodd\"")}var I=a.ahU;f.cQ(V,Q.add,S,A);if(V.length!=0){var E=V.join(";"),c=S.iL[E]; +if(c==null){c="shp"+S.IS;S.IS++;S.iL[E]=c;S.Vb[c]=E}H.push(c)}S.a_.push(f.cb(Y)+""); +if(f.N2&&f.N2[f.N2.length-1]){var u=T.z.o5(l.b);u.H=u.H.map(Math.round);var n=f.N2[f.N2.length-1];n.GB+=JSON.stringify(u).length; +n.mu.push([V[0].split("#").pop(),u])}}else if(m&&P.alZ){var o=m.HK,x=new io(o,w);if(j)t.push("fill=\""+CSS.DI(j.Clr.v)+"\""); +var g=gU.L7(x,m),v=T.z.Py(g);for(var R in v){if(j==null)t.push("fill=\""+R+"\"");var X=v[R],I=Typr.U.pathToSVG({crds:X.H,cmds:X.K},2); +S.a_.push(f.cb(Y)+"");if(j==null)t.pop()}}else if(m&&!P.aaj){var o=m.HK,B=m.A.clone(),L=0,bd=0; +if(eO.O$(o)==1){var M=eO.SZ(o,0,0).jm.Justification,N=0,$=eO.kn(o)[2];if(M==2)N=$/2;if(M==1)N=$;B.translate(N,0)}V.push("transform: "+f.X0(B)); +var eQ=eO.IU(o),hN=o.EngineDict.ParagraphRun,bI=hN.RunArray,fq=hN.RunLengthArray;if(V.length!=0)t.push("style=\""+V.join(";")+"\""); +S.a_.push(f.cb(Y)+"");var e9=Q.add.lmfx;if(e9)e9=e9.frameFXMulti.v[0];if(e9)e9=e9.v; +var W=j?CSS.DI(j.Clr.v):null;for(var D=0;D"+f.mz(d0)+"")}L+=d7}S.a_.push(f.cb(Y)+"")}else if(Q.add.SoLd&&P.hf){var bX=Q.add.SoLd,aw=bX.Idnt.v,hP=0,eG=bX.Crop?bX.Crop.v:null; +if(S.vg[aw]!=null)hP=S.vg[aw];else{S.Zb++;hP=S.Zb;S.vg[aw]=S.Zb;var eB=Z.BY(aw,eG),er="";if(eB==null)return; +var bb=eB.Qf,gx=ab.fN(eB.raw.buffer);if(gx=="pdf"){var ea=new gf("h");ab.iZ("PDF").Gk(eB.raw.buffer,ea); +ea.Wl();ea.mG();ea.D();ea.j8();if(bX.Crop&&bX.Crop.v==1){G.PK.l_(ea,ea.root.Ij(ea,!0))}var hD=ab.iZ("SVG").$b(ea,ea.c,ea.v,null,{S9:w}); +er="data:image/svg+xml;base64,"+ab.kL(hD)}else if(gx=="jpg"||gx=="png"||gx=="gif"||gx=="svg"){var bP={jpg:"image/jpg",png:"image/png",jpg:"image/jpg",svg:"image/svg+xml"}; +er="data:"+bP[gx]+";base64,"+ab.kL(eB.raw.buffer)}else{er=ab.KA(bb[0].buffer,bb[1].c,bb[1].v)}S.Zo.push(f.cb(2)+"")}var iz=T.J.Q$(bX),iq=[]; +iZ.kB(Q,l,S,iq);if(iq.length!=0)S.a_.push(f.cb(Y)+"");if(V.length!=0)t.push("style=\""+V.join(";")+"\""); +var cU=f.p4(t,H);S.a_.push(f.cb(Y)+"");if(iq.length!=0)S.a_.push(f.cb(Y)+"")}else if(!Q.rect.h3()&&(P.hf||m)){if(V.length!=0)t.push("style=\""+V.join(";")+"\""); +var cU=f.p4(t,H),aH=Q.buffer;if(j)aH=eg.Yt(aH,j,Q.rect);var eK=Q.rect;S.Zb++;var er=ab.KA(aH.buffer,eK.c,eK.v,"png",null,!0); +S.Zo.push(f.cb(2)+""); +S.a_.push(f.cb(Y)+"")}}};iZ.p4=function(Z,S){if(S.length!=0)Z.push("class=\""+S.join(" ")+"\""); +return Z.join(" ")};iZ.mz=function(Z){return String(Z).replace(/&/g,"&").replace(//g,">").replace(/\u0022/g,""")}; +iZ.X0=function(Z){var S=[Z.w,Z.O,Z.tE,Z.KU,Z.RN,Z.Sv].map(iZ.ha);return"matrix("+S.join(",")+")"};iZ.kB=function(Z,S,b,Y){var P=iZ; +if(S||Z.add.artb){var w;if(S)w=T.Y.W6(S.b).ahU;else{var f=Z.mb(),h=T.z.X6(f);w=Typr.U.pathToSVG({crds:h.H,cmds:h.K},2)}b.Pm++; +Y.push("clip-path=\"url(#cp"+b.Pm+")\"");b.Zo.push(P.cb(2)+""); +b.Zo.push(P.cb(3)+"");b.Zo.push(P.cb(2)+"")}};iZ.cQ=function(Z,S,b,Y){var P=iZ,w=S.vstk,f=S.vmsk,h=S.lmfx; +if(f&&f.Mt!=0){var Q=P.ha(f.Mt);if(b.RM[Q]==null){b.Mf++;b.RM[Q]=b.Mf;b.Zo.push(P.cb(2)+" ")}Z.push("filter: url(#flt"+b.RM[Q]+")")}var e=eg.un(h,S),l=e[0],O=e[1]; +if(w&&!w.fillEnabled.v)Z.push("fill: none");else if(l){var m=CSS.DI(l.Clr.v);Z.push("fill: "+m)}else if(O){P.VD(O,b,Y); +Z.push("fill: url(#grd"+b.FH+")")}if(w==null||!w.strokeEnabled.v)w=eg.oi(h);if(w&&w.strokeEnabled.v){var V=w.strokeStyleContent.v,q=V.classID; +if(q=="solidColorLayer")Z.push("stroke: "+CSS.DI(V.Clr.v));else{P.VD(V,b,Y);Z.push("stroke: url(#grd"+b.FH+")")}var K=a4.m3.oV.indexOf(w.strokeStyleLineCapType.v.strokeStyleLineCapType),z=a4.m3.join.indexOf(w.strokeStyleLineJoinType.v.strokeStyleLineJoinType),t=w.strokeStyleOpacity.v.val/100,H=w.strokeStyleLineWidth.v.val,i=a4.m3.ie.indexOf(w.strokeStyleLineAlignment.v.strokeStyleLineAlignment); +if(i==2){H*=2;Z.push("paint-order:stroke fill markers")}var y=w.strokeStyleLineDashSet.v,j=[];for(var D=0; +D"); +if(e==1)S.Zo.push(m+" cx=\""+Y.ha(O[0].x)+"\" cy=\""+Y.ha(O[0].y)+"\" r=\""+Y.ha(ar.VA(O[0],O[1]))+"\">"); +if(Q=="Rflc"){for(var V=0;V<2;V++){var q=V==0?w:f;for(var D=q.length-1;D>=0;D--){var K=q[D];K.v.Lctn.v=2048+(K.v.Lctn.v>>>1); +var z=JSON.parse(JSON.stringify(K));z.v.Lctn.v=4096-z.v.Lctn.v;q.push(z)}q.sort(function(j,J){return j.v.Lctn.v-J.v.Lctn.v})}}var t=Z.Rvrs.v; +if(t){w.reverse();f.reverse()}for(var D=0;D")}S.Zo.push(Y.cb(2)+"")}; +iZ.i9=function(Z,S,b,Y,P){var w=[],f=iZ.i9,h=!1,Q={Yu:Z,XE:S,Ff:[!0,!0,!0],A$:!1,Nz:b,agD:0};Q.g1=Math.round(Math.max(Z,S)*(.02+f.Nj(Q)*.03)); +Q.ay=f.a8_(Q);Q.AX=f.a0T(Q.ay,(f.Nj(Q)<.5?-1:1)*(.2+f.Nj(Q)*.3));if(f.Nj(Q)<.5){var e=Q.ay;Q.ay=Q.AX; +Q.AX=e}Q.aoR=f.Nj(Q)<.4&&f.am0(Q.AX,{h:1,l:1,O:1})>.3;Q.anf=f.Nj(Q)<.5?0:1;w.push(""); +Q.T9=Y[Math.floor(f.kg(Q)*Y.length)];Q.qM=Y[Math.floor(f.kg(Q)*Y.length)];w.push(""); +var l=[0,0,Z,S],O=l;if(P==null)w.push(""); +else{Q.A$=!0;f.Xf(Q,l,w,P)}if(f.Nj(Q)<.25&&!Q.A$){Q.Ff[0]=Q.Ff[2]=!1;f.adm(l,Q,w);O=l}else if(f.Nj(Q)<.25||Q.A$)O=l; +else{var m=.52+f.Nj(Q)*.2;if(f.Nj(Q)<.5)m=1-m;var V=l.slice(0),q=l.slice(0);if(f.Nj(Q)<.5)V[2]=q[0]=Math.round(m*Z); +else V[3]=q[1]=Math.round(m*S);if(f.Nj(Q)<.5){var e=V;V=q;q=e}O=V;f.anz(Q,q,w,P)}f.aoa(Q,O,w);w.push(""); +w=w.join("\n");var K=T.f(Math.round(w.length*1.5)),z=k.Cz(w,K,0);return[K.buffer.slice(0,z),Q.R3]};iZ.i9.adm=function(Z,S,b){var Y=iZ.i9,P=Z[2]-Z[0],w=Z[3]-Z[1]; +if(Y.Nj(S)<.5){b.push("")}else if(Y.Nj(S)<-.4){Y.ado(S,Z,b)}else{var f=Y.Nj(S)<.5?0:1,h=(f==0?w:P)/4,Q=Y.PS(S,f,Z,b,h,!0),Q=Y.PS(S,f+2,Z,b,h,!0,Q)}}; +iZ.i9.aoa=function(Z,S,b){var Y=iZ.i9,P="Hello World!-What a beautiful day.-What Is Love?-Baby, don't hurt me.-Is This a Real Life?-Is this a fantasy?-Wake Me Up!-Before you go go.-I Saw The Sign.-And it opened up my mind!".split("-"),w=2*Math.floor(Y.Nj(Z)*P.length/2),f=S[2]-S[0],h=S[3]-S[1],e=0,O=0; +Z.Gu=(Z.Yu+f)*.5*(.04+Y.Nj(Z)*.05);Z.Gu=Math.min(Z.Gu,h*.4,f*.12);Z.Gu=Math.round(Z.Gu);var Q=Math.min(Z.Gu*P[w].length*(.35+.3*Y.Nj(Z)),f*.9),l=(S[1]+S[3])/2,m=T.oQ(Z.ay)<.85?{h:1,l:1,O:1}:{h:.1,l:.1,O:.1}; +if(Y.Nj(Z)<.25&&Z.Ff[0]){O=0;e=S[0]+Z.g1}else if(Y.Nj(Z)<.33&&Z.Ff[2]){O=2;e=S[2]-Z.g1}else{O=1;e=(S[0]+S[2])/2}var V=m.h==1?"0,0,0":"255,255,255",q=Z.A$&&Y.Nj(Z)<1; +if(q){var K=S[0],z=f,t=l-Z.Gu*1.1,H=Z.Gu*2.2,i=.7;if(O==1&&Y.Nj(Z)<.5){K=t=.2*Math.min(f,h);z=f-2*t; +H=h-t-t}else if(Y.Nj(Z)<.7){K=t=0;z=f;H=h;i=.25}b.push("")}if(Y.Nj(Z)<.4){var y=Z.Gu*.07; +y*=1.5+Y.Nj(Z)*1;if(O==-1&&f/h<3&&!q){b.push(""); +b.push("")}if(O!=1){b.push(""); +e+=(O==0?1:-1)*Z.Gu/3}}var j=Z.Gu*.4;b.push(Y.cw(P[w+1],e,l+j*1.6,j,m,O,Z.qM));b.push(Y.cw(P[w],e,l+Z.Gu*.04,Z.Gu,m,O,Z.T9))}; +iZ.i9.anz=function(Z,S,b,Y){var P=S[2]-S[0],w=S[3]-S[1],f=Math.max(P,w),h=Math.min(P,w),Q=iZ.i9;if(f/h<5&&!Z.A$&&!1){Q.Xf(Z,S,b,Y)}else if(Q.Nj(Z)<0)b.push(""); +else{var e=0;if(S[3]!=Z.XE)e=0;if(S[2]!=Z.Yu)e=3;if(S[0]!=0)e=1;if(S[1]!=0)e=2;var l=e+2&3;if(f/h<3){var O=Q.anV(l),m=O[Math.round(Q.Nj(Z)*(O.length-1))],V=m.um.slice(0,4),q=V.indexOf(1); +m=JSON.parse(JSON.stringify(m));var K=-1;if(V!="0000"){var z=new fR;if(m.um[5]=="0"){if(q==3&&e==1){K=1; +z.scale(-1,1)}else K=q}else{var t=l;while(t==l)t=Math.floor(Q.Nj(Z)*4)&3;z.rotate((-q+t)*Math.PI/2)}Q.A(m,z)}var H=Q.$R(m),i=P-2*Z.g1,y=w-2*Z.g1; +if(K!=-1){if((K&1)==0)y-=Z.g1;else i-=Z.g1}var j=Math.min(i/H.c,y/H.v),J=new fR;J.translate(-H.x,-H.y); +J.scale(j,j);var A=(P-H.c*j)/2,a=(w-H.v*j)/2;if(K!=-1){if(K==3)A=0;if(K==0)a=0;if(K==1)A=P-H.c*j;if(K==2)a=w-H.v*j}J.translate(S[0]+A,S[1]+a); +Q.cI(Z,m,J,Z.AX,b)}else{Q.PS(Z,e,S,b,1e9)}}};iZ.i9.Xf=function(Z,S,b,Y){var P=S[2]-S[0],w=S[3]-S[1],f=Math.max(P,w),h=Math.min(P,w),Q=iZ.i9,e=Q.kg(Z),l,O,m,V=Y[0]instanceof ArrayBuffer; +if(V){l="data:image/jpg;base64,"+fY.uy(Y[0]);O=Y[1];m=Y[2]}else{var q=Math.floor(e*Y.length),K=Y[q]; +Z.R3=K;l=K.webformatURL;O=K.webformatWidth;m=K.webformatHeight}var z=S[0],t=S[1],H=P,i=w;if(P/w>O/m){i=H*m/O; +t=t-(i-w)/2}else{H=i*O/m;z=z-(H-P)/2}if(V){b.push("");b.push(""); +b.push("");var y=H/O;b.push("")}else{var j="cp"+Math.random(); +b.push("");b.push(""); +b.push("");b.push("")}}; +iZ.i9.cw=function(Z,S,b,Y,P,w,f){var h=iZ.i9;return""+Z+""}; +iZ.i9.cI=function(Z,S,b,Y,P){var w=iZ.i9,f=[];for(var D=0;D"); +for(var D=0;D")}P.push("")}; +iZ.i9.ado=function(Z,S,b){var Y=iZ.i9,P=iZ.i9.wz,w=[];for(var D=0;D0){t.v+=t.y; +t.y=0}if((S&1)==0){i=K;H=z}else{H=K;i=z}var y=Math.min(Math.min(.5+.5*Q.Nj(Z))*Math.min(z,K),P)/t.v,j=Math.ceil(H/(1e3*y)),J=new fR,A=new fR; +A.scale(y,y);if(S==0||S==2){A.translate(-(z/2),-(K/2));A.rotate(-S*Math.PI/2);A.translate(z/2+b[0],K/2+b[1])}else{A.rotate(Math.PI/2); +A.scale(1,-1);A.translate(b[0],b[1]);if(S==1){A.scale(-1,1);A.translate(z,0)}}Y.push(""); +for(var D=0;D"); +return V};iZ.i9.Rect=function(Z,S,b,Y){return Typr.U.pathToSVG({crds:[Z,S,Z+b,S,Z+b,S+Y,Z,S+Y],cmds:["M","L","L","L","Z"]})}; +iZ.i9.amu=function(Z,S,b,Y,P){var w=[Z,S,Z+b,S,Z+b,S+Y,Z,S+Y];Z+=P;S+=P;b-=2*P;Y-=2*P;w.push(Z,S,Z,S+Y,Z+b,S+Y,Z+b,S); +return Typr.U.pathToSVG({crds:w,cmds:"M L L L Z M L L L Z".split(" ")})};iZ.i9.a0T=function(Z,S){var b=T.dU(Z.h,Z.l,Z.O); +b.jM=Math.max(.1,Math.min(.9,b.jM+S));return T.E$(b.XE,b.zk,b.jM)};iZ.i9.ad4=function(Z,S){var b=T.dU(Z.h,Z.l,Z.O); +b.XE+=S;return T.E$(b.XE,b.zk,b.jM)};iZ.i9.agi=function(Z){var S=T.dU(Z.h,Z.l,Z.O);S.jM=1-S.jM;return T.E$(S.XE,S.zk,S.jM)}; +iZ.i9.am0=function(Z,S){var b=Z.h-S.h,Y=Z.l-S.l,P=Z.O-S.O;return Math.sqrt(b*b+Y*Y+P*P)};iZ.i9.a8_=function(Z){var S=iZ.i9; +return{h:S.Nj(Z),l:S.Nj(Z),O:S.Nj(Z)}};iZ.i9.l7=function(Z){return CSS.Mh({h:Z.h*255,l:Z.l*255,O:Z.O*255})}; +iZ.i9.$R=function(Z){var S=Z.mu,b=new b4;for(var D=0;D>>8*S&255;return b*(.99999999/255)};iZ.i9.kg=function(Z){var S=iZ.i9.A9(Z.Nz); +Z.Nz=iZ.i9.A9(S);return S*(1/4294967295)};iZ.i9.A9=function(Z){Z=(Z^61^Z>>>16)>>>0;Z=Z+(Z<<3)>>>0;Z=(Z^Z>>>4)>>>0; +Z=Z*668265261>>>0;Z=(Z^Z>>>15)>>>0;return Z};iZ.i9.wz=[{um:"0001-0-bird",mu:[["4b3c34",{K:"M C L C C L Z M C C L C C L Z M C L C L Z M C L C C L Z".split(" "),H:[208,16,253,5,247,86,228,104,218,108,253,60,235,12,211,18,210,18,209,17,208,16,208,16,187,140,238,125,326,133,319,189,318,198,307,210,299,207,297,205,307,208,316,195,317,188,320,126,208,137,174,149,187,140,137,75,156,79,177,94,164,157,173,147,177,101,165,79,142,75,137,75,368,59,165,59,182,233,0,210,0,225,161,250,194,61,364,63,367,61,368,59,368,59,368,59]}],["3c7040",{K:"M C C C C C L Z M C C C C L Z M C C C C L Z M C C C C L Z M C C C C C L Z M C C C C L Z M C C C C Z".split(" "),H:[345,123,324,113,331,70,284,80,287,79,310,89,314,103,314,104,306,90,284,82,281,81,270,85,268,86,274,117,335,119,345,123,345,123,270,0,283,29,282,58,244,66,258,62,265,40,269,27,265,37,256,56,249,58,242,31,263,18,270,0,270,0,89,100,81,136,47,182,101,196,90,189,92,157,91,145,94,160,93,191,109,195,148,158,96,129,89,100,89,100,230,187,201,240,160,226,133,198,150,191,172,197,187,198,166,193,153,190,134,193,159,162,207,194,230,187,230,187,126,177,131,159,129,150,119,139,122,122,145,112,147,97,166,128,164,155,134,168,139,154,146,142,145,131,143,145,133,159,126,177,126,177,209,86,195,86,166,91,173,109,177,102,181,97,191,96,180,99,174,113,175,113,194,114,200,96,209,86,209,86,278,175,254,167,235,168,231,143,245,143,248,151,256,158,252,147,243,144,240,142,276,147,265,171,278,175]}],["b588c1",{K:"M C C C C C C C C C C C C L Z".split(" "),H:[189,40,188,42,186,44,184,47,184,52,183,55,181,59,175,70,160,78,147,79,142,79,131,78,127,75,118,74,95,71,93,70,89,70,88,70,69,72,74,66,82,68,93,65,78,64,83,62,95,59,128,50,128,33,155,29,162,16,180,13,189,31,193,31,196,34,198,37,197,37,193,39,189,40,189,40]}]]},{um:"0001-0-bird2",mu:[["ff7f2a",{K:"M L L L Z M L L L Z".split(" "),H:[296,0,296,62,335,62,296,0,357,0,357,62,318,62,357,0]}],["b588c1",{K:"M C C C C C C C C C C C L Z".split(" "),H:[321,48,344,48,379,67,396,121,408,176,396,230,337,255,303,265,265,268,217,235,191,217,170,188,186,180,195,177,199,187,205,192,203,185,199,178,207,172,217,165,224,178,225,182,227,196,231,203,250,206,273,205,290,196,292,165,289,133,269,118,268,101,267,77,288,49,321,48,321,48]}],["74439e",{K:"M C C C C C C L Z M C C Z".split(" "),H:[337,187,329,202,317,204,304,204,293,204,284,205,293,224,286,216,278,209,268,214,257,220,262,237,269,243,284,258,310,256,323,243,337,227,339,208,337,187,337,187,340,77,310,78,287,81,315,96,269,83,309,75,340,77]}],["000000",{K:"M L L L Z M L L L Z".split(" "),H:[326,258,334,315,323,316,326,258,298,262,296,318,286,317,298,262]}],["4b3c34",{K:"M L C C C C C C C C L Z".split(" "),H:[0,272,0,336,63,296,119,296,175,320,205,330,229,339,278,338,322,337,354,322,405,325,443,329,482,332,501,377,501,366,502,348,474,328,464,320,440,312,384,309,296,309,300,333,186,293,118,264,54,250,0,272,0,272]}],["3c7040",{K:"M C C C Z M C C C Z M C C C L Z M C C C L Z M C C C L Z M C C C Z".split(" "),H:[58,260,44,247,27,239,20,208,15,188,32,182,43,198,59,227,56,242,58,260,181,323,167,336,150,345,143,375,138,396,155,401,166,385,182,356,179,342,181,323,60,260,79,249,100,243,113,214,122,194,102,186,86,200,62,227,65,242,60,260,60,260,499,378,479,377,462,372,435,388,417,399,425,415,444,411,476,403,484,390,499,378,499,378,501,379,494,397,482,411,488,442,491,463,511,461,514,442,520,410,508,397,501,379,501,379,503,378,513,390,516,402,531,413,546,421,557,412,548,401,534,382,519,379,503,378]}]]},{um:"0000-1-flower",mu:[["7a59a2",{K:"M C C C C C C C Z M C C C C C C L Z M C C C C C C C L Z M C C C C C C L Z M C C C C C C C L Z M C C C C C C L Z M C C C C C C C L Z M C C C C C C L Z".split(" "),H:[468,470,411,473,371,480,351,495,332,509,322,536,325,581,325,601,328,621,325,637,346,634,371,638,397,637,427,636,456,626,465,611,478,596,485,553,489,490,477,489,470,483,468,470,445,563,435,583,425,591,415,590,401,588,401,572,410,549,388,558,375,557,369,546,366,533,374,524,390,517,416,506,441,498,465,495,463,519,455,542,445,563,445,563,489,450,486,392,480,352,465,332,451,313,425,302,380,305,360,305,340,307,324,304,327,324,322,350,323,376,323,406,332,435,347,444,362,457,405,465,468,470,469,458,476,451,489,450,489,450,395,424,376,415,368,405,369,394,371,380,387,380,410,390,402,368,403,355,414,349,427,346,436,355,443,370,454,397,460,422,463,446,439,443,417,435,395,424,395,424,508,470,566,468,606,462,626,447,645,433,656,407,654,362,654,342,652,322,655,306,634,309,609,304,583,305,553,305,524,314,514,329,501,344,493,387,488,449,500,451,507,457,508,470,508,470,534,377,544,357,554,350,564,351,578,353,578,369,568,392,590,384,604,385,609,396,612,409,603,418,588,425,561,435,536,442,512,445,515,421,523,399,534,377,534,377,488,490,492,547,499,587,514,607,528,626,554,636,600,633,619,632,640,630,656,633,652,612,656,587,655,560,655,531,645,502,629,493,614,480,571,473,508,469,507,481,501,488,488,490,488,490,582,513,602,523,610,533,609,543,607,557,591,557,568,548,577,570,576,583,565,589,552,592,542,584,535,568,524,542,517,517,514,493,538,495,560,503,582,513,582,513]}]]},{um:"0000-1-flower",mu:[["d13777",{K:"M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z".split(" "),H:[474,503,457,528,452,530,450,528,450,523,469,498,464,493,388,522,332,552,314,585,297,628,322,660,372,639,361,698,421,709,450,665,467,649,477,596,482,505,474,503,474,503,439,563,431,563,424,556,424,548,424,539,431,532,439,532,447,532,454,539,454,548,454,556,447,563,439,563,462,475,432,467,429,463,430,460,435,458,465,469,468,463,417,399,371,356,335,348,288,345,265,379,300,420,241,428,249,488,301,503,321,513,374,507,462,483,462,475,462,475,394,460,391,452,396,444,404,441,412,438,420,443,423,451,426,459,421,467,413,470,405,473,396,468,394,460,484,455,483,424,486,419,489,420,492,424,492,456,498,457,543,389,570,332,566,294,554,249,515,238,487,284,461,231,406,256,408,310,405,333,427,381,477,458,484,455,484,455,477,385,484,380,494,382,499,389,504,396,502,405,496,410,489,415,479,414,474,407,469,400,471,390,477,385,511,470,539,459,545,461,545,463,542,467,512,477,513,483,592,505,654,513,688,497,728,472,726,432,674,419,717,378,675,334,625,353,602,356,563,393,506,464,511,470,511,470,575,442,581,447,583,456,578,463,573,470,563,472,557,467,550,462,548,452,553,445,558,438,568,437,575,442,505,499,524,523,524,529,521,531,517,529,498,503,492,506,496,588,508,650,533,677,570,707,607,693,603,639,656,667,685,614,651,572,641,551,594,525,509,493,505,499,505,499,551,552,548,560,540,564,532,561,524,559,519,550,522,542,524,534,533,530,541,532,549,535,554,543,551,552]}]]},{um:"0000-1-flower",mu:[["ffac42",{K:"M C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C Z M C C C C Z".split(" "),H:[646,471,646,446,626,426,601,426,599,426,597,426,595,427,596,426,598,424,599,423,616,406,616,378,599,360,581,343,553,343,536,360,534,361,533,363,532,364,532,363,532,361,532,359,532,335,512,315,488,315,463,315,443,335,443,359,443,361,443,363,443,365,442,364,441,363,440,362,422,344,394,344,377,362,359,379,359,407,377,425,378,426,380,427,381,429,379,428,378,428,376,428,351,428,331,448,331,473,331,498,351,518,376,518,378,518,380,517,382,517,381,518,379,519,378,521,361,538,361,566,378,584,396,601,424,601,441,584,443,582,444,581,445,579,445,581,445,583,445,584,445,609,465,629,490,629,514,629,534,609,534,584,534,582,534,580,534,579,535,580,536,581,537,582,555,600,583,600,600,582,618,565,618,537,600,519,599,518,597,516,596,515,598,515,599,516,601,516,626,516,646,496,646,471,489,552,444,552,409,516,409,472,409,428,444,392,489,392,533,392,569,428,569,472,569,516,533,552,489,552]}]]},{um:"0000-1-flower",mu:[["d04040",{K:"M C C L L C C C C L L C C L L C C C C L C C C C L Z M C C C Z M C C C L Z M C C C L Z".split(" "),H:[691,424,690,369,680,330,660,303,634,320,601,361,568,406,568,406,568,327,578,326,585,317,585,306,585,294,576,284,564,284,552,284,542,294,542,306,542,317,550,326,560,327,560,406,559,406,540,359,522,311,501,291,475,319,453,360,433,407,431,406,431,327,441,326,448,317,448,306,448,294,439,284,427,284,415,284,405,294,405,306,405,317,412,326,423,327,423,404,390,363,360,326,341,308,296,401,299,489,360,567,396,613,443,639,500,638,624,636,694,524,692,424,691,424,389,543,370,514,379,498,399,504,439,518,470,564,488,613,455,600,414,580,389,543,481,480,488,445,505,441,515,459,533,497,524,552,501,599,487,567,472,523,481,480,481,480,624,523,610,563,565,595,515,613,528,580,548,538,585,514,614,494,629,503,624,523,624,523]}]]},{um:"0000-1-flower",mu:[["ec7272",{K:"M C C C C Z M C C C C Z M C C C C L Z M C C C C L Z M C C C C Z M C C C C L Z".split(" "),H:[447,475,452,450,452,438,437,423,422,407,407,412,390,383,398,418,421,415,433,434,445,453,446,474,447,475,495,446,520,439,529,433,535,412,542,390,529,380,546,351,520,376,533,394,523,414,513,434,495,445,495,446,545,473,564,490,574,495,595,490,617,485,620,469,653,468,619,459,610,479,587,480,565,482,546,472,545,473,545,473,549,533,543,558,543,569,559,585,574,601,589,596,606,624,597,590,575,592,563,573,551,555,550,534,549,533,549,533,504,562,480,570,470,575,464,596,458,618,470,628,454,657,479,632,466,614,476,594,486,575,504,563,504,562,459,536,440,519,430,513,409,518,387,524,384,539,351,540,385,549,394,529,417,528,439,527,457,536,459,536,459,536]}],["333333",{K:"M C C C C C C C C C C C C L Z M C C C C C C C C C C C C L Z M C C C C C C C C C C C C L Z M C C C C C C C C C C C C L Z M C C C C C C C C C C C C L Z M C C C C C C C C C C C C L Z".split(" "),H:[534,455,584,415,579,358,577,335,574,315,585,304,585,304,585,304,568,308,561,312,554,316,520,333,500,363,479,392,493,437,486,456,479,476,452,485,452,485,452,485,471,474,475,454,479,434,460,402,482,365,505,328,565,292,597,294,612,295,591,298,587,316,583,333,593,373,584,404,574,440,533,456,534,455,534,455,559,506,619,530,666,497,685,483,701,471,716,475,716,475,716,475,704,463,697,459,690,454,657,434,622,431,587,428,554,462,534,465,513,469,492,451,492,451,492,451,511,461,530,455,549,448,568,416,611,417,654,418,716,452,730,481,737,495,724,478,706,483,689,489,660,516,628,524,592,534,558,506,559,506,559,506,524,552,534,615,586,640,607,649,625,657,629,672,629,672,629,672,634,655,634,647,634,639,636,601,621,569,606,537,560,525,547,509,534,494,539,466,539,466,539,466,539,488,554,501,569,514,607,514,627,552,648,590,650,660,632,687,623,700,631,680,617,667,605,656,566,644,543,621,517,594,524,551,524,552,524,552,467,546,417,585,421,643,424,665,426,686,415,697,415,697,415,697,432,693,439,689,446,684,481,667,501,638,521,609,508,563,515,544,522,524,548,515,548,515,548,515,530,527,526,546,522,566,540,598,518,635,496,672,436,709,404,706,388,705,409,702,413,684,417,667,408,628,417,596,426,561,467,544,467,546,467,546,442,495,383,472,336,504,317,518,301,530,286,526,286,526,286,526,298,539,305,543,312,547,344,568,380,571,415,574,448,539,468,536,488,532,510,551,510,551,510,551,490,540,471,547,452,553,434,585,391,584,348,583,286,550,272,521,265,507,278,524,296,518,313,513,342,485,373,477,409,468,444,495,442,495,442,495,476,449,467,386,415,361,394,352,375,344,371,329,371,329,371,329,366,346,366,354,366,362,364,400,379,433,394,465,440,476,453,492,467,508,462,535,462,535,462,535,461,513,446,500,431,487,394,487,373,449,352,411,350,341,368,314,377,301,369,321,383,334,396,345,434,357,457,380,483,407,477,450,476,449,476,449]}]]},{um:"0000-0-hearts",mu:[["d17070",{K:"M C C C C C C C C C L Z".split(" "),H:[415,584,413,585,411,586,409,587,392,596,389,620,395,633,401,647,414,663,450,668,485,674,487,681,494,690,491,679,487,673,507,643,527,613,524,593,518,579,512,566,493,552,475,558,467,561,451,566,448,586,435,578,423,581,415,584,415,584]}],["6bcc6b",{K:"M C C C C C C C C C L Z".split(" "),H:[595,451,593,449,590,448,588,448,563,439,537,457,529,475,521,493,516,520,542,560,568,601,563,609,559,623,568,611,571,602,618,595,666,589,684,567,692,550,700,532,697,501,674,488,665,482,645,472,622,486,619,465,606,456,595,451,595,451]}],["5c5cc2",{K:"M C C C C C C C C C L Z".split(" "),H:[341,362,338,364,335,366,332,368,304,385,301,424,312,446,323,468,345,494,405,501,465,508,468,520,480,534,475,516,468,506,499,455,531,404,524,370,514,348,503,325,470,304,440,315,427,320,401,331,397,364,374,351,355,356,341,362,341,362]}]]},{um:"0000-0-anchor",mu:[["2a3b66",{K:"M C C C C L Z M C C C C C C C C C C C C C C L C C C C C C C C C C C C C L C C C C C C C C C C C C C L Z".split(" "),H:[495,315,490,315,488,318,489,323,491,328,502,326,502,320,502,317,501,316,497,315,496,315,496,315,495,315,495,315,496,303,509,303,521,320,514,327,511,330,513,345,517,348,519,350,531,352,546,354,570,357,572,357,578,354,588,347,592,351,592,369,592,385,588,390,580,385,576,383,570,383,552,384,524,387,519,389,517,397,515,404,517,515,520,554,522,583,525,599,530,606,534,610,555,617,565,617,584,616,607,602,635,572,639,568,641,566,644,563,633,559,616,557,616,557,675,533,675,533,671,605,669,609,667,611,664,591,658,577,657,579,657,580,656,582,628,638,603,660,565,664,545,666,521,672,514,675,512,677,507,682,504,688,501,693,497,698,496,698,494,698,490,693,487,688,484,682,480,677,477,675,471,672,447,666,427,664,391,660,367,640,340,591,335,604,332,621,331,619,329,615,325,544,325,544,384,568,384,568,368,569,357,573,385,602,408,616,426,617,437,617,458,610,461,606,466,599,470,583,472,554,474,515,476,404,475,397,473,389,468,387,440,384,422,383,416,383,412,385,403,390,400,385,400,369,400,351,403,347,414,354,419,357,421,357,446,354,460,352,473,350,475,348,478,345,481,330,478,327,470,320,483,303,496,303,496,303]}]]},{um:"0000-1-leaf",mu:[["fbb600",{K:"M L L L L L L C L L C L C L C C C C C L C C C C C C C C C L C C C C C C C C C C C C C L L L L Z".split(" "),H:[642,726,633,723,632,707,591,631,570,582,526,521,537,547,535,579,517,598,501,619,486,602,414,634,412,606,379,609,346,611,394,557,406,547,401,539,386,532,319,519,337,508,332,493,320,478,326,464,302,450,287,436,303,436,324,441,330,432,346,434,359,434,359,415,377,428,397,431,417,432,442,440,437,418,417,416,406,372,401,370,395,367,389,355,417,363,408,339,406,323,416,312,427,303,417,276,433,295,444,297,452,294,479,321,490,313,496,294,503,322,510,329,517,338,522,353,530,371,530,379,546,402,551,389,555,378,578,333,606,333,628,304,652,280,646,306,644,327,657,329,649,356,658,374,679,384,666,392,656,415,645,432,627,457,653,451,661,457,692,460,698,473,715,481,697,485,678,488,669,509,656,523,655,533,666,539,659,537,659,542,643,531,630,535,613,543,608,539,598,535,594,542,590,553,590,566,594,564,596,569,568,575,551,543,531,519,575,577,597,628,639,708,642,726]}]]},{um:"0000-1-acorn",mu:[["a05a2c",{K:"M C C C C C C C L Z".split(" "),H:[506,453,450,426,413,422,398,444,374,480,374,533,384,573,391,602,407,625,430,645,451,658,487,654,509,647,554,633,587,605,612,565,635,527,591,500,565,482,557,476,515,457,506,453,506,453]}],["502d16",{K:"M C C C C C C C C C C C Z".split(" "),H:[640,524,639,539,623,540,623,540,627,522,607,504,583,488,547,465,507,445,470,434,439,426,412,417,400,437,400,437,391,424,400,414,434,370,498,356,551,376,555,349,583,317,597,321,612,326,621,346,620,350,619,354,594,352,584,368,580,375,577,382,575,387,619,412,649,460,640,524]}]]},{um:"0000-0-skull",mu:[["808080",{K:"M C L C C L C L C C C C C C C L C L C C C C C C C C L C C L C L C C C C C C C L C L C L C C C C C C Z M C C C C Z M C C C C Z M L L L Z".split(" "),H:[396,410,398,415,398,420,398,424,420,437,433,404,465,382,501,382,538,382,569,404,582,435,602,424,602,419,603,415,604,410,604,410,609,392,622,379,633,382,643,384,648,402,643,420,643,421,642,421,642,422,643,422,643,422,644,422,662,427,675,440,672,450,669,461,652,465,633,460,628,459,624,457,620,455,589,473,588,491,582,507,572,520,607,540,611,538,615,536,620,535,639,530,656,535,659,545,662,556,649,568,630,573,630,574,629,574,629,574,629,574,629,575,629,575,634,594,630,611,619,614,609,617,596,604,591,585,590,580,589,576,589,571,565,557,564,592,536,619,501,619,466,619,438,591,437,557,412,572,411,576,411,580,410,585,410,585,405,604,392,617,381,614,371,611,366,593,371,575,371,574,371,574,372,574,371,573,371,573,370,573,352,568,339,556,342,545,345,534,362,530,381,535,385,536,390,538,394,540,430,519,421,507,415,491,414,475,380,455,376,457,372,459,367,460,367,460,349,465,331,461,328,450,326,440,338,427,357,422,357,422,358,422,358,422,358,421,358,421,358,420,353,402,357,384,368,381,379,379,391,391,396,410,463,439,445,439,431,453,431,470,431,488,445,502,463,502,480,502,494,488,494,470,494,453,480,439,463,439,540,439,522,439,508,453,508,470,508,488,522,502,540,502,557,502,571,488,571,470,571,453,557,439,540,439,483,528,518,528,500,503,483,528]}]]},{um:"0000-0-ghost",mu:[["e6e6e6",{K:"M C C C C C C C C C C L Z M C C C C C C C C Z M C C Z".split(" "),H:[653,486,653,574,689,597,689,638,689,661,640,644,620,656,601,666,609,682,583,692,563,700,538,666,512,666,490,666,451,695,433,686,415,677,416,646,388,644,367,641,313,671,313,648,313,619,346,588,346,486,346,388,415,308,500,308,584,308,653,388,653,486,653,486,449,396,428,396,412,415,412,439,412,462,428,482,449,482,465,482,478,470,484,454,489,470,503,482,519,482,539,482,556,462,556,439,556,415,539,396,519,396,503,396,489,407,484,423,478,407,465,396,449,396,482,505,441,505,465,560,482,560,503,560,524,505,482,505]}],["000000",{K:"M C C C C Z M C C C C Z".split(" "),H:[526,446,526,455,519,462,510,462,501,462,494,455,494,446,494,437,501,430,510,430,519,430,526,437,526,446,475,446,475,455,468,462,459,462,450,462,442,455,442,446,442,437,450,430,459,430,468,430,475,437,475,446]}]]},{um:"1001-1-rose",mu:[["9e1460",{K:"M C C C C C C C C C Z M C C C C C C C C C Z".split(" "),H:[568,83,558,83,548,88,539,96,538,98,536,99,535,101,522,115,513,134,517,149,522,172,561,200,592,207,604,210,611,215,615,221,622,234,611,258,611,258,613,260,615,264,618,264,627,266,638,241,640,236,660,188,614,83,568,83,526,125,527,97,567,68,593,75,616,81,642,121,649,152,651,165,656,172,662,176,675,183,698,173,698,173,698,173,698,173,698,173,704,176,705,179,705,180,706,189,681,199,678,200,678,200,677,201,677,201,627,220,524,170,526,125]}],["020304",{K:"M C C C C C Z M C C C C C Z M C C C C C Z M C C C C Z".split(" "),H:[60,151,60,151,37,125,60,98,83,72,95,91,115,66,134,42,117,26,120,30,123,34,146,83,132,114,114,154,60,151,60,151,280,70,280,70,258,97,283,122,308,147,318,127,339,150,361,173,344,190,347,186,350,182,370,132,354,101,333,62,280,70,280,70,61,150,61,150,27,143,30,108,33,73,54,81,55,50,57,19,33,16,38,17,43,19,91,44,98,78,107,121,61,150,61,150,-27,185,184,158,222,43,352,32,444,24,538,97,538,97,538,97,453,45,354,48,241,51,185,170,-27,185]}]]},{um:"1001-1-curls",mu:[["53a7ab",{K:"M C C C C C C C C C C C C C C C C L Z M C C C C C C C C C C C C C C C C L Z M C C C C C C C C C C C C C C C C C C C C C L Z".split(" "),H:[68,114,121,103,159,110,183,135,212,169,211,204,189,237,162,277,124,291,86,276,52,263,38,236,47,202,55,168,79,151,121,156,147,162,165,177,160,205,155,228,135,241,113,237,97,234,92,221,96,205,98,195,105,194,115,200,124,205,133,204,135,197,139,183,122,167,95,171,68,176,54,193,68,220,84,252,131,261,165,238,201,202,199,164,158,136,118,113,52,122,-23,151,2,134,33,122,68,114,68,114,71,83,119,75,163,79,198,107,226,129,247,174,271,207,291,229,316,241,342,232,370,222,394,206,418,209,443,212,461,238,485,258,500,272,522,276,543,271,543,271,524,279,518,281,500,287,483,277,466,256,453,243,441,230,427,223,413,217,392,220,372,229,372,230,371,230,370,230,354,241,337,251,315,250,283,248,253,222,229,172,209,133,178,106,137,94,103,84,52,94,-30,133,-3,108,30,91,71,83,71,83,83,54,122,46,166,49,195,67,219,82,250,122,290,168,308,186,330,194,355,192,393,183,400,145,383,118,372,101,355,91,328,91,313,92,303,98,300,109,298,116,299,125,304,131,315,147,327,152,340,149,349,149,354,132,343,131,330,131,326,129,328,120,332,97,355,100,365,114,381,137,367,165,343,168,321,170,289,150,288,117,290,77,319,58,352,64,388,74,405,104,404,141,403,177,382,202,345,207,312,211,284,191,260,161,245,141,229,122,213,106,196,84,166,73,129,67,80,62,28,79,-26,108,10,79,46,63,83,54,83,54]}],["bbdc54",{K:"M C C C C C L Z M C C C C C L Z M C C C C L Z M C C C C L Z M C C C C C C C C C L Z M C C C C C C C C C C C C C C C C C C C C C C C C C C C C C L Z".split(" "),H:[321,315,287,324,252,312,211,219,217,284,239,326,279,341,324,352,362,329,398,291,316,305,258,269,217,196,238,284,274,319,321,315,321,315,211,261,223,300,234,345,252,374,220,378,194,367,193,324,194,306,198,288,206,270,197,315,204,340,221,351,206,327,202,297,211,261,211,261,206,246,193,301,170,317,138,297,162,281,184,254,205,222,201,246,191,267,174,283,186,279,197,267,206,246,206,246,378,233,370,286,337,299,294,270,312,277,330,276,347,267,294,278,259,252,234,203,280,259,327,278,378,233,378,233,626,217,604,273,555,313,511,315,484,316,438,289,432,232,450,253,488,296,511,291,532,286,551,277,566,261,527,269,498,263,480,243,478,241,478,237,480,235,486,230,504,220,519,226,537,233,551,242,567,241,591,236,611,228,626,217,626,217,411,192,432,183,439,166,420,136,443,144,460,158,466,182,470,165,456,149,430,133,459,136,485,145,505,165,503,143,463,133,434,128,486,127,526,124,539,118,505,123,470,124,435,122,461,111,483,96,500,76,475,95,450,110,424,118,450,96,465,72,466,48,458,75,440,98,419,112,424,106,428,99,428,91,429,68,413,57,393,51,419,70,426,92,411,110,408,77,385,58,343,52,383,26,422,25,445,62,458,47,465,29,467,8,477,27,479,51,475,76,497,64,515,49,528,29,524,57,515,82,496,103,521,113,549,111,579,99,560,122,535,136,502,137,518,149,521,173,514,205,505,181,492,166,476,158,483,188,470,205,447,216,456,183,451,166,438,157,444,193,426,211,379,207,403,193,416,172,416,140,434,156,428,173,411,192,411,192]}]]},{um:"0111-0-pines",mu:[["e9e9e9",{K:"M C C C C C C C C L L L Z".split(" "),H:[0,946,0,946,54,960,99,944,149,927,182,954,205,956,245,960,298,940,382,974,435,995,478,957,538,956,571,955,597,969,631,968,663,967,701,938,749,944,805,950,851,960,893,946,950,928,1e3,946,1e3,946,1e3,1e3,0,1e3,0,946]}],["437a26",{K:"M C L C C C L L C C L L L L L C Z M C L C C C L L C C L L L L L C Z M C L C C C L L C C L L L L L C Z M C L C C C L L C C L L L L L C Z M C L C C C L L C C L L L L L C Z".split(" "),H:[119,801,120,801,148,859,148,859,137,853,137,853,155,890,155,891,156,892,138,887,140,888,141,888,171,925,171,925,126,924,125,943,125,943,105,944,106,944,107,944,106,924,106,924,61,925,93,886,77,891,100,854,89,860,89,860,119,801,119,801,286,871,286,871,303,905,303,905,296,902,296,902,307,924,307,924,307,925,297,922,297,922,298,922,316,944,316,944,289,944,289,955,289,955,277,956,278,956,278,956,278,944,278,944,251,944,270,921,260,924,274,902,268,906,268,906,285,871,286,871,526,863,526,863,546,903,546,903,538,899,538,899,550,924,550,925,550,926,539,922,540,922,540,922,561,948,561,948,530,947,529,960,529,960,516,961,517,961,518,961,517,947,517,947,486,948,508,921,497,925,513,899,505,903,505,903,526,863,526,863,731,841,731,841,752,883,752,883,744,879,744,879,757,907,757,908,758,908,745,905,746,905,747,905,769,932,769,932,736,932,735,946,735,946,721,946,721,946,722,947,721,932,721,932,688,932,712,903,700,908,717,880,709,884,709,884,731,841,731,841,889,826,889,826,914,876,914,876,904,871,904,871,920,904,920,905,920,906,906,901,907,902,908,902,934,934,934,934,894,933,894,950,894,950,877,951,878,951,879,951,878,933,878,933,838,934,866,900,852,905,872,872,862,877,862,877,889,826,889,826]}]]},{um:"0111-0-flowers",mu:[["8cae40",{K:"M C L C C C L C C L C C C L C C C L C C L C C L Z M C L C C C L C C L C C C L C C C L C C L C C L Z M C L C C C L C C L C C C L C C C L C C L C C L Z M C L C C C L C C L C C C L C C C L C C L C C L Z".split(" "),H:[182,866,160,879,146,903,135,929,135,844,177,842,228,831,230,796,231,770,207,765,182,779,160,792,146,816,135,843,135,713,135,711,134,710,132,710,130,710,128,711,128,713,128,841,117,815,103,791,82,779,57,764,33,769,34,795,36,830,86,841,128,844,128,930,117,903,103,880,82,867,57,853,33,858,34,884,36,919,86,930,128,932,128,1009,128,1010,130,1012,132,1012,134,1012,135,1010,135,1009,135,931,177,928,228,918,230,882,231,856,207,851,182,866,182,866,447,904,430,898,412,904,394,916,394,861,413,873,431,879,447,873,458,868,458,852,447,848,430,841,412,848,394,859,394,788,394,787,393,786,391,786,389,786,388,787,388,788,388,859,370,847,352,841,336,848,325,852,325,868,336,873,352,879,370,873,388,862,388,915,370,904,352,898,336,904,325,909,325,925,336,929,352,936,370,930,388,918,388,1009,388,1010,389,1011,391,1011,393,1011,394,1010,394,1009,394,918,413,930,431,936,447,929,458,925,458,909,447,904,447,904,662,943,650,954,641,972,634,993,634,914,659,907,680,895,692,873,707,846,686,836,662,859,650,870,641,888,634,909,634,818,634,816,632,815,631,815,629,815,628,816,628,818,628,908,621,887,612,870,600,859,576,836,555,846,570,873,582,895,603,907,628,914,628,992,621,971,612,954,600,943,576,920,555,930,570,957,582,978,603,990,628,998,628,1009,628,1010,629,1011,631,1011,632,1011,634,1010,634,1009,634,998,659,991,680,978,692,957,707,930,686,920,662,943,662,943,892,842,875,857,862,882,850,912,850,822,874,817,896,805,908,778,919,755,896,751,877,769,866,779,857,796,850,815,850,737,850,736,848,735,847,735,845,735,844,736,844,737,844,815,836,795,828,779,817,769,798,751,775,755,785,777,797,804,820,817,844,822,844,912,832,882,818,857,801,842,772,816,737,822,753,854,772,894,806,911,844,918,844,1009,844,1010,845,1011,847,1011,848,1011,850,1010,850,1009,850,918,887,911,922,894,941,854,957,822,922,816,892,842,892,842]}],["d13777",{K:"M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z M L C L L C C C C L L Z M C C C C Z M C C C C C C C Z M C C C C C C L Z M C C C C C C C L Z M C C C C C C L Z M C C C C C C C L Z M C C C C C C L Z M C C C C C C C L Z M C C C C C C L Z M C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C Z M C C C C Z M C C L L C C C C L L C C L L C C C C L C C C C L Z M C C C Z M C C C L Z M C C C L Z".split(" "),H:[125,603,115,617,112,619,110,618,111,615,122,600,119,597,75,614,43,631,32,650,22,675,36,694,65,682,59,716,94,722,111,696,120,687,126,657,129,604,125,603,125,603,104,638,99,638,95,634,95,629,95,624,99,620,104,620,109,620,113,624,113,629,113,634,109,638,104,638,117,587,100,582,98,579,99,578,102,577,119,583,121,580,92,543,65,517,44,513,17,512,4,531,24,555,-10,560,-6,594,24,603,36,609,67,605,118,591,118,587,117,587,78,578,77,573,79,568,84,567,88,565,93,568,95,573,96,577,94,582,89,584,85,585,80,583,78,578,130,575,130,557,131,554,133,555,135,557,135,575,138,576,164,537,180,504,177,482,171,456,148,449,132,476,117,445,85,460,86,491,84,504,97,532,126,577,130,575,130,575,126,535,130,532,136,533,139,537,142,541,141,546,137,549,133,552,127,551,125,547,122,543,122,538,126,535,146,584,162,577,165,578,166,580,164,582,146,588,147,591,193,604,229,609,249,600,271,585,271,562,240,554,265,530,241,505,212,516,199,518,176,539,143,580,146,584,146,584,183,567,187,570,187,576,185,580,182,584,176,585,172,582,168,579,167,573,170,569,173,565,179,565,183,567,142,601,153,615,153,618,152,619,149,618,138,603,135,605,137,652,144,688,159,704,180,721,202,713,199,681,230,698,246,667,227,643,221,631,194,616,145,597,142,601,142,601,169,631,167,636,162,638,158,637,153,635,151,630,152,625,154,621,159,618,163,620,168,621,170,626,169,631,376,691,343,693,320,697,309,706,297,714,291,729,294,756,294,767,295,779,294,788,305,786,320,788,335,788,353,787,369,782,375,773,382,764,386,739,388,703,381,702,377,699,376,691,363,745,357,757,351,761,345,761,337,760,337,751,343,737,330,742,322,742,319,735,317,728,322,723,331,718,346,712,360,708,374,706,373,720,369,733,363,745,363,745,388,680,387,646,383,623,375,612,366,600,351,594,325,596,314,596,302,597,293,595,295,607,292,622,292,637,292,654,298,671,306,676,315,684,340,689,376,692,377,684,381,680,388,680,388,680,334,665,323,659,318,654,319,648,320,639,329,640,343,645,338,632,339,625,345,621,352,620,358,625,362,634,368,649,372,664,373,677,360,676,347,671,334,665,334,665,399,691,433,690,456,686,467,678,479,670,485,655,484,629,484,617,482,606,484,597,472,598,458,595,442,596,425,596,409,601,403,610,395,618,391,643,388,679,395,680,399,684,399,691,399,691,414,638,420,626,426,622,432,622,440,624,440,633,434,646,447,641,455,642,458,648,459,656,454,661,445,665,430,671,416,675,402,677,403,663,408,650,414,638,414,638,388,703,390,736,394,759,403,770,411,782,426,788,452,785,464,785,475,784,485,785,483,774,485,759,485,744,484,726,479,710,470,704,461,697,436,693,400,691,399,698,395,702,388,703,388,703,442,716,453,722,458,728,458,734,456,742,447,742,434,736,439,749,438,757,432,760,425,762,419,757,415,748,409,733,404,719,403,705,416,706,429,710,442,716,442,716,722,716,722,701,710,690,696,690,695,690,694,690,693,690,693,689,694,689,695,688,705,678,705,662,695,651,685,641,668,641,658,651,658,652,657,653,656,654,656,653,656,652,656,651,656,637,645,625,630,625,616,625,605,637,605,651,605,652,605,653,605,654,604,654,604,653,603,652,593,642,576,642,566,652,556,662,556,679,566,689,567,690,568,690,569,691,568,691,567,691,566,691,552,691,540,702,540,717,540,731,552,743,566,743,567,743,568,743,569,742,569,743,568,744,567,744,557,754,557,771,567,781,577,791,594,791,604,781,605,780,605,779,606,778,606,779,606,780,606,781,606,795,617,807,632,807,646,807,657,795,657,781,657,780,657,779,657,778,658,779,658,779,659,780,669,790,686,790,696,780,706,770,706,754,696,743,695,743,694,742,693,741,694,741,695,741,696,741,710,741,722,730,722,716,631,762,605,762,585,742,585,716,585,691,605,670,631,670,657,670,677,691,677,716,677,742,657,762,631,762,958,602,957,570,951,547,940,532,925,541,905,565,887,591,886,591,886,546,892,545,897,540,897,533,897,527,891,521,884,521,877,521,872,527,872,533,872,540,876,545,882,546,882,591,882,591,870,564,860,536,848,525,833,541,820,565,808,592,807,592,807,546,813,545,817,540,817,533,817,527,812,521,805,521,798,521,792,527,792,533,792,540,797,545,802,546,802,590,784,567,766,545,755,534,729,588,731,639,766,684,787,711,814,726,847,725,919,724,960,659,958,602,958,602,783,671,772,653,777,645,789,648,812,656,830,682,840,711,821,704,797,692,783,671,836,634,840,614,850,612,856,622,867,644,861,676,848,703,840,684,831,659,836,634,836,634,919,659,911,682,885,701,856,711,863,692,875,668,896,654,913,642,922,647,919,659,919,659]}]]},{um:"1101-1-confetti",mu:[["e789ff",{K:"M C C C C C Z M C C C C C C C Z M C C C C C C C Z M C C C C C Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z".split(" "),H:[170,439,169,438,59,370,108,300,152,238,298,276,318,337,338,398,265,380,285,358,312,328,185,247,121,307,72,353,171,440,170,439,318,338,336,399,262,408,184,346,138,309,73,237,112,174,167,88,345,115,377,222,393,276,296,260,335,236,375,212,236,111,155,183,73,254,265,380,285,358,312,328,318,338,318,338,377,222,394,276,318,288,243,236,187,197,146,120,201,56,254,-5,365,26,407,68,407,68,414,94,378,71,344,50,258,31,221,89,178,154,297,260,336,235,374,211,377,222,377,222,406,70,452,115,432,189,324,115,214,39,323,-85,322,-85,320,-85,229,38,331,100,439,166,413,95,377,72,343,51,364,28,406,70,346,405,369,418,356,441,333,428,346,405,513,298,536,311,523,334,500,321,513,298,891,91,914,104,901,127,878,114,891,91,24,123,47,136,34,159,11,146,24,123,664,33,687,46,674,69,651,56,664,33,910,482,933,495,920,518,897,505,910,482]}],["666666",{K:"M C C C C C Z M C C C C C C C Z M C C C C C C C Z M C C C C C Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z".split(" "),H:[919,442,917,443,802,510,764,432,730,364,837,250,901,261,965,272,913,329,903,301,889,262,755,338,777,424,794,490,920,442,919,442,901,261,964,274,936,345,842,386,787,410,690,435,654,370,604,279,716,132,827,153,883,164,821,244,819,197,817,150,659,228,682,335,706,443,913,329,903,301,889,262,901,261,901,261,827,153,884,163,857,238,774,281,711,313,622,313,593,233,564,157,647,71,705,54,705,54,732,60,694,82,658,102,599,170,632,231,669,301,822,244,819,197,816,150,827,153,827,153,706,54,769,34,825,87,706,149,583,213,527,56,526,57,526,59,590,200,696,137,807,70,732,60,694,82,658,102,648,73,706,54,362,328,383,340,371,361,350,349,362,328,52,189,73,201,61,222,40,210,52,189,509,119,530,131,517,152,496,140,509,119,912,16,933,28,921,49,900,37,912,16,629,380,650,392,638,413,617,401,629,380,77,414,98,426,86,447,65,435,77,414,240,76,261,88,249,109,228,97,240,76]}]]},{um:"1101-1-branch",mu:[["7f500b",{K:"M C C C L C C Z M C C C L C C Z M C C C L C C Z M C C C L C C Z M C C C L C C Z M C C C L C C Z".split(" "),H:[144,-14,144,-14,149,-12,150,-12,150,-12,106,22,86,75,63,137,93,193,69,238,64,236,89,174,53,146,80,72,99,19,144,-14,144,-14,280,-18,281,-18,276,-20,276,-20,276,-20,282,23,264,64,244,113,196,129,185,168,189,170,209,120,244,123,269,66,288,25,280,-18,280,-18,429,-5,429,-5,434,-4,434,-4,435,-4,405,28,396,72,386,124,415,164,402,203,398,202,410,150,379,132,391,70,399,26,429,-5,429,-5,514,-7,514,-7,519,-12,519,-12,520,-12,532,50,577,96,630,151,703,150,738,197,733,201,681,144,635,166,571,101,526,54,514,-7,514,-7,666,-67,666,-68,663,-65,662,-64,662,-64,704,-52,734,-18,768,22,763,72,793,99,796,96,760,57,778,26,737,-22,708,-56,666,-67,666,-67,936,-8,936,-8,932,-9,931,-9,931,-9,947,32,938,76,927,127,884,154,881,194,886,195,895,142,930,138,943,76,952,32,936,-8,936,-8]}],["5c7f0b",{K:"M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z".split(" "),H:[119,6,121,16,113,31,81,33,58,34,27,27,27,27,27,27,53,5,70,-1,93,-9,117,-4,119,6,124,8,132,1,151,12,165,33,179,54,180,87,180,87,180,87,153,75,139,60,122,41,115,14,124,8,78,74,82,83,76,97,48,103,27,108,-2,105,-2,105,-2,105,19,81,33,74,53,64,75,65,78,74,83,75,90,68,108,76,124,93,139,110,144,140,144,140,144,140,117,132,104,121,85,105,76,83,83,75,72,152,75,159,72,172,48,179,30,185,6,185,6,185,6,185,22,163,33,156,49,145,68,145,72,152,76,153,81,146,98,151,112,165,126,178,133,203,133,203,133,203,110,199,97,190,80,178,70,160,76,153,73,206,75,213,71,224,49,228,34,232,12,230,12,230,12,230,28,212,39,206,53,199,70,200,73,206,76,207,81,202,95,207,107,220,118,233,122,255,122,255,122,255,102,250,92,241,78,230,71,213,76,207,70,232,78,236,76,252,66,269,56,286,33,297,33,297,33,297,33,274,39,260,46,241,62,228,70,232,285,3,278,8,274,21,291,39,304,52,325,63,325,63,325,63,323,36,316,24,308,7,291,-2,285,3,281,1,280,-7,263,-10,244,-5,224,1,205,20,205,20,205,20,228,27,244,25,264,22,283,10,281,1,270,65,264,69,259,80,272,99,281,112,299,125,299,125,299,125,300,100,296,88,290,72,277,61,270,65,267,64,267,56,252,51,234,53,216,56,197,71,197,71,197,71,216,80,230,80,249,80,267,72,267,64,231,116,225,119,220,128,230,145,237,157,251,170,251,170,251,170,254,148,251,138,248,123,237,113,231,116,228,114,229,108,217,102,201,103,186,103,168,115,168,115,168,115,184,124,196,126,212,127,228,121,228,114,201,148,196,151,192,160,202,174,209,184,222,194,222,194,222,194,223,175,220,166,216,154,206,145,201,148,198,147,198,141,187,137,174,139,160,141,145,152,145,152,145,152,160,159,171,159,185,160,198,153,198,147,188,165,182,163,173,174,170,190,167,205,173,224,173,224,173,224,186,210,191,198,197,183,195,166,188,165,415,10,417,18,413,31,389,36,371,39,347,37,347,37,347,37,364,16,377,9,393,0,412,2,415,10,418,11,424,4,440,11,453,27,466,43,470,69,470,69,470,69,448,62,436,52,420,38,412,17,418,11,391,69,394,76,392,89,371,96,355,102,333,103,333,103,333,103,346,81,357,74,371,64,388,63,391,69,395,70,399,63,414,68,428,80,441,92,448,116,448,116,448,116,427,113,415,105,400,94,390,77,395,70,395,133,398,139,397,150,379,158,367,164,348,167,348,167,348,167,358,148,366,140,377,130,391,128,395,133,398,134,401,128,414,130,427,140,439,149,447,169,447,169,447,169,429,167,418,162,404,154,394,140,398,134,401,177,404,182,402,192,386,198,374,202,358,203,358,203,358,203,368,187,375,181,386,173,399,172,401,177,404,178,408,173,419,176,429,185,439,194,445,212,445,212,445,212,429,210,420,204,408,196,401,183,404,178,402,198,408,201,409,214,403,229,397,244,381,255,381,255,381,255,378,236,381,224,385,208,396,196,402,198,519,23,531,26,543,42,528,75,518,99,495,125,495,125,495,125,485,87,487,67,490,40,508,19,519,23,523,19,521,7,542,-6,571,-8,600,-10,636,6,636,6,636,6,609,27,586,32,557,39,526,32,523,19,570,100,581,102,594,115,585,147,579,170,562,197,562,197,562,197,548,163,547,145,547,120,560,98,570,100,574,97,570,86,587,72,613,66,639,60,673,71,673,71,673,71,652,93,632,101,607,110,578,107,574,97,649,149,659,150,670,160,666,188,662,208,650,232,650,232,650,232,635,205,633,189,631,168,640,149,649,149,652,146,648,137,662,123,683,116,705,109,734,116,734,116,734,116,718,137,702,145,681,155,657,155,652,146,707,178,715,179,724,189,718,213,714,230,701,250,701,250,701,250,690,225,690,211,689,193,699,177,707,178,710,175,707,167,720,156,739,151,759,147,784,155,784,155,784,155,768,172,753,177,734,185,713,183,710,175,732,194,740,189,757,199,770,218,782,237,783,266,783,266,783,266,758,254,746,240,730,223,724,199,732,194,687,-62,688,-54,699,-45,722,-53,739,-59,759,-73,759,-73,759,-73,733,-82,719,-82,701,-81,685,-71,687,-62,684,-60,676,-62,666,-48,662,-28,659,-9,669,17,669,17,669,17,684,-1,689,-16,696,-35,692,-57,684,-60,737,-23,738,-15,746,-5,768,-9,784,-12,804,-23,804,-23,804,-23,782,-34,769,-36,752,-38,736,-30,737,-23,734,-20,727,-24,716,-13,711,5,705,22,711,46,711,46,711,46,727,33,734,20,742,3,742,-17,734,-20,766,35,766,41,772,50,792,48,806,47,823,40,823,40,823,40,805,28,795,26,780,23,766,28,766,35,763,37,758,33,747,42,741,56,735,70,738,91,738,91,738,91,753,81,760,71,768,57,769,40,763,37,782,76,783,82,789,89,806,86,818,84,832,76,832,76,832,76,816,67,806,66,794,65,782,70,782,76,780,78,775,75,766,84,762,97,758,110,762,128,762,128,762,128,775,118,779,108,786,95,785,80,780,78,792,94,788,100,794,112,807,122,819,131,839,133,839,133,839,133,832,116,823,107,812,95,796,89,792,94,945,11,939,18,938,31,959,45,974,55,997,62,997,62,997,62,989,36,980,25,968,11,950,5,945,11,941,11,938,3,921,3,903,13,885,22,871,45,871,45,871,45,894,47,909,42,929,35,944,19,941,11,944,75,938,80,935,93,952,108,964,119,984,128,984,128,984,128,980,104,974,93,965,78,949,70,944,75,940,75,938,67,923,65,906,71,889,77,873,96,873,96,873,96,894,101,908,99,926,95,942,82,940,75,916,133,911,137,907,147,920,162,930,172,946,182,946,182,946,182,944,160,940,151,933,137,921,129,916,133,913,132,912,125,899,123,884,127,869,130,854,145,854,145,854,145,871,151,883,150,899,148,913,139,913,132,893,171,888,175,887,184,899,196,908,204,923,211,923,211,923,211,920,193,915,184,909,173,897,167,893,171,890,170,889,165,877,163,864,168,851,172,839,187,839,187,839,187,855,190,865,188,879,186,891,176,890,170,884,190,877,190,871,202,871,218,871,234,881,251,881,251,881,251,891,234,893,222,896,206,890,190,884,190]}]]},{um:"1101-1-sticks",mu:[["ec7272",{K:"M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z".split(" "),H:[260,148,297,180,286,192,249,160,260,148,114,31,161,47,155,63,109,47,114,31,931,91,902,52,915,42,945,81,931,91,711,19,746,-15,758,-3,723,31,711,19,812,161,782,122,795,112,825,151,812,161,389,34,424,0,436,12,401,46,389,34,431,209,465,175,477,186,442,221,431,209,282,90,282,41,299,41,299,90,282,90,58,233,29,194,42,184,72,223,58,233,574,58,621,74,615,90,569,74,574,58]}],["0000ff",{K:"M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z M L L L L Z".split(" "),H:[722,208,733,161,717,157,706,205,722,208,843,12,797,28,802,44,849,28,843,12,31,74,60,35,47,25,18,64,31,74,220,21,185,-13,173,-1,208,33,220,21,140,166,170,127,157,117,127,156,140,166,558,148,523,114,511,126,546,160,558,148,562,9,516,25,521,41,568,25,562,9,697,105,726,66,713,56,684,95,697,105,961,180,990,141,977,131,948,170,961,180,399,97,353,113,358,129,405,113,399,97]}]]},{um:"1101-1-dots",mu:[["ec7272",{K:"M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z".split(" "),H:[154,47,144,47,136,39,136,29,136,19,144,11,154,11,164,11,172,19,172,29,172,39,164,47,154,47,272,164,262,164,254,156,254,146,254,136,262,128,272,128,282,128,290,136,290,146,290,156,282,164,272,164,529,48,519,48,511,40,511,30,511,20,519,12,529,12,539,12,547,20,547,30,547,40,539,48,529,48,696,101,686,101,678,93,678,83,678,73,686,65,696,65,706,65,714,73,714,83,714,93,706,101,696,101,929,91,919,91,911,83,911,73,911,63,919,55,929,55,939,55,947,63,947,73,947,83,939,91,929,91]}],["0000ff",{K:"M C C C C Z M C C C C Z M C C C C Z M C C C C Z M C C C C Z".split(" "),H:[66,122,56,122,48,114,48,104,48,94,56,86,66,86,76,86,84,94,84,104,84,114,76,122,66,122,309,55,299,55,291,47,291,37,291,27,299,19,309,19,319,19,327,27,327,37,327,47,319,55,309,55,785,180,775,180,767,172,767,162,767,152,775,144,785,144,795,144,803,152,803,162,803,172,795,180,785,180,459,147,449,147,441,139,441,129,441,119,449,111,459,111,469,111,477,119,477,129,477,139,469,147,459,147,811,48,801,48,793,40,793,30,793,20,801,12,811,12,821,12,829,20,829,30,829,40,821,48,811,48]}],["88a500",{K:["M","C","C","Z"],H:[389,224,389,224,410,230,410,230,410,230,389,224,389,224]}]]},{um:"1101-1-strips",mu:[["ffc88c",{K:"M L L L L Z M L L L L Z M L L L L Z".split(" "),H:[-40,0,44,0,137,99,53,99,-40,0,296,0,380,0,473,99,389,99,296,0,632,0,716,0,809,99,725,99,632,0]}],["88a500",{K:"M L L L L Z M L L L L Z M L L L L Z".split(" "),H:[128,0,212,0,305,99,221,99,128,0,464,0,548,0,641,99,557,99,464,0,800,0,884,0,977,99,893,99,800,0]}],["88a500",{K:["M","C","C","Z"],H:[407,217,407,217,428,223,428,223,428,223,407,217,407,217]}]]},{um:"1101-1-circs",mu:[["ec7272",{K:"M C C C C Z M C C C C Z".split(" "),H:[61,209,27,209,0,181,0,147,0,113,27,86,61,86,96,86,123,113,123,147,123,181,96,209,61,209,551,209,517,209,489,181,489,147,489,113,517,86,551,86,585,86,612,113,612,147,612,181,585,209,551,209]}],["217995",{K:"M C C C C Z M C C C C Z".split(" "),H:[303,209,269,209,241,181,241,147,241,113,269,86,303,86,337,86,364,113,364,147,364,181,337,209,303,209,799,209,765,209,738,181,738,147,738,113,765,86,799,86,834,86,861,113,861,147,861,181,834,209,799,209]}],["88a500",{K:["M","C","C","Z"],H:[530,273,530,273,551,279,551,279,551,279,530,273,530,273]}]]},{um:"1101-1-squares",mu:[["014ea7",{K:"M L L L L Z M L L L L Z".split(" "),H:[0,120,124,120,124,244,0,244,0,120,497,120,621,120,621,244,497,244,497,120]}],["fc54ff",{K:"M L L L L Z M L L L L Z".split(" "),H:[249,120,373,120,373,244,249,244,249,120,746,120,870,120,870,244,746,244,746,120]}],["88a500",{K:["M","C","C","Z"],H:[389,354,389,354,410,360,410,360,410,360,389,354,389,354]}]]},{um:"1101-0-christmas",mu:[["014ea7",{K:"M C C C C Z M C C C C Z M L L L L Z".split(" "),H:[255,480,178,480,116,418,116,341,116,264,178,202,255,202,332,202,394,264,394,341,394,418,332,480,255,480,255,232,236,232,221,217,221,198,221,179,236,164,255,164,274,164,289,179,289,198,289,217,274,232,255,232,251,-152,260,-152,260,248,251,248,251,-152]}],["ff9518",{K:"M C C C C Z M C C C C Z M L L L L Z".split(" "),H:[746,623,669,623,607,561,607,484,607,407,669,345,746,345,823,345,885,407,885,484,885,561,823,623,746,623,747,376,728,376,713,361,713,342,713,323,728,308,747,308,766,308,781,323,781,342,781,361,766,376,747,376,742,-8,751,-8,751,392,742,392,742,-8]}]]}]; +var dj={};dj.parse=function(Z){var S=new Uint8Array(Z),b=null;if(S[0]==80&&S[1]==75){var Y=Date.now(),P=UZIP.parse(S.buffer),b=P["document.json"]; +b=JSON.parse(k.cP(b,0,b.length));dj.RK(b,P)}else{var w=cR.parse(Z);b=dj.zS(w[2][0][1])}return b};dj.RK=function(Z,S){var b=typeof Z; +if(b=="string"||b=="number"||b=="boolean")return Z;if(Z instanceof Array){for(var D=0;D0){var i=Math.min(100,t);H.push(i,0);t-=i}q=new Uint8Array(H)}K=V.NSAttributes instanceof Array?V.NSAttributes:[V.NSAttributes]; +var y={$class:"NSAttributedString",NSString:z,NSAttributes:K};m.attributedString={_class:"MSAttributedString",archivedAttributedString:y}; +y.NSAttributeInfo={$class:"NSMutableData","NS.data":q};delete m.storage}return Y};dj.hV={gU:function(Z,S){return Z[S+1]<<8|Z[S]},r:function(Z,S){return Z[S+3]<<24|Z[S+2]<<16|Z[S+1]<<8|Z[S]},zG:function(Z,S,b){var Y=""; +for(var D=0;D>4,O=e&15,V=null; +Q+=1;if([4,5,6,10,12,13].indexOf(l)!=-1&&O==15){var m=h.Dk(Z,Q);Q+=m.GB;O=m.G}if(!1){}else if(l==0)V=O==8?!1:O==9?!0:null; +else if(l==1)V=h.Dk(Z,Q-1).G;else if(l==2)V=1<=12&&(f&1)==0){var h=f-13>>1,Q=new Uint8Array(h); +cR.Bv(Z,b,Q,0,h);w.push(Q);b+=h}else if(f>=13&&(f&1)==1){var h=f-12>>1;w.push(cR.cP(Z,b,h));b+=h}else throw"unknonw type "+f}return w},vV:function(Z){if(!(Z[18]==1&&Z[19]==1&&Z[20]==0&&Z[21]==64&&Z[22]==32&&Z[23]==32))throw"unexpected SQL3 header"; +var S={DC:cR.zG(Z,0,15),Sx:cR.gU(Z,16),abn:cR.r(Z,24),size:cR.r(Z,28),aeF:cR.r(Z,32),aoP:cR.r(Z,36),afx:cR.r(Z,40),a2V:cR.r(Z,44),a9_:cR.r(Z,48),ajX:cR.r(Z,52),a5s:cR.r(Z,56),ahO:cR.r(Z,60),a4j:cR.r(Z,64)!=0,alu:cR.r(Z,68),a5Y:cR.r(Z,92),a2Q:cR.r(Z,96)}; +if(S.Sx==1)S.Sx=65536;if(S.a5s!=1)throw"unsupported text encoding "+S.a5s;return S},ach:function(Z,S){return Z[S]<<16|Z[S+1]<<8|Z[S+2]},a1L:function(Z,S){var b=cR.ach(Z,S),Y=b&8388608; +return Y?-(16777215-b+1):b},a6g:function(Z,S){cR.$m[0]=Z[S];return cR.a8S[0]},Dk:function(Z,S){var b=cR.$m; +for(var D=0;D<4;D++)b[D]=Z[S+3-D];return cR.a9Q[0]},S1:function(Z,S){var b=cR.$m;b[0]=Z[S+1];b[1]=Z[S]; +return cR.a7Q[0]},gU:function(Z,S){return Z[S]<<8|Z[S+1]},r:function(Z,S){return Z[S]<<24|Z[S+1]<<16|Z[S+2]<<8|Z[S+3]},ady:function(Z,S){var b=cR.$m; +for(var D=0;D<8;D++)b[D]=Z[S+7-D];return cR.ad5[0]},Ds:function(Z,S){var b=S,C=0;while(!0){var Y=Z[S]; +S++;C=C*128+(Y&127);if(Y<128)break}return{$0:C,GB:S-b}},zG:function(Z,S,b){var Y="";for(var D=0;D2*8192*8192)h++;w.scale(1/h,1/h);this.ajx=[Z,S,b,Y];var h=w.I2();Z=Math.round(Z*h); +S=Math.round(S*h);b=Math.round(b*h);Y=Math.round(Y*h);var e=this.o2,l=this.v7;if(l==null){w.RN=-Z}else{var O=l[2]-l[0]+30,m=Math.round(b-Z)+30; +if(this.MN.x+O+m>8192){w.RN=-Z;this.MN.x=0;this.MN.y+=this.or+120;this.or=0}else{w.RN+=O;this.MN.x+=O}}w.Sv=this.MN.y+(this.a6j?Y:-S); +this.or=Math.max(this.or,Math.round(Y-S));this.v7=[Z,S,b,Y];e.t.push(e._z())};eD.prototype.LS=function(){var Z=this.o2,S=Z.t[Z.t.length-1]; +return S};eD.prototype.RW=function(){var Z=JSON.parse(JSON.stringify(a4.m3.default));Z.strokeStyleLineAlignment.v.strokeStyleLineAlignment="strokeStyleAlignCenter"; +Z.strokeEnabled.v=!1;Z.fillEnabled.v=!1;return Z};eD.prototype.pJ=function(){var Z=this.o2,S=Z.Dl(); +S.wc("Path "+Z.t.length);this.o2.t.push(S);S.NG|=16;S.add.SoCo={classID:"null",Clr:{t:"Objc",v:T.W.RQ({h:0,l:0,O:0})}}; +S.add.vmsk=new F.NS;S.add.vstk=this.RW();return S};eD.prototype.Ej=function(Z){var S={H:Z.crds,K:Z.cmds},b=T.z.Cp(S,!1); +T.Y.$d(b,this.Yb);return b};eD.aby=function(Z,S){for(var D=0;D=0&&Z.t[D].add.lsct!=fr.Ee)D--;var Y=this.Js;if(Y){var P=new b4,w=S;while(w>D){P=Z.t[w].qI(this.o2,!1,!0); +w--}b=Y.ls(P)}if(b){this.rN.splice(D,1);Z.t.splice(D,1)}else{Z.t.push(this.akk)}this.Mu=null}};eD.dy=function(Z,S,b){var Y,P; +if(Z.length!=null){Y="SoFi";var w=JSON.parse(a4.FT[a4.order.indexOf("SoFi")]);P={t:"Objc",v:w};P.v.Clr.v=eD.BE(Z)}else{var f=eD.al8(Z,S,b); +Y="GrFl";P={t:"Objc",v:f}}return{type:Y,G:P}};eD.al8=function(Z,S,b){var Y=JSON.parse(a4.FT[a4.order.indexOf("GrFl")]),P=Y.Grad.v; +P.Intr.v=0;var w=eD.Nd(Z.mat);w.concat(S);var f=new ar(0,0),h=new ar(b.c,0),Q=Z.crds;if(Z.typ=="rad"){Y.Type.v.GrdT="Rdl"; +var e=.7;f.x=(1-e)*Q[0]+e*Q[3];f.y=(1-e)*Q[1]+e*Q[4];h.x=f.x;h.y=f.y;h.x+=Math.max(Q[2],Q[5])}else{Y.Type.v.GrdT="Lnr"; +f.x=Q[0];f.y=Q[1];h.x=Q[2];h.y=Q[3];f.x=h.x+.5*(f.x-h.x);f.y=h.y+.5*(f.y-h.y)}f=w.YI(f);h=w.YI(h);T.W.Vu(f,h,b,Y); +var l=Z.grad;T.W.nu(l,P);return Y};eD.prototype.PutText=function(Z,S,b,Y){var P=S.charCodeAt(0),m=null; +if(this.Ai!=-1&&this.Ai!=this.o$)return;if(S.length==0||S.length==1&&(P==0||P==8203))return;this.E9(Z); +var w=this.o2,f=Z.font,h=eD.Nd(Z.ctm);h.concat(this.Yb);var Q=eD.Nd(f.Tm);Q.concat(h);var e=G.V.I2(Q),l=new fR(1/e,0,0,-1/e,0,0); +l.concat(Q);var O=f.Tfs*e;if(f.Th!=100||f.Trise!=0){console.log(f)}var V=w.t.length-1;while(V>=0&&w.t[V].add.TySh==null)V--; +if(l.O*l.O+l.tE*l.tE<.001&&Y==null&&V>=0&&w.t[V].add.TySh&&w.t[V].opacity==Math.round(255*Z.ca)){var q=w.t[V],K=this.rN[V],z=q.add.TySh.A,t=(z.RN+K.uj-l.RN)/O,H=Math.abs(t),i=S.indexOf(" ")==-1,y=z.w==l.w&&z.O==l.O&&z.tE==l.tE&&z.KU==l.KU,j=y&&Math.abs(K.G8-l.Sv)<1e-5&&H<.6,J=l.Sv-K.G8; +if(j){m=q;K.uj=l.RN-z.RN;if(t>.2&&i&&[".",",","?",":","!"].indexOf(S)==-1)S=" "+S}else if(y&&Math.abs(l.RN-z.RN)<1e-5&&0>3]>>7-(D&7)&1)*255; +P[f]=h;P[f+1]=h;P[f+2]=h;P[f+3]=255}Z=P}return Z};eD.prototype.fo=function(Z,S,b,Y,P){if(Z.length!=S*b*4){var w=ab.fN(Z.buffer),f=ab.iZ(w); +if(f==null||w=="tga")f=ab.iZ("jpg");Z=new Uint8Array(f.Gk(Z,Y,P)[0].data)}return Z};eD.prototype.ShowPage=function(){var Z=this.o2; +this.o$++;var S=this.v7;this.FP();var b=Z.Dl();Z.t.push(b);var Y=new b4(Math.round(this.MN.x),Math.round(this.MN.y),Math.round(S[2]-S[0]),Math.round(S[3]-S[1])); +this.dr=this.dr.VK(Y);b.PB(Y);b.add.artb.artboardBackgroundType.v=3;b.wc("Page "+this.o$);b.add.lsct=fr.U1; +b.WL="pass";b.NG=24};eD.prototype.Print=function(Z){console.log("Print:",Z)};eD.prototype.Done=function(){var Z=this.o2; +if(this.o$==1)Z.t[Z.t.length-1].add.lsct=fr.k8;Z.wX(this.o$);for(var D=0;D32767)w=!0}if(w){Z.t.splice(D,1); +D--;continue}}S.vK(Z);if(Y&&P.pX.length!=0){this.zX(P);var Q=Y.HK,e=P.pX.length,l=P.pX[0],O=0,m=0;for(var f=0; +fq.length/2){V[f]=q.split("").reverse().join(""); +var H=Q.EngineDict.ParagraphRun.RunArray[f].ParagraphSheet.Properties;H._Direction=1;H.Justification=eO.qH(H)}}eO.wL(Q,V.join("\n"))}}Z.c3=!0; +Z.c=this.dr.c;Z.v=this.dr.v;Z.buffer=T.f(this.dr.X()*4)};var hU={};hU.$C=function(Z,S,b,Y){var P=!1,w=[Z.root],f=Z.root.children; +if(Z.add.artd){P=!0;for(var D=0;Dw.length){Q.splice(D,1);D--}var V=72/Z.GY;for(var D=0; +D>>16&255)/255,(fq>>>8&255)/255,(fq&255)/255]; +var e9=bI[$];T.z.A(e9.H,P,e9.H);e9=T.z.akI(e9);b.pth={cmds:e9.K,crds:e9.H};Y.Fill(b)}}else if(m&&w[3]==!1){var eQ=m.HK,W=m.A.clone(),L=new fR(1,0,0,-1,0,0); +L.concat(W);L.concat(P);var bd=eO.IU(eQ),hN=new io(eQ,f);for(var D=0;D=0;D--){var m=a4.order[D];if(m=="GrFl"||m=="SoFi")continue; +if(Z.add.vmsk&&m=="FrFX")continue;var V=b[m],q=D>7||m=="FrFX";if(q!=h)continue;for(var K=0;KZ.length)throw"e";if(w){P.sub=[];S+=12;var f=P.n+P.size; +while(SZ.length)throw"e";if(w.sx=="RIFF"||w.sx=="LIST"&&(w.Vh!="cmpr"&&w.Vh!="stlt")){w.sub=[]; +S+=12;var f=w.n+w.size;while(SZ.length)throw"e";if(w){P.sub=[];S+=12;var f=P.n+P.size; +while(S=0;D--)fW.v$(m[D],S,b,Y)}else if(w=="obj "&&e.G&&e.G.path){O.wc("Object "+b.t.length); +var V=S.s5[e.G.a95],q=S.u2[e.G.aiM],K=O.getName(),z=V&&V.type!=0,t=z&&V.G!=null?V.G:[0,0,0];O.NG|=16; +O.add.vstk=JSON.parse(JSON.stringify(a4.m3.default));var H=O.add.vstk;H.strokeEnabled.v=!1;O.add.vmsk=new F.NS; +if(q&&q.aja!=1){H.strokeEnabled.v=!0;H.strokeStyleLineAlignment.v.strokeStyleLineAlignment="strokeStyleAlignCenter"; +H.strokeStyleLineWidth.v.val=q.lineWidth*Y.I2();var i=q.color;H.strokeStyleContent.v.Clr.v=T.W.RQ({h:i[0]*255,l:i[1]*255,O:i[2]*255})}var y=e.G.path; +O.add.vmsk.b=T.z.Cp(y,!1);T.Y.$d(O.add.vmsk.b,l);eD.yX(t,O,l,T.Y.Al(O.add.vmsk.b));H.fillEnabled.v=z; +O.AU();O.vK(b)}else if(w=="obj "&&h){var j=e.G.akf,J=e.G.a4n,I="";O.add.TySh=eO.nR(0,0);var A=l.I2(); +O.add.TySh.A.translate(l.RN,l.Sv);var a=O.add.TySh.HK,E=h.G.a75;for(var D=0;D=D.data.length)throw"e";var Z=0;while(D.data[D.n+Z]!=0)Z++; +var S=k.zG(D.data,D.n,Z);D.n+=Z+1;return S};fW.afo=function(Z){if(Z.YE<600)return Math.PI*fW.$S(Z)/1800; +return Math.PI*fW.uU(Z)/18e7};fW.abW=function(Z){if(Z.YE<1500)return fW.Mb(Z);else return fW.j4(Z)/254e3}; +fW.Mb=function(Z){if(Z.YE<600)return fW.$S(Z)/1e3;else return fW.uU(Z)/254e3};fW.a4A=function(Z){if(Z.YE<600)return CRDParser.mx(Z); +else return fW.aJ(Z)};fW.a2I=function(Z){if(Z.YE<600)return CRDParser.$S(Z);else return fW.uU(Z)};fW.nl=function(Z,S,b,Y){var P=fW,w=P.aeh,f=P.mx,h=P.aJ,Q=P.a72,e=P.$S,l=P.uU,O=P.j4,m=P.Mb,V=P.abW,q=P.afo,K=P.a4A,z=P.a2I; +for(var t=0;t=1300);i.G.a4o=fW.QJ(Z);i.G.amc={};var X=h(Z);for(var D=0;D1300)Z.n+=4;if(H>=1300){if(h(Z))Z.n+=68;else Z.n+=12}else{Z.n+=20;if(H>=1e3)Z.n+=8;if(h(Z))Z.n+=8; +Z.n+=8}}var fq=h(Z);i.G.a9N={};for(var D=0;D=1300)bd+=4;Z.n+=bd*L;var iw=h(Z);Z.n+=28*iw;if(H>800){var d7=h(Z); +Z.n+=12*d7}i.G._u={};for(var D=0;D=1200)cT*=2; +Z.n+=cT;cf.ahn=h(Z);cf.a80=h(Z);if(d0>1){cf.adv=h(Z);cf.a3K=h(Z);cf.aeI=h(Z);cf.a34=h(Z);if(H>800)cf.ah$=h(Z)}if(d0>2){cf.a7q=h(Z); +cf.an8=h(Z);cf.adP=h(Z);cf.a6X=h(Z);cf.a4$=h(Z)}i.G._u[gS]=cf}}else if(i.sx=="LIST")fW.nl(Z,i.sub,b,Y+1); +else if(i.sx=="txsm"){i.G={};if(H<600)throw"e";if(H<700)throw"e";if(H>=1600)throw"e";if(H>=1500)Z.n+=37; +else Z.n+=36;if(h(Z)){if(H<800)Z.n+=32}if(H<800)Z.n+=4;i.G.a5K=h(Z);i.G.a75=[];Z.n+=48;if(H>=800){if(h(Z)){Z.n+=32; +if(H>=1300)Z.n+=8}}if(H>=1500)Z.n+=12;var d0=h(Z),fU=1,dX=!1;if(!d0){if(H>=800)Z.n+=4;if(H>800)Z.n+=2; +if(H>=1400)Z.n+=2;Z.n+=24;if(H<800)Z.n+=8;fU=h(Z)}for(var n=0;n=1300&&d0)Z.n++; +Z.n++;var R=h(Z),bX=[];for(D=0;D=800)eG=w(Z);var cf={}; +if(hP&1){cf.ah2=f(Z);var eB=f(Z);if(eB)cf.a2b=eB}if(hP&2)Z.n+=4;if(hP&4)cf.a4X=m(Z);if(hP&8)Z.n+=4;if(hP&16)Z.n+=4; +if(hP&32)Z.n+=4;if(hP&64){cf.ahn=h(Z);if(H>=1500)Z.n+=48}if(hP&128){cf.a80=h(Z)}if(eG&8){if(H>=1300){var bb=h(Z); +if(Z.n+bb*2>=Z.data.length){dX=!0;break}Z.n+=bb*2}else Z.n+=4}if(eG&32){var gx=w(Z);if(gx)Z.n+=52}if(aw==2)if(H>=1300)Z.n+=48; +bX.push(cf)}if(dX){break}var er=h(Z);if(Z.n+er*4>Z.data.length)break;var ea=[];for(D=0;D=1200)hD=Q(Z)&4294967295;else hD=h(Z);ea[D]=hD>>16|hD&1}var bP=er;if(H>=1200)bP=h(Z);var iz=fW.YM(Z); +i.G.a75.push({aoX:g$,text:iz,_u:bX})}}else if(i.sx=="font"){var iq=f(Z),cU=f(Z);Z.n+=14;var aH=fW.YM(Z); +i.G={id:iq,adA:cU,name:aH}}else if(["IKEY","ICMT","pfrd","bcfg"].indexOf(i.sx)!=-1){}else if(i.sx=="flgs")i.G=h(Z); +else if(i.sx=="bbox"){var eK=m(Z),h6=m(Z),co=m(Z),dh=m(Z);i.G=new b4(eK,h6,co-eK,dh-h6)}else if(i.sx=="fild"){var cX=h(Z),eY=0,h0; +if(H>=1300){Z.n+=4;eY=f(Z);Z.n+=2}var ga=f(Z);if(ga==0){}else if(ga==1){Z.n+=H>=1300?13:2;h0=fW.R0(Z)}else if(ga==2){Z.n+=H>=1300?8:2; +var a8=w(Z),cc=0;if(H>=1300){Z.n+=17;cc=e(Z)}else if(H>=600){Z.n+=19;cc=l(Z)}else{Z.n+=11;cc=e(Z)}var hW=q(Z),em=.5+z(Z),br=.5+z(Z)-.5; +if(H>=600)Z.n+=2;var cF=K(Z)&255,cW=w(Z)/100;Z.n++;var bM=K(Z)&65535;if(H>=1300)Z.n+=3;var ct=[];for(var D=0; +D=1300){if(eY==158||H>=1600&&eY==150)Z.n+=26;else Z.n+=5}var eA=K(Z)/100; +if(H>=1300)Z.n+=3;ct.push([eA,aQ])}h0={typ:a8==1?"lin":"rad",crds:[em-Math.cos(hW)/2,br-Math.sin(hW)/2,em,br],grad:ct,mat:[1,0,0,1,0,0]}}else console.log("Unknown fill type",ga); +i.G={id:cX,type:ga,G:h0}}else if(i.sx=="outl"){var gQ=h(Z);if(H>=1300){var eE=0,a1=0;while(eE!=1){Z.n+=a1; +eE=h(Z);a1=h(Z)}}var fA=f(Z),eH=f(Z),gd=f(Z);if(H<1300&&H>=600)Z.n+=2;var ey=m(Z),hx=f(Z)/100;if(H>=600)Z.n+=2; +var ew=q(Z);if(H>=1300)Z.n+=46;else if(H>=600)Z.n+=52;var h0=fW.R0(Z,gQ==270963208||gQ==276198e3,gQ); +i.G={id:gQ,aja:fA,a7w:eH,agu:gd,lineWidth:ey,color:h0}}else if(i.sx=="mcfg"){if(1300<=H)Z.n+=12;else if(900<=H)Z.n+=4; +else if(600<=H&&H<700)Z.n+=28;var am=0,dI=0;if(H<400)throw"e";else{am=m(Z);dI=m(Z)}i.G={ahD:new ar(am,dI)}}else if(i.sx=="loda"){var v=Z.n,bs=K(Z),fE=K(Z),gg=K(Z),bT=K(Z),aa=K(Z),gR=[],gb=[]; +Z.n=v+gg;for(var D=0;D=0;D--)gb[D]=K(Z);i.G={};for(var D=0; +D=1300)Z.n+=8; +var f5=f(Z);if(f5==8){var bf,iL,eK,hB,aR,h6;if(H>=600)Z.n+=6;if(H>=500){bf=O(Z);iL=O(Z);eK=O(Z)/(H<600?1e3:254e3); +hB=O(Z);aR=O(Z);h6=O(Z)/(H<600?1e3:254e3)}else throw"e";i.Ig=new fR(bf,hB,iL,aR,eK,h6)}else console.log(f5)}}else if(!1){console.log(i); +var bJ=Math.min(i.size,32);console.log(k.LO(data,i.n,bJ));console.log(k.anM(data,i.n,bJ))}}};fW.QJ=function(Z,S){var b=fW.aJ,Y={},P=b(Z); +for(var D=0;D=500){f=Y(Z);if(f==1&&w>=1300)f=25;if(f==25||f==30){var Q=0;if(f==30){f=25;Q=30}else{Q=Y(Z);Z.n+=4}var e=Y(Z),l=Y(Z)}else if(f==14)throw"e"; +else{Z.n+=6;h=P(Z)}}else throw"e";var O=[];if(f==2||f==9||f==17){var m=[h>>>0&255,h>>>8&255,h>>>16&255,h>>>24&255]; +if(f==2)for(var D=0;D<4;D++)m[D]=Math.round(255*m[D]/100);for(var D=0;D<4;D++)m[D]/=255;O=UDOC.C.cmykToRgb(m)}else if(f==1||f==5){O=[h>>>0&255,h>>>8&255,h>>>16&255]; +for(var D=0;D<3;D++)O[D]=O[D]/255}else console.log("Unknown color model "+f,h,h.toString(16));return O}; +var a9=function(){var Z,S,b=new ArrayBuffer(4),Y=new Uint8Array(b),P=new Uint32Array(b),w=new Float32Array(b); +function f(m,V){for(var q=0;q>>0}function Q(m,V,q,K,z){Z=m;S=V;var t=K[0]=="mesg",H=K[2],i={},y=1,j=t?1e9:H.length; +while(y<=j){var J=y;if(t){J=h();if(J==0)break}var A=f(H,J),a=A[2],I=A[1]==1,E=I?h():1,c=new Array(E); +if(a==3){if(!I)throw"e";c=Z.slice(S,S+E);S+=E}else for(var D=0;D>>1):n>>>1}else if(a==7)u=h();else if(a==9){if(Z[S]==0){u=0; +S++}else{Y[0]=Z[S];Y[1]=Z[S+1];Y[2]=Z[S+2];Y[3]=Z[S+3];var o=P[0];P[0]=o<<23|o>>>9;u=w[0];S+=4}}else if(a==11){var x=e(Z,S); +u=x[0];S+=x[1]+1}else throw a}else{var g=q[a>>>1];if(g[0]=="enum"){var v=Z[S++];if(v>127)throw"e";u=g[2][v]}else{var R=Q(Z,S,q,g,z+1); +u=R[0];S=R[1]}}c[D]=u}i[A[3]]=I?c:c[0];y++}return[i,S]}function e(m,V){var q=V;while(m[q]!=0)q++;return[k.cP(m,V,q-V),q-V]}function l(m,V){var q=V; +while(m[q]!=0)q++;for(var D=V;D127)throw"e";return k.zG(m,V,q-V)}function O(m){Z=m;S=1; +var V=[];while(S2)throw"e";var H=h(),i=[]; +for(var D=0;DY?1:-1}; +dY.h5=function(Z){for(var D=1;D1.999*Math.PI)O=T.Y.i9.TN(0,0,Q,e,0);else O=T.Y.i9.ahp(Q/2,e/2,e/2,q,K);if(z!=0&&z!=1){var t=F.NS.OU(O).slice(3); +t.reverse();for(var D=0;D>>24&255)/255,(m>>>16&255)/255,(m>>>8&255)/255,(m>>>0&255)/255]}function P(m,V){var q=V&4278190080|(V&255)<<16|(V>>>8&255)<<8|V>>>16&255; +new Uint32Array(m.buffer).fill(q)}function w(m,V){var q=m.TSZ,K=m.WPX,z=m.HPX,t=m.TIL,H=new b4(0,0,K,z),i=T.f(K*z*4),y=0; +for(var j=0;j>>24!=0){var g=V.Dl();g.wc("Background");V.t.push(g);g.rect=new b4(0,0,n,o);g.buffer=T.f(g.rect.X()*4); +P(g.buffer,x)}var v=(u.LYL?u:K).LYL.LAY;for(var D=0;D>>=1}if(m.CLL){z.wc(m.LNM);V.t.push(V._z()); +var i=m.CLL.CEL.ELM;for(var D=i.length-1;D>=0;D--)Q(i[D][1],V,i[D][0],K);z.add.lsct=m.DIS?fr.k8:fr.U1; +z.NG|=24}else if(q=="GRP"){var y=z.add.lmfx=e(m.EFL),j;V.t.push(V._z());var i=m.ELM;if(m.MNA&&m.MRX){j=i[0][1]; +i=i.slice(1)}z.wc("Group: "+i.length+" objects");for(var D=i.length-1;D>=0;D--)Q(i[D][1],V,i[D][0],K); +if(j){var J=w(j,K),A=z.d=new F.bN;A.rect=J[1].clone();A.rect.x=j.XLC;A.rect.y=j.YLC;A.channel=T.f(A.rect.X()); +T.to(J[0],A.channel,0);T.oN(A.channel)}z.add.lsct=fr.U1;z.NG|=24}else if(q=="IMG"){z.wc(m.OBN?m.OBN:"Bitmap"); +var J=w(m,K);z.rect=J[1].clone();z.rect.x=m.XLC;z.rect.y=m.YLC;z.buffer=J[0]}else if(q=="TXT"){var a=m.TFS,I=a.TRN instanceof Array?a.TRN.length:1,n=""; +z.add.lnsr="rend";z.add.TySh=eO.nR(0,0);z.add.TySh.az=new b4(0,0,100,100);var E=new fR(1,0,0,1,m.LFT,m.TOP); +if(m.MTX){var c=m.MTX,A=new fR(c.M00,c.M01,c.M10,c.M11,c.M20,c.M21);E.concat(A)}z.add.TySh.A=E;var u=z.add.TySh.HK; +for(var D=0;D6e3)L=.5;I.c=Math.round(I.c*L);I.v=Math.round(I.v*L);I.GY=Math.round(72*L);I.buffer=T.f(I.c*I.v*4); +for(var D=0;D<6;D++)B[D]*=L;for(var bd=0;bd>>3)]>>>7-(h0&7)&1);else throw dh}else if(bd=="/DeviceRGB")for(var D=0; +Dcc)for(var D=0; +D",0,0); +a.t.push(br);br.WL=X;br.opacity=Math.round(255*B);br.Ba(d0==0);var E=new fR;E.scale(1,-1);E.concat(h(L.slice(1))); +E.concat(h(R.ctm));var cF=br.rect.clone();cF.x=cF.y=0;var bX=T.z.X6(cF).H;T.z.A(bX,E,bX);br.add.SoLd.Trnf=G.V.ab(bX); +br.add.SoLd.nonAffineTransform=G.V.ab(bX);br.JN(a,!1)}else if(aw=="Ln"){o=P(fU)}else if(aw=="u"||aw=="q"||aw=="Lb"){gS.push(d7==1); +cf.push((aw=="Lb"?1-eG[0]:d0)==0);if($)continue;a.t.push(a._z())}else if(aw=="U"||aw=="Q"||aw=="LB"){if(gS.length==0||cf.length==0)throw cT; +var cW=gS.pop(),bM=cf.pop();if(aw=="LB")cW=iw==1;if($)continue;var br=a.Dl();br.wc((aw=="U"?"":"")+g); +if(aw=="LB")br.wc(o);if(aw=="Q"){var ct=hN.pop(),aQ=UDOC.G.isBox(ct,[0,0,a.c,a.v]);if(!aQ)e(br,ct,a)}br.add.lsct=cW?fr.k8:fr.U1; +br.WL="pass";br.NG=24;br.Ba(bM);a.t.push(br)}else if(aw=="Bb"||aw=="Bh"||aw=="BB"){}else if(aw=="Bg"){var eA=c.Setup.Gradient[P(fU)]; +M="GdFl";r=Y(eA.vp,eA.a8e)}else if(aw=="Bm"||aw=="Xm"){var gQ=r.Type.v.GrdT;if(gQ=="Lnr"&&aw!="Xm"||gQ=="Rdl"&&aw!="Bm")continue; +var eE=T.z.$R(R.pth.crds),a1=new ar(0,0),fA=new ar(1,0),eH=new fR;eH.concat(h(eG));eH.concat(h(R.ctm)); +a1=eH.YI(a1);fA=eH.YI(fA);if(gQ=="Lnr"){a1.x=(a1.x+fA.x)/2;a1.y=(a1.y+fA.y)/2}T.W.Vu(a1,fA,eE,r)}else if(aw=="p"){var gd=P(fU),ey=c.Setup.Pattern[gd]; +if(ey.raw==null){var eE=ey.NA,iq=Math.round(eE[2]-eE[0]),cU=Math.round(eE[3]-eE[1]),dX=new gf;dX.c=iq; +dX.v=cU;dX.buffer=T.f(iq*cU*4);S(dX,ey.pX,[1,0,0,-1,-ey.NA[0],cU+ey.NA[1]]);ey.raw=new Uint8Array(ab.iZ("PSD").$b(dX))}var hx=fU.slice(fU.indexOf(")")+2),ew=hx.slice(0,hx.indexOf("[")-1).split(" ").map(parseFloat),am=hx.slice(hx.indexOf("[")+1,hx.indexOf("]")).split(" ").map(parseFloat); +M="patt";r=[gd,ew,am]}else if(aw=="J"||aw=="j"||aw=="w"||aw=="M"||aw=="d"){for(var D=1;D",0,0);var cF=br.rect.clone();cF.x=cF.y=0;var bX=T.z.X6(cF).H,am=h(r[2]);am.RN=am.Sv=0; +T.z.A(bX,am,bX);br.add.SoLd.Trnf=G.V.ab(bX);br.add.SoLd.nonAffineTransform=G.V.ab(bX);br.JN(a,!1)}else{br=a.Dl(); +br.NG|=16;var gb=br.add.vstk=JSON.parse(JSON.stringify(a4.m3.default));gb.strokeEnabled.v=gb.fillEnabled.v=!1; +if(M=="SoCo"){br.add.SoCo=JSON.parse(a4.FT[a4.order.indexOf("SoFi")]);var bH=br.add.SoCo.Clr.v;w(bH,r)}if(M=="GdFl")br.add.GdFl=r; +if(hP=="f"||hP=="b"||aw=="*U"&&eQ&1)gb.fillEnabled.v=!0;if(hP=="s"||hP=="b"||aw=="*U"&&eQ&2)eD.S$(gb,R,1,eD.BE(N))}br.wc("<"+(aw=="*U"?"Compound ":"")+"Path>"+g); +br.WL=X;br.opacity=Math.round(255*B);br.Ba(d0==0);e(br,R.pth,a);a.t.push(br);v.newPath(R)}else if(aw==","&&bX[1]=="/StoryIndex"){var dW=c.Setup.TextDocument,f4=null; +if(!(dW instanceof Array))dW=c.Setup.TextDocument=m(dW,n);var cj=dW[0],bm=dW[2];if(cj._DocumentResources)cj=dW[0]=gP.a9h(cj); +var br=a.Dl();br.add.lnsr="rend";br.add.TySh=eO.nR(0,0);var ge=cs.ak8(cj),dc=br.add.TySh.HK=ge[eG[0]]; +if(dc==null){console.log("text not found");continue}br.wc(eO.IU(dc).slice(0,50));br.WL=X;br.opacity=Math.round(255*B); +br.Ba(d0==0);var gR=cj._1._1[eG[0]]._1._0[0]._0;gR=parseInt(gR.slice(1));var fg=cj._0._8._0,gL=fg[gR]._0; +if(gL._0)f4=f(gL._0);else if(gL._1)f4=f(gL._1._0);else f4=f(gL._2._2).slice(3);if(f4.length!=2){var eE=T.z.$R(f4); +f4=[eE.x,eE.y];if(eE.X()!=0){eO.es(dc,1);eO.oZ(dc,[0,0,Math.round(eE.c),Math.round(eE.v)])}}var eu=new fR,f5=new fR(1,0,0,1,f4[0],f4[1]),bf=new fR(1,0,0,1,-bm[0],-bm[1]),iL=h(R.ctm),hB=new fR; +if(gL._2&&gL._2._2){var E=f(gL._2._2);hB=new fR(E[0],E[1],E[2],E[3],E[4],E[5])}eu.concat(f5);eu.concat(hB); +eu.concat(bf);eu.scale(1,-1);eu.concat(iL);br.add.TySh.A=eu;a.t.push(br);a.c3=!0}}}function b(a,I,E){var c=UDOC.G,u=[],n=[],o,x,g=[],cf=0,cT=0,eG=0; +for(var v=0;v");var hP=aw.add.vstk=JSON.parse(JSON.stringify(a4.m3.default)); +hP.strokeEnabled.v=!1;for(var D=0;DeG){eG=hD;cf=D;cT=fU}}var bP=n[cf],iz=n[cT],iq=aw.add.GdFl=Y(0,[[0,bP[0]],[1,iz[0]]]),cU=h(I.ctm),aH=cU.YI(new ar(bP[1],bP[2])),eK=cU.YI(new ar(iz[1],iz[2])),h6=T.z.$R(I.pth.crds); +aH.x=(aH.x+eK.x)/2;aH.y=(aH.y+eK.y)/2;T.W.Vu(aH,eK,h6,iq);e(aw,I.pth,E);E.t.push(aw);c.newPath(I)}function Y(a,I){var E=JSON.parse(a4.FT[a4.order.indexOf("GrFl")]),c=E.Grad.v; +c.Intr.v=0;E.Type.v.GrdT=["Lnr","Rdl"][a];T.W.nu(I,c);return E}function P(a){return a.slice(a.indexOf("(")+1,a.indexOf(")"))}function w(a,I){a.Rd.v=I[0]*255; +a.Grn.v=I[1]*255;a.Bl.v=I[2]*255}function f(a){var I=[];for(var D=0;Dg)x=g;E.push(x,g);u-=g-x}}E.push(I._end);var v=new Uint8Array(u); +for(var D=0;D>",o),g=k.zG(c,o+2,x-o-2).split("/"),v=[];for(var D=0;D>",fq),L=new Uint8Array(c.buffer,fq,e9-fq),bd=k.Ve(L,"/Filter"); +if(bd!=-1){var iw=L.indexOf("[".charCodeAt(0))+1;if(iw!=0){var d7=L.indexOf("]".charCodeAt(0));W=k.zG(L,iw,d7-iw).trim().split(/\s+/)}else{var d0=k.zG(L,bd+8,30); +W=["/"+d0.split("/")[0]]}}var gS=k.Ve(c,"/Length",fq)+8,cf=gS;while(48<=c[cf]&&c[cf]<=57)cf++;var cT=parseInt(k.zG(c,gS,cf-gS)),fU=k.Ve(c,"stream",cf); +fU=fU+6;if(c[fU]==13)fU++;if(c[fU]==10)fU++;var dX=k.zG(c,fU,20);if(dX=="%AI12_CompressedData"){fU+=20; +cT-=20;eQ=!0}else if(dX=="%AI24_ZStandard_Data"){fU+=20;cT-=20;hN=!0}var g$=new Uint8Array(c.buffer,fU,cT); +if(W)for(var bd=0;bd")){var v=k.IN(u.join("")),R=FromPS.F.ASCII85Decode({off:0,buff:v}); +I.push(R);E.push(!1);top++;u=null}}else if(n!=null){if(x=="X+"){I.push(n);E.push(!1);top++;n=null}else n.push(x)}else if(x=="/Binary : /ASCII85Decode ,"){u=[]}else if(x=="X=")n=[]; +else if(x=="/SVGFilter :"||x=="; /Def ;")continue;else if(x.startsWith("/")&&x[1].toUpperCase()!=x[1].toLowerCase()){if(x.startsWith("/XMLUID")){var X=j(x); +if(E[top])throw"e";I[top][X[4]]=X[2]}if(x.startsWith("/GObjRef")){var X=j(x);if(!E[top])throw"e";I[top].push(X[2])}else{var B=x.startsWith("/Array")||x.startsWith("/Document"); +I.push(B?[]:{});E.push(B);top++}}else if(x.endsWith(",")){var M,r,X=j(x);X.pop();if(X[0]==";"||X.length==1){r=I.pop(); +E.pop();top--;M=E[top]?null:X.pop()}else{M=E[top]?null:X.pop();var N=X.pop(),$=X[0];if(N=="/Int")r=parseInt($); +else if(N=="/Real")r=parseFloat($);else if(N=="/Bool")r=$=="1";else if(N=="/String"||N=="/UnicodeString")r=X.join(""); +else if(N=="/RealMatrix"||N=="/RealPoint"||N=="/RealPointRelToROrigin")r=X.map(parseFloat);else throw N}if(E[top])I[top].push(r); +else I[top][M]=r}else if(x==";"){}else if(x==""){}else{if(x.indexOf("/RealPoint")!=-1){}else if(x.startsWith("(")&&x.endsWith(")")){}else if(x.endsWith("/RealMatrix")){}else throw x; +c=c?c+x:x}}return I}function j(a){var I=0,E=[];while(I>>16)+1)};ab.w5={aaX:function(Z,S){fetch(Z).then(function(b){return b.arrayBuffer()}).then(function(b){var Y=new Uint8Array(b),P=0,Q=""; +if(S){P=Y.length;var w={level:9},f=pako.deflateRaw(Y,w),h=UZIP.deflateRaw(Y,w);console.log(P,f.length,h.length); +Y=f.length")!=-1)Y="icc";else Y="svg"}if(b(S,[60,115,118,103],P))Y="svg"; +if(b(S,[60,33,100,111],P)||b(S,[60,33,68,79],P)){if(k.Ve(S," \t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t",f=" "+w+""; +if(Z==1)f+=""+""+""; +f+=""+""+""; +var h=new Uint8Array(f.length);k.Cz(f,h,0);var Q="data:image/svg+xml;base64,"+ab.kL(h.buffer);return{R3:Q,_:new b4(0,0,128,128),Zw:new ar(64,64)}}; +ab.kL=function(Z){var S=new Uint8Array(Z),b="";for(var D=0;D>3)]; +A=A>>7-(D&7)&1;var a=y*l+J<<2;q[a]=q[a+1]=q[a+2]=(1-A)*255;q[a+3]=255}}if(Y=="P5")for(var D=0;D15e7||Q==0||Q==2){var e=new PDFJS.JpegImage;e.parse(Z);var l=e.getData({width:P,height:w,forceRGB:!0,isSourcePDF:b}),h=T.f(f*4); +for(var D=0;D1&&y<20)t=T.raw.I0(y,P,w)}if(Y.xmp){z=b_.Hg(Y.xmp,z)}var j=S[237],J=[],A=[]; +if(j){var a=new Uint8Array(65536),I=0,E=0;for(var D=0;Da.length){var x=new Uint8Array(a.length*2); +x.set(a);a=x}var g=new Uint8Array(Z.buffer,E,o);a.set(g,I);I+=o}E=0;Z=a;while(E>>1)*P+hD>>>1),iz=d0[bP],iq=d0[bP+(f>>>2)]; +bd[O]=bd[O+1]=bd[O+2]=iz;bd[O+3]=255;er[O]=er[O+1]=er[O+2]=iq;er[O+3]=255}bI.push({Vl:new b4(0,0,P,w),data:bd.buffer},{Vl:new b4(0,0,P,w),data:er.buffer})}else if(gS=="edof"){var y=d0[8+7]; +console.log(y.toString(16));var E=8+16,cU=k.ME(d0,E),aH=k.ME(d0,E+2),f=cU*aH;E+=4;E+=32+16;var eK=T.f(f*4); +for(var D=0;D1){var dh=bI[0].Vl; +bI[0].qQ="Main";for(var D=1;D>>3)]>>>7-(i&7)&1,j=y*255; +z[l]=j;z[l+1]=j;z[l+2]=j;z[l+3]=255}}return[{Vl:new b4(0,0,f,w),data:z.buffer}]}else{var V=new PDFJS.JpxImage; +V.parse(Z);var f=V.width,w=V.height,J=V.tiles,A=V.componentsCount,a=new Uint8Array(f*w*4),I=new b4(0,0,f,w); +for(var V=0;V>>1,V.y>>>1,V.width-1,V.height-1,Z[D][1]]; +for(var K=0;K<5;K++)f(h,Q+3*K,q[K]);Q+=15;h.Ml(Q,1);h.data[Q]=1-m.blend<<1|m.dispose;Q++;var z=new Uint8Array(ab.re(m.img.buffer,V.width,V.height,"webp",1)),t=e7.Vq(z.buffer).sub,H=k.zG(z,12,4); +if(H!="VP8L"&&H!="VP8 "&&H!="VP8X")throw"e";var i=H=="VP8 "?0:H=="VP8L"?12:30,y=z.length-i;h.Ml(Q,y); +for(var K=0;K>>14&(1<<14)-1)+1}else throw"e"; +var V=[b(Y,Z,{n:0,size:S.length},l,O)];return V}var q=e.n,l=1+(k.l2(S,q+4)&16777215),O=1+(k.l2(S,q+7)&16777215),K=[],z=new b4(0,0,l,O),t=T.f(l*O*4); +for(var D=0;D>>1==0)T.p.xJ("norm",a,j,t,z,j,1);else T.uH(a,j,t,z);K.push({qQ:"_a_"+K.length+","+J,Vl:z.clone(),data:t.buffer.slice(0)}); +if((I&1)==1){T._U(a,0);T.uH(a,j,t,z)}}return K};ab.H_.a4u=function(Z,S,b,Y,P){var w=ab.H_.exp,f=w.memory,h=5e6+2*b.size+Y*P*10; +ab.BC(w,h);var Q=new Uint8Array(f.buffer),e=w.malloc(b.size);Q.set(new Uint8Array(S,b.n,b.size),e);var l=w.malloc(8),O=w.WebPDecodeARGB(e,b.size,l,l+4),m=k.l2(Q,l),V=k.l2(Q,l+4),q=m*V*4,K=T.f(q); +for(var D=0;D256){V=null; +break}}}if(V){z=1;while(1<>>16,E=V[D]>>>8&255,c=V[D]&255;A[a]=I;A[a+1]=E;A[a+2]=c}J+=j}y.Ml(J,i*e); +if(z==24)for(var u=0;u>>1)]|=g<<4-(o&1)*4}}else if(z==1)for(var u=0; +u>>3)]|=g<<7-(o&7)}}J+=i*e+2; +return y.data.slice(0,J).buffer}function S(h){h=new Uint8Array(h);if(k.l2(h,0)==40)return[b(h.buffer,0)]; +var Q=0,e=k.zG(h,Q,2);Q+=2;if(e!="BM"){alert("Unsupported BMP format: "+e);return}var l=k.l2(h,Q);Q+=4; +Q+=4;var O=k.l2(h,Q);Q+=4;return[b(h.buffer,Q,O)]}function b(h,Q,e){h=new Uint8Array(h);var l=k.l2(h,Q),O=w(h,Q+4); +if(O.rn!=1)alert("unsupported number of color planes: "+O.rn);if(O.T_!=0&&O.T_!=1&&O.T_!=2&&O.T_!=3){alert("Unsupported BMP compression: "+O.T_); +return}Q+=l;var m=Q,V=h;if(e==null)e=Q;if(O.T_==1||O.T_==2){var q=P(h,e,O);O.x6=8;h=q;e=0}var K=4*Math.floor((O.x6*O.Yu+31)/32),z=O.Yu,t=Math.abs(O.XE),H=new Uint8Array(z*t*4); +H.fill(255);if(O.x6==32)for(var i=0;i>>11)*(255/31); +H[J+1]=(A>>>5&63)*(255/63);H[J+2]=(A&31)*(255/31)}}else if(O.x6==8)for(var i=0;i>1)];a=a>>4-4*(j&1);a=a&15; +H[J]=V[m+4*a+2];H[J+1]=V[m+4*a+1];H[J+2]=V[m+4*a+0]}}else if(O.x6==1)for(var i=0;i>3)];I=I>>7-(j&7);I=I&1;H[J]=V[m+4*I+2];H[J+1]=V[m+4*I+1]; +H[J+2]=V[m+4*I+0]}}else throw"Unknown bit depth "+O.x6;if(O.XE<0){var E=new Uint32Array(H.buffer),c=t>>>1; +for(var i=0;i>>4-((D&1)<<2)&15}function P(h,Q,e){var l=e.Yu,O=Math.abs(e.XE),m=new Uint8Array(l*O),V=0,q=0,D=0; +while(q0){if(e.x6==4)for(D=0;D>>1)],D)}H=Math.ceil(z/2)}else{for(D=0; +D127?255:0;if(e==0)Q[D]=Q[D+1]=Q[D+2]=0}P.push(Q.buffer); +w.push(Z[h][1])}var l=Math.round(2+254*Y[0]/100),O=UPNG.encode.compress(P,S,b,l,[!0,!1,!1,8,!1]),m=O.plte,V=new Uint8Array(4),q=new Uint32Array(V.buffer); +for(var D=0;D256||b>256){alert("Maximum ICO size is 256x256 px. Will be cropped.",4e3); +var P=Math.min(S,256),w=Math.min(b,256),f=new b4(0,0,P,w),h=T.f(f.X()*4),Q=new b4(0,0,S,b),e=new Uint8Array(Z[0][0]); +T.uH(e,Q,h,f);Z[0][0]=h.buffer;S=P;b=w}var l=new ca,O=0,m=Y&&Y[0]==!0;k.RG(l,O,0);O+=2;k.RG(l,O,m?2:1); +O+=2;k.RG(l,O,1);O+=2;var V=new Uint8Array(ab.iZ("png").$b(Z,S,b));l.Ml(O,16);l.data[O]=S==256?0:S;O++; +l.data[O]=b==256?0:b;O++;O+=2;k.RG(l,O,m?Math.round(S/2):1);O+=2;k.RG(l,O,m?Math.round(b/2):32);O+=2; +k.xo(l,O,V.length);O+=4;k.xo(l,O,6+16);O+=4;l.Ml(O,V.length);for(var D=0;DV)V=H;q+=H;K++}}m=1/256*65535/(.5*V+.5*(2*q/K))}var i=[]; +for(var D=0;D3)l+=4;Q.opacity=Math.round(255*b[l]/100);l++;Q.Ba(b[l]!=0);l++;Q.WL="norm,lddg,norm,dark,diff,norm,hLit,norm,norm,lite,mul ,over,scrn,fsub".split(",")[b[l]]; +l++;l++;if(Y>3){var V=k.gU(b,l);l+=2;if(V!=0){var q=JSON.parse(k.cP(b,l,V));l+=V;var K=q.text,z=q.textSettings,t=z.font,H=z.size,i=z.padding,y=parseInt(z.color.slice(1),16); +Q.add.lnsr="rend";Q.add.TySh=eO.nR(0,0);Q.add.TySh.az=new b4(0,0,100,100);Q.add.TySh.A=new fR(1,0,0,1,Q.rect.x+i,Q.rect.y+i); +var j=Q.add.TySh.HK;eO.es(j,1);eO.oZ(j,[0,0,Q.rect.c-i*2,Q.rect.v]);eO.kk(j,0,K);var J=eO.SZ(j,0,1); +J.xp.FontSize=H;J.xp.FillColor={Type:1,Values:[1,(y>>>16&255)/255,(y>>>8&255)/255,(y>>>0&255)/255]}; +if(z.bold)t+="-Bold";eO.FK(J,t);J.jm.Justification=["left","right","center"].indexOf(z.align);eO.Yg(j,0,K.length,J)}}var A=k.r(b,l); +l+=4;if(A!=Q.rect.X()*4)throw"e";Q.buffer=T.f(A);if(Y>3){a=0;I=1;E=2;c=3}for(var D=0;D3){w+=e; +continue}var n=b[l];l++;var o=k.gU(b,l);l+=2;if(u!=0){Q.d=new F.bN;Q.d.rect=Q.rect.clone();Q.d.channel=T.f(Q.rect.X()); +for(var D=0;D>>2]=b[l+D+1];l+=u}if(n!=0){var x=JSON.parse(a4.default);Q.add.lmfx=x; +for(var D=0;D>>4<<1,A=l+O,a=T.f(J*h*A),u,n,o;dk.x9(Y,P,i.size,a,0,a.length); +var I=l-2,E=(1<>>3]>>>7-(v&7)&1;x|=R<>>l,x=x&(1<>>I!=0){var M=x>>>I,r=(x&E)*c;if(M==1)o=r;else if(M==2)u=r;else if(M==3)n=r}else{var r=V+x*3; +u=Y[r+0];n=Y[r+1];o=Y[r+2]}}else{u=x>>>0&255;n=x>>>8&255;o=x>>>16&255}w[B+0]=u;w[B+1]=n;w[B+2]=o;w[B+3]=255}}}return[{Vl:new b4(0,0,f,h),data:w.buffer}]}; +ab.si={};ab.si.Ke=!1;ab.si.$b=function(Z,S,b,Y){var P=Z[0][4],w=new Uint8Array(Z[0][0]),f=2,h=P?!0:!1,Q=h?4:3,e=new Uint8Array(S*b*Q); +for(var l=0;l>>4,z=k.zG(S,18,Y),t=T.f(O*m*4),b=18+Y+(h*Q>>>3),H=new Uint8Array(S.buffer,b); +if(w>3){var i=0,y=S,j=new Uint8Array(O*m*V>>>3),J=b,A=0,a=S.length,I=V>>>3;while(A>>3;var c=new Uint8Array(4),u=ab.si.aix; +for(var n=0;n>>3; +if(w==1){var r=0;if(V==8)r=H[M];else throw"e";u(S,18+Y+f+(r*Q>>>3),Q,c);v=c[0];R=c[1];X=c[2];B=c[3]}else if(w==2){u(H,M,V,c); +v=c[0];R=c[1];X=c[2];B=c[3]}else if(w==3){if(V==8)v=R=X=H[M];else throw"e"}var N=g*4;t[N]=v;t[N+1]=R; +t[N+2]=X;t[N+3]=B}var c={Vl:new b4(0,0,O,m),data:t.buffer,qQ:z};if(T.PV(t)){var $=T.f(O*m);T.to(t,$,3); +T._U(t,4278190080,16777215);c.eP=[$]}return[c]};ab.si.aix=function(Z,S,b,Y){var P,w,f,h=255;if(b==24||b==32){f=Z[S]; +w=Z[S+1];P=Z[S+2];if(b==32)h=Z[S+3]}else if(b==16){var Q=Z[S+1]<<8|Z[S+0];P=Q>>>10&31;w=Q>>>5&31;f=Q>>>0&31; +P=Math.round(P*(255/31));w=Math.round(w*(255/31));f=Math.round(f*(255/31))}else throw"e";Y[0]=P;Y[1]=w; +Y[2]=f;Y[3]=h};ab.r_={};ab.r_.Gk=function(Z){var S=new Uint8Array(Z),b=0,Y=112,P=42,w=k.l2,l;b+=8;var f=S[b]; +b++;if(f!=P)throw"e";var h=w(S,b);b+=4;var Q=k.AT(S,b,h);b+=h*2;var e=[];while(b0)e.push(b+V);b+=V+O}var q=new DOMParser,K=q.parseFromString(Q,"image/svg+xml").firstChild.firstChild,z=[]; +ab.r_.yy(K,S,e,z);return z};ab.r_.yy=function(Z,S,b,Y){var P=Z.firstChild.firstChild;if(P.tagName=="Image"){var w=P.getElementsByTagName("ImageDescription")[0],f=w.children[0].children,h=w.children[1].children,Q=b.shift(),e=[]; +for(var D=0;D3)e[2]*=e.pop(); +var l=f.length,O=e[0],m=e[1],V=e[2],q=parseInt(h[0].getAttribute("BytesInc"));for(var K=0;K>>2);else throw q; +if(t!=3)T.y8(H,z,t);if(l==1){T.y8(H,z,1);T.y8(H,z,2)}Q+=O*m*q}Y.push({Vl:new b4(0,0,O,m),data:z.buffer})}}else{var y=Z.children,j=0; +while(j>>2); +for(var D=0;DO)O=t}var H=T.f(Q*4),i=1/O;for(var y=0;y>>7)}else if(A==305){var I=Math.round(Math.sqrt(a)),E=[]; +for(var c=0;c>>3; +bI[W]|=e9>>>16;bI[W+1]|=e9>>>8;bI[W+2]|=e9}var N=V*8/(t*H);if(N==16)for(var D=0;D>>12|(eQ&4095)<<12; +g[D]=eQ>>>16&255;g[D+1]=eQ>>>8&255;g[D+2]=eQ&255}if(x)g=ab.iA.ahe(g,t,H);var hN=x?2:1;t*=hN;z.t256=[t]; +z.t257=[H];z.t258=[v];z.t50719=[y[1],y[0]*hN];z.t50720=[y[3],y[2]*hN];z.width=t;z.height=H;z.data=new Uint8Array(g.buffer); +return[z]};ab.iA.ahe=function(Z,S,b){Z=new Uint16Array(Z.buffer);var Y=new Uint16Array(S*b*2);for(var P=0; +P>>1)+w&1)==0){Y[h]=Q; +Y[h+2*S+1]=Z[f+1]}else{Y[h]=Z[f-1];Y[h+2*S+1]=Q}}return Y};ab.Fv={};ab.Fv.XP=!0;ab.Fv.$b=function(Z,S,b,Y){var P=new Uint8Array(Z[0][0]),w=S*b,f=[1,3,4][Y[0]],h=8+8*Y[1],Q=Y[2]; +if(f==1){var e=new Uint8Array(S*b);T.to(P,e,0);P=e}if(f==3){var e=new Uint8Array(S*b*3);for(var D=0; +D>>8;e[D*2+1-Q]=V&255}P=e}return P.buffer}; +ab.mp={};ab.mp.Gk=function(Z,S){function b(Q){return~~(.5+T.Ur(Math.max(0,Math.min(1,Q)))*255)}var Y=EXRLoader.parse(Z),P=Y.width,w=Y.height,f=T.f(P*w*4); +for(var h=0;h>>31==1){t=t&16777215}if(D>>31==1){H=H&268435455;y=P(f,h,h+H,j,l)}else{var J=S(f,h+H),A=S(f,h+H+4),a=S(f,h+H+8),I=S(f,h+H+12); +if(I!=0)throw"e";if(Jl[0]+l[1])throw"e";var E=l[2]+J-l[0];y=f.slice(E,E+A);var c=ab.fN(y.buffer); +if(c&&["bmp","png","ico"].indexOf(c)!=-1){var u=ab.iZ(c);if(!u.Ke){var n=null;try{n=u.Gk(y.buffer)}catch(aV){}if(n){n[0].qQ=j[1]; +Y.push(n[0])}}}else if(c)console.log(c)}z[i]=y;Q+=8}return z}function w(f){Y=[];var h=new Uint8Array(f),Q=0,e=Z(h,Q); +Q+=2;Q+=58;var l=S(h,Q);Q+=4;Q=l;var O=b(h,Q,4);Q+=4;var m=Z(h,Q);Q+=2;var V=Z(h,Q);Q+=2;var q=S(h,Q); +Q+=4;var K=S(h,Q);Q+=4;var z=S(h,Q);Q+=4;var t=Z(h,Q);Q+=2;var H=Z(h,Q);Q+=2;Q+=t;var i={};for(var D=0; +D0){if(z["o"+M]!=null)throw"e";z["o"+M]=X}return X}function o(R,z){if(R instanceof Array){for(var D=0; +DY[D].canvas.width)D++;if(D==Y.length){b=Y[0];var w=b.canvas;w.width=Z;w.height=S}else{b=Y[D]; +b.clearRect(0,0,Z,S)}return b};T.Qv=function(Z,S,b){var Y={},P=0,w=0,f=new Uint32Array(Z.buffer),h=f.length,Q=Date.now(); +for(var e=1;e>>24<230)w++;if(Y[m]==null){Y[m]=!0; +P++}}if(w!=0||P<20)return!1;return!0};T.bO=function(Z,S,b,Y,P,w){if(P==null)P=w=0;Y=Math.log(Y)/Math.log(2); +Y=Math.round(Y);for(var D=0;D>>S)+(Z>>>S)&1)*51};T.T3=function(Z){var S=Z.toString(16); +while(S.length<6)S="0"+S;return S};T.sH=function(Z){return parseInt(Z,16)};T.oQ=function(Z){return.3*Z.h+.59*Z.l+.11*Z.O}; +T.h0=function(Z){return Math.max(Z.h,Z.l,Z.O)-Math.min(Z.h,Z.l,Z.O)};T.w2=function(Z,S,b){return.3*Z+.59*S+.11*b}; +T.afJ=function(Z,S,b){return Math.max(Z,S,b)-Math.min(Z,S,b)};T.Ot=function(Z,S){var b=S-Z,Y=Math.abs(b),P=b-1,w=b+1; +if(Math.abs(P).5?Q/(2-(Y+P)):Q/(Y+P);switch(Y){case Z:w=(S-b)/Q+(S1)b-=1;if(b<1/6)return Z+(S-Z)*6*b;if(b<1/2)return S;if(b<2/3)return Z+(S-Z)*(2/3-b)*6;return Z}; +T.hy=function(Z,S,b){var Y=Math.max(Z,S,b),P=Math.min(Z,S,b),w,f,h=Y,Q=Y-P;f=Y==0?0:Q/Y;if(Y==P)w=0; +else{switch(Y){case Z:w=(S-b)/Q+(S.008856?Math.pow(b,1/3):(903.3*b+16)*(1/116)}return[Z,S]}(); +T.N1=function(Z,S,b){var Y=T.V0[0],P=T.V0[1];Z=Y[~~(Z*(1e3/255))];S=Y[~~(S*(1e3/255))];b=Y[~~(b*(1e3/255))]; +var w=T.sE.adN,f=w[0]*Z+w[1]*S+w[2]*b,h=w[4]*Z+w[5]*S+w[6]*b,Q=w[8]*Z+w[9]*S+w[10]*b;f=f*(100/96.72); +h=h*(100/100);Q=Q*(100/81.427);return T.TO(f,h,Q)};T.TO=function(Z,S,b){var Y=T.V0[1],P=Y[~~(Z*1e3)],w=Y[~~(S*1e3)],f=Y[~~(b*1e3)]; +return{lq:116*w-16,w:500*(P-w),O:200*(w-f)}};T.Hz=function(Z,S,b){var Y=903.3,P=.008856,w=(Z+16)/116,f=w*w*w,h=w-b/200,Q=h*h*h,e=S/500+w,l=e*e*e,O=Q>P?Q:(116*h-16)/Y,m=f>P?f:(116*w-16)/Y,V=l>P?l:(116*e-16)/Y,q=V*96.72,K=m*100,z=O*81.427,t=T.sE.Eb(T.sE.dJ,[q/100,K/100,z/100,0]); +for(var D=0;D<4;D++)t[D]=Math.max(0,Math.min(255,T.Ur(t[D])*255));return{h:t[0],l:t[1],O:t[2]}};T.c4=function(Z,S,b,Y,P){var w=Z.lq,f=Z.w,h=Z.O,Q=(w>2]=~~(Z[D+0]*P+Z[D+1]*w+Z[D+2]*f+.5)};T.zf=function(Z,S){var b=S.length; +for(var D=0;D>>2];S[D]=Y;S[D+1]=Y;S[D+2]=Y}};T.s$=function(Z,S){var b=Z.w,Y=Z.h,P=Z.l,w=Z.O,f=Math.min(Z.w.length,S.buffer.byteLength>>>2),h=4*Math.floor(f/4),Q=new Uint32Array(S.buffer),e=new Uint32Array(b.buffer),l=new Uint32Array(Y.buffer),O=new Uint32Array(P.buffer),m=new Uint32Array(w.buffer); +for(var D=0;D>2],q=m[D>>2],K=O[D>>2],z=l[D>>2];Q[D]=V<<24|(q&255)<<16|(K&255)<<8|z&255; +Q[D+1]=(V&65280)<<16|(q&65280)<<8|K&65280|(z&65280)>>>8;Q[D+2]=(V&16711680)<<8|q&16711680|(K&16711680)>>>8|(z&16711680)>>>16; +Q[D+3]=V&4278190080|(q&4278190080)>>>8|(K&4278190080)>>>16|(z&4278190080)>>>24}for(var D=h;D>>2),h=4*Math.floor(f/4),Q=new Uint32Array(Z.buffer),e=new Uint32Array(b.buffer),l=new Uint32Array(Y.buffer),O=new Uint32Array(P.buffer),m=new Uint32Array(w.buffer); +for(var D=0;D>2]=V&255|(q&255)<<8|(K&255)<<16|z<<24; +O[D>>2]=(V&65280)>>8|q&65280|(K&65280)<<8|(z&65280)<<16;m[D>>2]=(V&16711680)>>16|(q&16711680)>>8|K&16711680|(z&16711680)<<8; +e[D>>2]=V>>>24|q>>>24<<8|K>>>24<<16|z&4278190080}for(var D=h;D>0&255;P[D]=t>>8&255; +w[D]=t>>16&255;b[D]=t>>24&255}};T.to=function(Z,S,b){var Y=new Uint8Array(Z.buffer),P=Math.min(Y.length/4,S.length); +for(var D=0;D>>2];Y[(D<<2)+b]=f&255;Y[(D<<2)+b+4]=f>>>8&255;Y[(D<<2)+b+8]=f>>>16&255;Y[(D<<2)+b+12]=f>>>24; +D+=4}while(D>>2,Z=new Uint32Array(Z.buffer,0,Y),S=new Uint32Array(S.buffer,0,Y); +S.set(Z)};T.Oh=function(Z,S){var b=Z.buffer.byteLength,Y=S.buffer.byteLength,P=new Uint32Array(Z.buffer,0,b>>2),w=new Uint32Array(S.buffer,0,Y>>2); +if(b!=Y)return!1;var f=P.length;for(var D=0;D=2&&Y.v>=2){var P=T.Y_(b,Y); +Z.push(P.j$,P.rect);b=P.j$;Y=P.rect}};T.eW=function(Z){var S=Z.length,b=Z[S-2],Y=Z[S-1];while(Y.c>=2&&Y.v>=2){var P=T.w4(b,Y); +Z.push(P.j$,P.rect);b=P.j$;Y=P.rect}};T.Y_=function(Z,S,b){var Y=S.c,P=S.v,w=Y>>1,f=P>>1,h=new b4(S.x,S.y,w,f),Q=b&&b.length==w*f*4?b:T.f(w*f*4),e=new Uint32Array(Z.buffer),l=new Uint32Array(Q.buffer); +for(var O=0;O>>24,y=z>>>24,j=t>>>24,J=H>>>24,A=i+y+j+J; +if(A==1020){var a=(K>>>0&255)+(z>>>0&255)+(t>>>0&255)+(H>>>0&255)+2>>>2,I=(K>>>8&255)+(z>>>8&255)+(t>>>8&255)+(H>>>8&255)+2>>>2,E=(K>>>16&255)+(z>>>16&255)+(t>>>16&255)+(H>>>16&255)+2>>>2; +l[V]=255<<24|E<<16|I<<8|a}else if(A==0)l[V]=0;else{var a=(K>>>0&255)*i+(z>>>0&255)*y+(t>>>0&255)*j+(H>>>0&255)*J,I=(K>>>8&255)*i+(z>>>8&255)*y+(t>>>8&255)*j+(H>>>8&255)*J,E=(K>>>16&255)*i+(z>>>16&255)*y+(t>>>16&255)*j+(H>>>16&255)*J,c=1/A; +a=~~(a*c+.5);I=~~(I*c+.5);E=~~(E*c+.5);l[V]=A+2>>>2<<24|E<<16|I<<8|a}}return{rect:h,j$:Q}};T.wg=function(Z,S,b){var Y=S.c,P=S.v,w=Y>>1,f=P>>1,h=new b4(S.x,S.y,w,f),Q=b&&b.length==w*f*4?b:T.f(w*f*4),e=new Uint32Array(Z.buffer),l=new Uint32Array(Q.buffer); +for(var O=0;O>>0&255)+(z>>>0&255)+(t>>>0&255)+(H>>>0&255)>>>2,y=2+(K>>>8&255)+(z>>>8&255)+(t>>>8&255)+(H>>>8&255)>>>2,j=2+(K>>>16&255)+(z>>>16&255)+(t>>>16&255)+(H>>>16&255)>>>2,J=2+(K>>>24&255)+(z>>>24&255)+(t>>>24&255)+(H>>>24&255)>>>2; +l[V]=J<<24|j<<16|y<<8|i}return{rect:h,j$:Q}};T.alS=function(Z,S,b){var Y=S.c,P=S.v,w=2*Math.floor(Y/3),f=2*Math.floor(P/3),h=new b4(S.x,S.y,w,f),Q=b&&b.length==w*f*4?b:T.f(w*f*4),e=new Uint32Array(Z.buffer),l=new Uint32Array(Q.buffer); +for(var O=0;O>>1)*Y+(m*3>>>1),K=e[q],z=e[q+1],t=e[q+2],H=e[q+Y],i=e[q+1+Y],y=e[q+2+Y],j=e[q+Y+Y],J=e[q+1+Y+Y],A=e[q+2+Y+Y],a=K>>>24<<2,I=(K>>>16&255)*a,E=(K>>>8&255)*a,c=(K&255)*a,u=z>>>24<<1,n=(z>>>16&255)*u,o=(z>>>8&255)*u,x=(z&255)*u,g=t>>>24<<2,v=(t>>>16&255)*g,R=(t>>>8&255)*g,X=(t&255)*g,B=H>>>24<<1,M=(H>>>16&255)*B,r=(H>>>8&255)*B,N=(H&255)*B,$=i>>>24,eQ=(i>>>16&255)*$,hN=(i>>>8&255)*$,bI=(i&255)*$,fq=y>>>24<<1,e9=(y>>>16&255)*fq,W=(y>>>8&255)*fq,L=(y&255)*fq,bd=j>>>24<<2,iw=(j>>>16&255)*bd,d7=(j>>>8&255)*bd,d0=(j&255)*bd,gS=J>>>24<<1,cf=(J>>>16&255)*gS,cT=(J>>>8&255)*gS,fU=(J&255)*gS,dX=A>>>24<<2,g$=(A>>>16&255)*dX,bX=(A>>>8&255)*dX,aw=(A&255)*dX,hP=a+u+B+$,eG=g+u+fq+$,eB=bd+gS+B+$,bb=dX+gS+fq+$,gx=hP==0?0:1/hP,er=eG==0?0:1/eG,ea=eB==0?0:1/eB,hD=bb==0?0:1/bb,bP=0,iz=0,iq=0,cU=0; +bP=~~(.5+(c+x+N+bI)*gx);iz=~~(.5+(E+o+r+hN)*gx);iq=~~(.5+(I+n+M+eQ)*gx);cU=~~(.5+hP*(1/9));l[V]=cU<<24|iq<<16|iz<<8|bP; +bP=~~(.5+(X+x+L+bI)*er);iz=~~(.5+(R+o+W+hN)*er);iq=~~(.5+(v+n+e9+eQ)*er);cU=~~(.5+eG*(1/9));l[V+1]=cU<<24|iq<<16|iz<<8|bP; +bP=~~(.5+(d0+fU+N+bI)*ea);iz=~~(.5+(d7+cT+r+hN)*ea);iq=~~(.5+(iw+cf+M+eQ)*ea);cU=~~(.5+eB*(1/9));l[V+w]=cU<<24|iq<<16|iz<<8|bP; +bP=~~(.5+(aw+fU+L+bI)*hD);iz=~~(.5+(bX+cT+W+hN)*hD);iq=~~(.5+(g$+cf+e9+eQ)*hD);cU=~~(.5+bb*(1/9));l[V+w+1]=cU<<24|iq<<16|iz<<8|bP}return{rect:h,j$:Q}}; +T.a2e=function(Z,S,b){var Y=S.c,P=S.v,w=2*Math.floor(Y/3),f=2*Math.floor(P/3),h=new b4(S.x,S.y,w,f),Q=b&&b.length==w*f*4?b:T.f(w*f*4),e=new Uint32Array(Z.buffer),l=new Uint32Array(Q.buffer); +for(var O=0;O>>1)*Y+(m*3>>>1),K=e[q],z=e[q+1],t=e[q+2],H=e[q+Y],i=e[q+1+Y],y=e[q+2+Y],j=e[q+Y+Y],J=e[q+1+Y+Y],A=e[q+2+Y+Y],a=(K>>>16&255)<<2,I=(K>>>8&255)<<2,E=(K&255)<<2,c=(z>>>16&255)<<1,u=(z>>>8&255)<<1,n=(z&255)<<1,o=(t>>>16&255)<<2,x=(t>>>8&255)<<2,g=(t&255)<<2,v=(H>>>16&255)<<1,R=(H>>>8&255)<<1,X=(H&255)<<1,B=i>>>16&255,M=i>>>8&255,r=i&255,N=(y>>>16&255)<<1,$=(y>>>8&255)<<1,eQ=(y&255)<<1,hN=(j>>>16&255)<<2,bI=(j>>>8&255)<<2,fq=(j&255)<<2,e9=(J>>>16&255)<<1,W=(J>>>8&255)<<1,L=(J&255)<<1,bd=(A>>>16&255)<<2,iw=(A>>>8&255)<<2,d7=(A&255)<<2,d0=0,gS=0,cf=0; +d0=~~(.5+(E+n+X+r)*(1/9));gS=~~(.5+(I+u+R+M)*(1/9));cf=~~(.5+(a+c+v+B)*(1/9));l[V]=255<<24|cf<<16|gS<<8|d0; +d0=~~(.5+(g+n+eQ+r)*(1/9));gS=~~(.5+(x+u+$+M)*(1/9));cf=~~(.5+(o+c+N+B)*(1/9));l[V+1]=255<<24|cf<<16|gS<<8|d0; +d0=~~(.5+(fq+L+X+r)*(1/9));gS=~~(.5+(bI+W+R+M)*(1/9));cf=~~(.5+(hN+e9+v+B)*(1/9));l[V+w]=255<<24|cf<<16|gS<<8|d0; +d0=~~(.5+(d7+L+eQ+r)*(1/9));gS=~~(.5+(iw+W+$+M)*(1/9));cf=~~(.5+(bd+e9+N+B)*(1/9));l[V+w+1]=255<<24|cf<<16|gS<<8|d0}return{rect:h,j$:Q}}; +T.PV=function(Z){var S=255,b=Z.length;b-=b&31;for(var D=3;D>1,f=P>>1,h=new b4(S.x,S.y,w,f); +if(Z==null)return{rect:h};var Q=b&&b.length>=w*f?b:T.f(w*f);for(var e=0;e>>2}}return{rect:h,j$:Q}};T.Hx=function(Z,S,b){var Y=S.c,P=S.v,w=2*Math.floor(Y/3),f=2*Math.floor(P/3),h=new b4(S.x,S.y,w,f); +if(Z==null)return{rect:h};var Q=b&&b.length>=w*f?b:T.f(w*f);for(var e=0;e>>1)*Y+(l*3>>>1),V=Z[m]<<2,q=Z[m+1]<<1,K=Z[m+2]<<2,z=Z[m+Y]<<1,t=Z[m+1+Y],H=Z[m+2+Y]<<1,i=Z[m+Y+Y]<<2,y=Z[m+1+Y+Y]<<1,j=Z[m+2+Y+Y]<<2; +Q[O]=~~(.5+(V+q+z+t)*(1/9));Q[O+1]=~~(.5+(K+q+H+t)*(1/9));Q[O+w]=~~(.5+(i+y+z+t)*(1/9));Q[O+w+1]=~~(.5+(j+y+H+t)*(1/9))}return{rect:h,j$:Q}}; +T.JS=function(Z,S,b,Y,P){var w=S.Yz(Y);if(P)w=w.Yz(P);var f=Math.max(0,w.x-S.x),h=Math.max(0,w.x-Y.x),Q=Math.max(0,w.y-S.y),e=Math.max(0,w.y-Y.y),l=w.c,O=w.v; +for(var D=0;D>>8)>>>8};T.round=function(Z,S){if(S==null)S=128;var b=Z.length;for(var D=0; +D>>24)*(f>>>24))<<24|T.sU((w>>>16&255)*(f>>>16&255))<<16|T.sU((w>>>8&255)*(f>>>8&255))<<8|T.sU((w&255)*(f&255))}}; +T.Dt=function(Z,S){var b=Z.length;for(var D=0;D>>2,f/255]};T.Og=function(Z,S){var b=new Uint32Array(Z.buffer),Y=b.length; +for(var D=0;D>8&255,h=P>>16&255,Q=P>>24&255;b[D]=S[w]|S[f]<<8|S[h]<<16|S[Q]<<24}}; +T.ao2=function(Z,S,b,Y,P,w,f){var h=new Uint32Array(Z.buffer),Q=new Uint32Array(S.buffer),e=h.length,l=0; +while(256<>>8&255)<>>16&255)<>>8&255)<>>16&255)<i){var y=(H-i)/(255-i);K+=y*(255-K);z+=y*(255-z);t+=y*(255-t)}else if(i==0)K=z=t=0;else{var y=H/i; +K=y*K;z=y*z;t=y*t}}Q[D]=K|z<<8|t<<16|O&4278190080}};T.fD=function(Z,S){var b=S.c,Y=S.v,top=0,P=0,w=0,f=0,h=0; +h=0;for(var Q=0;Q=0;Q--){var e=Q*b;for(var D=0;D=0;D--){for(var Q=top; +Q=0;m--){var V=m*w;for(var D=0;D=0;D--){for(var m=0;m>2); +T.to(Z.buffer,S,3);var b=T.fD(S,Z.rect);if(b.Oh(Z.rect))return;var Y=new T.f(b.X()*4);T.uH(Z.buffer,Z.rect,Y,b); +Z.buffer=Y;Z.rect=b};T.extend=function(Z,S,b){if(Z.rect.ls(S))return;var Y=Z.rect.VK(S),P=T.f(Y.X()); +if(b!=null)P.fill(b);T.JS(Z.channel,Z.rect,P,Y);Z.rect=Y;Z.channel=P};T.aoI=function(Z,S){if(S.h3()||Z.rect.ls(S))return; +var b=Z.rect.VK(S),Y=T.f(b.X()*4);T.uH(Z.buffer,Z.rect,Y,b);Z.rect=b;Z.buffer=Y};T.eI=function(Z,S,b){if(!b.DS(Z))return!1; +var Y=Math.floor(Z.x)-b.x,P=Math.floor(Z.y)-b.y,D=P*b.c+Y;return S[D]>128};T.a1G=function(Z,S,b){if(!b.DS(Z))return!1; +var Y=Math.floor(Z.x)-b.x,P=Math.floor(Z.y)-b.y,D=P*b.c+Y;return S[4*D+3]>128};T.FX=function(Z){if(T.Np.length.5)return 0;if(H>.25)return 1;if(H>.1)return 2;if(H>.02143)return 3;if(H>.00445)return 4;if(H>65e-5)return 5; +if(H>415e-6)return 6;if(H>55e-6)return 7;return 8}function h(H,i,y,j,J,A){H[i]=y[j]+(J[A]-y[j]>>1);H[i+1]=y[j+1]+(J[A+1]-y[j+1]>>1); +H[i+2]=y[j+2]+(J[A+2]-y[j+2]>>1);H[i+3]=y[j+3]+(J[A+3]-y[j+3]>>1)}function Q(H,i,y,j,J,A){H[i]=J[A]+y[j]>>1; +H[i+1]=J[A+1]+y[j+1]>>1;H[i+2]=J[A+2]+y[j+2]>>1;H[i+3]=J[A+3]+y[j+3]>>1}function e(H,i,y,j,J,A,a,I,E){var c=0,u=0,n=0,D,o=J[A],x; +h(I,0,H,i,H,y);for(D=0;D0&&j[A-1]0){e(j,a-4,a,J,c,o,u,n,4)}a+=4}J[i]=J[0];c[i]=c[0];if(J[i-1]0){e(j,a,I,J,c,i,u,n,4)}}w(j)}function O(){var H=Math.random(); +if(H>.659755)return 0;if(H>.1625)return 10;if(H>.06)return 20;if(H>.01)return 30;if(H>.0035)return 40; +if(H>65e-5)return 50;if(H>415e-6)return 60;if(H>55e-6)return 70;return 80}function m(H,i,y,j,J,A){var a=O()+1,I=j[J]; +for(var D=1;DJ)break;if(j[J-D]y[D]){b(H,n-A,c,0);y[D-1]=E;u=!1;break}b(H,n-A,H,n);y[D-1]=y[D];n+=A}if(u){b(H,n-A,c,0); +y[J-1]=E}a++;j--;i-=A}}function K(H,i,y,j,J){var A=0,a=0,I=i*4;for(var D=0;D>>2),h=new Uint8Array(S.length>>>2); +T.yM.Hl(S,w,b,Y,T.yM.zL[2],0,!0);for(var D=0;D>>2]=Q;P[D+0]=S[D+0];P[D+1]=S[D+1];P[D+2]=S[D+2];P[D+3]=S[D+3]}T.yM.ux(f,h,b,Y);for(var D=0;D>>2]-50)*(255/205))}for(var D=0,e=S.length;D>>2),f=new Uint8Array(S.length>>>2),h=new Uint8Array(S.length); +for(var D=0;D>>2]=Q;h[D]=S[D];h[D+1]=S[D+1]; +h[D+2]=S[D+2]}T.yM.ux(f,w,b,Y);T.yM.Hl(S,P,b,Y,T.yM.zL[1],0,!0);for(var D=0;D>>2]}for(var D=0,e=S.length; +D>>8&255,z=V>>>16&255,t=V>>>24&255,H=~~(Math.random()*8),i=H%3,y=0,j=0; +if(H<3){j--}else if(H>4){j++}if(i==0){y--}else if(i==2){y++}var J=m+y,A=D+j;if(J<0)J=0;else if(J>f-1)J=f-1; +if(A<0)A=0;else if(A>h-1)A=h-1;var V=l[A*f+J],a=V&255,I=V>>>8&255,E=V>>>16&255,c=V>>>24&255;Q[O]=e(q,a); +Q[O+1]=e(K,I);Q[O+2]=e(z,E);Q[O+3]=e(t,c)}}}function S(w,f){return f}function b(w,f){return w>f?f:w}function Y(w,f){return w>8)&255;S[D]=S[t]=H;H=H%8;b[D]=b[t]=P[H]; +Y[D]=Y[t]=w[H]}}function e(t){return t*t*t*(t*(t*6-15)+10)}function l(t,H,i){return(1-i)*t+i*H}function O(t,H){return t&H}function m(t,H){return t%H}function V(t,H,i,y,j){var J=Math.floor(t),A=Math.floor(H),f,a,I,E,c,u; +t=t-J;H=H-A;J=J&255;A=A&255;f=J+S[A];E=b[f]*t+Y[f]*H;f=J+S[j(A+1,y)];I=b[f]*t+Y[f]*(H-1);f=j(J+1,i)+S[A]; +c=b[f]*(t-1)+Y[f]*H;f=j(J+1,i)+S[j(A+1,y)];u=b[f]*(t-1)+Y[f]*(H-1);a=e(t);return l(l(E,c,a),l(I,u,a),e(H))}function K(t,f,H){t[f]=H}function z(t,H,i,y,j){var J=Math.min(Math.min(H,256),Math.min(256,i)),A=J==256||J<8,a=8,I=new Uint32Array(a),E=new Uint32Array(a),c=new Float32Array(a),u=new Float32Array(a),n=1,o=1,x=A?O:m,g=K,v; +for(var D=0;D>>2;P[h+1]=O+2>>>2;P[h+2]=m+2>>>2;P[h+3]=V+2>>>2}}}return Z}(); +T.Ix.a4t=function(){var Z=[-1e3,34,51,61,71,80,87,95,101,108,113,119,124,129,134,139,143,148,153,157,161,165,168,172,175,180,183,186,190,194,197,200,203,207,210,213,216,218,222,225,228,230,233,236,239,241,244,247,250,252,255]; +function S(b,Y,P,w,f){var h=f[0],Q=f[1],e=Q<=50?Z[Q]/255:1+(255-Z[101-Q])/255,l=f[2],O=b.length,m=new Float32Array(O),V=0,q,K=1+1/10*h,z=(1-1/K)/2,t=16/256,H=Y-1,D,i,y,j,J=0,A=1,a=255; +for(D=0;D=P||c>=Y){return}var y=m[u],n=e-y,o=Math.random(),x=o/K+z;if(V==0||Math.abs(j-y)>t){q=x<=n?J:a; +V=~~(Math.random()*h)}else if(.1=Y)break;I(i,H-y)}V=0}for(D=1;D=P||i>=Y)break;I(y,H-i)}V=0}}else if(l==1){for(D=0; +D=Y)break; +I(i,y)}V=0}for(D=1;D=P||i>=Y)break;I(y,i)}V=0}}else{for(D=0;D255?255:O]}return e}function S(){var h=new Uint8Array(256),D,Q; +for(D=75,Q=15;Q<256;D++,Q+=24)h[D]=Q;for(;D<256;D++)h[D]=255;return h}function b(h,Q,e,l){P(h,Q,e,11,l)}function Y(h,Q,e,l){P(h,Q,e,5,l); +for(var D=0;D>>1)}function w(h,Q){var e=h.length,l; +for(var D=0;D255?255:i}w(H,h);for(var D=0;D>2); +for(var D=0;D>1,a=A-1,I=J*J,E=0; +for(var D=0;D=i)o=i-1;if(x<0)x=0;else if(x>=y)x=y-1;c+=t[x*i+o]}}H[E++]=~~(c/I);for(var g=1;g=i)R=i-1;if(x<0)x=0;else if(x>=y)x=y-1;c+=t[x*i+R]-t[x*i+v]}H[E++]=~~(c/I)}}Z=H}function Y(t,H){var i=t.length; +for(var D=0;D3?(h-3)*10:0;var i=~~(Q*.73)+50,y=Math.min(i+H,128),j=y-i,J=-255*i; +f=w+4;for(var D=0;D<256;D++){var A=D*65;e[D]=A>=256?255:A;l[D]=Math.max(Math.min(~~(J/j),255),0);J+=255}}function m(t,H,i,y,j,J,A,a,I,E){var c=j+J-1,u=j>>1,n=c>>1,o=0,x=new Int32Array(j),g=new Int32Array(256),v=new Int32Array(16); +if(!A){n}for(var D=0;D=i)r=i-1;if(N<0)N=0;else if(N>=y)N=y-1; +var $=t[N*i+r];g[$]++;v[$>>>4]++}}var eQ=0,hN;for(hN=0;hN<256;hN++){eQ+=g[hN];if(eQ>=E)break}H[o++]=hN; +for(var bI=1;bI=y)N=y-1;if(fq<0)fq=0;else if(fq>=i)fq=i-1;if(e9<0)e9=0;else if(e9>=i)e9=i-1;var W=t[N*i+fq],L=t[N*i+e9]; +g[W]--;v[W>>>4]--;g[L]++;v[L>>>4]++}eQ=0;hN=0;while(eQ+v[hN>>>4]>>4];hN+=16}for(;hN<256; +hN++){eQ+=g[hN];if(eQ>=E)break}H[o++]=hN}}Z=H}function V(t){var H=t.length,i=new Uint8Array(H),D=0;for(; +D=i)a=J;for(var I=0;I=y)c=I;var u=t[J+E],n=t[J+c],o=t[A+I],x=t[a+I],g=t[J+I];H[j++]=Math.min(Math.max(g+2*(4*g-(u+n+o+x)),0),255)}}Z=H}function z(t,H,i,y,j){O(j); +var J=t.length,A=new Uint8Array(J),a=V(t);b(t,A,H,i,P);for(var D=0;D0)t[D]=~~((E*I+(255-E)*128)/255);else t[D]=128}Z=t;b(t,A,H,i,3); +m(A,t,H,i,15,2,!0,0,1,16);m(A,a,H,i,15,2,!1,0,1,15);for(var D=0;D>1}Z=a;K(a,A,i,H); +q(A,l);b(A,t,H,i,2);y.set(Z)}return z}();T.zF={adH:function(Z,S){var D=Z.length;Z.push(S);var b=D>>>1; +while(b!=0&&Z[D][0]>>1}},a3i:function(Z){if(Z.length==2)return Z.pop(); +var top=Z[1],D=1;Z[1]=Z.pop();var S=Z.length;while(!0){var b=D<<1,Y=b+1,P=D;if(bb){console.log(D);throw"e"}b=Y;S=S>>>1}}}}; +T.p={};T.p.r7=new Float64Array(256);T.p.Su=new Uint8Array(256*256);T.p.GJ=new Uint8Array(256*256);(function(){for(var D=0; +D<256;D++)T.p.r7[D]=255/D;for(var D=0;D<256;D++)for(var Z=0;Z<256;Z++)T.p.Su[D*256+Z]=D==0?0:Math.round(Z*255/D); +for(var D=0;D<256;D++)for(var Z=0;Z<256;Z++)T.p.GJ[D*256+Z]=Math.round(D*(255-Z)/255)}());T.p.xJ=function(Z,S,b,Y,P,w,f,h){if(h==null)h=eg.xB(); +if("idiv,lbrn,div ,lddg,vLit,lLit,hMix,diff".split(",").indexOf(Z)==-1){f=f*h.fill;h.fill=1;h.style=!1}var Q="norm,dark,mul ,idiv,lbrn,lite,scrn,div ,lddg,over,sLit,hLit,vLit,lLit,pLit,hMix,diff,smud,fsub,fdiv".split(","),e="dkCl,lgCl,hue ,sat ,colr,lum ".split(","),l=T.p[Z+"F"]; +if(h.lu==null&&Z=="norm")T.p.a2h(S,b,Y,P,w,f,l,h.gd?1:0);else if(Z=="diss")T.p.agP(S,b,Y,P,w,f,l,h.gd?1:0); +else if(Q.indexOf(Z)!=-1)T.p.a4b(S,b,Y,P,w,f,l,h);else if(e.indexOf(Z)!=-1)T.p.alW(S,b,Y,P,w,f,l,h)}; +T.p.alY=function(Z,S,b){var Y=Z*b+1-b;return Y<.001?0:1-Math.min(1,(1-S)/Y)};T.p.alk=function(Z,S,b){return Z*b==1?1:Math.min(1,S/(1-Z*b))}; +T.p.Iy=function(Z){return Z<=.25?((16*Z-12)*Z+4)*Z:Math.sqrt(Z)};T.p.normF=function(Z,S,b){return Z}; +T.p.darkF=function(Z,S,b){return Math.min(Z,S)};T.p["mul F"]=function(Z,S,b){return Z*S};T.p.idivF=function(Z,S,b){var Y=Z*b+1-b; +return S==1?1:1-S>=Y?0:1-(1-S)/Y};T.p.lbrnF=function(Z,S,b){return Math.max(0,Z*b+S-b)};T.p.dkClF=function(Z,S,b){var Y=T.oQ(Z)=1-Z?1:S/(1-Z)};T.p.lddgF=function(Z,S,b){Z*=b;return Math.min(1,Z+S)}; +T.p.lgClF=function(Z,S,b){var Y=T.oQ(Z)>T.oQ(S)?Z:S;b.h=Y.h;b.l=Y.l;b.O=Y.O;return b};T.p.overF=function(Z,S,b){return T.p.hLitF(S,Z,b)}; +T.p.sLitF=function(Z,S,b){return Z<=.5?S-(1-2*Z)*S*(1-S):S+(2*Z-1)*(T.p.Iy(S)-S)};T.p.hLitF=function(Z,S,b){return Z<=.5?T.p["mul F"](2*Z,S,b):T.p.scrnF(2*Z-1,S,b)}; +T.p.vLitF=function(Z,S,b){return Z<=.5?T.p.alY(2*Z,S,b):T.p.alk(2*Z-1,S,b)};T.p.lLitF=function(Z,S,b){return Z<=.5?T.p.lbrnF(2*Z,S,b):T.p.lddgF(2*Z-1,S,b)}; +T.p.pLitF=function(Z,S,b){return Z<=.5?T.p.darkF(2*Z,S,b):T.p.liteF(2*Z-1,S,b)};T.p.hMixF=function(Z,S,b){if(b>.99)return Z+S<1?0:1; +return Math.min(1,Math.max(0,(S+Z*b-b)/(1-b+1e-6)))};T.p.diffF=function(Z,S,b){Z*=b;return Math.abs(Z-S)}; +T.p.smudF=function(Z,S,b){return Z+S-2*Z*S};T.p.fsubF=function(Z,S,b){return Math.max(S-Z,0)};T.p.fdivF=function(Z,S,b){return Math.min(S/Z,1)}; +T.p["hue F"]=function(Z,S,b){T.p.Zz(Z,T.h0(S),b);T.p.Wf(b,T.oQ(S),b)};T.p["sat F"]=function(Z,S,b){T.p.Zz(S,T.h0(Z),b); +T.p.Wf(b,T.oQ(S),b)};T.p.colrF=function(Z,S,b){T.p.Wf(Z,T.oQ(S),b)};T.p["lum F"]=function(Z,S,b){T.p.Wf(S,T.oQ(Z),b)}; +T.p.Wf=function(Z,S,b){var Y=S-T.oQ(Z);b.h=Z.h+Y;b.l=Z.l+Y;b.O=Z.O+Y;T.p.ahc(b)};T.p.ahc=function(Z){var S=Z.h,b=Z.l,Y=Z.O,P=T.w2(S,b,Y),C=Math.min(S,b,Y),w=Math.max(S,b,Y); +if(C<0){var f=P/(P-C);S=P+(S-P)*f;b=P+(b-P)*f;Y=P+(Y-P)*f}if(w>1){var f=(1-P)/(w-P);S=P+(S-P)*f;b=P+(b-P)*f; +Y=P+(Y-P)*f}Z.h=S;Z.l=b;Z.O=Y};T.p.Zz=function(Z,S,b){var Y=T.p.a8c,P=Z.h,w=Z.l,f=Z.O;if(P==w&&w==f){b.h=b.l=b.O=0}else if(P>w){if(P>f){if(w>f){b.h=S; +b.l=Y(P,w,f,S);b.O=0}else{b.h=S;b.O=Y(P,f,w,S);b.l=0}}else{b.O=S;b.h=Y(f,P,w,S);b.l=0}}else{if(Pf){b.l=S; +b.O=Y(w,f,P,S);b.h=0}else{b.O=S;b.l=Y(f,w,P,S);b.h=0}}else{b.l=S;b.h=Y(w,P,f,S);b.O=0}}};T.p.a8c=function(Z,S,b,Y){return(S-b)*Y/(Z-b)}; +T.p.a2h=function(Z,S,b,Y,P,w,f,h){var Q=S.Yz(Y).Yz(P),e=Math.max(0,Q.x-S.x),l=Math.max(0,Q.x-Y.x),O=Math.max(0,Q.y-S.y),m=Math.max(0,Q.y-Y.y),V=Q.c,q=Q.v,K=S.c,z=Y.c,t=T.p.Su,H=T.p.GJ,i=new Uint32Array(Z.buffer),y=new Uint32Array(b.buffer); +for(var D=0;D>>24==0)continue; +if(a>>>24==255&&w==1&&h==0){y[J+A]=i[j+A];continue}var I=y[J+A],E=255*w&255;if(h==0){E=(a>>>24)*w&255; +c=I>>>24}var u=H[c<<8|E],n=E+u,o=a&255,x=a>>>8&255,g=a>>>16&255,v=I&255,R=I>>>8&255,X=I>>>16&255;y[J+A]=h*(I>>>24)+(1-h)*n<<24|t[n<<8|T.sU(g*E+X*u)]<<16|t[n<<8|T.sU(x*E+R*u)]<<8|t[n<<8|T.sU(o*E+v*u)]}}}; +T.p.agG=function(Z,S,b,Y,P,w){var f=S.Yz(Y).Yz(P),h=Math.max(0,f.x-S.x),Q=Math.max(0,f.x-Y.x),e=Math.max(0,f.y-S.y),l=Math.max(0,f.y-Y.y),O=f.c,m=f.v,V=S.c,q=Y.c,K=T.p.Su,z=T.p.GJ,t=new Uint32Array(Z.buffer),H=new Uint32Array(b.buffer),i=Math.floor(Math.random()*16777215),y=0; +for(var D=0;D>>24==0)continue; +if(a>>24==255&&w==1){H[J+A]=a;continue}var I=H[J+A],E=(a>>>24)*w*(1/255),c=(I>>>24)*(1/255),u=c*(1-E),n=E+u,o=a&255,x=a>>>8&255,g=a>>>16&255,v=I&255,R=I>>>8&255,X=I>>>16&255; +y>>>=8;if((A&3)==0)y=T.p.A9(J+A+i);var B=n==0?0:1/n,M=Math.floor(n*(256*255))+(y&255)>>>8,r=Math.floor((g*E+X*u)*B+.5),N=Math.floor((x*E+R*u)*B+.5),$=Math.floor((o*E+v*u)*B+.5); +H[J+A]=M<<24|r<<16|N<<8|$}}};T.p.Pc=function(Z,S,b,Y,P,w,f,h){var Q=T.w2(Z,S,b),e=T.w2(Y,P,w),l=Math.min,O=T.p.akH,m=O(Q,h,0); +m=l(m,O(Z,h,8));m=l(m,O(S,h,16));m=l(m,O(b,h,24));var V=O(e,h,4);V=l(V,O(Y,h,12));V=l(V,O(P,h,20));V=l(V,O(w,h,28)); +V=Math.max(V,1-f);var q=Math.min(m,V);return q<0?0:q>1?1:q};T.p.akH=function(Z,S,D){return Math.min((Z-S[D])*S[D+1],(Z-S[D+3])*S[D+2])}; +T.p.a4b=function(Z,S,b,Y,P,w,f,h){var Q=1/255,e=Q*w,l=h.gd?1:0,O=h.fill,m=h.style,V=S.Yz(Y).Yz(P),q=Math.max(0,V.x-S.x),K=Math.max(0,V.x-Y.x),z=Math.max(0,V.y-S.y),t=Math.max(0,V.y-Y.y),H=V.c,i=V.v,y=S.c,j=Y.c,J=new Uint32Array(Z.buffer),A=new Uint32Array(b.buffer); +for(var D=0;D>>24==0)continue; +var u=A[I],n=(c&255)*Q,o=(c>>>8&255)*Q,x=(c>>>16&255)*Q,g=(u&255)*Q,v=(u>>>8&255)*Q,R=(u>>>16&255)*Q,X=w; +if(l==0){X=(c>>>24)*e;B=(u>>>24)*Q}if(h.lu)X*=T.p.Pc(n,o,x,g,v,R,B,h.lu);var M=B*(1-X),r=X+M,N=r==0?0:255/r,$=m?1:X,eQ=((1-B)*X*n+(1-$)*B*g+$*B*f(n,g,(1+X-$)*O))*N,hN=((1-B)*X*o+(1-$)*B*v+$*B*f(o,v,(1+X-$)*O))*N,bI=((1-B)*X*x+(1-$)*B*R+$*B*f(x,R,(1+X-$)*O))*N; +r=X*O+B*(1-X*O);var fq=~~(r*255+.5);A[I]=l*(u>>>24)+(1-l)*fq<<24|bI<<16|hN<<8|eQ}}};T.p.alW=function(Z,S,b,Y,P,w,f,h){var Q=1/255,e=Q*w,l=h.gd?1:0,O=S.Yz(Y).Yz(P),m=Math.max(0,O.x-S.x),V=Math.max(0,O.x-Y.x),q=Math.max(0,O.y-S.y),K=Math.max(0,O.y-Y.y),z=O.c,t=O.v,H=new Uint32Array(Z.buffer),i=new Uint32Array(b.buffer),y={h:0,l:0,O:0},j={h:0,l:0,O:0},J={h:0,l:0,O:0}; +for(var D=0;D>>8&255)*Q,o=(E>>>16&255)*Q,x=(c&255)*Q,g=(c>>>8&255)*Q,v=(c>>>16&255)*Q,R=w,X=1; +if(l==0){R=(E>>>24)*e;X=(c>>>24)*Q}if(h.lu)R*=T.p.Pc(u,n,o,x,g,v,X,h.lu);var B=X*(1-R),M=R+B,r=255/M; +y.h=u;y.l=n;y.O=o;j.h=x;j.l=g;j.O=v;f(y,j,J);var N=(((1-X)*u+X*J.h)*R+x*B)*r,$=(((1-X)*n+X*J.l)*R+g*B)*r,eQ=(((1-X)*o+X*J.O)*R+v*B)*r,hN=l*(c>>>24)+(1-l)*Math.round(M*255); +i[a]=hN<<24|eQ<<16|$<<8|N}}};T.p.Ux=function(Z){Z=Z^61^Z>>>16;Z=Z+(Z<<3);Z=Z^Z>>>4;Z=Z*668265261;Z=Z^Z>>15; +return(Z&16777215)*(1/16777215)};T.p.A9=function(Z){Z=Z^61^Z>>>16;Z=Z+(Z<<3);Z=Z^Z>>>4;Z=Z*668265261; +Z=Z^Z>>>15;return Z};T.p.Ny=function(Z){this.Nz=Z};T.p.Ny.prototype.get=function(){var Z=this.Nz=T.p.A9(this.Nz); +return(Z&16777215)*(1/16777215)};T.p.agP=function(Z,S,b,Y,P,w,f,h){var Q=1/255,e=Q*w,l=Math.round(w*(256*256*256/255)),O=S.Yz(Y).Yz(P),m=Math.max(0,O.x-S.x),V=Math.max(0,O.x-Y.x),q=Math.max(0,O.y-S.y),K=Math.max(0,O.y-Y.y),z=O.c,t=O.v,H=new Uint32Array(Z.buffer),i=new Uint32Array(b.buffer); +for(var D=0;D>>24); +if((T.p.A9(y)&16777215)>=I*l)continue;i[j]=A&16777215|h*(a>>>24)+(1-h)*255<<24}}};T.p.a1z=function(Z,S,b){for(var D=0; +D>>2];if(Y==0)continue;var P=Y*(1/255),w=1/P,f=S[D],h=S[D+1],Q=S[D+2],e=Z[D],l=Z[D+1],O=Z[D+2]; +S[D]=Math.min(255,Math.max(0,Math.round((f-(1-P)*e)*w)));S[D+1]=Math.min(255,Math.max(0,Math.round((h-(1-P)*l)*w))); +S[D+2]=Math.min(255,Math.max(0,Math.round((Q-(1-P)*O)*w)));S[D+3]=255}};T.p.VZ=function(Z,S,b,Y,P,w,f,h,Q,e,l){if(e==null)e=!1; +if(l==null)l=[1,1,1];var O=255<<24|l[2]*16711680|l[1]*65280|l[0]*255,m=~O;if(P&&!S.Oh(w)){var V=T.f(S.X()*4); +V.fill(f);T.JS(P,w,V,S);P=V;w=S}if(e){if(P==null)T.p.alP(Z,S,b,Y,P,h,Q,O,m);else T.p.ai4(Z,S,b,Y,P,h,Q)}else{if(P==null)T.p.abh(Z,S,b,Y,P,h,Q,O,m); +else T.p.a5l(Z,S,b,Y,P,h,Q)}};T.p.abh=function(Z,S,b,Y,P,w,f,h,Q){var e=1/255,l=S.Yz(Y).Yz(w),O=Math.max(0,l.x-S.x),m=Math.max(0,l.x-Y.x),V=Math.max(0,l.y-S.y),q=Math.max(0,l.y-Y.y),K=l.c,z=l.v,t=new Uint32Array(Z.buffer),H=new Uint32Array(b.buffer),i=T.p.Su,y=f*255&255; +for(var D=0;D>>24,c=I>>>24,u=T.sU(y*E+(255-y)*c),n=T.sU(E*y),o=T.sU(c*(255-y)),x=a&255,g=a>>>8&255,v=a>>>16&255,R=I&255,X=I>>>8&255,B=I>>>16&255,M=n*x+R*o,r=n*g+X*o,N=n*v+B*o; +M=i[u<<8|T.sU(M)];r=i[u<<8|T.sU(r)];N=i[u<<8|T.sU(N)];var $=u<<24|N<<16|r<<8|M;H[J]=Q&I|h&$}}};T.p.alP=function(Z,S,b,Y,P,w,f,h,Q){var e=1/255,l=S.Yz(Y).Yz(w),O=Math.max(0,l.x-S.x),m=Math.max(0,l.x-Y.x),V=Math.max(0,l.y-S.y),q=Math.max(0,l.y-Y.y),K=l.c,z=l.v,t=new Uint32Array(Z.buffer),H=new Uint32Array(b.buffer),i=T.p.Su,y=f*16777215&16777215; +for(var D=0;D>>24,I=A>>>24,E=T.sU(j*a+(255-j)*I),c=T.sU(a*j),u=T.sU(I*(255-j)),n=J&255,o=J>>>8&255,x=J>>>16&255,g=A&255,v=A>>>8&255,R=A>>>16&255,X=t[E<<8|T.sU(c*n+g*u)],B=t[E<<8|T.sU(c*o+v*u)],M=t[E<<8|T.sU(c*x+R*u)]; +z[i]=E<<24|M<<16|B<<8|X}}};T.p.ai4=function(Z,S,b,Y,P,w,f){var h=1/255,Q=S.Yz(Y).Yz(w),e=Math.max(0,Q.x-S.x),l=Math.max(0,Q.x-Y.x),O=Math.max(0,Q.y-S.y),m=Math.max(0,Q.y-Y.y),V=Q.c,q=Q.v,K=new Uint32Array(Z.buffer),z=new Uint32Array(b.buffer),t=T.p.Su,H=Math.round(f*257); +for(var D=0;D>>24,E=a>>>24,c=I*J*(1/255),u=E*(255-J)*(1/255),n=A&255,o=A>>>8&255,x=A>>>16&255,g=a&255,v=a>>>8&255,R=a>>>16&255,X=T.p.A9(y+j+t),B=Math.floor((c+u)*256+.5)+(X>>>0&255)>>>8,M=B==0?0:256/(c+u),r=n*c+g*u,N=o*c+v*u,$=x*c+R*u,eQ=Math.floor(r*M+.5)+(X>>>8&255)>>>8,hN=Math.floor(N*M+.5)+(X>>>16&255)>>>8,bI=Math.floor($*M+.5)+(X>>>21&248)>>>8; +z[y+j]=B<<24|bI<<16|hN<<8|eQ}}};T.p.a5S=function(Z){return Math.floor(Z+Math.random())};T.p.gX=function(Z,S,b,Y,P,w,f){var h=1/255,Q=S.Yz(Y).Yz(w),e=Math.max(0,Q.x-S.x),l=Math.max(0,Q.x-Y.x),O=Math.max(0,Q.y-S.y),m=Math.max(0,Q.y-Y.y),V=Q.c,q=Q.v; +for(var D=0;D1+h){n=T.qt.Z3(m,u,r,N);R=Math.sqrt(n);B--;M++}else{n=x=v=1e9;for(var D=0;D=E)continue;var fq=T.qt.Z3(m,bI,r,N);if(fq>1);T.rr.Vv(S,f,b,Y,w[1]-1>>1);T.rr.Vv(S,f,b,Y,w[2]-1>>1)};T.rr.a4p=function(Z,S,b,Y,P){var w=T.rr.hj(P,2),f=T.rr.gu(b*Y); +T.Bv(Z,S);T.rr.Vv(S,f,b,Y,w[0]-1>>1);T.rr.Vv(S,f,b,Y,w[1]-1>>1)};T.rr.ahi=function(Z,S,b,Y){var P=T.rr.hj(Y,3),w=T.rr.gu(S*b*4); +T.rr.ql(Z,w,S,b,P[0]-1>>1);T.rr.ql(Z,w,S,b,P[1]-1>>1);T.rr.ql(Z,w,S,b,P[2]-1>>1)};T.rr.a94=function(Z,S,b,Y,P,w){if(w==null)w=3; +var f=T.rr.hj(P,w),h=T.rr.rj(b*Y);T.Bv(Z,S);for(var D=0;Dw||Z*b<0&&fw||Z*Y<0&&fw||Z*P<0&&fw?1:0}; +T.I6.a3A=function(Z,S,b,Y){var P=new Float32Array(Y),w=0;new Uint32Array(Y).fill(0);for(var f=0;fw)w=O}var V=S*b,q=w==0?0:1/w; +for(var D=0;D0&&h>0)P[w+0]=-Z-1;if(f>0)P[w+1]=-Z;if(f>0&&h0)P[w+6]=Z-1;if(h>0)P[w+7]=-1;D++;w+=8}return Y}; +T.yM={};T.yM.yU=function(Z){var S=Z.slice(0),b=0;for(var D=0;D>>1,l=new Uint32Array(Z.buffer),S=new Uint8ClampedArray(S.buffer); +for(var D=0;Db-1)i=b-1;if(y<0)y=0;else if(y>Y-1)y=Y-1;if(h&&l[y*b+i]>>>24==0){y=D; +i=O}var j=l[y*b+i];m+=(j&255)*H;V+=(j>>>8&255)*H;q+=(j>>>16&255)*H;K+=(j>>>24&255)*H}if(f){if(m<0)m=-m; +if(V<0)V=-V;if(q<0)q=-q;if(K<0)K=-K}if(h){m=Math.max(0,Math.min(255,m));V=Math.max(0,Math.min(255,V)); +q=Math.max(0,Math.min(255,q));K=Math.max(0,Math.min(255,K))}var J=D*b+O<<2;S[J]=~~(.5+m);S[J+1]=~~(.5+V); +S[J+2]=~~(.5+q);S[J+3]=255-w&S[J+3]|w&~~(.5+K)}};T.yM.ai=function(Z,S,b,Y){var P=Z.length,w=new Uint8Array(P); +T.yM.Hl(Z,S,b,Y,T.yM.zL[4],0,!0);T.yM.Hl(Z,w,b,Y,T.yM.zL[5],0,!0);for(var D=0;D>>1,H=new Array(z),i=new Array(z); +for(var D=0;DQ-l-z-1){J.fill(0);var a=Math.max(A-l,0),I=Math.min(Q,A+l+1),E=I-a; +for(var c=0;c=0)Y(J,f,u*Q+a,u*Q+I,-1);var o=c*Q+A<<2;V=J[300];if(V!=0)for(var D=0;D<3;D++)h[o+D]=y(K[D],f[o+D],V,m)}}else{for(var D=0; +D=0)b(i,f,u*Q+a,u*Q+I,-1,t);if(n>>4]+=e}return Z}();T.gf.jt=function(){function Z(O,m,V,q,K,z,t){if(K==0){m.set(O); +return}if(K<=80)S(O,m,V,q,K,z,t);else w(O,m,V,q,K,z,t)}function S(O,m,V,q,K,z,t){var H=0,i=new Int32Array(512),y=1+2*Math.round(Math.sqrt(K)),j=y>>>1,J=new Array(y); +for(var D=0;DV-K-y-1){i.fill(0); +H=0;var E=Math.max(I-K,0),c=Math.min(V,I+K+1),u=c-E;for(var n=0;n=0){H-=u;Y(i,O,o*V+E,o*V+c,-1)}if(x=0){H-=u;b(J,O,o*V+E,o*V+c,-1,j)}if(x>>4]+=q}function w(O,m,V,q,K,z,t){var H=0,i=new Int32Array(512),y=new Int32Array(1*V),j=new Int32Array(512*V),J=Math.min(K,V),A=Math.min(K,q),a=z[0]; +for(var I=0;I=0)f(j,y,O,V,I-K-1,-1); +i.fill(0);H=0;for(var E=0;E=0&&y[c]!=0){H-=y[c]; +Q(i,j,c)}if(u0)D--; +D=(D<<4)+15;while(Z[D]==0&&D>0)D--;return D},function(Z,S,b,Y,P){var D=15;while(Z[256|D]+S[256|D]==0&&D>0)D--; +D=(D<<4)+15;while(Z[D]+S[D]==0&&D>0)D--;return D}];T.gf.z8=[function(Z,S,b,Y){var D=0;while(Z[256|D]==0&&D<15)D++; +D=D<<4;while(Z[D]==0&&D<255)D++;return D},function(Z,S,b,Y,P){var D=0;while(Z[256|D]+S[256|D]==0&&D<15)D++; +D=D<<4;while(Z[D]+S[D]==0&&D<255)D++;return D}];T.gf.uF=.5;T.gf.CM=[function(Z,S,b,Y){var P=~~(.5+T.gf.uF*b),w=0,D=256; +while(w+Z[D]<=P)w+=Z[D++];D=D-256<<4;while(w<=P)w+=Z[D++];return D-1},function(Z,S,b,Y,P){var w=~~(.5+T.gf.uF*Y),f=0,D=256; +while(f+Z[D]+S[D]<=w){f+=Z[D]+S[D];D++}D=D-256<<4;while(f<=w){f+=Z[D]+S[D];D++}return D-1}];T.gf.RE=[function(Z,S,b,Y){var P=Y[0],w=0,f=0,D=Math.max(0,S-P),h=Math.min(256,S+P+1); +while(D1e-9)l=!1}var q=T.J.Rt(Z),K=T.J.UW(Z)&&q,z=K?1:0; +if(f||l&&O==b+Y&&q){T.J.ajf(e,S,b,Y,P,w,h,q,Q);return}var t=w.c,H=w.v,i=new Float64Array(2);P=new Uint32Array(P.buffer); +S=new Uint32Array(S.buffer);for(var y=0;yb+1||g<-1||g>Y+1; +if(h){x=Math.max(.001,Math.min(b-1,x));g=Math.max(.001,Math.min(Y-1,g))}else if(v)continue;var R=m;if(!q){var X=0,B=0; +I=Z;A=n+1/b;a=o;E=1/(I[6]*A+I[7]*a+1);X=(I[0]*A+I[1]*a+I[2])*E-c;B=(I[3]*A+I[4]*a+I[5])*E-u;var M=X*X+B*B; +A=n;a=o+1/Y;E=1/(I[6]*A+I[7]*a+1);X=(I[0]*A+I[1]*a+I[2])*E-c;B=(I[3]*A+I[4]*a+I[5])*E-u;var r=X*X+B*B; +R=1/Math.sqrt(Math.max(M,r))}if(R<1.1){T.J.Lx(x,g,S,b,Y,P,J,z);continue}var N=Math.round(R*2.3);if(!h&&(x<.6||x>b-.6||g<.6||g>Y-.6)){N=Math.max(N,5)}if(h&&v)N=1; +var $=1/N,e9=w.x+j,W=w.y+y;I=e;for(var D=0;D=1||g<0||g>=1)continue; +x=Math.floor(x*b);g=Math.floor(g*Y);var bd=g*b+x,iw=S[bd],d7=iw>>>24;eQ+=(iw&255)*d7;hN+=(iw>>>8&255)*d7; +bI+=(iw>>>16&255)*d7;fq+=d7}if(fq!=0){var d0=1/fq;eQ=~~(eQ*d0+.5);hN=~~(hN*d0+.5);bI=~~(bI*d0+.5);fq=~~(fq*$*$+.5); +P[J]=fq<<24|bI<<16|hN<<8|eQ}}};T.J.ajf=function(Z,S,b,Y,P,w,f,h,Q){if(h&&!f&&w.X()>4e6&&Q){T.J.a4T(Z,S,b,Y,P,w,f,h,Q); +return}var e=w.x+w.c,l=w.y+w.v,O=0,m=new Uint32Array(P.buffer),V=new Uint32Array(S.buffer),q=Z[0]*b,K=Z[1]*b,z=Z[2]*b,t=Z[3]*Y,H=Z[4]*Y,i=Z[5]*Y,y=Z[6],j=Z[7]; +if(h&&!f)for(var J=w.y+.5;J>>2<<2)-1e-9,I=-.1+(y>>>1<<1)-1e-9,E=~~b,c=O==0?0:1/O,u=q==0?0:1/q; +for(var n=0;n0){g=Math.max(g,-o*c); +v=Math.min(v,(b-o)*c)}else{v=Math.min(v,-o*c);g=Math.max(g,(b-o)*c)}if(q==0){}else if(u>0){g=Math.max(g,-x*u); +v=Math.min(v,(Y-x)*u)}else{v=Math.min(v,-x*u);g=Math.max(g,(Y-x)*u)}if(v<0)v=0;if(g>v)g=v;g=Math.ceil(g); +v=~~v;j=~~(n*i);for(var R=0;R=0&&l=0&&l+1=0&&O=0&&O+1Y-1?Y-1:l,j=l<-1?0:l>Y-2?Y-1:l+1,J=O<0?0:O>P-1?P-1:O,A=O<-1?0:O>P-2?P-1:O+1; +m=b[J*Y+y];V=b[J*Y+j];q=b[A*Y+y];K=b[A*Y+j]}else{var y=(l+50*Y)%Y,j=(l+50*Y)%Y,J=(O+50*P)%P,A=(O+50*P)%P; +m=b[J*Y+y];V=b[J*Y+j];q=b[A*Y+y];K=b[A*Y+j]}var a=Z-l,I=S-O,E=(1-I)*(1-a)*(m>>>24),c=(1-I)*a*(V>>>24),u=I*(1-a)*(q>>>24),n=I*a*(K>>>24),o=E+c+u+n,x=E*(m&255)+c*(V&255)+u*(q&255)+n*(K&255),g=E*(m>>>8&255)+c*(V>>>8&255)+u*(q>>>8&255)+n*(K>>>8&255),v=E*(m>>>16&255)+c*(V>>>16&255)+u*(q>>>16&255)+n*(K>>>16&255); +if(o==0)w[f]=0;else{var R=1/o;x=~~(x*R+.5);g=~~(g*R+.5);v=~~(v*R+.5);o=~~(o+.5);w[f]=o<<24|v<<16|g<<8|x}}; +T.J.bt=function(Z,S,b,Y,P,w){var f=Z-.499999,h=S-.499999,Q=~~f,e=~~h,l=f-Q,O=h-e,m=(1-O)*(1-l),V=(1-O)*l,q=O*(1-l),K=O*l,z=e*Y+Q<<2,t=(e+1)*Y+Q<<2,H=m*b[z]+V*b[z+4]+q*b[t]+K*b[t+4],i=m*b[z+1]+V*b[z+5]+q*b[t+1]+K*b[t+5],y=m*b[z+2]+V*b[z+6]+q*b[t+2]+K*b[t+6],j=m*b[z+3]+V*b[z+7]+q*b[t+3]+K*b[t+7]; +w[0]=H;w[1]=i;w[2]=y;w[3]=j};T.J.FJ=function(Z,S,b,Y,P){Z-=.499999;S-=.499999;var w=Math.floor(Z),f=Math.floor(S),h=Z-w,Q=S-f,e=(1-Q)*(1-h),l=(1-Q)*h,O=Q*(1-h),m=Q*h,V=(w+50*Y)%Y,q=(w+1+50*Y)%Y,K=(f+50*P)%P,z=(f+1+50*P)%P,t=b[K*Y+V],H=b[K*Y+q],i=b[z*Y+V],y=b[z*Y+q]; +if(t==null||y==null)throw"e";return e*t+l*H+O*i+m*y};T.J._i=function(Z,S,b,Y,P,w,f,h,Q,e,l,O){var m=new Uint32Array(Z.buffer),V=new Uint32Array(Y.buffer),q=(1+2*e)/P,K=[],z=[]; +for(var t=0;tS-1?S-1:j)),a=~~(.5+(J<0?0:J>b-1?b-1:J)); +V[i*P+t]=m[a*S+A]}}};T.J.KC=function(Z,S,b,Y,P,w,f,h,Q,e,l,O){var m=new Uint32Array(Z.buffer),V=new Uint32Array(Y.buffer),q=1/O,K=[],z=b*4,t=1/z; +for(var H=0;HS?S:b},a8m:function(Z,S,b,Y,P,w,f,h){var Q=b[0],e=b[1],l=b[2],O=b[3],m=Y.c,V=Y.v,q=new Float64Array(m*4+8),K=new Float64Array(m*4+8); +for(var z=0,D=0;z>1,A=l.LI.v-b.v>>1,a=l.LI.c,I=-.6*j,E=(-.6+.4)*j,c=(-.6+2*.4)*j,u=(-.6+3*.4)*j; +for(var n=0,D=0;n=1){M=(B<=0?0:V)<<2;S[D]=t[M];S[D+1]=t[M+1];S[D+2]=t[M+2];S[D+3]=t[M+3];continue}M=Math.max(0,Math.min(V-1,Math.round((B+I)*V)))<<2; +g+=t[M];v+=t[M+1];R+=t[M+2];x+=t[M+3];M=Math.max(0,Math.min(V-1,Math.round((B+E)*V)))<<2;g+=t[M];v+=t[M+1]; +R+=t[M+2];x+=t[M+3];M=Math.max(0,Math.min(V-1,Math.round((B+c)*V)))<<2;g+=t[M];v+=t[M+1];R+=t[M+2];x+=t[M+3]; +M=Math.max(0,Math.min(V-1,Math.round((B+u)*V)))<<2;g+=t[M];v+=t[M+1];R+=t[M+2];x+=t[M+3];S[D]=g>>>2; +S[D+1]=v>>>2;S[D+2]=R>>>2;S[D+3]=x>>>2}}};T.W.pV=function(Z,S,b){var Y=[];for(var D=0;D>16&255,l:S>>8&255,O:S&255};else if(Z[D].v.Type.v.Clry=="BckC")P={h:b>>16&255,l:b>>8&255,O:b&255}; +else P=T.W.CD(Z[D].v.Clr.v);Y.push(P)}return Y};T.W.CD=function(Z){var S,b=Z.classID;if(b=="RGBC"){if(Z.Rd)S={h:Z.Rd.v,l:Z.Grn.v,O:Z.Bl.v}; +else S={h:Z.redFloat.v*255,l:Z.greenFloat.v*255,O:Z.blueFloat.v*255}}else if(b=="HSBC"){S=T.Ta(Z.H.v.val/360,Z.Strt.v/100,Z.Brgh.v/100); +S.h*=255;S.l*=255;S.O*=255}else if(b=="CMYC"){var Y=100-Z.Cyn.v,P=100-Z.Mgnt.v,w=100-Z.Ylw.v,f=100-Z.Blck.v,h=255*Y*f*1e-4,Q=255*(.2*Y+.8*P)*f*1e-4,e=255*(.2*P+.8*w)*f*1e-4; +S={h:h,l:Q,O:e}}else if(b=="Grsc")S={h:255-Z.Gry.v,l:255-Z.Gry.v,O:255-Z.Gry.v};else if(b=="LbCl"){S=T.Hz(Z.Lmnc.v,Z.A.v,Z.B.v)}else console.log(Z); +if(isNaN(S.h))S.h=S.l=S.O=0;return S};T.W.RQ=function(Z){return{classID:"RGBC",Rd:{t:"doub",v:Z.h},Grn:{t:"doub",v:Z.l},Bl:{t:"doub",v:Z.O}}}; +T.W.adz=function(Z,S,b,Y){var P=[],w=1/(b-0);for(var D=0;Da)aw[D]=255-(255-W)*bb}}if(z)console.log("init",Date.now()-K);K=Date.now();if(P*t>0){hP.set(bX); +T.rr.dj(hP,bX,new b4(0,0,b,Y),t)}if(h*H>0){hP.set(aw);T.rr.dj(hP,aw,new b4(0,0,b,Y),H)}if(z)console.log("blur",Date.now()-K); +K=Date.now();var er=T.f(256),ea=T.f(256);for(var D=0;D<256;D++){var hD=D*(1/255),bP=0;bP=(1-Math.pow(1-hD,I))*255; +er[D]=Math.max(0,Math.min(255,~~(bP+.5)));bP=Math.pow(hD,E)*255;ea[D]=Math.max(0,Math.min(255,~~(bP+.5)))}var iz=new Uint8ClampedArray(S.buffer),iq=new Float32Array(32768); +for(var D=0;D<32768;D++){g$=Math.sqrt(D)*(1/128);if(dX>1)g$=(1-g$)*(dX-1)+1;else g$=g$*(dX-1)+1;iq[D]=g$}for(V=0; +V400)q++;var K=Z,z=S,t=Q,H=Math.floor(z.c/q),i=Math.floor(z.v/q); +Z=T.f(H*i*4);T.scale.V_(K,z.c,z.v,Z,H,i,1/q);Q=T.f(H*i);T.scale.ds(t,z.c,z.v,Q,H,i,1/q);T.round(Q,1); +var y=T.fD(Q,new b4(0,0,H,i));if(y.h3())return 1;var j=Math.round((y.c+y.v)/2/15),J=Date.now(),A=T.f(H*i*4); +T.a5W(Z,A);var a=Int16Array,I=new a(H*i*24),E=new a(64),c=new a(64),u=new a(64),n=new a(64);for(var g=3; +g0){var g=Math.floor(D*d0),v=D-g*2*H; +d7.push({x:v-H,y:g-i,G:r[D],QC:-1})}}d7.sort(function(aH,eK){return eK.G-aH.G});var gS=new Int32Array(H*i),cf=[]; +for(var D=0;D>2]=ea+1}if(w)console.log(Date.now()-J,"copied back"); +J=Date.now();T.Ar.Ci(g$,hP,f,null,1e3);if(w)console.log(Date.now()-J,"poisson smooth");J=Date.now(); +T.uH(g$,f,Y,P);return 0};T.vl.sk=function(Z,S,b,Y,P,w){return T.vl.Q8(Z+P.x,S+P.y,b,Y)&&w[(S+P.y)*b+(Z+P.x)]==-1?0:1e9}; +T.vl.a47=function(Z,S,b,Y,top,P,w,f){var h=Date.now(),Q=[-1,0,0,-1,1,0,0,1],e=1e99,l=[],O=[],m=2*(f*2*3+f*2),V=null,q=0,K=0,z=0,t=1e99; +while(!0&&Date.now()1){if(Z[D]==Z[R]){var X=0; +X+=T.vl.jv(I+c.x,E+c.y,I+j.x,E+j.y,b,Y,S,P);X+=T.vl.jv(g+c.x,v+c.y,g+j.x,v+j.y,b,Y,S,P);l[J]=D;l[J+1]=R; +O[J]=X;O[J+1]=X;J+=2}else{var B=top[Z[R]],M=A,r=0,N=0,$=0;A++;r+=T.vl.jv(I+c.x,E+c.y,I+j.x,E+j.y,b,Y,S,P); +r+=T.vl.jv(g+c.x,v+c.y,g+j.x,v+j.y,b,Y,S,P);N+=T.vl.jv(I+B.x,E+B.y,I+j.x,E+j.y,b,Y,S,P);N+=T.vl.jv(g+B.x,v+B.y,g+j.x,v+j.y,b,Y,S,P); +$+=T.vl.jv(I+B.x,E+B.y,I+c.x,E+c.y,b,Y,S,P);$+=T.vl.jv(g+B.x,v+B.y,g+c.x,v+c.y,b,Y,S,P);l[J]=D;l[J+1]=M; +O[J]=r;O[J+1]=r;J+=2;l[J]=R;l[J+1]=M;O[J]=N;O[J+1]=N;J+=2;l[J]=M;l[J+1]=f+1;O[J]=$;O[J+1]=0;J+=2}}}l[J]=f; +l[J+1]=D;O[J]=u;O[J+1]=0;J+=2;l[J]=D;l[J+1]=f+1;O[J]=n;O[J+1]=0;J+=2;a+=Math.min(u,n)}if(a>i)continue; +var eQ=T.Pb.yn(A,J,f,f+1,l,O,i);if(eQ.qJ=e){break}e=i; +Z=H;if((z&3)==0){if(i*1.03>=t)break;t=i}if((z&3)==0){var bI=0*top.length;for(var D=0;DbI; +D++){if(Z.indexOf(D)!=-1)continue;top.splice(D,1);for(var R=0;RD)Z[R]--;D--}}}return Z}; +T.vl.a8i=function(Z,S,b,Y,P,w){for(var D=0;D>1)};T.vl.ahf=function(Z,S,b,Y,P,w){var top=[]; +for(var D=0;D<60;D++){var f=T.vl.TV(top,25,b,Y,P,Z,S);if(f==null)break;else top.push(f)}if(top.length==0)return null; +var h=[];for(var D=0;D100){var f;f=T.vl.TV(top,0,b,Y,P,Z,S,Q,e); +if(f==null)return null;top.push(f);O=0}}h.push(l)}return{top:top,DU:h}};T.vl.jv=function(Z,S,b,Y,P,w,f,h){if(Z==b&&S==Y)return 0; +if(Z<0||S<0||Z>=P||S>=w||b<0||Y<0||b>=P||Y>=w||h[S*P+Z]!=-1||h[Y*P+b]!=-1)return 1e7;var Q=S*P+Z<<2,e=Y*P+b<<2,l=f[Q]-f[e],O=f[Q+1]-f[e+1],m=f[Q+2]-f[e+2]; +return 1+(l*l+O*O+m*m)};T.vl.Q8=function(Z,S,b,Y){return Z>=0&&Z=0&&S=Y)return P+1}return P};T.vl.cr=function(Z,S,b,Y,P){var w=16,m=0;if(S-Z<=w){b.push(99,Z,S); +return}T.vl.$R(Z,S,Y,P);var f=-1,h=-1;for(var D=4;D<24;D++){var Q=P[2*D+1]-P[2*D];if(Q>h){h=Q;f=D}}var e=Z+S>>1,l=T.vl.a2u(e,Z,S,Y,f),O=-1; +for(var D=Z;D<=S;D++)if(Y[24*D+f]==l){if(O==-1)O=D;m=D}if(Z+8S-m)e=O;else if(m+1Q)Y[(w<<1)+1]=f}}}; +T.vl.__=function(Z,S,b){var Y=0,D=0;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y; +D++;Y=b[Z+D];b[Z+D]=b[S+D];b[S+D]=Y;D++};T.vl.iU=function(Z,S,b,Y){var P=b+Y>>>1,w=Z[24*P+S];while(b<=Y){while(Z[24*b+S]w)Y--;if(b<=Y){if(Z[24*b+S]!=Z[24*Y+S])T.vl.__(b*24,Y*24,Z);b++;Y--}}return b};T.vl.a2u=function(Z,S,b,Y,P){var w=0; +while(S!=b){w=T.vl.iU(Y,P,S,b);if(Z>1; +D>0;D>>=1,P--){for(w=0;w>P&1)!=0;if(f){Z+=b+"["+w+"] = "+S+"["+(-D+w)+"] - "+S+"["+w+"]; "}else{Z+=b+"["+w+"] = "+S+"["+(D+w)+"] + "+S+"["+w+"]; "}}Y=S; +S=b;b=Y;Z+="\n"}console.log(Z)};T.vl.aoW=function(C,Z,S){var b=Z,Y=S,P=b,w=0,D,h,Q;while(C>>w!=2)w++; +var f=w;for(D=C>>1;D>0;D>>=1,w--){for(h=0;h>w&1)!=0;if(Q)Y[h]=b[-D+h]-b[h];else Y[h]=b[D+h]+b[h]}P=b; +b=Y;Y=P}if((f&1)==1)for(D=0;Db)b=w;if(fP)P=f}return[S,Y,b,P]};T.a9y=function(Z,S,b,Y,P){function w(W,L,bd,iw){return Math.sqrt((W-bd)*(W-bd)+(L-iw)*(L-iw))}function f(W,L){return W>=0&&W=0&&L=S)return S-1;return W}function Q(W){if(W<0)return 0;if(W>=b)return b-1;return W}function e(D,W){var L=W[3]*(1/255),bd=Y[D]+W[0]*L; +if(bd>255)bd=255;Y[D]=bd;bd=Y[D+1]+W[1]*L;if(bd>255)bd=255;Y[D+1]=bd;bd=Y[D+2]+W[2]*L;if(bd>255)bd=255; +Y[D+2]=bd}function l(W,L,bd){if(!M(W,L))return;if(bd[3]<0)bd[3]=0;e((L*S+W)*4,bd)}function O(W){var L=W.slice(0,3); +L[3]=0;return L}var m=S/800;function V(W){return Math.round(W*m)}function q(){for(var D=0;D<=300;D++){N[D]=K(D)}}function K(b){var W=.8,L=.2,bd=W*L,iw=b/60%2-1,d7=bd*(1-iw*iw),d0=L-bd,gS; +if(b<60){gS=[bd+d0,d7,0]}else if(b<120){gS=[d7,bd,0]}else if(b<180){gS=[0,bd,d7]}else if(b<240){gS=[0,d7,bd]}else if(b<300){gS=[d7,0,bd]}else{gS=[bd,0,d7]}return[(gS[0]+d0)*255,(gS[1]+d0)*255,(gS[2]+d0)*255]}function z(b){return N[~~b]}function t(W){return 1-H(W)}function H(W){return W-~~W}function i(W,L,bd,iw){X(W,L,bd,0,L+1,1,iw)}function y(W,L,bd,iw,d7,d0){X(W,L,bd,0,iw,1,d7,d0)}function j(W){for(var D=0; +DL||hD<=L-d7)break;var bP=(hD-L+d7)/d7;g$[3]=bX-iw*(d0==1?bP:Math.pow(bP,d0)); +e((ea*S+eG)*4,g$)}gx=Q(dX+bb);for(var ea=gx;ea>er;ea--){var hD=w(eG,ea,fU,dX);if(hD>L||hD<=L-d7)break; +var bP=(hD-L+d7)/d7;g$[3]=bX-iw*(d0==1?bP:Math.pow(bP,d0));e((ea*S+eG)*4,g$)}}if(gS>0){X(W,L+gS,g$,g$[3],gS,1,0,0,!0)}if(cf>0){X(W,L-d7,r(bd),-bd[3],cf,1,0,0,!0)}}function a(W,L,bd,iw,d7,d0){X(W,L,bd,bd[3],L+1,1,iw,d7,d0)}function I(W,L,bd,iw,d7){if(d7==null)d7=!1; +var d0=W.x,gS=W.y;iw*=eQ;if(!d7){L=B(L);bd=B(bd)}var cf=h(d0-L),cT=h(d0+L);for(var fU=cf;fUL||eG<=L-bd)break;var eB=(L-eG)/bd,bb=z(300*eB); +bb[3]=iw;e((hP*S+fU)*4,bb)}bX=Q(gS+g$);for(var hP=bX;hP>aw;hP--){var eG=w(fU,hP,d0,gS);if(eG>L||eG<=L-bd)break; +var eB=(L-eG)/bd,bb=z(300*eB);bb[3]=iw;e((hP*S+fU)*4,bb)}}}function E($,W){var L=$.SP,bd=$.Jn,iw=W.slice(0),d7=W[3]*eQ,d0=Math.abs(bd.y-L.y)>Math.abs(bd.x-L.x); +if(d0){var gS=L.x;L.x=L.y;L.y=gS;gS=bd.x;bd.x=bd.y;bd.y=gS}if(L.x>bd.x){var gS=L;L=bd;bd=gS}var cf=bd.x-L.x,cT=bd.y-L.y,fU=cf==0?1:cT/cf,dX=Math.round(L.x),g$=L.y+fU*(dX-L.x),bX=t(L.x+.5),aw=dX,hP=~~g$; +if(d0){iw[3]=d7*t(g$)*bX;l(hP,aw,iw);iw[3]=d7*H(g$)*bX;l(hP+1,aw,iw)}else{iw[3]=d7*t(g$)*bX;l(aw,hP,iw); +iw[3]=d7*H(g$)*bX;l(aw,hP+1,iw)}var eG=g$-fU;dX=Math.round(bd.x);g$=bd.y+fU*(dX-bd.x);bX=H(bd.x+.5); +var eB=dX,bb=~~g$;if(d0){iw[3]=d7*t(g$)*bX;l(bb,eB,iw);iw[3]=d7*H(g$)*bX;l(bb+1,eB,iw)}else{iw[3]=d7*t(g$)*bX; +l(eB,bb,iw);iw[3]=d7*H(g$)*bX;l(eB,bb+1,iw)}if(d0){for(var gx=aw+1;gx<=eB-1;gx++){iw[3]=d7*t(eG);l(~~eG,gx,iw); +iw[3]=d7*H(eG);l(~~eG+1,gx,iw);eG+=fU}}else{for(var gx=aw+1;gx<=eB-1;gx++){iw[3]=d7*t(eG);l(gx,~~eG,iw); +iw[3]=d7*H(eG);l(gx,~~eG+1,iw);eG+=fU}}}function c(W,L,bd,iw){for(var D=0;D<4;D++){var d7=W.fh(L+1.3*D,bd); +E(d7,iw,1)}}function ar(W,L){this.x=Math.round(W);this.y=Math.round(L)}var u=Math.PI/180;ar.prototype.fh=function(W,L){W=W*u; +var bd=this.x+L*Math.cos(W),iw=this.y+L*Math.sin(W);return new n(this.x,this.y,bd,iw)};ar.prototype.aal=function(W,L){W=W*u; +var bd=this.uG+L*Math.cos(W),iw=this.agQ+L*Math.sin(W);return new ar(bd,iw)};function n(W,L,bd,iw){this.SP=new ar(W,L); +this.Jn=new ar(bd,iw)}n.prototype.ct=function(W){var L=W*this.SP.x+(1-W)*this.Jn.x,bd=W*this.SP.y+(1-W)*this.Jn.y; +return new ar(L,bd)};var o=J,x=a,g=i,v=y,R=I,X=A,B=V,M=f,r=O,N=[];q();for(var D=0;Dw){P=D;w=Math.abs(Z[D][Y])}T.Ig.a5C(Z,Y,P);for(var D=Y+1;D=0;D--){if(Z[D][D]==0)return 1;var Q=Z[D][b]/Z[D][D];S[D]=Q;for(var h=D-1;h>=0;h--){Z[h][b]-=Z[h][D]*Q; +Z[h][D]=0}}return 0};T.Ig.a5C=function(Z,S,b){var Y=Z[S];Z[S]=Z[b];Z[b]=Y};T.Ig.a46=function(Z){var S=Z.length,b=T.Ig.nx(S,S); +for(var D=0;D255?255:S};T.sE.transform=function(Z,S,b){var Y=T.sE.QH,P=Z.h.length;for(var D=0;D>1]=m;Q[h+1]=f[l];f[l]=h+1;h+=4;Q[h]=l;e[h+2>>1]=V;Q[h+1]=f[O];f[O]=h+1;h+=4}return{TY:Q,a1R:e,ac1:f}}; +T.Pb.yn=function(Z,S,b,Y,P,w,f){var h=1,Q=T.Pb.jJ(Z,S,b,Y,P,w),e=Q.TY,l=Q.a1R,O=Q.ac1,m=new Uint32Array(Z),V=new T.Pb.rI(Z),K=1,y=0; +V.push(b);V.push(Y);var q=new T.Pb.rI(Z),z=new Uint8Array(Z),t=new Uint32Array(Z);z[b]=1;z[Y]=2;var H=new Uint32Array(Z),i=new Uint32Array(Z); +i[b]=i[Y]=0;H[b]=H[Y]=1;while(!0){var j=-1,u=0,g=1e30;while(!V.CN()&&j==-1){var J=V.top(),A=z[J],a=O[J]-1; +while(a!=-1){var I=e[a],E=z[I],c=a^A-1<<2;if(l[c+2>>1]!=0){if(E==0){T.Pb.jA(J,a,I,z,t,i,H);V.push(I)}else if(E==A&&H[I]<=H[J]&&i[I]>i[J])T.Pb.jA(J,a,I,z,t,i,H); +else if(E!=A){j=c}}a=e[a+1]-1}if(j!=-1)break;V.pop()}if(j==-1){break}K++;var n=j;while(n!=-1){m[u]=n; +u++;n=t[e[n^4]]-1}var o=u>>1;for(var D=0;D>1]);y+=g;if(y>=f)return{TT:null,qJ:y};for(var D=0; +D>1]-=g;l[R+2>>1]+=g;if(l[v+2>>1]==0&&z[J]==z[I]){if(z[J]==1){t[I]=0; +q.push(I)}if(z[J]==2){t[J]=0;q.push(J)}}}while(!q.CN()){var J=q.pop(),A=z[J],a=O[J]-1,X=A==1?4:0,B=0,M=0,r=1e9; +while(a!=-1){var I=e[a],N=a^4,c=a^X;if(z[I]==A&&l[c+2>>1]>0&&T.Pb.agc(I,b,Y,t,e,K,H,i)+1>1]>0){V.push(I)}if(t[I]==a+1){t[I]=0;q.push(I)}}a=e[a+1]-1}z[J]=0;V.remove(J)}}var $=[]; +for(var D=0;D>1)}if(z[I]==1&&z[J]!=1){$.push(S+D>>1)}}return{TT:$,qJ:y}}; +T.Pb.jA=function(Z,S,b,Y,P,w,f){Y[b]=Y[Z];P[b]=S+1;w[b]=w[Z]+1;f[b]=f[Z]};T.Pb.agc=function(Z,S,b,Y,P,w,f,h){var Q=Z,e=Y[Z]-1,l=0; +while(e!=-1&&f[Z]!=w){Z=P[e^4];e=Y[Z]-1;l++}if(e==-1&&Z!=S&&Z!=b)return 1e9;var O=h[Z]+l;l=0;e=Y[Q]-1; +while(Q!=Z){h[Q]=O-l;l++;f[Q]=w;Q=P[e^4];e=Y[Q]-1}return O};T.Pb.ai9=function(Z,S,b,Y,P,w){var f=T.Pb.jJ(Z,S,b,Y,P,w),h=f.TY,Q=f.a1R,e=f.ac1,l=0,O=0,m=new Uint32Array(Z*2),V=new T.Pb.eR(Z),q=0; +while(!0){V.reset();V.push(b);for(var D=0;D>1]>0&&q!=b){m[q<<1]=K+1;m[(q<<1)+1]=z;V.push(q)}z=h[z+1]-1}if(m[Y<<1]!=0){break}}if(m[Y<<1]==0){break}var t=1e30; +q=Y;while(!0){var H=m[q<<1]-1;if(H==-1)break;var i=m[(q<<1)+1];t=Math.min(t,Q[i+2>>1]);q=H}q=Y;while(!0){var H=m[q<<1]-1; +if(H==-1)break;var i=m[(q<<1)+1],y=i^4;Q[i+2>>1]-=t;Q[y+2>>1]+=t;q=H}l+=t}var j=[];for(var D=0;D>1)}if((m[q<<1]!=0||q==b)&&m[H<<1]==0&&H!=b){j.push(S+D>>1)}}return{TT:j,qJ:l}}; +T.Pb.eR=function(Z){Z|=Z>>1;Z|=Z>>2;Z|=Z>>4;Z|=Z>>8;Z|=Z>>16;this.Du=new Uint32Array(Z+1);this.uo=Z; +this.ID=0;this.Gt=0};T.Pb.eR.prototype={push:function(Z){var S=this.Gt;this.Du[S]=Z;this.Gt=S+1&this.uo},pop:function(){var Z=this.ID,S=this.Du[Z]; +this.ID=Z+1&this.uo;return S},CN:function(){return this.ID==this.Gt},reset:function(){this.ID=0;this.Gt=0}}; +T.Pb.rI=function(Z){Z|=Z>>1;Z|=Z>>2;Z|=Z>>4;Z|=Z>>8;Z|=Z>>16;this.Du=new Uint32Array(Z+1);this.fV=new Uint32Array(Z+1); +this.uo=Z;this.ID=0;this.Gt=0};T.Pb.rI.prototype={top:function(){return this.Du[this.ID]},am6:function(){return this.Du[this.Gt]},push:function(Z){if(this.fV[Z]!=0)return; +this.fV[Z]=this.Gt+1;var S=this.Gt;this.Du[S]=Z;this.Gt=S+1&this.uo},pop:function(){var Z=this.ID,S=this.Du[Z]; +this.fV[S]=0;this.ID=Z+1&this.uo;return S},CN:function(){return this.ID==this.Gt},remove:function(Z){var S=this.fV[Z]-1; +if(S==-1)return;this.fV[Z]=0;if(S==this.ID){this.pop();return}var b=this.pop();this.Du[S]=b;this.fV[b]=S+1},pG:function(D){return D+this.uo+1&this.uo}}; +T.Pb.wT=function(Z,S,b){var Y=T.Pb.iU(Z,S,b);if(S>>1]; +while(S<=b){while(Z[S]Y)b--;if(S<=b){T.Pb.__(Z,S,b);S++;b--}}return S};T.Pb.__=function(Z,S,b){var Y=Z[S]; +Z[S]=Z[b];Z[b]=Y};T.AZ={};T.AZ.ag0=function(Z){for(var D=0;D.01){T.AZ.QK(Z,D); +continue}var O=T.AZ.CB(Q);T.J.A(S,O);T.AZ.Aj(Q,[Math.min(O[0],O[2]),Math.min(O[1],O[3]),Math.max(O[0],O[2]),Math.max(O[1],O[3])]); +if(l==2){var m=T.AZ.I$(Q),V=new fR(S[0],S[1],S[3],S[4],0,0);V.DO();if(V.w==0){m.push(m.shift());V.rotate(Math.PI/2); +V.DO()}if(V.w<0){var q=m[0];m[0]=m[1];m[1]=q;q=m[2];m[2]=m[3];m[3]=q}if(V.KU<0){var q=m[0];m[0]=m[3]; +m[3]=q;q=m[1];m[1]=m[2];m[2]=q}if(Y)for(var K=0;K<4;K++)m[K]=m[K]*f;T.AZ.SD(Q,m)}if(l==4){Q.keyOriginLineWeight.v*=f; +var z=T.AZ.bI(Q);T.J.A(S,z);T.AZ.a5a(Q,z)}}};T.AZ.BA=function(Z,S){var b=S.b;for(var D=0;D=0}; +T.z.Py=function(Z){var S={},b=null,Y=0,P={M:2,L:2,Q:4,C:6};for(var D=0;D5||N.type==0||N.type==3)continue;var $=N.hQ.Oh(N.I)||N.e$.Oh(N.e$);if(!$){var n=N.hQ.x*(N.I.y-N.e$.y)+N.I.x*(N.e$.y-N.hQ.y)+N.e$.x*(N.hQ.y-N.I.y); +if(Math.abs(n)<1e-6)$=!0}if($)N.type--}return g};T.z.o5=function(){function Z(Y,P,w,f){if(!f&&Y.e$.Oh(Y.I)&&P.hQ.Oh(P.I)){w.H.push(P.I.x,P.I.y); +w.K.push("L")}else{w.H.push(Y.e$.x,Y.e$.y,P.hQ.x,P.hQ.y,P.I.x,P.I.y);w.K.push("C")}}function S(Y,P,D,w,f,h){var Q=P[D]; +Y.H.push(Q.I.x,Q.I.y);Y.K.push("M");for(var e=D;e5)continue;var f=Y[D].length;if(f==0)continue; +if(D==Y.length-1)break;var h=Y[D].type==3;S(w,Y,D+1,f,h,P);if(!h)w.K.push("Z");D+=f}return w}return b}(); +T.z.adR=function(Z){var S=Z.H,b=[],Y,P=0;for(var D=0;D>>1}}return Pm){m=K;O=D}}if(m=0},S=function(Y,P,w,f,h,Q,e,l){var O=e-w,m=l-f,V=h-w,q=Q-f,K=Y-w,z=P-f,t=O*O+m*m,H=O*V+m*q,i=O*K+m*z,y=V*V+q*q,j=V*K+q*z,J=1/(t*y-H*H),A=(y*i-H*j)*J,a=(t*j-H*i)*J; +return A>=0&&a>=0&&A+a<1},b=function(Y){var C=Y.length>>>1,D=0;if(C<3)return[];var P=[],w=[];for(var D=0; +D3){var h=w[(D+0)%f],Q=w[(D+1)%f],e=w[(D+2)%f],l=Y[2*h],O=Y[2*h+1],m=Y[2*Q],V=Y[2*Q+1],q=Y[2*e],K=Y[2*e+1],z=!1; +if(Z(l,O,m,V,q,K)){z=!0;for(var t=0;t3*f)break}P.push(w[0],w[1],w[2]); +return P};return b}();T.z.a96=function(Z,S){var b={},Y={K:[],H:[]};for(var D=0;Db){var w=b; +b=S;S=w}if(P[S+","+b])return;P[S+","+b]=!0;Y.K.push("M","L");Y.H.push(Z[S],Z[S+1],Z[b],Z[b+1])};T.z.cO=function(Z,S){var b=[],Y=Z.length; +for(var D=0;D=0;D--){var f=Math.pow(10,D);if(5*f*Z<=w){Y=5*f; +P=10;break}if(2*f*Z<=w){Y=2*f;P=4;break}if(1*f*Z<=w){Y=1*f;P=10;break}}if(Y==0){Y=1;P=10}var h=Math.ceil(Y*Z),Q=T.f(h*T.dp.EC*4); +T._U(Q,4278190080|b);for(var D=0;D1||Y==1&&h>20)for(var D=1;D>16&255;Z[S+1]=b>>8&255;Z[S+2]=b&255}; +T.dp.a7P=function(Z,S,b,Y,P){var w=Z.a_.c,f=Z.a_.v,h=T.dp.EC,Q=S&255,e=S>>8&255,l=S>>16&255,J,A,a,I; +S=Math.round(Q*.6)<<16|Math.round(e*.6)<<8|Math.round(l*.6);T.dp.aa8(Math.round(Q*.8)<<16|Math.round(e*.8)<<8|Math.round(l*.8),b); +var O=this.a4x(Z.S,S,b),m=Z._2(0,0),V=Z._2(w,f),q=Math.floor(m.x/O.step)*O.step,K=Math.ceil(V.x/O.step)*O.step,z=Math.floor(m.y/O.step)*O.step,t=Math.ceil(V.y/O.step)*O.step,H=Z.pg(q,z),i=Z.pg(K,z),y=O.step*Z.S,j=Math.ceil(y); +J=Z.HQ.data;A=new b4(0,0,w,h);a=new b4(0,0,j,h);I=new b4(0,Math.round(h*.08),T.dp.SV,T.dp.SV);for(var D=0; +D<(K-q)/O.step;D++){a.x=Math.round(H.x+D*y);T.uH(O.R3,a,J,A,a);var E=(q+D*O.step).toString(10);for(var c=0; +c>>24;q+=J;K+=J*(j>>>16&255);z+=J*(j>>>8&255); +t+=J*(j&255)}if(q!=0){var A=1/q;Y[m*P+V]=q/(H*i)<<24|K*A<<16|z*A<<8|t*A}else Y[m*P+V]=0}};T.N={};T.N.a7h=function(Z,S,b){var Y=128,D=0,P=b.c,w=b.v; +for(var f=0;f=Y&&(h==0||Z[D-1]>>2]}}}; +T.N.alc=function(Z,S,b,Y,P,w){var f=b.c,h=b.v,Q=0,e=0,l=f,O=h;if(Y){Q=Y.x-b.x;e=Y.y-b.y;l=Q+Y.c;O=e+Y.v}var m=new Uint8Array(S.buffer),V=new Uint32Array(S.buffer); +for(var q=e;q>>1<<24|255;else V[D]=255<<24|(z<<16|z<<8|z)}}; +T.To={};T.To.Wj=function(Z,S,b){var Y,P;if(b=="front"){Y=Z.rect.clone();P=T.To.a48}if(b=="union"){Y=Z.rect.VK(S.rect); +P=T.To.VK}if(b=="difference"){Y=S.rect.clone();P=T.To.a37}if(b=="intersection"){Y=Z.rect.Yz(S.rect); +P=T.To.Yz}if(b=="xor"){Y=Z.rect.VK(S.rect);P=T.To.agW}if(Y.h3())return null;var w=T.f(Y.X());T.JS(S.channel,S.rect,w,Y); +var f=T.f(Y.X());T.JS(Z.channel,Z.rect,f,Y);P(f,w,w);var h=T.fD(w,Y);if(h.h3())return null;if(!h.Oh(Y)){var Q=T.f(h.X()); +T.JS(w,Y,Q,h);w=Q;Y=h}return{channel:w,rect:Y}};T.To.a48=function(Z,S,b){for(var D=0;DP+Y)break}}; +T.nh.prototype.a0I=function(Z,S,b,Y){var P=Date.now(),w=1.96,h=0;if(b==null)b=5e-5;if(Y==null)Y=1e9; +var f=1-w,C=this.rows,Q=this.$N,e=this.wj,l=this.TQ,O=this.sm;while(!0){var m=0;for(var D=0;DP+Y)break}};T.$F={};T.$F.KX=function(Z,S,b){return{t:"Objc",v:{classID:"CrPt",Hrzn:{t:"doub",v:Z},Vrtc:{t:"doub",v:S},Cnty:{t:"bool",v:b}}}}; +T.$F.A=function(Z,S){for(var D=0;D=S[S.length-1])return b[S.length-1];var D=1;while(S[D]=S[S.length-1])return b[S.length-1]; +var D=1;while(S[D]100)P[1]=.4*P[1];if(P[2]>150)P[1]=.7*P[2]}return P};T.$F.Hf=function(Z,S){var b=new Uint8Array(Z.length); +for(var D=0;DK){var t=z;z=K;K=t}S[D]=m+T.style.aiJ(K,z,V)}};T.style.aiJ=function(Z,S,b){return(.5-b)*Z};T.style.yO=function(Z,S,b,Y){if(Y==null){Y=!0; +for(var D=0;D=0;f--)T.style.uI(S,Z,b,D+f<<1,1)}for(var w=Y-2; +w>=0;w--){var D=w*b;for(var f=0;f<=b-1;f++)T.style.S4(S,Z,b,D+f<<1,1);for(var f=1;f<=b-1;f++)T.style.uI(S,Z,b,D+f<<1,-1); +for(var f=b-2;f>=0;f--)T.style.uI(S,Z,b,D+f<<1,1)}};T.style.uI=function(Z,S,b,Y,P){var w=(Y>>>1)+P<<1,f=Z[Y],h=Z[Y+1],Q=Z[w]+P,e=Z[w+1],l=Q*Q+e*e,O=f*f+h*h; +if(e!=16383&&(f==16383||Math.sqrt(l)+(.5-S[(Y>>>1)+e*b+Q]*(1/255))>>1)+h*b+f]*(1/255)))){Z[Y]=Q; +Z[Y+1]=e}};T.style.S4=function(Z,S,b,Y,P){var w=(Y>>>1)+P*b<<1,f=Z[Y],h=Z[Y+1],Q=Z[w],e=Z[w+1]+P,l=Q*Q+e*e,O=f*f+h*h; +if(Q!=16383&&(f==16383||Math.sqrt(l)+(.5-S[(Y>>>1)+e*b+Q]*(1/255))>>1)+h*b+f]*(1/255)))){Z[Y]=Q; +Z[Y+1]=e}};T.style.aeX=function(Z,S,b,Y){var P=b*Y;for(var D=0;D=0;f--)T.style.lT(S,Z,b,D+f<<1,1)}for(var w=Y-2;w>=0;w--){var D=w*b;for(var f=0;f<=b-1; +f++)T.style.Gj(S,Z,b,D+f<<1,1);for(var f=1;f<=b-1;f++)T.style.lT(S,Z,b,D+f<<1,-1);for(var f=b-2;f>=0; +f--)T.style.lT(S,Z,b,D+f<<1,1)}};T.style.lT=function(Z,S,b,Y,P){var w=(Y>>>1)+P<<1,f=Z[Y],h=Z[Y+1],Q=Z[w]+P,e=Z[w+1],l=Q*Q+e*e,O=f*f+h*h; +if(e!=16383&&(f==16383||l>>1)+P*b<<1,f=Z[Y],h=Z[Y+1],Q=Z[w],e=Z[w+1]+P,l=Q*Q+e*e,O=f*f+h*h; +if(Q!=16383&&(f==16383||l=0;h--)S[h+w-b]=Math.min(S[h+w-b],S[h+w-b+1]);for(var Q=Y-2;Q>=0;Q--){var D=Q*b+b-1;S[D]=Math.min(S[D],Math.min(S[D+b]+1,S[D+b-1]+Math.SQRT2)); +for(var h=b-2;h>=1;h--){var e=S[--D],l=Math.min(S[D+1]+1,Math.min(S[D+b-1]+Math.SQRT2,Math.min(S[D+b]+1,S[D+b+1]+Math.SQRT2))); +if(l=0;Q--){if(Z[Q*b+f]>P)h=0;else h++;w[Q]=h}h=b+Y;for(var Q=0; +QP)h=0;else h++;S[Q*b+f]=h0)Z[D]=Math.max(0,Math.min(255,Y+S*2*(T.style.Ux(D)-128)))}else for(var D=0; +D0)Z[D]=Math.max(0,Math.min(255,Y+Math.min(Y*3,S*2*(T.style.Ux(D)-128))))}}; +T.style.Ux=function(Z){Z=Z^61^Z>>16;Z=Z+(Z<<3);Z=Z^Z>>4;Z=Z*668265261;Z=Z^Z>>15;return Z&255};T.kJ={}; +T.kJ.eD=function(Z,S,b){var Y=Z.canvas,P=s.Z(),w=Math.floor;if(Y.width!=w(S*P)||Y.height!=w(b*P))s.ed(Y,S,b,Z)}; +T.kJ.fR=function(Z,S,b,Y,P,w){T.kJ.eD(Z,S,b);if(w==null)w=!1;var f=P.channel,h=P.rect,Q=!P.isEnabled; +S=Math.floor(S*s.Z());b=Math.floor(b*s.Z());if(S*b==0)return;var e=Z.createImageData(S,b),l=e.data,O=1/S,m=1/b; +for(var D=0;D=h.x+h.c||t=h.y+h.v)H=P.color;else H=f[(t-h.y)*h.c+(z-h.x)];H=255*(255-P.uu)+H*P.uu>>>8; +if(w)H=170+Math.round(.4*(H-170));l[K]=H;l[K+1]=H;l[K+2]=H;l[K+3]=255}Z.putImageData(e,0,0);if(Q)T.kJ.O5(Z,S,b)}; +T.kJ.Ti=[];T.kJ.a05=function(Z,S,b,Y){var P,w,f,h=s.Z();S=Math.floor(h*S);b=Math.floor(h*b);P=Math.ceil(Math.max(S,b)*.35); +w=S-P;f=b-P;var Q=T.kJ.Ti[P];if(Q==null){var e=s.R("canvas"),l=e.getContext("2d");e.width=e.height=P; +l.fillStyle="#eeeeee";l.fillRect(0,0,P,P);var O=Math.round(P*.27),m=l.lineWidth=Math.max(1,Math.round(P*.12)),V=m/2; +l.strokeRect(1+V,1+V,P-m-2,P-m-2);l.strokeRect(O+V,O+V,P-O-O-m,P-O-O-m);Q=T.kJ.Ti[P]=l.getImageData(0,0,P,P)}Z.putImageData(Q,w,f)}; +T.kJ.lo=[];T.kJ.amR=function(Z,S,b){var Y,P,w,f=s.Z();S=Math.floor(f*S);b=Math.floor(f*b);Y=Math.ceil(Math.max(S,b)*.35); +P=S-Y;w=b-Y;var h=T.kJ.lo[Y];if(h==null){var Q=s.R("canvas"),e=Q.getContext("2d");Q.width=Q.height=Y; +e.fillStyle="#eeeeee";e.fillRect(0,0,Y,Y);e.lineWidth=1;e.strokeRect(2.5,2.5,Y-5,Y-5);var l=e.createImageData(3,3); +T._U(l.data,4278190080);l.data[4*4]=l.data[4*4+1]=l.data[4*4+2]=238;e.putImageData(l,1,1);e.putImageData(l,Y-4,1); +e.putImageData(l,1,Y-4);e.putImageData(l,Y-4,Y-4);h=T.kJ.lo[Y]=e.getImageData(0,0,Y,Y)}Z.putImageData(h,P,w)}; +T.kJ.anC=function(Z,S,b,Y,P){T.kJ.eD(Z,S,b);S=Math.floor(S*s.Z());b=Math.floor(b*s.Z());var w=S/Y.c; +if(S*b==0)return;Z.fillStyle="#999999";Z.setTransform(1,0,0,1,0,0);Z.clearRect(0,0,S,b);var f=T.kJ.iS; +if(f==null){f=T.kJ.iS=JSON.parse(JSON.stringify(a4.m3.default));f.strokeEnabled.v=!0}f.strokeStyleLineWidth.v.val=1*s.Z()/w; +Z.fillStyle="#ffffff";Z.scale(w,w);T.Y.Vs(P.b,Z,0,0);T.Y.Vs(P.b,Z,0,0,f)};T.kJ.j3=null;T.kJ.ii=function(Z,S,b,Y,P,w,f,h){T.kJ.eD(Z,S,b); +S=Math.floor(S*s.Z());b=Math.floor(b*s.Z());if(S*b==0)return;var Q=Math.max(S,b),e=T.kJ.j3;if(e==null||e.width=q||j=z){l[i]=J;l[i+1]=J;l[i+2]=J;l[i+3]=255}else{var A=(j-w.y)*w.c+(y-w.x)<<2,a=P[A+3]*(1/255); +l[i]=P[A+0]*a+J*(1-a);l[i+1]=P[A+1]*a+J*(1-a);l[i+2]=P[A+2]*a+J*(1-a);l[i+3]=255}}if(h!=null)for(var D=0; +D5||w.type==0||w.type==3)continue;if(S!=null&&S.indexOf(P)==-1)continue; +if(b!=null&&b.indexOf(D)==-1)continue;Y.push(w.hQ.x);Y.push(w.hQ.y);Y.push(w.I.x);Y.push(w.I.y);Y.push(w.e$.x); +Y.push(w.e$.y)}return Y};T.Y.Di=function(Z,S,b,Y){var P=0,w=-1;for(var D=0;D5||f.type==0||f.type==3)continue;if(b!=null&&b.indexOf(w)==-1)continue; +if(Y!=null&&Y.indexOf(D)==-1)continue;f.hQ.Ha(Z[P],Z[P+1]);f.I.Ha(Z[P+2],Z[P+3]);f.e$.Ha(Z[P+4],Z[P+5]); +P+=6}};T.Y.$d=function(Z,S,b,Y){var P=T.Y.bM(Z,b,Y);T.z.A(P,S,P);T.Y.Di(P,Z,b,Y)};T.Y.a7M=function(Z,S,b,Y){var P=T.Y.bM(Z,b,Y); +T.J.A(S,P);T.Y.Di(P,Z,b,Y)};T.Y.aa1=function(Z,S,b,Y){if(b==null&&Y==null){var P=T.Y.alD(Z,40);for(var D=0; +D5){b.push(JSON.parse(JSON.stringify(Y)));continue}var P=T.Y.acz(Z,D+1,Y.length); +P=T.z.Xt(P,S);var w=T.Y.agf(P);D+=Y.length;Y=JSON.parse(JSON.stringify(Y));Y.length=w.length;b.push(Y); +for(var f=0;f5)continue;var S=Z[D].length;if(!(S==4||S==6||S==8)){D+=S; +continue}for(var b=0;b5)continue; +if((h.type==0||h.type==3)&&h.qU!=-1)w++;if(S!=null&&S.indexOf(w)==-1)continue;if(D==Z.length-1)break; +var Q=h.type==3,e=h.length,l=h.qU,O=T.Y.aeK(Z,D+1,e,Q);if(P==null)P=O;else if(b)P=Y(P,O);else if(f){if(S!=null||l==0||l==-1||l==2)P=Y(P,O); +else if(l==1)P=P;else if(l==3){P=O;f=!1}}else{if(S!=null||l==0||l==-1||l==1)P=Y(P,O);else if(l==2)P=P; +else if(l==3)P=P.Yz(O)}D+=e}if(P==null||P.c<0||P.v<0)P=new b4(0,0,0,0);return P};T.Y.ak0=new Float64Array(4); +T.Y.aeK=function(Z,D,S,b){var Y=T.Y.ak0;Y[0]=1e30;Y[1]=1e30;Y[2]=-1e30;Y[3]=-1e30;var P=Z[D+S-1];if(!b)T.Y.mH(P.I.x,P.I.y,P.e$.x,P.e$.y,Z[D].hQ.x,Z[D].hQ.y,Z[D].I.x,Z[D].I.y,Y); +for(var w=D;wO)O=J;if(Am)m=A}if(eQ[2])Q[2]=O; +if(m>Q[3])Q[3]=m};T.Y.nt=function(Z,S){var b=Z.length-3,Y=S%b,P=Math.floor(Y);if(S<0||P>=b)return null; +var w=Z[3+P],f=Z[3+(P+1)%b],h=w.I,Q=w.e$,e=f.hQ,l=f.I,O=Y-P,m=1-O,V=m*m*m*h.x+3*m*m*O*Q.x+3*m*O*O*e.x+O*O*O*l.x,q=m*m*m*h.y+3*m*m*O*Q.y+3*m*O*O*e.y+O*O*O*l.y; +return new ar(V,q)};T.Y.W6=function(Z){var S=2,b=T.Y.eu(Z),Y=!1;for(var D=2;D1)Z=T.Y.zt(Z);var w=T.z.o5(Z);return{ahU:Typr.U.pathToSVG({crds:w.H,cmds:w.K},S),bC:Y?1:0}}; +T.Y.zt=function(Z){T.Y.se();var S,b=T.Y.gq(Z),Y=[];for(var D=0;D=0;D--){var h=f[D][0],Q=h.hitTest(w,P);if(Q!=null)return{SU:D,Rs:b?Q.location.index:null}}return{SU:-1}}; +T.Y.D7=function(Z,S,b){var Y=[[],[],[]];for(var D=0;D5||P.type==0||P.type==3)continue; +var w=b==null?!0:b.indexOf(D)!=-1;if(S.DS(P.I))Y[0].push(D);if(S.DS(P.hQ)&&w)Y[1].push(D);if(S.DS(P.e$)&&w)Y[2].push(D)}return Y}; +T.Y.ae4=function(Z,S,b){var Y=b.slice(0),P=[null,null],w=-1,h=null;for(var D=2;D=S)return Y; +Y++}return Y};T.Y.HV=function(Z,S){var b=-1,Y=0;for(var D=0;D180?360-q:q; +if(K5)continue; +var w=Z[D].length,f;if(D==Z.length-1)break;var h=Z[D].type==3;if(D==2){if(!T.Y.eC(Z))f="subtract";else f="unite"}else{if(Z[D].qU==0)f="exclude"; +if(Z[D].qU==1)f="unite";if(Z[D].qU==2)f="subtract";if(Z[D].qU==3)f="intersect"}if(Z[D].qU!=-1){b=new paper.CompoundPath; +S.push([b,f]);b.fillRule="evenodd";b.fillColor=Y}var Q=[];for(var e=0;eT.Y.mn){T.Y.mn=P}var w=b.c,f=b.v;if(Y==null&&T.Y.ga(Z)){var h=!0; +for(var D=2;D0)f=!0}if(!w&&h<20)Z=T.Y.zt(Z)}for(var D=0; +D5)continue;var e=Z[D].length;if(e==0)continue;if(D==Z.length-1)break;var l=Z[D].type==3,Q=Z[D].qU; +if(Q!=-1&&P==null){var O=["xor","source-over","destination-out","source-in"][Q];S.globalCompositeOperation=O}if(Z[D].qU!=-1){S.beginPath(); +if(P){var m=P.strokeStyleLineWidth.v.val,V=P.strokeStyleLineAlignment.v.strokeStyleLineAlignment,q=P.strokeStyleLineCapType.v.strokeStyleLineCapType,K=P.strokeStyleLineJoinType.v.strokeStyleLineJoinType,z=P.strokeStyleMiterLimit.v,t=[],H=P.strokeStyleLineDashSet.v; +for(var i=0;i1||Math.abs(w[D*4]-w[D*4+f])>1)b=!0}return!b}else return Z.warpValue.v==0&&Z.warpPerspective.v==0&&Z.warpPerspectiveOther.v==0}; +T.$e.f=function(Z){var S={classID:"warp",warpStyle:{t:"enum",v:{warpStyle:"warpNone"}},warpValue:{t:"doub",v:0},warpPerspective:{t:"doub",v:0},warpPerspectiveOther:{t:"doub",v:0},warpRotate:{t:"enum",v:{Ornt:"Hrzn"}}}; +if(Z){S.bounds={t:"Objc",v:{classID:"Rctn",Top:{t:"UntF",v:{type:"#Pxl",val:Z.y}},Left:{t:"UntF",v:{type:"#Pxl",val:Z.x}},Btom:{t:"UntF",v:{type:"#Pxl",val:Z.y+Z.v}},Rght:{t:"UntF",v:{type:"#Pxl",val:Z.x+Z.c}}}}; +S.uOrder={t:"long",v:4};S.vOrder={t:"long",v:4}}return S};T.$e.a4h=function(Z,S,b,Y){for(var D=0;D0)l=l-g*l*Y; +else O=O+g*O*Y}else if(D==1||D==2)l=l-g*l*Y;else if(f==1||f==2)O=O+g*O*Y}if(b=="warpTwist"){if((D==1||D==2)&&(f==1||f==2)){var v=Y*Math.PI/2,y=1+Math.abs(Y)*2,R=l*Math.cos(v)-O*Math.sin(v),X=l*Math.sin(v)+O*Math.cos(v); +l=R*y;O=X*y}}if(b=="warpShellLower"||b=="warpShellUpper"){if(b=="warpShellUpper"){D=3-D;O=-O}if(D>2||D==2&&(f==0||f==3)){if(Y>0){var B=A+D/3*2*V; +l=Math.sin(J)*B;O=-i*m-V+Math.cos(J)*B;if(f==1||f==2){l=f==1?-u*B:u*B;O=-i*m-V+c*B}}else{if((f==1||f==2)&&D==3){l=f==1?-u*A:u*A; +O=i*m-c*A+V}else if(D==2){O=V-V*(2/3)*Math.cos(J);l=l+V*(2/3)*Math.sin(J)}}}if(b=="warpShellUpper"){D=3-D; +O=-O}}l+=m;O+=V}Q=l,e=O;Z[h]=Q+S.x;Z[h+1]=e+S.y}}};T.$e.a4l=function(Z,S,b){var Y=[];for(var P=0;P<4; +P++)Y.push(1-b+P/3*2*b);var w=[];for(var P=0;P<4;P++)w.push(1-S+P/3*2*S);var f=[0,0,0,0],h=[0,0,0,0]; +for(var D=0;D<4;D++)for(var P=0;P<4;P++){var Q=2*(4*D+P),e=Z[Q],l=Z[Q+1];f[P]+=e/4;h[P]+=l/4}for(var D=0; +D<4;D++)for(var P=0;P<4;P++){var O=Y[P],Q=2*(4*D+P),e=Z[Q],l=Z[Q+1],m=f[P],V=h[P];Z[Q]=m+O*(e-m);Z[Q+1]=V+O*(l-V)}var q=Z.slice(0); +for(var D=0;D<4;D++)for(var P=1;P<3;P++){var Q=2*(4*D+P),e=Z[Q],l=Z[Q+1],K=Q+(P==1?-2:2),z=Z[K],t=Z[K+1]; +Z[Q]=e-z;Z[Q+1]=l-t}var H=Z[0],i=Z[1],y=Z[8],j=Z[9],J=Z[16],A=Z[17],a=Z[24],I=Z[25],E=Z[6],c=Z[7],u=Z[14],n=Z[15],o=Z[22],x=Z[23],g=Z[30],v=Z[31],R=E-H,X=c-i,B=u-y,M=n-j,r=o-J,N=x-A,$=g-a,eQ=v-I; +for(var D=0;D<4;D++){var hN=2*D*4,bI=0,fq=0,e9=D==1?.33:.66,W=1-e9;if(D==0){bI=R;fq=X}if(D==1){bI=W*R+e9*-$; +fq=W*X+e9*-eQ}if(D==2){bI=W*R+e9*-$;fq=W*X+e9*-eQ}if(D==3){bI=-$;fq=-eQ}Z[hN]=Z[hN]+bI/2;Z[hN+1]=Z[hN+1]+fq/2; +Z[hN+6]=Z[hN+6]-bI/2;Z[hN+7]=Z[hN+7]-fq/2}for(var D=0;D<4;D++)for(var P=1;P<3;P++){var Q=2*(4*D+P),e=Z[Q],l=Z[Q+1],K=Q+(P==1?-2:2),z=Z[K],t=Z[K+1],O=2*D/3; +Z[Q]=z+O*e;Z[Q+1]=t+O*l}for(var D=1;D<3;D++)for(var P=1;P<3;P++){var Q=2*(4*D+P),e=Z[Q],l=Z[Q+1],L=D==1?-8:-16,bd=D==1?16:8,iw=Z[Q+L],d7=Z[Q+L+1],d0=Z[Q+bd],gS=Z[Q+bd+1],O=D/3; +e=(1-O)*iw+O*d0;l=(1-O)*d7+O*gS;Z[Q]=e;Z[Q+1]=l}T.z.Db(q,Z,Z,S)};T.$e.afZ=function(Z,S){return(4-Z)*(1/3)}; +T.$e.a3x=function(Z,S){return(1-Z)*(3-Z)/(3*S)};T.D0={};T.D0.adZ=function(Z,S,b,Y,P,w,f,h,Q,e){for(var l=0; +l>>1; +Z[S]=Z[S+3]=Z[b]=Z[b+3]=f;Z[S+1]=l;Z[S+4]=h;Z[b+1]=Q;Z[b+4]=l;Z[S+2]=Z[S+5]=Z[b+2]=Z[b+5]=e};T.D0.akK=function(Z,S,b,Y,P,w){var f=w*3; +for(var D=0;D>2;if(t==q)return h*3+w+f-Q>>2;if(t==K)return w*3+h+f-P>>2;return e*3+Y+f-l>>2}; +T.D0.ZM=function(Z,S,b,Y,P){if(ZS&&S>b)return~~(.5+Y+(P-Y)*(S-Z)/(b-Z));else return(Y+P>>1)+(S+S-Z-b>>2)}; +T.D0.Q5=function(Z,S,D,b){var Y=S[D-b-1],P=S[D-b+1],w=S[D],f=S[D+b-1],h=S[D+b+1],Q=Z[D-b-1],e=Z[D-b+1],l=Z[D],O=Z[D+b-1],m=Z[D+b+1],V=Math.abs(e-O)+Math.abs(Z[D-b-b+2]-l)+Math.abs(l-Z[D+b+b-2])+Math.abs(P-w)+Math.abs(w-f),q=Math.abs(Q-m)+Math.abs(Z[D-b-b-2]-l)+Math.abs(l-Z[D+b+b+2])+Math.abs(Y-w)+Math.abs(w-h); +if(V>1<<1; +f+=l[1]>>1<<1}if(Z.t50720){var O=Z.t50720;h=w+O[0];Q=f+O[1]}var m=h-w,V=Q-f,q=new Float32Array(m*V*3); +if(Z.t277[0]==1){var K=Z.t33421;if(K==null){T.D0.adZ(P,S,b,q,w,f,m,V)}else if(K.length!=2||K[0]!=2||K[1]!=2){console.log("Unknown CFA pattern size",K); +T.D0.ds(P,S,b,q,w,f,m,V,K[0],Z.t33422)}else{var z=Z.t33422.join(","),t=0;if(z=="0,1,1,2")t=0;else if(z=="1,0,2,1")t=1; +else if(z=="2,1,1,0")t=2;else if(z=="1,2,0,1")t=3;else throw"Unknown CFA pattern "+z;if((m&1)!=0||(V&1)!=0)throw"e"; +T.D0.anD(P,S,b,q,w,f,m,V,t)}}else{for(var H=0;H=.92){var y=Math.min(t,i);if(y==t){H=Math.max(H,O[0]*t); +i=Math.max(i,O[1]*t)}else{t=Math.max(t,O[4]*i);H=Math.max(H,O[5]*i)}}var j=Q[0]*t+Q[1]*H+Q[2]*i,J=Q[4]*t+Q[5]*H+Q[6]*i,A=Q[8]*t+Q[9]*H+Q[10]*i; +if(j<0)j=0;else if(j>1)j=1;if(J<0)J=0;else if(J>1)J=1;if(A<0)A=0;else if(A>1)A=1;j=m[~~(j*999)];J=m[~~(J*999)]; +A=m[~~(A*999)];S[K]=~~(.5+j*255);S[K+1]=~~(.5+J*255);S[K+2]=~~(.5+A*255)}};T.raw.Gu={ai2:function(Z,S){var b=.5-.5*Math.cos(Z*3.2),Y=0; +if(S>0){var P=Z*.2;Y=P*Z+(1-P)*b}else{var w=Math.pow(Z,.33);Y=(1-w)*w+w*(Z+(Z-b)*.63)}var f=Math.abs(S); +return f*Y+(1-f)*Z},ag2:function(Z,S){var b=0;if(S>0){var Y=Z*1.47,P=Math.pow(Z,2.4);b=Math.min(1,P*Z+(1-P)*Y)}else{var Y=Z*.68,P=Math.pow(Z,3); +b=P*Z*.5+(1-P)*Y}var w=Math.abs(S);return w*b+(1-w)*Z},ac$:function(Z,S){var b=0;if(S>0){var Y=Math.pow(Z,.3),P=Z; +b=(1-Z)*Y+Z*P}else{var Y=Math.pow(Z,2.5),w=Z,P=Z;b=Math.min(1,(1-w)*Y+w*P)}var f=Math.abs(S);return f*b+(1-f)*Z}}; +T.raw.age=function(Z){var S=Z.width,b=Z.height,Y=S*b*Z.t277,P=new Uint16Array(Y),w=null,f=0;T.raw.ad_(Z,P); +T.raw.Od(1,Z,P,S,b);if(Z.t50712){w=Z.t50712;f=w.length-1;if(w[f]>65535)throw"too big values"}var h=T.raw.P0(Z),Q=T.raw.U7(Z); +if(w==null)for(var D=0;Df)e=f; +e=w[e];P[D]=Math.max(0,e-h)}return P};T.raw.P0=function(Z){var S=Z.t50714,b=S?S[0]:0,Y=Z.t50715,P=Z.t50716; +if(Y)b+=Y[0][0]/Y[0][1];if(P)b+=P[0][0]/P[0][1];return Math.round(b)};T.raw.U7=function(Z){var S=null,b=0; +if(Z.t50712){S=Z.t50712;b=S.length-1}var Y=Z.t50717?Z.t50717[0]:(1<>>3,l=Y[e]<<24|Y[e+1]<<16|Y[e+2]<<8|Y[e+3];if((Q&7)==0){f=l>>>18; +h=l>>>4&16383}else{f=l>>>14&16383;h=l&16383}}else if(P==12){w=D+(D>>>1);f=Y[w]<<4|Y[w+1]>>4;h=(Y[w+1]&15)<<8|Y[w+2]}else if(P==10){var Q=D*10,e=Q>>>3; +if((Q&7)==0){f=(Y[e]<<2|Y[e+1]>>6)&1023;h=(Y[e+1]<<4|Y[e+2]>>4)&1023}else{f=(Y[e]<<6|Y[e+1]>>2)&1023; +h=(Y[e+1]<<8|Y[e+2]>>0)&1023}}else if(P==8){w=D;f=Y[w];h=Y[w+1]}S[D]=f;S[D+1]=h}};T.raw.Od=function(Z,S,b,Y,P){var w=S["t"+[51008,51009,51022][Z-1]],l=0; +if(w==null)return;var f=Y*P,h=k.r,Q=k.j4,e=new Uint8Array(w),bj=k.r(e,l);l+=4;for(var O=0;O>1}else if(m==5&&Z==1){var z=l,cf=h(e,z);z+=4; +var cT=h(e,z);z+=4;var fU=h(e,z);z+=4;for(var D=0;D>1}}else if(m==7&&Z==1){var z=l,bX=k.TD(e,z);z+=16;var aw=h(e,z);z+=4;var hP=h(e,z); +z+=4;var eG=h(e,z),eB=h(e,z+4);z+=8;var bb=h(e,z);z+=4;var gx=new Uint16Array(bb);for(var D=0;D1e-7); +return b};T.raw.wa=function(Z,S){var b=d5.yv(S),Y=T.raw.a7B,P=Z.t50778?Z.t50778[0]:0,w=Z.t50779?Z.t50779[0]:0,f=Y(Z.t50721,Z.t50722,P,w,b.OR),h=Y(Z.t50723,Z.t50724,P,w,b.OR); +f=f||[1,0,0,0,1,0,0,0,1];h=h||[1,0,0,0,1,0,0,0,1];var Q=Z.t50727?[Z.t50727[0],0,0,0,Z.t50727[1],0,0,0,Z.t50727[2]]:[1,0,0,0,1,0,0,0,1]; +return T.sE.multiply(T.sE.n2(Q),T.sE.multiply(T.sE.n2(h),T.sE.n2(f)))};T.raw.a7B=function(Z,S,b,Y,P){if(!Z&&!S){return null}else if(Z&&!S){return Z}else if(PY){return S}else{var w=(1/P-1/Y)/(1/b-1/Y),f=1-w,h=[]; +for(var D=0;D<9;D++)h[D]=Z[D]*w+S[D]*f;return h}};var d5={};d5.a6C={x:.34567,y:.3585};d5.Bc=[{h:0,FZ:.18006,$0:.26352,QX:-.24341},{h:10,FZ:.18066,$0:.26589,QX:-.25479},{h:20,FZ:.18133,$0:.26846,QX:-.26876},{h:30,FZ:.18208,$0:.27119,QX:-.28539},{h:40,FZ:.18293,$0:.27407,QX:-.3047},{h:50,FZ:.18388,$0:.27709,QX:-.32675},{h:60,FZ:.18494,$0:.28021,QX:-.35156},{h:70,FZ:.18611,$0:.28342,QX:-.37915},{h:80,FZ:.1874,$0:.28668,QX:-.40955},{h:90,FZ:.1888,$0:.28997,QX:-.44278},{h:100,FZ:.19032,$0:.29326,QX:-.47888},{h:125,FZ:.19462,$0:.30141,QX:-.58204},{h:150,FZ:.19962,$0:.30921,QX:-.70471},{h:175,FZ:.20525,$0:.31647,QX:-.84901},{h:200,FZ:.21142,$0:.32312,QX:-1.0182},{h:225,FZ:.21807,$0:.32909,QX:-1.2168},{h:250,FZ:.22511,$0:.33439,QX:-1.4512},{h:275,FZ:.23247,$0:.33904,QX:-1.7298},{h:300,FZ:.2401,$0:.34308,QX:-2.0637},{h:325,FZ:.24792,$0:.34655,QX:-2.4681},{h:350,FZ:.25591,$0:.34951,QX:-2.9641},{h:375,FZ:.264,$0:.352,QX:-3.5814},{h:400,FZ:.27218,$0:.35407,QX:-4.3633},{h:425,FZ:.28039,$0:.35577,QX:-5.3762},{h:450,FZ:.28863,$0:.35714,QX:-6.7262},{h:475,FZ:.29685,$0:.35823,QX:-8.5955},{h:500,FZ:.30505,$0:.35907,QX:-11.324},{h:525,FZ:.3132,$0:.35968,QX:-15.628},{h:550,FZ:.32129,$0:.36011,QX:-23.325},{h:575,FZ:.32931,$0:.36038,QX:-40.77},{h:600,FZ:.33724,$0:.36051,QX:-116.45}]; +d5.yv=function(Z){var S=d5.Bc,b=2*Z.x/(1.5-Z.x+6*Z.y),Y=3*Z.y/(1.5-Z.x+6*Z.y),P=0,w=0,f=0;for(;f<31; +f++){P=Y-S[f].$0-S[f].QX*(b-S[f].FZ);if(f>0&&P<0){break}w=P}while(f>=S.length)f--;P/=Math.sqrt(1+S[f].QX*S[f].QX); +w/=Math.sqrt(1+S[f-1].QX*S[f-1].QX);var h=w/(w-P),Q=1e6/((S[f].h-S[f-1].h)*h+S[f-1].h),e=b-((S[f].FZ-S[f-1].FZ)*h+S[f-1].FZ),l=Y-((S[f].$0-S[f-1].$0)*h+S[f-1].$0),O=Math.sqrt(1+S[f].QX*S[f].QX),m=1/O,V=S[f].QX/O,q=Math.sqrt(1+S[f-1].QX*S[f-1].QX),K=1/q,z=S[f-1].QX/q,t=(m-K)*h+K,H=(V-z)*h+z,i=Math.sqrt(t*t+H*H); +t/=i;H/=i;var y=(e*t+l*H)*-3e3;return{OR:Q,BF:y}};d5.aoL=function(Z,S){var b=d5.Bc,Y=1e6/Z,P=1;for(; +P<31;P++){if(Y>>2;V[D+1]=K;if(K>4095)throw"e"}for(var D=0; +D<16385;D++)q[D]=D;for(var D=0;D<5;D++)for(var z=V[D]+1;z<=V[D+1];z++)q[z]=q[z-1]+(1<>>2); +T.raw.a6x(A,a,j>>>2,J);var I=new Uint8Array(y+j);I.set(new Uint8Array(a.buffer),y);var E=[];UTIF._readIFD(O,I,y,E,0,!1); +var c=E.pop(),u=c.t29458;Z.t50728=[u[1]/u[0],1,u[1]/u[3]];Z.t50730=[.5];var n=c.t29891;Z.t50829=[n[1],n[0],n[3],n[2]]}else if(w.makerNote&&w.makerNote.t8208){var i=w.makerNote,o=i.t8208,x=o.length,g=0,v=new Uint8Array(256); +for(var D=249;D<256;D++)v[D]=D;for(var D=0;D<249;D++)v[D*D*D%249]=D;for(var D=0;D>>2;Z.t50714=[l,l,l,l];Z.t50717=[Q[3]>>>2]}}else if(Z.t271[0].startsWith("Canon")){var S=Z.data,R=S.slice(0),X=Z.t50752,B=[],r=0; +if(X==null||X[0]==0&&X[1]==0)B.push(Z.width);else{for(var D=0;D>1)*hN*2; +for(var D=0;D>>1,bI=Z.height-hP>>>1;Z.t50829=[bI,r,bI+hP,r+aw]}if(i.t12){var er=T.raw.lF(i.t12); +gx=[1/er[0],1,1/er[1]]}else if(i.t151){var ea=T.raw.aoC(i,151),hD=ea[0],i5=ea[1],bP=ea[2];if(hD=="0100"&&i5>=80)throw"e"; +else if(hD=="0102"){var iz=[];for(var D=0;D<4;D++)iz.push(cf(bP,6+D*2));gx=[iz[1]/iz[0],1,iz[1]/iz[3]]}else if(hD=="0103"&&i5>=26){var iz=[]; +for(var D=0;D<4;D++)iz.push(cf(bP,16+D*2));gx=[iz[1]/iz[0],1,iz[3]/iz[2]]}else if(hD=="0204"&&i5>=564||hD=="0205"&&i5>=284){var y=hD=="0204"?6:14,iz=[]; +for(var D=0;D<4;D++)iz.push(cf(bP,y+D*2));gx=[iz[1]/iz[0],1,iz[1]/iz[3]]}else throw"e"}else console.log("no white balance info"); +if(f=="NIKON D1")gx=[1,1,1];if(gx)Z.t50728=gx;var iq=i.t150?i.t150:i.t140;if(iq){var aH=iq[cU++],eK=iq[cU++],dh; +if(aH==73||eK==88)cU+=2110;cU+=8;var h6=1<1)dh=Math.floor(h6/(co-1)); +if(aH==68&&eK==32&&dh>0){for(D=0;D>>0)*3125+1>>>0;P[3]=P[3]<<1|(P[0]^P[2])>>>31;for(var f=4;f<127; +f++)P[f]=(P[f-4]^P[f-2])<<1|(P[f-3]^P[f-1])>>>31;for(var f=0;f<127;f++)P[f]=k.r(w,f*4);for(;b>0;b--){P[f&127]=P[f+1&127]^P[f+1+64&127]; +var e=P[f&127],l=Z[h];l^=e;S[Q]=l;h++;Q++;f++}};T.raw.aas=function(Z,S){var b=k.zG(S,0,4),Y=T.raw.a4r; +for(var D=0;D>>(D<<3)&255;var h=S[P&255],Q=b[f&255];return[h,Q,96]};T.raw.aoC=function(Z,S){var b=Z["t"+S],i5=b.length,Y=T.raw.aas(S,b),P=k.zG(b,0,4),w,f=Y[4]; +if(f==null)w=b.slice(4);else{w=new Uint8Array(i5-f);var h=T.raw.a9Z(Z),Q=h[0],e=h[1],l=h[2];for(var D=0; +D1)e9++;for(var W=0;W=250?cU:hN)<<2;iq[aH]=S[h6];iq[aH+1]=S[h6+1]; +iq[aH+2]=S[h6+2]}T.y8(bP,iq,3);if(l)console.log(Date.now()-e);e=Date.now();return iq};T.yk.qJ=function(Z,S,b,Y,P,w,f,h,Q){var e=Z>>>16,l=Z&65535,O=e-(b>>>16),m=l-(b&65535),V=e-(P>>>16),q=l-(P&65535),K=Math.sqrt(O*O+m*m)*f,z=Math.sqrt(V*V+q*q)*h; +if(K+z>=Q)return 1e9;var t=T.yk.a3s(S,Y,w);return t+K+z};T.yk.a3s=function(Z,S,b){var Y=Z>>>16,P=Z>>>8&255,w=Z&255,f=S>>>16,h=S>>>8&255,Q=S&255,e=b>>>16,l=b>>>8&255,O=b&255,m=T.yk.alpha(Z,S,b),V=Y-(m*f+(1-m)*e),q=P-(m*h+(1-m)*l),K=w-(m*Q+(1-m)*O); +return Math.sqrt(V*V+q*q+K*K)};T.yk.alpha=function(Z,S,b){var Y=Z>>>16,P=Z>>>8&255,w=Z&255,f=S>>>16,h=S>>>8&255,Q=S&255,e=b>>>16,l=b>>>8&255,O=b&255,m=f-e,V=h-l,q=Q-O,K=Y-e,z=P-l,t=w-O,H=m*m+V*V+q*q,i=H==0?.5:(K*m+z*V+t*q)/H; +return Math.max(0,Math.min(1,i))};T.yk.ahY=function(Z){};T.yk.nO=function(Z,S,b,Y,P){var w=[],f=S-1,h=b-1; +for(var Q=1;Q>>2;console.log(O,q);m=T.f(O.X()); +T.to(l.j$,m,0);T.y8(S,e,0);l=T.Y_(e,b);l=T.Y_(l.j$,l.rect);V=T.f(O.X());T.to(l.j$,V,0);var K=T.HS.a6B(m,V,O,q,P),z=K[0],t=K[1],H=new b4(0,0,O.c*2,O.v*2); +z=Q(z,O,H,!0);z=Q(z,H,b,!0);t=Q(t,O,H,!0);t=Q(t,H,b,!0);var i=T.f(h);for(var D=0;D>>2,f>>>2);q=Y>>>2;m=T.HS.adj(Z,w,f);V=T.HS.aiG(S,w,f);if(l)console.log(Date.now()-e); +e=Date.now();var K=T.HS.a7$(m,V,O,q,P),z=K[0],t=K[1],H=K[2],i=K[3];if(l)console.log(Date.now()-e);e=Date.now(); +var y=T.f(h);for(var j=0;j>>2)*(w>>>2)+(J>>>2),a=D<<2,I=z[A]*S[a]+t[A]*S[a+1]+H[A]*S[a+2]+i[A]*255; +y[D]=Math.max(0,Math.min(255,~~(.5+I)))}if(l)console.log(Date.now()-e);e=Date.now();return y};T.HS.adj=function(Z,S,b){var Y=S>>>2,P=b>>>2,w=T.f(S*b); +for(var f=0;f>>2,P=b>>>2,w=T.f(S*b*4); +for(var f=0;fS-h-1||l>b-h-1){var D=l*S+O,m=D<<2,V=0;if(lS-h-1)V=8;Q[V]+=Z[m];Q[V+1]+=Z[m+1];Q[V+2]+=Z[m+2];Q[V+3]++;P[D]=255}}for(var D=0;D<12;D+=4)for(var q=0; +q<3;q++)e[D+q]=Q[D+q]/Q[D+3];var K=new Float32Array(Y);for(var D=0;D>>1,f=b>>>1,E=1/Math.sqrt(I*I+f*f); +for(var l=0;l=0;f--)T.ea.gW(P*w-P+f,1,Z,S,b,Y);for(var h=w-2;h>=0;h--){T.ea.gW(h*P+P-1,P,Z,S,b,Y);for(var f=P-2; +f>=0;f--){var D=h*P+f;T.ea.gW(D,1,Z,S,b,Y);T.ea.gW(D,P,Z,S,b,Y)}}};T.ea.gW=function(D,Z,S,b,Y,P){var w=D+Z,f=S[D],h=b[w],Q=Y[w]; +if(h0){var O=Q;Q=e;e=O}var m=w[e+"-"+Q],V=w[Q+"-"+h],q=w[h+"-"+e],K=[e,m,f,null],z=[Q,V,f,K],t=[h,q,f,z]; +K[3]=t;if(m)m[1]=K;if(V)V[1]=z;if(q)q[1]=t;w[e+"-"+h]=t;w[h+"-"+Q]=z;w[Q+"-"+e]=K;b[h]=z;P[D]=z;b[Q]=K; +P[D+1]=K;b[e]=t;P[D+2]=t;Y[f]=z}return{A5:b,FQ:Y,X7:P}};T.KJ.aaW=function(Z){var S=[],b=Z.FQ;for(var D=0; +Dq[2]&&q[3]==0&&T.KJ.Uv(Z,V,l,m)<0&&T.KJ.Uv(Z,m,O,V)<0; +if(t){b[0]=m;Y[0]=V;b[3]=w;w[3]=f;f[3]=b;Y[3]=h;h[3]=P;P[3]=Y;P[2]=e;f[2]=Q;S.FQ[e]=h;S.FQ[Q]=w;S.A5[O]=f; +S.A5[l]=P}return t};T.KJ.a6h=function(Z,S,b){var Y=Z[S*2]-Z[b*2],P=Z[S*2+1]-Z[b*2+1];return Math.sqrt(Y*Y+P*P)}; +T.KJ.abZ=function(Z,S,b){var Y=b[1],P=b[3],w=P[3],f,h,Q=b[2],e,l=b[0],O=w[0],m=P[0],V;if(Y){f=Y[3];h=f[3]; +e=Y[2];V=f[0]}var q=Z.length>>>1;Z[2*q]=(Z[2*O]+Z[2*l])*.5;Z[2*q+1]=(Z[2*O+1]+Z[2*l+1])*.5;if(!0){var K=Q,z=b,t=S.FQ.length,H=[q,null,K,z],i=[m,H,t,w]; +H[1]=i;var y=[q,null,t,i];P[3]=H;w[3]=y;w[2]=t;S.FQ[K]=P;S.FQ[t]=y;S.A5[l]=P;S.A5[m]=w;S.X7.push(H,i,y)}if(Y){var j=e,J=Y,A=t+1; +y[1]=J,J[1]=y;var a=[q,null,j,J],I=[V,a,A,h];a[1]=I;var E=[q,z,A,I];z[1]=E;f[3]=a;h[3]=E;h[2]=A;S.FQ[j]=f; +S.FQ[A]=h;S.A5[O]=f;S.A5[V]=h;S.X7.push(a,I,E)}S.A5[q]=z};T.KJ.Rr=function(Z,S){var b=0;while(!0){var Y=b; +for(var D=0;Df){w=Q;f=e}}if(f>b){T.KJ.abZ(Z,S,w); +P++}}return P!=0};T.KJ.a9C=function(Z,S){var b=[],m=0;for(var D=0;D>>1,q=S.A5[V],Y=q,K=!0; +do{if(Y[1]==null){K=!1;break}Y=Y[1][3]}while(Y!=q);if(K){var z=.02;Z[D]+=z*b[D];Z[D+1]+=z*b[D+1];m+=z*(b[D]*b[D]+b[D+1]*b[D+1])}}return m}; +T.KJ.alU=function(Z,S,b){var Y=T.z.$R(Z),P=T.KJ.VM(Z,S);T.KJ.Rr(Z,P);for(var w=0;w<300;w++){var f=!1,h=!1; +f=T.KJ.adE(Z,P,b,5);if(f)h=T.KJ.Rr(Z,P);var Q=T.KJ.a9C(Z,P);if(!f&&!h&&Q<1e-4){break}}return T.KJ.aaW(P)}; +T.yF={};T.yF.R7=function(Z){var S=Z.B6,b=Z.Bh,Y=Z.ZG,P=Z.Fh,w=Z.Tn,f=Z.he,h=Z.Lk,Q=T.Ig.YS,H,i,y=0;function e(C){var iw=new Array(C); +for(var D=0;D>>1,O=e(S.xF*2),m=e(S.xF),V=e(S.xF),q=Date.now(); +for(var D=0;DA)continue;var E=b[J*2],c=b[J*2+1],u=b[A*2],n=b[A*2+1],o=P[J*2],x=P[J*2+1],g=P[A*2],v=P[A*2+1],R=P[a*2],X=P[a*2+1],B=P[I*2],M=P[I*2+1],N=[o,x,g,v,R,X]; +if(j[1])N.push(B,M);var $=Q(S.ajS[y],N),eQ=$[0],hN=$[1],fq=1/Math.sqrt(eQ*eQ+hN*hN);eQ*=fq;hN*=fq;var e9=u-E,W=n-c; +m[y]=eQ*e9+hN*W;V[y]=-hN*e9+eQ*W;y++}var L=new Array(l),bd=new Array(l);for(var D=0;D>>1,Q=0,q=0,hN=1e3; +for(var D=0;Di)continue; +var J=S[H*2],A=S[H*2+1],a=S[i*2],I=S[i*2+1],E=S[y*2],c=S[y*2+1],u=S[j*2],n=S[j*2+1],o=[[J,A,1,0],[A,-J,0,1],[a,I,1,0],[I,-a,0,1],[E,c,1,0],[c,-E,0,1]]; +if(t[1])o.push([u,n,1,0],[n,-u,0,1]);var x=T.Ig.L8(o),g=P(linear.invert(P(x,o)),x);g.pop();g.pop();l.push(g); +var v=a-J,R=I-A,X=V[t[1]?1:0];X=T.Ig.jZ(X,P([[v,R],[R,-v]],g));var B=[H*2,H*2+1,i*2,i*2+1,y*2,y*2+1,j*2,j*2+1],M=t[1]?8:6,N=[]; +for(var $=0;$>>1,f=new Array(w); +if(b.length==0){f.fill(0);return f}var h=new Array(w),Q=new Array(w);for(var D=0;D=0&&$>=0&&N+$<=1){var eQ=1-N-$,hN=y*eQ+j*N+J*$,bI=A*eQ+a*N+I*$; +T.J.bt(hN,bI,w,f,h,V);T.yF.agz(V,Q,X*e+B<<2)}}};T.yF.agz=function(Z,S,b){var Y=S[b],P=S[b+1],w=S[b+2],f=S[b+3],h=1-Z[3]*(1/255); +S[b]=~~(.5+Z[0]+Y*h);S[b+1]=~~(.5+Z[1]+P*h);S[b+2]=~~(.5+Z[2]+w*h);S[b+3]=~~(.5+Z[3]+f*h)};T.yF.Uu=function(){var Z=function(b,Y,P,w){var f=w[0],h=w[1],Q=w[2],e=b[f+0],l=b[f+1],O=b[h+0],m=b[h+1],V=b[Q+0],q=b[Q+1],K=O-e,z=m-l,t=V-e,H=q-l,i=Y-e,y=P-l,j=K*H-t*z,J=1/(j+1e-9),A=(i*H-t*y)*J,a=(K*y-i*z)*J; +if(A>=0&&a>=0&&A+a<=1){w[3]=1-A-a;w[4]=A;w[5]=a;return 1}return 0},S=function(b,Y,P,w){var f=[0,0,0,0,0,0]; +for(var D=0;D=0;O--){var z=O*S;for(var l=0;l=2){var D=z+m,a=y[j+m-1]+H(j+m-1,D-1),I=y[j+m-2]+H(j+m-1,D-2)+H(j+m-2,D-1); +if(y[j+m]==a){i[D-S]=1;m-=1}else{i[D-S]=0;i[D-S-1]=2;m-=2}}var D=z;if(m==0){i[D-S]=1}else{if(y[j+1]==J){i[D+1-S]=1; +i[D-S]=1}else{i[D+1-S]=0;i[D-S]=2}}z+=h;j+=h}T.y4.a1I(O,S,i,w,V,q,!0,P)}if(Y){console.log(Date.now()-P,"Matching"); +P=Date.now()}var E=w;return[UZIP.adler(Z,0,Z.length),Z,S,b,f,e,Q,V,q,i,E]};T.y4.lP=function(Z,S,b,Y){var P=Z.slice(0),w=P.shift(),f=P.shift(),h=P.shift(),Q=P.shift(),e=P.shift(),l=P.shift(),O=P.shift(),m=P.shift(),V=P.shift().slice(0),q=P.shift(),K=P.shift(),z=Date.now(),t=Math.abs(h-S),H=Math.floor(t/e),i=new Uint32Array(e),j=0,J=1e9,a=0,I=0,E=0; +for(var y=0;y=65280){K[D+B]--;A++;X(R*S+A,R*h+B)}}}}if(Y){console.log(Date.now()-z,"Shifting image pixels"); +z=Date.now()}};T.y4.a1I=function(Z,S,b,Y,P,w){var f=0,D=Z*S;while(fY*Y||J<0||A<0||J>=H||A>=H)continue; +var a=t[A*H+J];q+=j*a;K+=y*a}V.oc=Math.atan2(K,q)}}function Q(l,O,m,V,q){var K=~~(l+.5),z=~~(O+.5);return b(m,V,K-P,K+P,z-P,z+P)}function e(l,O,m,V,q){Z=V; +S=q;if(f.length==0){var K=new T.p.Ny(16200817),i=8,y=0;function z(L){var E=L[0]-L[2],c=L[1]-L[3];return E*E+c*c}function t(){var L=0,bd=0; +while(L===0)L=K.get();while(bd===0)bd=K.get();return Math.sqrt(-2*Math.log(L))*Math.cos(2*Math.PI*bd)}var H=t,j=[]; +while(y!=w){var J=Math.max(-Y,Math.min(Y,H()*i)),A=Math.max(-Y,Math.min(Y,H()*i)),a=Math.max(-Y,Math.min(Y,H()*i)),I=Math.max(-Y,Math.min(Y,H()*i)),E=J-a,c=A-I,u=Math.sqrt(E*E+c*c); +if(u<3||u>12)continue;f.push(J,A,a,I);y++}}var n=20;for(var o=0;o>>3); +x.V1=N;for(var D=0;D>>3]|=(e9>>1,i=H>>>1,y=Math.round(t/3); +if(y!=t/3)throw"e";var j=1/(t*t),J=1.2*(t/9);for(var a=H+1;a=B||K[D+A]>=B)continue;if(K[D-R-A]>=B||K[D-R]>=B||K[D-R+A]>=B)continue;if(K[D+R-A]>=B||K[D+R]>=B||K[D+R+A]>=B)continue; +e.push({x:~~(I*O.Wo+.5),y:~~(a*O.Wo+.5),a1C:I,a7u:a,fT:l,G:B,a92:z[D],zk:J})}}if(f!=null){e.sort(function(fq,e9){return e9.G-fq.G}); +e=e.slice(0,f)}return e;var M=[];for(var D=0;DN.G&&(eQ.fT==N.fT+1||eQ.fT==N.fT-1)){var hN=N.x-eQ.x,bI=N.y-eQ.y;if(hN*hN+bI*bI<5){r=!1; +break}}}if(r)M.push(N)}console.log(e.length,M.length);return M}return{a5e:P}}();T.iN={};T.iN.aoO=function(Z){var S=Z.length,b=T.iN.Bg(Z,!1),P=0,w=1; +throw"e";var Y=[];for(var D=0;D>>1);if(l.length<10)return null;var O=T.iN.agx(w[D],w[h],l,2);e.push([D,h,l,O])}e.sort(function(I,E){return E[2].length-I[2].length}); +if(Y)console.log("Matches found",Date.now()-P);P=Date.now();var m=[],V=new UnionFind(b);for(var D=0; +D>>1][1]}var a=T.J.oN(t[S]); +for(var D=0;Df||o==f&&x>>1;K=z-1}else{K=z=Y>>>1}for(var D=0;D>>1;else S[D]=(D&3)==3?q[Y-1]:q[Y-1]-q[0]}}else console.log(b)};T.Or={}; +T.Or.anl=function(Z,S,b,Y,P){var w=T.Or.Ln(Z.buffer,S,b).B0,f=Date.now(),h=new Uint32Array(w.length); +for(var D=0;D>2]=H.ind}return{ZG:l,B0:Q[1]}};T.Or.Ln=function(Z,S,b){var Y=[],P={},w=S-1,f=b-1,h=0,Q=new Uint32Array(Z),e=[-S-1,-S,-S+1,-1,1,S-1,S,S+1,S+S,2,-S-S,-2,S+S-1,S+S+1,S+2,-S+2,-S-S+1,-S-S-1,-S-2,S-2,S+S+2,-S-S+2-S-S-2,S+S-2]; +for(var l=1;l>1,j=D+((i&1)==0?1:S),J=V.find(D),A=V.find(j),a=Math.min(q[J]+t/Math.sqrt(K[J]),q[A]+t/Math.sqrt(K[A])); +if(J!=A&&y<=a){V.link(D,j);z--;var I=V.find(D);K[I]=K[J]+K[A];q[I]=y}}var E=[],c={},u=new Uint16Array(P); +for(var D=0;D>2};T.Or.Ep=function(){function Z(t,H,i,y,j,J){var A=[],a=J,I=J,E=J>>>2;for(var c=0; +c>>1;if(c>65535)throw c;var u=[];for(var D=0; +D<1e3+i;D++)u.push([]);var n=[0,1,0,-1,-1,0,1,0],g=Math.min(a,5),v=new Uint32Array(c*6);for(var R=0; +R>>x)}var $=Math.min(i,X*j);if(R+g>=a)$=i;while(P!=0){f(u);var eQ=u[Y].pop(),hN=u[Y].pop(),bI=hN>>>16,fq=hN&65535,D=bI*H+fq; +if(I[D]==65535){var e9=eQ*6,W=D<<2;I[D]=eQ;v[e9]+=t[W];v[e9+1]+=t[W+1];v[e9+2]+=t[W+2];v[e9+3]+=fq;v[e9+4]+=bI; +v[e9+5]++;var L=bI>>>x;if(bI!=$-1&&I[D+H]==65535)w(u,bI+1<<16|fq,eQ,Q(t,H,J,fq,bI+1,v,e9)+L);if(bI!=0&&I[D-H]==65535)w(u,bI-1<<16|fq,eQ,Q(t,H,J,fq,bI-1,v,e9)+L); +if(fq!=0&&I[D-1]==65535)w(u,bI<<16|fq-1,eQ,Q(t,H,J,fq-1,bI,v,e9)+L);if(fq!=H-1&&I[D+1]==65535)w(u,bI<<16|fq+1,eQ,Q(t,H,J,fq+1,bI,v,e9)+L)}}if($!=bI){var bd=(R+g)*A; +v.fill(0,bd*6,(bd+A)*6);for(var bI=(R+g-2)*j;bI<$;bI++)for(var fq=0;fq=bd){I[D]=65535}}}}return{ZG:I,EJ:c,dc:v}}T.Or.jx=function(t,H,i,y,j){var J=t.EJ,A=H*i,a=t.dc,I=t.ZG,E=V(y,I,J,A),c=new UnionFind(J),v=0; +for(var u=1;u>>7);j[I]=A=j[I]|E}}return A!=3};function Q(t,H,i,y,j,J,A){var a=(j*H+y)*4,I=J[A+5],E=1/I,c=t[a]*I-J[A],u=t[a+1]*I-J[A+1],n=t[a+2]*I-J[A+2],o=y*I-J[A+3],x=j*I-J[A+4],g=Math.sqrt(c*c+u*u+n*n),v=Math.sqrt(o*o+x*x); +return~~((g+i*v)*E+.5)}function e(t,H,i,y){var j=1/t[i+5],J=1/t[y+5],A=t[i]*j-t[y]*J,a=t[i+1]*j-t[y+1]*J,I=t[i+2]*j-t[y+2]*J,E=t[i+3]*j-t[y+3]*J,c=t[i+4]*j-t[y+4]*J,u=Math.sqrt(A*A+a*a+I*I),n=Math.sqrt(E*E+c*c); +return~~(u+H*n+.5)}function l(t,H,i){var y=T.wg(t,new b4(0,0,H,i)),j=y.rect.c,J=y.rect.v,A=h(y.j$,j,J),a=A.ZG,I=Date.now(),E=new Uint16Array(H*i); +E.fill(65535);for(var c=0;c>>4,n=t[I+1]>>>4,o=t[I+2]>>>4; +J[E*4400+(u<<8|n<<4|o)]++;J[E*4400+4096]++;J[E*4400+4100+(u<<4|n)]++;J[E*4400+4360+u]++;if(a!=0&&(c=y[D-1])!=E&&O(S[E],c)==-1){S[E].push(c,0); +S[c].push(E,0)}if(A!=0&&(c=y[D-H])!=E&&O(S[E],c)==-1){S[E].push(c,0);S[c].push(E,0)}}for(var D=0;D>>7)}return j}T.Or.amg=function(t,H,i,y,j,J,A){var a=H*i,I=A[0],S=A[1],E=new UnionFind(y),c=V(j,t,y,a),u=-1,n=!0,o=0; +for(var D=0;Di){i=J; +H=j}}return t[H]}function K(S,t,H,i){var y=S[H],j=S[i];m(y,O(y,i));m(j,O(j,H));for(var D=0;D0)return 1; +else if(a<0)return 0}return 0}function O(A,q){var K=new Z,z=A,t=q,a=0,I=1,E;K.color=P[q*w+A];K.sign=Q(A,q,P,w)==K.color?"+":"-"; +while(1){K.cz.push(z,t);if(z>K.An)K.An=z;if(zK._6)K._6=t;if(t>1),t+(I-a-1>>1),P,w)==K.color,u=Q(z+(a-I-1>>1),t+(I+a-1>>1),P,w)==K.color; +if(u&&!c){if(h.zQ=="right"||h.zQ=="black"&&K.sign=="+"||h.zQ=="white"&&K.sign=="-"||h.zQ=="majority"&&l(z,t,K.color)||h.zQ=="minority"&&!l(z,t,K.color)){E=a; +a=-I;I=E}else{E=a;a=I;I=-E}}else if(u){E=a;a=-I;I=E}else if(!c){E=a;a=I;I=-E}}return K}var m=0,V=[]; +while(!0){var m=e(m);if(m==-1)break;var q=Math.floor(m/w),K=O(m-q*w,q);for(var D=0;Dh.afy)V.push(K)}for(var D=0;D=0;j--){var J=V[j]; +if(y.CtJ.An||y.t2J._6)continue;if(!hQ.anB(J.cz,y.cz[0]+.5,y.cz[1]+.5))continue; +y.parent=j;break}}return V}function Y(P,w){function f(a,I,E,c,u){this.x=a;this.y=I;this.ER=E;this.D5=c; +this.WQ=u}function h(a,C){return(C+a)%C}function Q(a,I,E,c){return a*c-E*I}function e(a,I,E,c){return a*E+I*c}function l(a,I,E){if(a<=E)return a<=I&&I=0&&$<=1)return $;else if(eQ>=0&&eQ<=1)return eQ; +else return-1}function t(A){var D,a,I;A.GU=A.cz[0];A.a4g=A.cz[1];A.So=[];var E=A.So;E.push(new f(0,0,0,0,0)); +for(D=0;D=0;D--){if(a[D<<1]!=a[W<<1]&&a[(D<<1)+1]!=a[(W<<1)+1])W=D+1;c[D]=W}for(D=C-1; +D>=0;D--){var L=h(D+1,C)<<1;u[0]=u[1]=u[2]=u[3]=0;I=(3+3*(a[L]-a[D<<1])+(a[L+1]-a[(D<<1)+1]))/2;u[I]++; +n=0;o=0;x=0;g=0;W=c[D];eQ=D;while(1){N=0;I=(3+3*Math.sign(a[W*2]-a[eQ*2])+Math.sign(a[W*2+1]-a[eQ*2+1]))/2; +u[I]++;if(u[0]&&u[1]&&u[2]&&u[3]){E[D]=eQ;N=1;break}M=a[W*2]-a[D*2];r=a[W*2+1]-a[D*2+1];if(Q(n,o,M,r)<0||Q(x,g,M,r)>0){break}if(Math.abs(M)<=1&&Math.abs(r)<=1){}else{v=M+(r>=0&&(r>0||M<0)?1:-1); +R=r+(M<=0&&(M<0||r<0)?1:-1);if(Q(n,o,v,R)>=0){n=v;o=R}v=M+(r<=0&&(r<0||M<0)?1:-1);R=r+(M>=0&&(M>0||r<0)?1:-1); +if(Q(x,g,v,R)<=0){x=v;g=R}}eQ=W;W=c[eQ];if(!l(W,D,eQ)){break}}if(N==0){X=Math.sign(a[W*2]-a[eQ*2]);B=Math.sign(a[W*2+1]-a[eQ*2+1]); +M=a[eQ*2]-a[D*2];r=a[eQ*2+1]-a[D*2+1];hN=Q(n,o,M,r);bI=Q(n,o,X,B);fq=Q(x,g,M,r);e9=Q(x,g,X,B);$=1e7; +if(bI<0){$=Math.floor(hN/-bI)}if(e9>0){$=Math.min($,Math.floor(-fq/e9))}E[D]=h(eQ+$,C)}}$=E[C-1];A.Lv[C-1]=$; +for(D=C-2;D>=0;D--){if(l(D+1,E[D],$)){$=E[D]}A.Lv[D]=$}for(D=C-1;l(h(D+1,C),$,A.Lv[D]);D--){A.Lv[D]=$}}function i(A){function a(A,D,I){var C=A.GB,M=A.cz,r=A.So,N,$,eQ,hN,bI,c,fq,e9,B,W,L,bd,iw,d7,d0=0; +if(I>=C){I-=C;d0=1}if(d0==0){N=r[I+1].x-r[D].x;$=r[I+1].y-r[D].y;hN=r[I+1].D5-r[D].D5;eQ=r[I+1].ER-r[D].ER; +bI=r[I+1].WQ-r[D].WQ;c=I+1-D}else{N=r[I+1].x-r[D].x+r[C].x;$=r[I+1].y-r[D].y+r[C].y;hN=r[I+1].D5-r[D].D5+r[C].D5; +eQ=r[I+1].ER-r[D].ER+r[C].ER;bI=r[I+1].WQ-r[D].WQ+r[C].WQ;c=I+1-D+C}L=(M[D<<1]+M[I<<1])/2-M[0];bd=(M[(D<<1)+1]+M[(I<<1)+1])/2-M[1]; +d7=M[I<<1]-M[D<<1];iw=-(M[(I<<1)+1]-M[(D<<1)+1]);fq=(hN-2*N*L)/c+L*L;e9=(eQ-N*bd-$*L)/c+L*bd;B=(bI-2*$*bd)/c+bd*bd; +W=iw*iw*fq+2*iw*d7*e9+d7*d7*B;return Math.sqrt(W)}var D,I,E,c,C=A.GB,u=new Array(C+1),n=new Array(C+1),o=new Array(C),x=new Array(C+1),g=new Array(C+1),v=new Array(C+1),R,X,B; +for(D=0;D0;I--){v[I]=D; +D=x[D]}v[0]=0;u[0]=0;for(I=1;I<=E;I++){for(D=v[I];D<=g[I];D++){X=-1;for(c=g[I-1];c>=x[D];c--){R=a(A,c,D)+u[c]; +if(X<0||R0;I--){D=n[D];A.aaQ[I]=D}}function y(A){function a(A,D,R,o,x,gS){var C=A.GB,cf=A.So,cT=0,B; +while(R>=C){R-=C;cT+=1}while(D>=C){D-=C;cT-=1}while(R<0){R+=C;cT-=1}while(D<0){D+=C;cT+=1}var fU=cf[R+1].x-cf[D].x+cT*cf[C].x,dX=cf[R+1].y-cf[D].y+cT*cf[C].y,g$=cf[R+1].D5-cf[D].D5+cT*cf[C].D5,bX=cf[R+1].ER-cf[D].ER+cT*cf[C].ER,aw=cf[R+1].WQ-cf[D].WQ+cT*cf[C].WQ,X=R+1-D+cT*C; +o[gS]=fU/X;o[gS+1]=dX/X;var hP=(g$-fU*fU/X)/X,eG=(bX-fU*dX/X)/X,eB=(aw-dX*dX/X)/X,bb=(hP+eB+Math.sqrt((hP-eB)*(hP-eB)+4*eG*eG))/2; +hP-=bb;eB-=bb;if(Math.abs(hP)>=Math.abs(eB)){B=Math.sqrt(hP*hP+eG*eG);if(B!=0){x[gS]=-eG/B;x[gS+1]=hP/B}}else{B=Math.sqrt(eB*eB+eG*eG); +if(B!=0){x[gS]=-eB/B;x[gS+1]=eG/B}}if(B==0){x[gS]=x[gS+1]=0}}var I=A.b9,E=A.aaQ,C=A.GB,c=A.cz,u=A.GU,n=A.a4g,o=new Array(I*2),x=new Array(I*2),g=new Array(I),v=new Array(3),D,R,X,B,$,eQ,hN,bI,fq,e9,W; +A.Va=new S(I);for(D=0;DN[4]){v[0]=-N[1];v[1]=N[0]}else if(N[4]){v[0]=-N[4];v[1]=N[3]}else{v[0]=1; +v[1]=0}var M=v[0]*v[0]+v[1]*v[1],r=1/M;v[2]=-v[1]*bd-v[0]*L;for(B=0;B<3;B++){N[B*3+0]+=v[B]*v[0]*r;N[B*3+1]+=v[B]*v[1]*r; +N[B*3+2]+=v[B]*v[2]*r}}$=Math.abs(iw-L);eQ=Math.abs(d7-bd);if($<=.5&&eQ<=.5){A.Va.g4[D<<1]=iw+u;A.Va.g4[(D<<1)+1]=d7+n; +continue}hN=O(N,L,bd);fq=L;e9=bd;if(N[0]!=0){for(W=0;W<2;W++){d7=bd-.5+W;iw=-(N[1]*d7+N[2])/N[0];$=Math.abs(iw-L); +bI=O(N,iw,d7);if($<=.5&&bI1?1-1/u:0;o=o*(1/.75)}else{o=4/3}I.H7[E]=o; +var hN=3*E<<1;if(o>=w.abI){I.fb[E]=0;I.tE[hN+0]=I.tE[hN+1]=0;I.tE[hN+2]=r;I.tE[hN+3]=N;I.tE[hN+4]=$; +I.tE[hN+5]=eQ}else{if(o<.55){o=.55}else if(o>1){o=1}var bI=.5+.5*o;I.fb[E]=1;I.tE[hN]=m(bI,R,r);I.tE[hN+1]=m(bI,X,N); +I.tE[hN+2]=m(bI,B,r);I.tE[hN+3]=m(bI,M,N);I.tE[hN+4]=$;I.tE[hN+5]=eQ}I.alpha[E]=o;I.DH[E]=.5}I.ae5=1}function J(A){function a(){this.nc=0; +this.kK=0;this.fS=0;this.XK=0;this.Ab=0;this.QX=0;this.zk=0;this.alpha=0}function I(A,D,R,er,ea,fq,e9){var c=A.Va.rX,hD=A.Va.tE,bP=A.Va.g4; +if(D==R)return 1;var iz=D,r=h(D+1,c),iq=h(iz+1,c),bX=bP[D<<1],aw=bP[(D<<1)+1],cU=bP[r<<1],aH=bP[(r<<1)+1],eK=fq[iq]; +if(eK==0)return 1;var h6=q(bX-cU,aw-aH);for(iz=iq;iz!=R;iz=iq){var iq=h(iz+1,c),co=h(iz+2,c),dh=bP[iq<<1],cX=bP[(iq<<1)+1],eY=bP[co<<1],ga=bP[(co<<1)+1]; +if(fq[iq]!=eK)return 1;if(Math.sign(Q(cU-bX,aH-aw,eY-dh,ga-cX))!=eK)return 1;if(e(cU-bX,aH-aw,eY-dh,ga-cX)=R){N+=e9[c]}var gQ=em-gS,eE=br-cf,a1=cF-gS,fA=cW-cf,eH=bM-gS,gd=ct-cf,ey=Q(gQ,eE,a1,fA),hx=Q(gQ,eE,eH,gd),ew=Q(a1,fA,eH,gd),am=ey+ew-hx; +if(hx==ey)return 1;var bI=ew/(ew-am),hN=hx/(hx-ey),dI=hx*bI/2;if(dI==0)return 1;var bs=N/dI,$=2-Math.sqrt(4-bs/.3); +er.kK=m(bI*$,gS,em);er.fS=m(bI*$,cf,br);er.XK=m(hN*$,bM,cF);er.Ab=m(hN*$,ct,cW);er.alpha=$;er.QX=bI; +er.zk=hN;em=er.kK;br=er.fS;cF=er.XK;cW=er.Ab;er.nc=0;for(iz=h(D+1,c);iz!=R;iz=iq){iq=h(iz+1,c);var fE=bP[iz<<1],gg=bP[(iz<<1)+1],dh=bP[iq<<1],cX=bP[(iq<<1)+1]; +bI=z(em-gS,br-cf,cF-em,cW-br,bM-cF,ct-cW,dh-fE,cX-gg);if(bI<-.5)return 1;var bT=K(bI,gS,em,cF,bM),aa=K(bI,cf,br,cW,ct),h6=q(dh-fE,cX-gg); +if(h6==0)return 1;var gR=Q(dh-fE,cX-gg,bT-fE,aa-gg)/h6;if(Math.abs(gR)>ea)return 1;if(e(dh-fE,cX-gg,bT-fE,aa-gg)<0||e(fE-dh,gg-cX,bT-dh,aa-cX)<0){return 1}er.nc+=gR*gR}for(iz=D; +iz!=R;iz=iq){iq=h(iz+1,c);var h0=iz*3+2<<1,a8=iq*3+2<<1,gb=hD[h0],bH=hD[h0+1],dW=hD[a8],cj=hD[a8+1]; +bI=z(em-gS,br-cf,cF-em,cW-br,bM-cF,ct-cW,dW-gb,cj-bH);if(bI<-.5)return 1;var bT=K(bI,gS,em,cF,bM),aa=K(bI,cf,br,cW,ct),h6=q(dW-gb,cj-bH); +if(h6==0)return 1;var gR=Q(dW-gb,cj-bH,bT-gb,aa-bH)/h6,bm=Q(dW-gb,cj-bH,bP[iq<<1]-gb,bP[(iq<<1)+1]-bH)/h6; +bm*=.75*A.Va.alpha[iq];if(bm<0){gR=-gR;bm=-bm}if(gR=0;D--){X=I(A,D,h(R,c),B,w.a6a,fq,e9); +if(X){break}if(x[R]>x[D]+1||x[R]==x[D]+1&&o[R]>o[D]+B.nc){n[R]=D;o[R]=o[D]+B.nc;x[R]=x[D]+1;g[R]=B;B=new a}}}v=x[c]; +eQ=new S(v);hN=new Array(v);bI=new Array(v);R=c;for(D=v-1;D>=0;D--){var eB=h(R,c),bb=D*3+0<<1,gx=eB*3+0<<1; +if(n[R]==R-1){eQ.fb[D]=E.fb[eB];eQ.tE[bb]=E.tE[gx];eQ.tE[bb+1]=E.tE[gx+1];eQ.tE[bb+2]=E.tE[gx+2];eQ.tE[bb+3]=E.tE[gx+3]; +eQ.tE[bb+4]=E.tE[gx+4];eQ.tE[bb+5]=E.tE[gx+5];eQ.g4[D<<1]=E.g4[eB<<1];eQ.g4[(D<<1)+1]=E.g4[(eB<<1)+1]; +eQ.alpha[D]=E.alpha[eB];eQ.H7[D]=E.H7[eB];eQ.DH[D]=E.DH[eB];hN[D]=bI[D]=1}else{eQ.fb[D]="CURVE";eQ.tE[bb]=g[R].kK; +eQ.tE[bb+1]=g[R].fS;eQ.tE[bb+2]=g[R].XK;eQ.tE[bb+3]=g[R].Ab;eQ.tE[bb+4]=E.tE[gx+4];eQ.tE[bb+5]=E.tE[gx+5]; +eQ.g4[D<<1]=m(g[R].zk,E.tE[gx+4],u[eB<<1]);eQ.g4[(D<<1)+1]=m(g[R].zk,E.tE[gx+5],u[(eB<<1)+1]);eQ.alpha[D]=g[R].alpha; +eQ.H7[D]=g[R].alpha;hN[D]=g[R].zk;bI[D]=g[R].QX}R=n[R]}for(D=0;D"; +for(var D=0;D>>24&255)==0)continue;Q+=">0&255,m=e>>8&255,V=e>>16&255,e="rgb("+O+","+m+","+V+")";Q+="\" fill=\""+e+"\" fill-rule=\"evenodd\"/>"}Q+=""; +return Q};hQ.anB=function(Z,S,b){var C=Z.length>>1,Y,P=Z[2*C-3]-b,w=Z[2*C-2]-S,f=Z[2*C-1]-b,h=f>P,Q=0; +for(var D=0;DP}for(var D=0;D0&&f>0)continue;if(Y<0&&w<0)continue;if(P==f&&Math.min(Y,w)<=0)return!0; +if(P==f)continue;var e=Y+(w-Y)*-P/(f-P);if(e==0)return!0;if(e>0)Q++;if(P==0&&h&&f>P)Q--;if(P==0&&!h&&fP}return(Q&1)==1};hQ.fill=function(Z,S,b,Y){var P=S[Z],w=[Z],f=0;while(fS.getParameter(S.MAX_TEXTURE_SIZE)){p.lc=!1;alert("Disabling WebGL")}}; +p.jS=function(Z,S){return new Float32Array([(Z.x-S.x)/S.c,(Z.y-S.y)/S.v,Z.c/S.c,Z.v/S.v])};p.bo=function(){return this.QY}; +p.Kd=function(Z,S){var b=p.x_;b.bindFramebuffer(b.FRAMEBUFFER,p.eA);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,Z.t_,0); +b.viewport(0,0,Z.c,Z.v);if(S){b.enable(b.SCISSOR_TEST);b.scissor(S.x,S.y,S.c,S.v)}else b.disable(b.SCISSOR_TEST)}; +p.vk=function(Z,S,b){if(b)throw"error";var Y=p.x_;Y.disable(Y.SCISSOR_TEST);Y.bindFramebuffer(Y.FRAMEBUFFER,null); +Y.viewport(0,0,Z,S);if(b){Y.enable(Y.SCISSOR_TEST);Y.scissor(b.x,b.y,Math.round(b.c),Math.round(b.v))}else Y.disable(Y.SCISSOR_TEST)}; +p.clear=function(){var Z=p.x_;Z.clearColor(0,0,0,0);Z.clear(Z.COLOR_BUFFER_BIT)};p.RO=function(Z,S){if(S==null)S=0; +var b=(S>>>0&255)==0,Y=(S>>>8&255)==0,P=(S>>>16&255)==0,w=(S>>>24&255)==0,f=(Z>>>0&255)*(1/255),h=(Z>>>8&255)*(1/255),Q=(Z>>>16&255)*(1/255),e=(Z>>>24&255)*(1/255),l=p.x_; +l.colorMask(b,Y,P,w);l.clearColor(f,h,Q,e);l.clear(l.COLOR_BUFFER_BIT);l.colorMask(!0,!0,!0,!0)};p.CF=function(Z,S,b,Y,P){var w=S.Yz(Y); +if(P)w=w.Yz(P);if(w.h3())return;var f=p.x_;p.Kd(Z);f.bindTexture(f.TEXTURE_2D,b.t_);f.copyTexSubImage2D(f.TEXTURE_2D,0,w.x-Y.x,w.y-Y.y,w.x-S.x,w.y-S.y,w.c,w.v)}; +p._w=function(D,Z,S){var b=p.MP[D];if(b==null||b.c!=Z||b.v!=S){if(b)b.delete();b=new p.XA(Z,S)}p.MP[D]=b; +return b};p.MP=[];p.ft=function(){this.tA=null;this.mf=null};p.ft.Mj=null;p.ft.prototype.d7=function(Z){if(this.mf)return; +this.mf={};var S=p.x_,b=this.tA,Y=this.mf;for(var D=0;D>>1); +S.activeTexture(S["TEXTURE"+(D>>>1)]);S.bindTexture(S.TEXTURE_2D,Z[D+1])}S.activeTexture(S.TEXTURE0)}; +p.ft.prototype.wi=function(Z,S){var b=p.x_,Y=b.createShader(b.FRAGMENT_SHADER);b.shaderSource(Y,Z);b.compileShader(Y); +if(!b.getShaderParameter(Y,b.COMPILE_STATUS))console.log(b.getShaderInfoLog(Y));var P=b.createShader(b.VERTEX_SHADER); +b.shaderSource(P,S);b.compileShader(P);if(!b.getShaderParameter(P,b.COMPILE_STATUS))console.log(b.getShaderInfoLog(P)); +var w=b.createProgram();b.attachShader(w,P);b.attachShader(w,Y);b.linkProgram(w);if(!b.getProgramParameter(w,b.LINK_STATUS))console.log("Could not initialise shaders"); +this.tA=w};p.ft.prototype.RF=function(){if(p.ft.Mj!=this){p.x_.useProgram(this.tA);p.ft.Mj=this}};p.vt=function(Z,S){p.MG++; +p.Qq+=Z*S;if(p.z9)console.log("GL.Channels instances: "+p.MG+", memory: "+p.Qq);var b=p.x_;this.c=Z; +this.v=S;this.t_=b.createTexture();this.J5=null;this.RJ(this.t_,Z,S)};p.vt.prototype.RJ=function(Z,S,b){var Y=p.x_; +Y.bindTexture(Y.TEXTURE_2D,Z);Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MIN_FILTER,Y.NEAREST);Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MAG_FILTER,Y.NEAREST); +Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_WRAP_S,Y.CLAMP_TO_EDGE);Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_WRAP_T,Y.CLAMP_TO_EDGE); +Y.texImage2D(Y.TEXTURE_2D,0,Y.ALPHA,S,b,0,Y.ALPHA,Y.UNSIGNED_BYTE,null)};p.vt.prototype.set=function(Z){var S=p.x_; +S.bindTexture(S.TEXTURE_2D,this.t_);S.pixelStorei(S.UNPACK_ALIGNMENT,1);S.texImage2D(S.TEXTURE_2D,0,S.ALPHA,this.c,this.v,0,S.ALPHA,S.UNSIGNED_BYTE,Z); +S.pixelStorei(S.UNPACK_ALIGNMENT,4)};p.vt.prototype.delete=function(){var Z=p.x_;if(this.t_){Z.deleteTexture(this.t_); +p.MG--;p.Qq-=this.c*this.v}if(p.z9)if(p.z9)console.log("GL.Channels instances: "+p.MG+", memory: "+p.Qq*4)}; +p.MG=0;p.XA=function(Z,S,b){if(b==null)b=!1;p.MG++;p.Qq+=Z*S*4;if(p.z9)console.log("GL.Channels instances: "+p.MG+", memory: "+p.Qq); +var Y=p.x_;this.aod=b;this.c=Z;this.v=S;this.t_=Y.createTexture();this.J5=null;this.RJ(this.t_,Z,S)}; +p.XA.prototype.set=function(Z,S){var b=p.x_;b.disable(b.SCISSOR_TEST);b.bindTexture(b.TEXTURE_2D,this.t_); +if(Z==null||Z instanceof Uint8Array){var Y=this.c*this.v;if(S==null||S.X()*10>Y)b.texImage2D(b.TEXTURE_2D,0,b.RGBA,this.c,this.v,0,b.RGBA,b.UNSIGNED_BYTE,Z); +else{var P=T.f(S.X()*4);T.uH(Z,new b4(0,0,this.c,this.v),P,S);b.texSubImage2D(b.TEXTURE_2D,0,S.x,S.y,S.c,S.v,b.RGBA,b.UNSIGNED_BYTE,P)}}else b.texImage2D(b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,Z)}; +p.XA.prototype.get=function(Z){var S=p.x_;p.Kd(this);S.readPixels(0,0,this.c,this.v,S.RGBA,S.UNSIGNED_BYTE,Z)}; +p.XA.prototype.k1=function(Z){if(Z.h3())return;var S=p.x_;if(this.J5==null){this.J5=S.createTexture(); +this.RJ(this.J5,this.c,this.v);p.MG++;p.Qq+=this.c*this.v*4}S.bindFramebuffer(S.FRAMEBUFFER,p.eA);S.bindTexture(S.TEXTURE_2D,this.J5); +if(Z){var b=Math.max(Z.x,0),Y=Math.max(Z.y,0);S.copyTexSubImage2D(S.TEXTURE_2D,0,b,Y,b,Y,Z.c,Z.v)}else S.copyTexImage2D(S.TEXTURE_2D,0,S.RGBA,0,0,this.c,this.v,0)}; +p.XA.prototype.RJ=function(Z,S,b){var Y=p.x_;Y.bindTexture(Y.TEXTURE_2D,Z);Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MIN_FILTER,this.aod?Y.LINEAR:Y.NEAREST); +Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MAG_FILTER,Y.NEAREST);Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_WRAP_S,Y.CLAMP_TO_EDGE); +Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_WRAP_T,Y.CLAMP_TO_EDGE);Y.texImage2D(Y.TEXTURE_2D,0,Y.RGBA,S,b,0,Y.RGBA,Y.UNSIGNED_BYTE,null)}; +p.XA.prototype.delete=function(){var Z=p.x_;if(this.t_){Z.deleteTexture(this.t_);p.MG--;p.Qq-=this.c*this.v*4}if(this.J5){Z.deleteTexture(this.J5); +p.MG--;p.Qq-=this.c*this.v*4}if(p.z9)if(p.z9)console.log("GL.Channels instances: "+p.MG+", memory: "+p.Qq)}; +p.XA.prototype.clone=function(){var Z=p.x_,S=new p.XA(this.c,this.v);p.Kd(this);Z.bindTexture(Z.TEXTURE_2D,S.t_); +Z.copyTexImage2D(Z.TEXTURE_2D,0,Z.RGBA,0,0,this.c,this.v,0);return S};p.lH={aoN:" vec3 ocbrn(vec3 a, vec3 b, float f) { vec3 d = (a*vec3(f)+ONE3-vec3(f)); return mix(ONE3 - min(ONE3,(ONE3-b)/d), ZERO3, vec3(vec3(greaterThan(vec3(0.001),d))) ); } ",amY:" vec3 ocddg(vec3 a, vec3 b, float f) { return mix( min(ONE3, b/(ONE3 - a*f)) , ONE3 , vec3(equal(a*f,ONE3 )) ); } ",wJ:"const vec3 ZERO3 = vec3(0.0,0.0,0.0) ;\t\t\tconst vec3 QUAR3 = vec3(0.25,0.25,0.25) ;\t\t\tconst vec3 HALF3 = vec3(0.5,0.5,0.5) ;\t\t\tconst vec3 ONE3 = vec3(1.0,1.0,1.0) ;",Ot:" float hueDiff(float shue, float hue) { \t\t\t\tfloat df = hue-shue, adf=abs(df), df0 = df-1.0, df1 = df+1.0; \t\t\t\tif(abs(df0) < adf) df = df0; \t\t\t\telse if(abs(df1) < adf) df = df1; \t\t\t\treturn df; \t\t\t}",vA:" float hueCF(float hueS, float hue0) { \t\t\t\tfloat df = hueDiff(hue0, hueS)*6.0; \t\t\t\treturn max(0.0, min(1.0, (df<0.0) ? 1.0+df : 1.0-df )); } ",h0:"float sat(vec3 c) { return max(c.x,max(c.y,c.z)) - min(c.x,min(c.y,c.z)); }",oQ:"float lum(vec3 c) { return dot(c, vec3(0.3,0.59,0.11)); } ",Iy:"vec3 D (vec3 x) { return mix( sqrt(x), ((16.0*x-12.0)*x+4.0)*x , vec3(lessThanEqual(x,QUAR3)) ); }",adL:"float midSat (vec3 v, float s) { return ((v.y-v.z)*s)/(v.x-v.z); }",Zz:"vec3 setSat (vec3 c, float s) \t\t\t{\t\t\t\tvec3 o;\t\t\t\tif(c.r==c.g && c.g==c.b) o = ZERO3;\t\t\t\telse if(c.r>c.g) {\t\t\t\t\tif(c.r>c.b) {\t\t\t\t\t\tif(c.g>c.b)\to = vec3(s, midSat(c.rgb,s), 0.0); \t\t\t\t\t\telse\to = vec3(s, 0.0, midSat(c.rbg,s)); \t\t\t\t\t}\t\t\t\t\telse\t\to = vec3(midSat(c.brg,s), 0.0, s); \t\t\t\t} else {\t\t\t\t\tif(c.rc.b)\to = vec3(0.0, s, midSat(c.gbr,s)); \t\t\t\t\t\telse\t o = vec3(0.0, midSat(c.bgr,s), s); \t\t\t\t\t}\t\t\t\t\telse\t\t o = vec3(midSat(c.grb,s), s, 0.0);\t\t\t\t}\t\t\t\treturn o;\t\t\t}",an5:"vec3 clipCol(vec3 c) \t\t\t{ \t\t\t\tvec3 o = c; float l = lum(c); \t\t\t\tfloat n = min(c.r,min(c.g,c.b)); \t\t\t\tfloat x = max(c.r,max(c.g,c.b)); \t\t\t\tif(n<0.0) o = l + (o-l)*(l/(l-n));\t\t\t\tif(x>1.0) o = l + (o-l)*(1.0-l)/(x-l);\t\t\t\treturn o;\t\t\t}",Wf:"vec3 setLum (vec3 c, float l) { return clipCol(c+l-lum(c)); } ",Op:"bool in01(vec2 c) { return (0.0<=c.x) && (c.x<=1.0) && (0.0<=c.y) && (c.y<=1.0); }",hash:"float hash(vec2 v) { return fract(sin(dot(v ,vec2(12.9898,78.233))) * 43758.5453); }",dU:"vec3 rgbToHsl (vec3 rgb) {\t\t\t\tfloat r = rgb.r, g = rgb.g, b = rgb.b; \t\t\t\tfloat mx = max(r, max(g, b)), mn = min(r, min(g, b)); \t\t\t\tfloat h, s, l = (mx + mn) * 0.5;\t\t\t\t\t\t\t\tif(mx == mn) h = s = 0.0; \t\t\t\telse{ \t\t\t\t\tfloat d = mx - mn; \t\t\t\t\ts = l > 0.5 ? d / (2.0 - mx - mn) : d / (mx + mn); \t\t\t\t\t\t\t\t\t\tif(mx==r) h = (g - b) / d + (g < b ? 6.0 : 0.0); \t\t\t\t\telse if(mx==g) h = (b - r) / d + 2.0; \t\t\t\t\telse if(mx==b) h = (r - g) / d + 4.0; \t\t\t\t\t\t\t\t\t\th /= 6.0; \t\t\t\t} \t\t\t\treturn vec3(h,s,l); }",E$:"vec3 hslToRgb (float h, float s, float l){\t\t\t\tfloat r, g, b;\t\t\t\t\t\t\t\tif(s == 0.0) r = g = b = l; \t\t\t\telse{ \t\t\t\t\tfloat q = l < 0.5 ? l * (1.0 + s) : l + s - l * s; \t\t\t\t\tfloat p = 2.0 * l - q; \t\t\t\t\tr = hue2rgb(p, q, h + 1.0/3.0); \t\t\t\t\tg = hue2rgb(p, q, h); \t\t\t\t\tb = hue2rgb(p, q, h - 1.0/3.0); \t\t\t\t} \t\t\t\treturn vec3(r,g,b); } ",Ut:"float hue2rgb(float p, float q, float t){ \t\t\t\tif(t < 0.0) t += 1.0;\t\t\t\tif(t > 1.0) t -= 1.0;\t\t\t\tif(t < 1.0/6.0) return p + (q - p) * 6.0 * t; \t\t\t\tif(t < 1.0/2.0) return q; \t\t\t\tif(t < 2.0/3.0) return p + (q - p) * (2.0/3.0 - t) * 6.0; \t\t\t\treturn p;\t}",hy:"vec3 rgbToHsv(vec3 rgb){\t\t\t\t\tfloat r = rgb.r, g = rgb.g, b = rgb.b; \t\t\t\tfloat mx = max(r, max(g, b)), mn = min(r, min(g, b)); \t\t\t\tfloat h, s, v = mx; \t\t\t\t\t\t\t\tfloat d = mx - mn; \t\t\t\ts = mx == 0.0 ? 0.0 : d / mx; \t\t\t\t\t\t\t\tif(mx == mn) h = 0.0; \t\t\t\telse if(mx==r) h = (g - b) / d + (g < b ? 6.0 : 0.0); \t\t\t\telse if(mx==g) h = (b - r) / d + 2.0; \t\t\t\telse if(mx==b) h = (r - g) / d + 4.0; \t\t\t\t\t\t\t\th /= 6.0; \t\t\t\treturn vec3(h,s,v); }",Ta:"vec3 hsvToRgb(float h, float s, float v) { \t\t\t\tfloat r, g, b, f, p, q, t, i; \t\t\t\ti = floor(h * 6.0); \t\t\t\tf = h * 6.0 - i; \t\t\t\tp = v * (1.0 - s); \t\t\t\tq = v * (1.0 - f * s); \t\t\t\tt = v * (1.0 - (1.0 - f) * s); \t\t\t\t\t\t\t\tif (i==0.0) { r = v, g = t, b = p; }\t\t\t\telse if(i==1.0) { r = q, g = v, b = p; }\t\t\t\telse if(i==2.0) { r = p, g = v, b = t; }\t\t\t\telse if(i==3.0) { r = p, g = q, b = v; }\t\t\t\telse if(i==4.0) { r = t, g = p, b = v; }\t\t\t\telse if(i==5.0) { r = v, g = p, b = q; }\t\t\t\t\t\t\t\treturn vec3(r,g,b); }",N1:"\t\tfloat srgbUngamma(float x) {\t\t\treturn (x<0.04045) ? (x / 12.92) : pow( ( x + 0.055 ) / 1.055, 2.4);\t\t}\t\tfloat xyzScale(float x) {\t\t\treturn (x>0.008856) ? pow(x,1.0/3.0) : (903.3*x+16.0)*(1.0/116.0); \t\t}\t\tvec3 rgbToLab(vec3 rgb) {\t\t\tbool ok = true;\t\t\trgb.r = srgbUngamma(rgb.r); \t\t\trgb.g = srgbUngamma(rgb.g); \t\t\trgb.b = srgbUngamma(rgb.b); \t\t\tok = ok && 0.0318<=rgb.r && rgb.r<=0.0319; \t\t\tok = ok && 0.127 <=rgb.g && rgb.g<=0.128 ; \t\t\tok = ok && 0.3047<=rgb.b && rgb.b<=0.305; \t\t\t\t\t\tmat3 srgb2xyz = mat3(0.4360747164307918, 0.222504478679176, 0.013932173981751634, 0.3850649153329662, 0.7168786002139355, 0.09710452396580642, 0.14308038098632878, 0.06061692340677909, 0.7141732835334675); \t\t\t\t\t\tvec3 xyz = srgb2xyz*rgb; \t\t\tok = ok && 0.106<=xyz[0] && xyz[0]<=0.107; \t\t\t\t\t\txyz=xyz*vec3(100.0/96.72, 100.0/100.0, 100.0/81.427); \t\t\txyz.x = xyzScale(xyz.x); \t\t\txyz.y = xyzScale(xyz.y); \t\t\txyz.z = xyzScale(xyz.z); \t\t\t\t\t\treturn vec3(116.0*xyz.y-16.0, 500.0*(xyz.x-xyz.y), 200.0*(xyz.y-xyz.z)); \t\t} \t\tfloat labSimilar(vec3 lab, vec3 mnm, vec3 mxm, float lim) {\t\t\tfloat L=lab.x, a=lab.y, b=lab.z; \t\t\tfloat dl = ((L1.0?1.0:mi);\t\t}"}; +p.Es={JJ:{},Jf:"\t\t\tattribute vec2 verPos;\t\t\tvarying vec2 sCoord;\t\t\tvoid main(void) {\t\t\t\tsCoord = verPos;\t\t\t\tgl_Position = vec4(vec2(-1.0,-1.0) + 2.0*verPos, 0.0, 1.0);\t\t\t}"}; +p.Es.H2=function(Z,S){var b=g3.gS,Y=[b._f,b.UK,b.wG,b.eg,b.eo,b.Dv,b.Sa,b.VX].indexOf(Z.type),P=p.Es.JJ[Z.type]; +if(P==null)P=p.Es.JJ[Z.type]=new p.JJ[Y];P.RF();P.Vx(S,Z);p.x_.drawArrays(p.x_.TRIANGLES,0,6)};p.JJ=[]; +p.JJ[0]=function(){p.ft.call(this);this.Eg={};var Z="\t\t\tprecision mediump float;\t\t\t"+p.lH.oQ+"\t\t\t"+p.lH.wJ+"\t\t\tuniform sampler2D source;\t\t\tuniform sampler2D map;\t\t\tuniform float toGray;\t\t\tuniform float presLum;\t\t\t\t\t\tvarying vec2 sCoord;\t\t\t\t\t\tvoid main(void) {\t\t\t\tvec4 src = texture2D(source, sCoord); \t\t\t\tfloat olum = lum(src.rgb); \t\t\t\tsrc.rgb = toGray * vec3(olum) + (1.0-toGray)*src.rgb; \t\t\t\tfloat r = texture2D(map, vec2(src.r, 0)).r;\t\t\t\tfloat g = texture2D(map, vec2(src.g, 0)).g;\t\t\t\tfloat b = texture2D(map, vec2(src.b, 0)).b;\t\t\t\tvec3 col = vec3(r,g,b); \t\t\t\tif(presLum==1.0) { \t\t\t\t\tfloat nlum = lum(col); \t\t\t\t\tif(olum>nlum) col += (olum-nlum)/(1.0-nlum)*(ONE3-col); \t\t\t\t\telse if(nlum==0.0) col = ZERO3; \t\t\t\t\telse col = (olum/nlum) * col; \t\t\t\t}\t\t\t\tgl_FragColor = vec4(col,src.w);\t\t\t\t\t\t\t}"; +this.wi(Z,p.Es.Jf)};p.JJ[0].prototype=new p.ft;p.JJ[0].prototype.Vx=function(Z,S){var b={h:S.x0,l:S.Nn,O:S.yf,w:T.f(S.x0.length)},Y=b.h.length; +if(this.Eg["m"+Y]==null){this.Eg["m"+Y]={aiA:new p.XA(Y,1),j$:T.f(Y*4)}}var P=this.Eg["m"+Y];T.s$(b,P.j$,0); +var w=P.aiA;w.set(P.j$);this.d7(["source","map","toGray","presLum"]);var f=p.x_,h=this.mf;f.uniform1f(h.toGray,S.kl?1:0); +f.uniform1f(h.presLum,S.nQ?1:0);this.R8([h.source,Z,h.map,w.t_])};p.JJ[1]=function(){p.ft.call(this); +this.a5b=new p.XA(256,1);this.acO=T.f(256*4);var Z="\t\t\t\tprecision mediump float;\t\t\t\t"+p.lH.Ut+"\t\t\t\t"+p.lH.dU+"\t\t\t\t"+p.lH.E$+"\t\t\t\t\t\t\t\tuniform sampler2D source;\t\t\t\tuniform sampler2D map;\t\t\t\tuniform float cfa; \t\t\t\tuniform float cfb; \t\t\t\tuniform int colorize; \t\t\t\t\t\t\t\tvarying vec2 sCoord;\t\t\t\t\t\t\t\tvoid main(void) { \t\t\t\t\tvec4 src = texture2D(source, sCoord);\t\t\t\t\tvec3 rgb = src.rgb;\t\t\t\t\tfloat mn=min(rgb.r,min(rgb.g,rgb.b)), mx = max(rgb.r,max(rgb.g,rgb.b));\t\t\t\t\t\t\t\t\t\tvec3 hsl = rgbToHsl(rgb); \t\t\t\t\tfloat h = hsl.r, s = hsl.g, l = hsl.b; \t\t\t\t\t\t\t\t\t\tvec4 mapv = texture2D(map, vec2(h, 0));\t\t\t\t\tfloat nh = mapv.r; \t\t\t\t\tfloat sc = mapv.g*2.0-1.0; \t\t\t\t\tfloat lc = mapv.b*2.0-1.0; \t\t\t\t\t\t\t\t\t\tfloat cf = -lc, tv=mn;\t\t\t\t\tif(0.00.0) sc = pow(tan((3.14159265359/2.0)*sc),1.3);\t\t\t\t\t\tns = min(s * (1.0 + sc), 1.0); \t\t\t\t\t} \t\t\t\t\t\t\t\t\t\tgl_FragColor = vec4(hslToRgb(nh,ns,l),src.w); \t\t\t\t\t\t\t\t\t}"; +this.wi(Z,p.Es.Jf)};p.JJ[1].prototype=new p.ft;p.JJ[1].prototype.Vx=function(Z,S){T.s$({h:S.amj,l:S.$x,O:S.a4Y,w:T.f(256)},this.acO); +this.a5b.set(this.acO);this.d7(["source","map","cfa","cfb","colorize"]);var b=p.x_,Y=this.mf;b.uniform1f(Y.cfa,S.a7_); +b.uniform1f(Y.cfb,S.e9);b.uniform1i(Y.colorize,S.ads);this.R8([Y.source,Z,Y.map,this.a5b.t_])};p.JJ[2]=function(){p.ft.call(this); +var Z="\t\t\tprecision mediump float;\t\t\t"+p.lH.Ut+"\t\t\t"+p.lH.hy+"\t\t\t"+p.lH.Ta+"\t\t\t"+p.lH.dU+"\t\t\t"+p.lH.E$+"\t\t\t\t\t\tuniform sampler2D source;\t\t\tuniform float vib; \t\t\tuniform float sat; \t\t\tconst float PI = 3.141592653; \t\t\t\t\t\tvarying vec2 sCoord;\t\t\t\t\t\tvoid main(void) { \t\t\t\tvec4 src = texture2D(source, sCoord); \t\t\t\tvec3 hsl = rgbToHsv(src.rgb); \t\t\t\tfloat h=hsl.r, s=hsl.g, l=hsl.b; \t\t\t\t\t\t\t\tfloat sk0 = 0.0, sk1 = 45.0/360.0; \t\t\t\tfloat skin = (h2OI;5g7:@5nVPLIGeVMX`|njge-'&-$V&)/$BbHB4D%GNx`KSI=_f_menp%E+%vwKB4&'XQY``edhootpjxp&%*'vhxY{#>5HINMDXX]YnVW",Vk:0,n1:1,GL:2,M8:3}; +p.filter.H2=function(Z,S){var b=p.filter,Y=[b.Vk,b.n1,b.GL,b.M8].indexOf(Z.type),P=p.filter.NH[Z.type]; +if(P==null)P=p.filter.NH[Z.type]=new p.NH[Y];P.RF();P.Vx(S,Z);p.x_.drawArrays(p.x_.TRIANGLES,0,6)};p.NH=[0,0,0,0,0,0,0]; +p.NH[3]=function(){p.ft.call(this);var Z="1%* !*709;O@;=ETOUgQZ`Uk5rnllx~|2)y)/.*:\\qPGFOOCH!^ZXXdjh}wij<-y+~T2.,,8>{wuu\"(&;5'(ZJ<@=JtRNLLX^\\qbYo2!tvv'@N,(&&286K<3IkZNPP`z(fThremi%~pqC4+]-06+d/?BBXEM2TTdugYZ.|v,\" qrF5)X,#=OAWACCSlkYoY[[k&!6pfx||{0!w2D-$>P<\\J`HhWioTKewc$s(o0|14JNDEJX>:,-_OE7G@qi[MN!pdo&|vhi<, ,>42$%WG=/H*8FySLTp\\g{&))4:;7CC;$0CSRPXZ_cg]Wd]quw~$}'-/50=wm $$#7-~8y(6L\\RRiYLP^}gZfo.z/Dr{\"v-;1#)d/3AH?cORDJ$UUygY_~>45:6,*{|O?6;6f5>D9O]T[$yz ~ubjb?66;Iw$*B$-3(>LIob).\"|^$(>C72s(+,\"rzrOFFKK+3+e77[PuiRDJehh0gY_'!gvx\"y\",~W&28P2;A6LZV}p7<0+k26LQE@!6KCBGC9'06+AO6NuTiKSK&WW{o6*rdj&)(P(y GA(79B:BL?wIImiU]Bddt&wij>5s,B3H2$*T[\\a]`c]DSU^V^h[4rde9(nz$Q, 6599/^sZIHQQEJsja4cfla+ykl>7u.D5GK.?3Vk:CI>TbIM)PTh obft4my#A.BW&/5*@N3K?wmnvpMYb!h$,-7>2nz$B~EMNTWS0>CC /#KO,8A_G?=]kcM\\Pyi[\\/'9384Iw!'{2@49>iW6:t@DRYPj-p{~^bpwn6os;D|!/6-PJgP[:>y|rsx+~ %2#ae1ko}%{?H $KNc2;A6LZAX!ww||chm7ry0En&L(-(H]'>S04}M?H'VV\\b0i\\hq=#"; +this.wi(s.Qk(Z),s.Qk(p.filter.Jf))};p.NH[3].prototype=new p.ft;p.NH[3].prototype.Vx=function(Z,S){this.d7("source iwh tdep rrad spec nois poly0 poly1".split(" ")); +var b=p.x_,Y=this.mf;b.uniform2fv(Y.iwh,S.ZU);b.uniform1f(Y.tdep,S.agO);b.uniform1f(Y.rrad,S.a2$);b.uniform2fv(Y.spec,S.agg); +b.uniform3fv(Y.nois,S.a0H);b.uniformMatrix4fv(Y.poly0,!1,S.aeQ);b.uniformMatrix4fv(Y.poly1,!1,S.a0A); +this.R8([Y.source,Z]);var P=b.LINEAR;b.activeTexture(b.TEXTURE0);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,P); +b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,P);b.activeTexture(b.TEXTURE0)};p.NH[0]=function(){p.ft.call(this); +var Z="1%* !*709;O@;=ETOUgQZ`Uk5|uqoo{\" 5,|,21-=_tSJIRRFK$kd`^^jpn$}opB3 1%ZB;755AGEZTFGyiYT.unjhhtzx.w!'{2@7/3;5mUO=Q[NVRmgYZ,|sFux~sM5~(.#9G23E'?;AOZm_QR$th$}|$mv|q(62M?_E=1GFJJ@o%kZYbbV[%{o-{mn@9AHHMLCVW\\X\\?PDgo\\#jT]cXn|x5&F,$w.-11'VkRA@II=BkbVsbTU' z//43*=>C?C&7+NVCiQ;DJ?Uc`zl-rj^tswwm=R9('00$)RI=ZI;^DWXd\\S;Sn_ epe!~n)$9!zlm@0\"6V<.286-;;O=bTFGyqyTk(#`x31(8r*DA~7ROF.E_\\:Rlgj g]Seiih|drz1xs>$AV>?D>:75SD;FNj\\XUSztszdmsh~-({6V5g7:@5\\`QEzbc"; +this.wi(s.Qk(Z),s.Qk(p.filter.Jf))};p.NH[0].prototype=new p.ft;p.NH[0].prototype.Vx=function(Z,S){this.d7(["source","iwh","ld","shine"]); +var b=p.x_,Y=this.mf;b.uniform2fv(Y.iwh,S.ZU);b.uniform3fv(Y.ld,S.a66);b.uniform1f(Y.shine,S.amB);this.R8([Y.source,Z,Y.tang,S.eq])}; +p.NH[1]=function(){p.ft.call(this);var Z="1%* !*709;O@;=ETOUgQZ`Uk5|uqoo{\" 5,|,21-=_tSJIRRFK$kd`^^jpn$}opB3 1%ZB;755AGEZDMSH^lYfY4{tpnnz!~4}'-\"8F,?9FJEAya[I]gZb^ysef8) R\"%+ YA+4:/ES?;PHjLU[Pfths*!jsyn%3'3E?>E/8>3IWM?X:HVl-ribj'r}2PpV@IORXp\\w-tn`a3$u|]0P6*I.3`H2;A6LZQqt$]V^z'**/+@(\"stF7}M@`F-LlRLXf^DWQ^b]Yv$|hdyq4r\")@,L:MQ>^a_:IPgSsbtxe&)$9!vl~##\"6,0,7OP\\\\acjhmi~fglfb_]{lcnv3%!}{C=& qrF5{++AaG?3IHLLBq'm\\[ddX]'}tGvy t?D>:75SD;FNj\\XUSztszdmsh~-x+S-&'0'S?89B9u]GPVKaofmx9~338F.(yzN=494IiOG;QPTTJy/udcll`e/&|O~\"(|DYA;-._P:GYy_tsxuvfZpossi9N5%t%!H?6h8;A6]eSWmZLM~w#$.(/0:14I1+|}O@(FfL6CpXBNTlQYbp]4*8 lB;G/{@CD>=D>01bSGYy_V)X[aV0wams,mv|q(6,YOPUcKAmfgjmns\"i_z}~xw~xjk=.~x7W=RQVSTD8NMQQGv,rbRb^&|p,4\"&<)z{MFQR\\V]^h_bw_LLpP^f|e_*e-C:;@<65<-'bU93lTUZB`!fWQ+rfx'<\"rl5w)|R:$-3(>LGRrXSDKLP_uc|2ypup&4I/*?-!76::0_t[JIRRFKtk_z0wnu,A~E-yy>,Z\\+=QK1D:9Fx`afN*|Yf4{|\"ltjT$u~]--39IiOFKFefrrwyah|2yz"; +this.wi(s.Qk(Z),s.Qk(p.filter.Jf))};p.NH[2].prototype=new p.ft;p.NH[2].prototype.Vx=function(Z,S){this.d7(["source","tang","iwh","sigma","expo"]); +var b=p.x_,Y=this.mf;b.uniform2fv(Y.iwh,S.ZU);b.uniform1f(Y.sigma,S.an0);b.uniform1f(Y.expo,S.aiv);this.R8([Y.source,Z,Y.tang,S.eq]); +var P=b.LINEAR;b.activeTexture(b.TEXTURE0);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,P);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,P); +b.activeTexture(b.TEXTURE0)};p.p={};p.p.Xu={};p.p.Y0=null;p.p.tq=null;p.p.TE=null;p.p.UH=function(Z,S,b,Y,P,w,f,h){if(h==null)h=eg.xB(); +if("idiv,lbrn,div ,lddg,vLit,lLit,hMix,diff".split(",").indexOf(Z)==-1){f=f*h.fill;h.fill=1;h.style=!1}var Q=Z+(h.lu?"1":""); +if(p.p.Xu[Q]==null)p.p.Xu[Q]=new p.p.UN(Z,h.lu!=null);var e=p.p.Xu[Q],l=b.Yz(P).Yz(w);l.offset(-P.x,-P.y); +if(l.h3())return;var O=p.x_;p.Kd(Y,l);Y.k1(l);e.RF();e.Vx(S.t_,Y.J5,p.jS(b,P),f,h.fill,h.style?1:0,h.gd?1:0,h.lu?new Float32Array(h.lu):null); +O.drawArrays(O.TRIANGLES,0,6)};p.p.eV=function(Z,S,b,Y,P,w,f,h,Q,e,l){if(p.p.Y0==null)p.p.Y0=new p.p.V3(!0,!0); +if(p.p.tq==null)p.p.tq=new p.p.V3(!0,!1);if(p.p.TE==null)p.p.TE=new p.p.V3(!1,!0);var O=e?1:0,m=Z?P?p.p.Y0:p.p.tq:p.p.TE,V=new Float32Array(l?[l[0],l[1],l[2],1]:[1,1,1,1]),q=S?S.Yz(Y).Yz(h):Y.Yz(h); +if(q.h3())return;q.offset(-Y.x,-Y.y);var K=p.x_;p.Kd(b,q);b.k1(q);m.RF();if(Z==null)m.Vx(null,b.J5,P.t_,p.jS(Y,Y),p.jS(w,Y),f/255,Q,O,V); +else if(P)m.Vx(Z.t_,b.J5,P.t_,p.jS(S,Y),p.jS(w,Y),f/255,Q,O,V);else m.Vx(Z.t_,b.J5,null,p.jS(S,Y),null,f/255,Q,O,V); +K.drawArrays(K.TRIANGLES,0,6)};p.p.ali=function(Z,S,b){if(p.p.abT==null)p.p.abT=new p.p.pt;var Y=p.p.abT,P=new b4(0,0,Z.c,Z.v),w=p.x_; +p.Kd(S);S.k1(P);Y.RF();Y.Vx(P,Z.t_,S.J5,b.t_);w.drawArrays(w.TRIANGLES,0,6)};p.p.Gu={norm:"return a;",diss:"return a;",dark:"return min(a,b);","mul ":"return a*b;",idiv:" vec3 d = (a*vec3(f)+ONE3-vec3(f)); return mix(mix(ONE3-((ONE3-b)/max(d,vec3(1e-6))), ZERO3, vec3(greaterThanEqual(ONE3-b,d)) ), ONE3 , vec3(equal(b,ONE3) )); ",lbrn:"return max(ZERO3, a*f+b-f);",dkCl:"return ( lum(a)lum(b) ? a : b );",over:"return mix( a+(2.0*b -1.0)-a*(2.0*b-1.0) , 2.0*b*a , step(-HALF3,-b) );",sLit:"return mix( b+(2.0*a -1.0)*(D(b)-b) , b-(1.0-2.0*a)*b*(1.0-b) , step(-HALF3,-a) );",hLit:"return mix( b+(2.0*a -1.0)-b*(2.0*a-1.0) , 2.0*a*b , step(-HALF3,-a) );",vLit:" return mix( ocddg(2.0*a-1.0,b,f) , ocbrn(2.0*a,b,f) , vec3(greaterThanEqual(HALF3,a))); ",lLit:"return mix( min(ONE3, (2.0*a-1.0)*f+b) , max(ZERO3, 2.0*a*f+b-f) , step(-HALF3,-a));",pLit:"return mix( max(2.0*a-1.0,b) , min(2.0*a, b) , step(-HALF3,-a) );",hMix:"if(f>0.99) return vec3(greaterThanEqual(a+b,ONE3)); return min( ONE3, max(ZERO3, (b+a*f-f)/(1.0-f+1e-6) )) ; ",diff:"return abs(a*f-b);",smud:"return a+b-2.0*a*b;",fsub:"return max(b-a, ZERO3);",fdiv:"return min(b/a, ONE3);","hue ":"return setLum( setSat(a, sat(b)) , lum(b) ); ","sat ":"return setLum( setSat(b, sat(a)) , lum(b) ); ",colr:"return setLum( a, lum(b) ); ","lum ":"return setLum( b, lum(a) ); "}; +p.p.UN=function(Z,S){p.ft.call(this);var b="\t\t\tprecision mediump float;\t\t\t"+p.lH.wJ+"\t\t\t\t\t\tuniform sampler2D source;\t\t\tuniform sampler2D target;\t\t\tuniform float alpha;\t\t\tuniform float fill;\t\t\tuniform float style;\t\t\tuniform float keepBGA;\t\t\t"+(S?"uniform vec4 blIf[10];":"")+"\t\t\t\t\t\tvarying vec2 tCoord;\t\t\tvarying vec2 sCoord;\t\t\t\t\t\t\t\t\t"+p.lH.h0+"\t\t\t"+p.lH.oQ+"\t\t\t"+p.lH.Iy+"\t\t\t"+p.lH.aoN+"\t\t\t"+p.lH.amY+"\t\t\t"+p.lH.adL+"\t\t\t"+p.lH.Zz+"\t\t\t"+p.lH.an5+"\t\t\t"+p.lH.Wf+"\t\t\t"+p.lH.hash+"\t\t\t"+(S?p.lH.Pc:"")+"\t\t\t\t\t\tvec3 BB(vec3 a, vec3 b, float f) { "+p.p.Gu[Z]+" } \t\t\t\t\t\tvoid main(void) {\t\t\t\tvec4 tgt = texture2D(target, tCoord);\t\t\t\tvec4 src = texture2D(source, sCoord);",Y="\t\t\tattribute vec2 verPos;\t\t\tuniform vec4 srct;\t\t\tvarying vec2 tCoord;\t\t\tvarying vec2 sCoord;\t\t\tvoid main(void) {\t\t\t\ttCoord = verPos;\t\t\t\tsCoord = (verPos-srct.xy)/srct.zw;\t\t\t\tgl_Position = vec4(vec2(-1.0,-1.0) + 2.0*verPos, 0.0, 1.0);\t\t\t}"; +if(Z=="diss")b+="\t\t\t\t\tgl_FragColor = (hash(tCoord) >= (keepBGA + (1.0-keepBGA)*src.w)*alpha ? tgt : vec4(src.xyz, keepBGA*tgt.w + (1.0-keepBGA))); }"; +else b+=" \t\t\t\t\tfloat as = (keepBGA + (1.0-keepBGA)*src.w) * alpha, at = keepBGA + (1.0-keepBGA)*tgt.w; \t\t\t\t\t"+(S?" as*=blendIf(src,tgt,blIf); ":"")+"\t\t\t\t\tfloat ats = at * (1.0-as), ao = as + ats, iao = (ao==0.0) ? 0.0 : (1.0/ao); \t\t\t\t\tfloat ccf = (style==1.0) ? 1.0 : as; \t\t\t\t\tvec3 ncl = ( (1.0-at)*as*src.xyz + (1.0-ccf)*at*tgt.xyz + ccf*at*BB(src.xyz, tgt.xyz, (1.0+as-ccf)*fill) ) * iao;\t\t\t\t\tgl_FragColor = vec4(ncl, keepBGA*tgt.w + (1.0-keepBGA)*(as*fill + at*(1.0-as*fill)));\t\t\t\t\t\t\t}"; +this.wi(b,Y)};p.p.UN.prototype=new p.ft;p.p.UN.prototype.Vx=function(Z,S,b,Y,P,w,f,h){this.d7("srct alpha source target fill style keepBGA blIf".split(" ")); +var Q=p.x_,e=this.mf;Q.uniform4fv(e.srct,b);Q.uniform1f(e.alpha,Y);Q.uniform1f(e.fill,P);Q.uniform1f(e.style,w); +Q.uniform1f(e.keepBGA,f);if(h)Q.uniform4fv(e.blIf,h);this.R8([e.source,Z,e.target,S])};p.p.V3=function(Z,S){p.ft.call(this); +this.aag=Z;this.KW=S;var b="\t\t\tprecision mediump float;\t\t\t\t\t\tuniform sampler2D source;\t\t\tuniform sampler2D target;\t\t\tuniform sampler2D weight;\t\t\tuniform vec4 cswitch;\t\t\tuniform float wcolor;\t\t\tuniform float awg; /* additional weight */\t\t\tuniform float dissv;\t\t\t\t\t\tvarying vec2 tCoord;\t\t\tvarying vec2 sCoord;\t\t\tvarying vec2 wCoord;\t\t\t\t\t\t"+p.lH.Op+"\t\t\t"+p.lH.hash+"\t\t\t\t\t\tvoid main(void) {\t\t\t\tvec4 tgt = texture2D(target, tCoord);\t\t\t\tvec4 src = "+(Z?"texture2D(source, sCoord)":"vec4(0.0)")+"; \t\t\t\tfloat wg = awg "+(S?"* (in01(wCoord) ? texture2D(weight, wCoord).w : wcolor)":"")+";\t\t\t\t"+(Z?"":"wg = 1.0-wg;")+"\t\t\t\tfloat hwg = hash(tCoord)>=wg ? 0.0 : 1.0; wg = dissv*hwg + (1.0-dissv)*wg; \t\t\t\tfloat as = wg*src.w, at = (1.0-wg)*tgt.w, ao = as+at;\t\t\t\t\t\t\t\tvec4 nc = vec4( (as*src.xyz + at*tgt.xyz)/ao, ao ); \t\t\t\tgl_FragColor = "+(S?"nc":"cswitch*nc + (1.0- cswitch)*tgt")+"; \t\t\t}",Y="\t\t\tattribute vec2 verPos;\t\t\tvarying vec2 tCoord;\t\t\tvarying vec2 sCoord;\t\t\tvarying vec2 wCoord;\t\t\t\t\t\tuniform vec4 srct;\t\t\tuniform vec4 wrct;\t\t\tvoid main(void) {\t\t\t\ttCoord = verPos;\t\t\t\tsCoord = (verPos-srct.xy)/srct.zw;\t\t\t\twCoord = (verPos-wrct.xy)/wrct.zw;\t\t\t\tgl_Position = vec4(vec2(-1.0,-1.0) + 2.0*verPos, 0.0, 1.0);\t\t\t}"; +this.wi(b,Y)};p.p.V3.prototype=new p.ft;p.p.V3.prototype.Vx=function(Z,S,b,Y,P,w,f,h,Q){if(this.KW)this.d7("srct wrct wcolor awg dissv source target weight cswitch".split(" ")); +else this.d7("srct awg dissv source target cswitch".split(" "));var e=p.x_,l=this.mf;e.uniform4fv(l.srct,Y); +if(this.KW){e.uniform4fv(l.wrct,P);e.uniform1f(l.wcolor,w)}else{e.uniform4fv(l.cswitch,Q)}e.uniform1f(l.awg,f); +e.uniform1f(l.dissv,h);var O=[l.source,Z,l.target,S];if(this.KW)O.push(l.weight,b);this.R8(O)};p.p.pt=function(){p.ft.call(this); +var Z="\t\t\tprecision mediump float;\t\t\t\t\t\tuniform sampler2D prev;\t\t\tuniform sampler2D next;\t\t\tuniform sampler2D alpha;\t\t\t\t\t\tvarying vec2 coord;\t\t\t\t\t\t\t\t\tvoid main(void) {\t\t\t\tvec3 or = texture2D(prev , coord).rgb;\t\t\t\tvec3 ir = texture2D(next , coord).rgb; \t\t\t\tfloat al = texture2D(alpha, coord).w; \t\t\t\tgl_FragColor = vec4( (ir-(1.0-al)*or)*(1.0/al) ,1.0 ); \t\t\t}",S="\t\t\tattribute vec2 verPos;\t\t\tvarying vec2 coord;\t\t\t\t\t\tuniform vec4 rct;\t\t\tvoid main(void) {\t\t\t\tcoord = verPos;\t\t\t\tgl_Position = vec4(vec2(-1.0,-1.0) + 2.0*verPos, 0.0, 1.0);\t\t\t}"; +this.wi(Z,S)};p.p.pt.prototype=new p.ft;p.p.pt.prototype.Vx=function(Z,S,b,Y){this.d7(["rct","prev","next","alpha"]); +var P=p.x_,w=this.mf;P.uniform4fv(w.rct,[0,0,1,1]);this.R8([w.prev,S,w.next,b,w.alpha,Y])};var G={}; +G.$W=function(Z,S,b){this.name=Z;this.id=S;this.$o=null;if(b!=null)this.z2=b};G.$W.prototype.Pf=function(Z,S,b,Y,P){}; +G.$W.prototype.enable=function(Z,S,b,Y,P,w){var f=new d(s.E.P,!0);f.data={e:s.U.il,tf:"default"};S.m(f)}; +G.$W.prototype.disable=function(Z,S,b,Y,P){};G.$W.prototype.Cn=function(Z,S,b,Y,P){return!1};G.$W.prototype.Os=function(Z,S,b,Y,P){}; +G.$W.prototype.vU=function(Z,S,b,Y,P){};G.$W.prototype.Zq=function(Z,S,b,Y,P){};G.$W.prototype.Xa=function(Z,S,b,Y,P){}; +G.$W.prototype.nL=function(Z,S,b,Y,P){};G.$W.prototype.XF=function(Z,S,b,Y){};G.$W.prototype.s1=function(Z,S,b,Y){}; +G.$W.prototype.Ed=function(Z,S){};G.$W.prototype.zv=function(Z,S){};G.$W.prototype.aa=function(Z,S,b,Y,P){}; +G.$W.prototype.na=function(Z,S){};G.$W.prototype.jo=function(Z,S){return!1};G.$W.prototype.wF=function(Z,S){return!1}; +G.$W.prototype.K7=function(){return!1};G.$W.prototype.M7=function(Z,S){return!0};G.$W.prototype.od=function(){return null}; +G.$W.prototype.HL=function(Z,S,b){};G.$W.prototype.gm=function(){return!1};G.$W.prototype.Vy=function(Z,S,b,Y){}; +G.$W.prototype.track=function(Z){var S=new d(s.E.TH,!0);S.data=Z;Z.$i=!0;this.$o.m(S)};G.$W.i8=function(Z,S,b,Y,P){G.$W.NF(Z,S,[aV.get([12,41]).charAt(0)+": "+T.dp.Rv(b.c,Y.GY,P,Y.c,!0),aV.get([12,42]).charAt(0)+": "+T.dp.Rv(b.v,Y.GY,P,Y.v,!0)],Y)}; +G.$W.NF=function(Z,S,b,Y){var P=14,w=130,f=b.length*17+8,h=new b4(Z,S-f,w,f),Q=G.$W.hg;if(Q==null)Q=G.$W.hg=document.createElement("canvas"); +Q.width=w;Q.height=f;var e=Q.getContext("2d");e.fillStyle="rgba(0,0,1,1)";e.fillRect(0,0,w,f);e.font=P+"px monospace"; +e.fillStyle="rgba(255,255,255,1)";for(var D=0;DMath.abs(f); +if(e&&Y[2]){var l=Math.round(2*w/P);h+=l;b.x-=w-.5*l*P}if(!e&&!Y[2]&&Q!=-1){var l=Math.round(.25*f); +Q+=l;b.y-=f-4*l}h=Math.max(1,h);Q=Y[1]==-1?-1:Math.max(0,Math.min(100,Q));var O=Y[3];O.Brsh.v.Dmtr.v.val=h; +if(Q!=-1)O.Brsh.v.Hrdn.v.val=Q;this.ym=[h,Q,e,O,b];var m=b6.Fl(O,S.Xg.qr,P),V=m[1];V.x=Math.round(this._o.x-V.c/2); +V.y=Math.round(this._o.y-V.v/2);Z.M.Hn=[m];var q=Z.a._2(this._o.x,this._o.y);Z.M._m={HA:[],N_:[q.x-h/2,q.y,q.x+h/2,q.y]}; +if(Q!=-1)Z.M._m.N_.push(q.x+50/P,q.y-Q/2,q.x+50/P,q.y+Q/2);Z.nd=!0};G.px.prototype.nL=function(Z,S,b,Y,P){if(this.id==G.WS)return; +if(this._o){this._o=null;this.h7(JSON.parse(JSON.stringify(this.ym[3])));Z.M.Hn=[];Z.M._m=null;Z.nd=!0; +return}var w=new d(s.E.P,!0);w.data={e:s.U.jO,T:this.id,a6s:"showBrushOpts",DA:new ar(P.w$+4,P.rE)}; +S.m(w)};G.px.prototype.h7=function(Z){var S=new d(s.E.P,!0);S.data={e:s.U.h4,Sz:bp.EE,Un:Z};this.caller.m(S)}; +G.px.uB=function(Z,S,b,Y,P){if(Z==null)Z="FrgC";if(S==null)S="norm";if(b==null)b=1;if(P==null)P=!1;var w={classID:"Fl",Usng:{t:"enum",v:{FlCn:Z}},Opct:{t:"UntF",v:{type:"#Prc",val:Math.round(b*100)}},PrsT:{t:"bool",v:P},Md:{t:"enum",v:{BlnM:is.QT(S)}}}; +if(Z=="Clr")w.Clr={t:"Objc",v:Y};if(Z=="contentAware")w.contentAwareColorAdaptationFill={t:"bool",v:!0}; +return{uf:"fill",V1:w}};G.px.prototype.Pf=function(Z,S,b,Y,P){this.$o=S;var w=b.k9.length;if(w==0&&!b.bY())return; +var f=w!=0?-1-b.k9[0]:b.C[0],h=b.t[f];if(Z.e=="fromAction"){var Q=Z.K4,e=Q.V1;if(Q.uf=="fill"){var l=e.PrsT?e.PrsT.v:!1,O=h.add.lspf,K; +if(l){h.add.lspf=O==null?1:O|1}var m=(e.Opct?e.Opct.v.val:100)/100,V=e.Md?is.Tk(e.Md.v.BlnM):"norm",q=e.Usng.v.FlCn; +if(q=="contentAware"){if(b.N==null){alert("Select an area to heal first.");return}if(!b.bY())return; +this.Y$(b);this.EB(b,0);var z=b.N,t=T.f(z.rect.X()*4);T.y8(z.channel,t,3);this.VH(b,"sheal",t,z.rect,z.rect); +this.D(b,z.rect);this.finish(b,z.rect)}else{if(q=="FrgC")K=P.ui;else if(q=="BckC")K=P.VY;else if(q=="Blck")K=0; +else if(q=="Wht")K=16777215;else if(q=="Gry")K=8421504;else if(q=="Clr"){var H=T.W.CD(e.Clr.v);K=H.h<<16|H.l<<8|H.O}var i=K>>16&255,y=K>>8&255,j=K>>0&255; +this.oU(b,h,b.N,i,y,j,Math.round(255*m),V,[2,3])}if(l){h.add.lspf=O==null?0:O}}else if(Q.uf=="delete"){var J=f<0?1:h.PC,z=b.N,c; +if(z==null)return;var A=f<0?b.eP[-f-1]:J<=0?null:J==1?h.Y6():h.fY(b).d,a=J<=0?h.rect:A.rect,I=J<=0?z.rect.Yz(a):z.rect.clone(); +if(I.h3())return;var E=I.X();if(J<=0){c=T.f(E*4);T.uH(h.buffer,h.rect,c,I)}else{c=T.f(E);A.extend(I); +T.JS(A.channel,A.rect,c,I)}if(0<=f&&h.CQ(b,z)){if(J<=0){T._U(c,0);T.uH(h.Ns.NA,h.Ns.Xv,c,I)}else{c.fill(255); +T.JS(h.Ns.NA,h.Ns.Xv,c,I)}}else{if(J<=0){var u=T.f(c.length>>2);T.to(c,u,3);T.p.gX(T.Nv(z.rect.X()),z.rect,u,I,z.channel,I,1); +T.y8(u,c,3)}else{var n=T.f(z.rect.X()),i=P.VY>>>16&255,y=P.VY>>8&255,j=P.VY>>0&255;n.fill(Math.round(T.w2(i,y,j))); +T.p.gX(n,z.rect,c,I,z.channel,I,1)}}this.aC(b,!0,[2,2],f,J,I,c)}}if(Z.e=="stroke"){var o=Z.ab0,z=b.N; +if(z==null){z={rect:h.rect.clone(),channel:T.f(h.rect.X())};T.to(h.buffer,z.channel,3)}var x=eg.jk(o),g=G.Ks.$A(z,Math.ceil(x[0]),Math.ceil(x[1])),K=T.W.CD(o.Clr.v),i=Math.round(K.h),y=Math.round(K.l),j=Math.round(K.O); +this.oU(b,h,g,i,y,j,Math.round(255*o.Opct.v.val/100),is.Tk(o.Md.v.BlnM),[14,9])}if(Z.e=="fillBMP"){this.ew(b,h,b.N,Z.G4,Z.yf,Z.ep)}if(Z.e=="draw"){var v=Z.fZ,R=v.rect; +this.Y$(b);var X=b.t[b.C[0]];if(Z.aaD&&X&&X.PC<=0&&b.k9.length==0){R=dK.AK.up(v,b);X.buffer=v.buffer.slice(0); +X.rect=R.clone()}else{var B=this.xN.bmode;this.xN.bmode="norm";this.VH(b,"draw",v.buffer,R,R.Yz(new b4(0,0,b.c,b.v))); +this.xN.bmode=B}this.D(b,R);b.Vc=!0;this.finish(b,R,Z.ep,Z.aaD)}};G.px.prototype.oU=function(Z,S,b,Y,P,w,f,h,Q){var e=b==null?new b4(0,0,Z.c,Z.v):b.rect,l=f<<24|w<<16|P<<8|Y<<0,O=T.f(e.X()*4); +T._U(O,l);this.ew(Z,S,b,O,h,Q)};G.px.prototype.ew=function(Z,S,b,Y,P,w){var f=Z.k9.length!=0?-1-Z.k9[0]:Z.C[0],h=f<0?1:S.PC,Q=f<0?Z.eP[-1-f]:h<=0?null:h==1?S.Y6():S.fY(Z).d,e=h<=0?S.rect:Q.rect,l=b==null?new b4(0,0,Z.c,Z.v):b.rect,O=b==null?T.FX(Z.c*Z.v):b.channel,m=l.X(),V,q=null; +if(h<=0){V=T.f(m*4);T.uH(S.buffer,S.rect,V,l)}else{V=T.f(m);Q.extend(l);T.JS(Q.channel,Q.rect,V,l)}if(b!=null)T.Dt(O,Y); +if(h>0){q=T.f(m);T.Mq(Y,q)}if(0<=f&&b&&S.CQ(Z,b)){var K=S.Ns.qG,z=S.Ns.qG.slice(0);if(h<=0)T.Bv(Y,z); +else T.Bv(q,z);var t=new iA([2,3],this);t.data={e:"drawtemp",$:Z.C[0],D3:h,agY:K,agB:z};Z.kz(t);this.Ed(t.data,Z)}else{if(h<=0){var H; +if(S.vv(0)){H=T.f(l.X());T.to(V,H,3)}T.p.xJ(P,Y,l,V,l,l,1);if(S.vv(0))T.y8(H,V,3)}else T.p.gX(q,l,V,l,O,l,1); +this.aC(Z,!0,w,f,h,l,V)}};G.px.prototype.jo=function(Z){if(U.cF.indexOf(Z)!=-1)return!0;return!1};G.px.prototype.XF=function(Z,S,b,Y){var P=this.xN.brush,w=Y.q(U.G_),f=w!=this.xg,h=G.px.Cq(P,Y); +if(h!=null)this.h7(h);if(!Y.q(U.cD)&&Y.iP()!=-1){var Q=s.$H(Math.round(this.xN.opacity*100),Y.iP())/100; +this.ix({opacity:Q},S)}if(this.id==G.hi&&f&&Z!=null){var e=this.xN.qsmode;if(e==2)e=Z.N==null?0:1;else e=2; +this.ix({qsmode:e},S)}this.xg=w;if(f){if(Z)this.iX=Z.a.S;this.uz(b,Y)}};G.px.Cq=function(Z,S){var b=Z.Brsh.v.Dmtr.v.val,Y=Z.Brsh.v.Hrdn!=null?Z.Brsh.v.Hrdn.v.val:-1,P=b,w=Y,f=S.q(U.Lo); +if(S.q(U.FO)){if(f)Y=25*Math.floor((Y-1)/25);else{if(b<=10)b--;else if(b<=50)b=5*Math.floor((b-1)/5); +else if(b<=100)b=10*Math.floor((b-1)/10);else if(b<=200)b=25*Math.floor((b-1)/25);else if(b<=400)b=50*Math.floor((b-1)/50); +else b=100*Math.floor((b-1)/100)}}if(S.q(U.U6)){if(f)Y=25*Math.ceil((Y+1)/25);else{if(b<10)b++;else if(b<50)b=5*Math.ceil((b+1)/5); +else if(b<100)b=10*Math.ceil((b+1)/10);else if(b<200)b=25*Math.ceil((b+1)/25);else if(b<400)b=50*Math.ceil((b+1)/50); +else b=100*Math.ceil((b+1)/100)}}b=Math.max(1,b);Y=Math.max(0,Math.min(100,Y));if(w==-1)Y=-1;if(b!=P||Y!=w){var h=JSON.parse(JSON.stringify(Z)); +h.Brsh.v.Dmtr.v.val=b;if(w!=-1)h.Brsh.v.Hrdn.v.val=Y;return h}return null};G.px.prototype.uz=function(Z,S,b,Y){if(Z.Xg.list.length==0)return; +var P=this.id,w;if((P==G.cK||P==G.yw||P==G.sb||P==G.b_)&&(S!=null&&S.q(U.G_)||this.xN.alt[0]))w="crosshair"; +else{var f=this.iX,h=this.xN.brush;if((P==G.cK||P==G.yw)&&b&&this.rD&&this.rD.length==this.I4.X()*4){var Q=b.a._2(Y.x,Y.y),e=this.fJ(Q),l=this.rD,O=this.I4,m=new b4(O.x+e.x,O.y+e.y,O.c,O.v),V=b6.Fl(h,Z.Xg.qr,f),q=V[0],K=V[1],z=Math.ceil(K.c/f),t=new b4(Math.round(Q.x-z/2),Math.round(Q.y-z/2),z,z),H=T.f(t.X()*4),i,y; +T.uH(l,m,H,t);if(f==1){i=H;y=t}else{var j=new fR(f,0,0,f,0,0),J=G.V.DP([H,t],j,!0);y=K.clone();y.x=J.rect.x; +y.y=J.rect.y;if(y.Oh(J.rect))i=J.buffer;else{i=T.f(y.X()*4);T.uH(J.buffer,J.rect,i,y)}}var A=this.xN.opacity/255; +for(var D=0;D>>1,l=new b4(Math.round(h.x)-e,Math.round(h.y)-e,Q,Q),O=T.f(l.X()*4); +T._U(16777215);for(var D=0;D0){e=T.f(w.X()*4);G.px.vB(f,w,0,e,w)}var l=new iA(b,this);l.data=[{$:Y,D3:P,_:w,Le:e}];if(h)l.data.x$=[Z.N,null]; +if(Q)l.data.x$=[this.O1,Z.N];Z.kz(l);if(S)this.Ed(l.data,Z);else if(h)Z.N=null;dK.MX.P6(Z,l.data)};G.px.prototype.zv=function(Z,S){this.b0(Z,S,!1)}; +G.px.prototype.Ed=function(Z,S){this.b0(Z,S,!0)};G.px.prototype.b0=function(Z,S,b){if(Z.e=="drawtemp"){var Y=b?Z.agB:Z.agY,P=S.t[Z.$]; +P.Ns.qG=Y;P.$p(S,0,0,S.N);P.D();S.Vc=!0}else{dK.MX.$E(S,Z);if(Z.x$){S.N=Z.x$[b?1:0];S.Zu=!0}}S.D()}; +G.px.prototype.pT=function(Z){this.VH(Z,this.L9,this.yg.f9(),this.yg.Ij(),this.yg.JE());this.D(Z)};G.px.prototype.VH=function(Z,S,b,Y,P){var w=this.xN,f=Z.t[Z.C[0]],h=Z.k9.length!=0?Z.eP[Z.k9[0]]:f.PC<=0?null:f.PC==1?f.Y6():f.fY(Z).d,Q=T.f(P.X()*4),e,l=f.vv(0); +if(h==null){if(this.id==G._j&&S=="heal")T.uH(f.buffer,f.rect,Q,P);else T.uH(this.lw,this.s_,Q,P);if(l){e=T.f(P.X()); +T.to(Q,e,3)}}else{G.px.vB(this.lw,this.s_,h.color,Q,P)}if(Z.N&&S!="qselect"){var O=P.Yz(Z.N.rect),m=T.f(O.X()*4); +if(S=="copy"){var V=T.f(O.X());T.JS(Z.N.channel,Z.N.rect,V,O);T.uH(Q,P,m,O);T.p.VZ(b,Y,m,O,V,O,0,O,1,!1)}else{T.uH(b,Y,m,O); +T.FD(Z.N.channel,Z.N.rect,m,O)}b=m;Y=O}function q(t,cT){var dX=Math.max(cT.x,Math.min(cT.x+cT.c-1,t.x)),g$=Math.max(cT.y,Math.min(cT.y+cT.v-1,t.y)); +return new ar(dX,g$)}if(S=="idraw"||S=="ierase"){if(this.kX==null)this.kX=T.f(this.s_.X());var K=this.xN.samp,z=this.W3.VY,t=q(this.LK,P),H=K==0?t:this.HT,i=H.x,y=H.y,j=G.IX.T1(this.lw,this.s_,[H,new ar(i-2,y),new ar(i+2,y),new ar(i,y-2),new ar(i,y+2)]); +if(K==2)j=[[z>>>16&255,z>>>8&255,z>>>0&255,255]];var J=G.IX.sZ(Q,P,t,j,this.xN.wconf),A=T.f(P.X());T.JS(this.kX,this.s_,A,P); +T.To.VK(J,A,A);T.JS(A,P,this.kX,this.s_);T.FD(A,P,b,Y);S=S.slice(1)}if(S=="erase"&&(dK.MX.Pl(Z)!=16777215||h))S="draw"; +if(S=="draw")T.p.xJ(w.bmode,b,Y,Q,P,P,w.opacity);else if(S=="erase"){var a=T.f(P.X()*4);T.uH(b,Y,a,P); +if(h==null){var I=T.f(P.X());T.to(a,I,3);T.ka(I,w.opacity);T.oN(I);T.FD(I,P,Q,P)}else{T._U(a,0,4278190080); +T.p.xJ("norm",a,P,Q,P,P,w.opacity)}}else if(S=="clone"||S=="heal"){var E=this.Bw(),c=this.I4.clone(); +c.offset(E.x,E.y);var u=P.clone();u.lg(1,1);var n=T.f(u.X()*4),o=T.f(u.X());T.uH(b,Y,n,u);T.to(n,o,3); +T._U(n,0);if(h==null){T.uH(this.rD,c,n,u);var x=T.f(u.X());T.to(n,x,3);T.Im(x,o)}else G.px.vB(this.rD,c,h.color,n,u); +if(S=="clone"){T.y8(o,n,3);T.p.xJ(w.bmode,n,u,Q,P,P,w.opacity)}if(S=="heal"){var g=o.slice(0);T.round(g,20); +var v=T.f(u.X()*4);if(h==null)T.uH(this.lw,this.s_,v,u);else G.px.vB(this.lw,this.s_,h.color,v,u);T.p.VZ(n,u,v,u,g,u,0,u,1,!1); +T.Ar.Ci(v,g,u);T.p.VZ(v,u,Q,P,o,u,0,P,1,!1)}}else if(S=="dodge"||S=="burn"){var n=T.f(P.X()*4),B=1,M=0,r=0,N=0; +T.uH(b,Y,n,P);var R=P.X()*4,X=G.px.x7;if(this.xg){if(S=="dodge")S="burn";else S="dodge"}var $=w.rng; +if(S=="dodge"){M=[1-B/2,1,1+B][$];r=[1,1/(1+B),1][$];N=[B/2,0,0][$]}if(S=="burn"){M=[1/(1-B/2),1,1-B/2][$]; +r=[1,1+B,1][$];N=[-(B/2)/(1-B/2),0,0][$]}for(var D=0;D>>1)*iw]=o[(d7>>>1)*iw+iw-1]=0;G.N4.Bj(cf,!0);Z.N={rect:bd,channel:cf.N.slice(0)};Z.Zu=!0}if(h==null){if(l)T.y8(e,Q,3); +T.uH(Q,P,f.buffer,f.rect)}else G.px.Sc(Q,P,h)};G.px.Bw=function(){return null};G.px.x7=function(Z,S,b,Y,P){var w=Z*(1/255),f=Y+S*Math.pow(w,b),h=Math.round(f*P+w*(255-P)); +return Math.max(0,Math.min(255,h))};G.px.vB=function(Z,S,b,Y,P){var w=T.f(P.X());w.fill(b);T.JS(Z,S,w,P); +Y.fill(255);T.zf(w,Y)};G.px.Sc=function(Z,S,b){var Y=T.f(S.X());T.Mq(Z,Y);T.JS(Y,S,b.channel,b.rect)}; +G.Ks=function(Z,S,b){G.$W.call(this,Z,S,b);this.xN={e5:"front",Mt:0,xL:{QX:0,x:3,y:2},qC:[16,!0,!0]}; +this.WD=new ar(-1,-1);this.GM=new ar(-1,-1);this.Hi="default";this.$o=null;this.a51=!0;this._A=!1;this.Dc=!1; +this.xg=!1;this.iB=0;this.rb=0;this.bL=!1;this.HB=null;this.lD=null;this.fm=!1};G.Ks.prototype=new G.$W; +G.Ks.prototype.a9P=function(){var Z=this.xN,S=[{front:0,union:1,difference:2,intersection:3}[Z.e5],Z.Mt]; +if(this.id==G.bJ)S.push(Z.qC);return S};G.Ks.prototype.alT=function(Z,S,b){var Y=this.xN;Y.e5=["front","union","difference","intersection"][Z[0]]; +Y.Mt=Z[1];Y.qC=Z[2];var P=new d(s.E.P,!0);P.data={e:s.U.jO,T:this.id,qT:Y};b.m(P)};G.Ks.oC={key:""}; +G.Ks.zT=function(Z,S){var b={uf:Z,V1:{classID:"setd",null:{t:"obj ",v:[{t:"prop",v:{classID:"Chnl",keyID:"fsel"}}]}}}; +if(S)b.V1.T=S;return b};G.Ks.qi=function(Z,S){return G.Ks.zT("set",{t:"Objc",v:{classID:Z,Top:{t:"UntF",v:{type:"#Pxl",val:S.y}},Left:{t:"UntF",v:{type:"#Pxl",val:S.x}},Btom:{t:"UntF",v:{type:"#Pxl",val:S.y+S.v}},Rght:{t:"UntF",v:{type:"#Pxl",val:S.x+S.c}}}})}; +G.Ks.M6=function(Z,S){var b=[],Y=[],w="set";for(var D=0;D>>1)),R=I.y-c.y,X=R+I.v-1,B=Math.max(R,Math.min(X,R+X>>>1)),M=Math.max(x,0),r=Math.min(g,n),N=Math.max(R,0),$=Math.min(X,o); +u.fill(128);if(0<=R)for(var eQ=M;eQ>>2);T.to(hD,bP,3);f={channel:bP,rect:ea.clone()}}else{if(er.d==null)er.vK(b);var iz=d0==1?er.Y6():er.d; +f=G.Ks.xt(iz,Q)}this.track(G.Ks.Ec(A,["Trsp","Msk"][d0],er.getName()))}else if(w=="frompath"){var iq=b.zl(),cU=iq[1],iq=iq[0]; +if(gx==null)if(iq.length==0||cU.length==0)return;var aH=iq[cU[0]];if(gx!=null)for(var D=0;D1||this.rb>1?S:null; +var Y=this.WD,P=this.GM;if(b){Y.x=Math.max(0,Math.min(Z.c,Y.x));Y.y=Math.max(0,Math.min(Z.v,Y.y));P.x=Math.max(0,Math.min(Z.c,P.x)); +P.y=Math.max(0,Math.min(Z.v,P.y))}var w=G.cI.pr(Y,P,S,!0,this.xN.xL),f=w[0].x,h=w[0].y;return new b4(f,h,w[1].x-f,w[1].y-h)}; +G.Ks.prototype.Os=function(Z,S,b,Y,P){if(this.Fz())return;this.$o=S;this._A=!1;this.Dc=Y.q(U.Lo);this.xg=Y.q(U.G_); +this.iB=this.Dc?0:1;this.rb=this.xg?0:1;this.WD=Z.a._2(P.x,P.y);this.WD=G.sR.yK(Z,this.WD,b);if(this.Xi(Z,this.WD,Y)){this.bL=!0; +this.HB=Z.N.rect.clone();return}this.UQ(Z,b,Y,P);Z.a.dl=new b4};G.Ks.prototype.Xi=function(Z,S,b){var Y=b.q(U.Lo),P=b.q(U.G_); +if(Z.N&&!Y&&!P&&this.xN.e5=="front")return T.eI(S,Z.N.channel,Z.N.rect);return!1};G.Ks.prototype.Zq=function(Z,S,b,Y,P){this.$o=S; +if(this.fm)return;var w=Z.a._2(P.x,P.y);if(ar.VA(this.WD,w)*Z.a.S>5)this._A=!0;if(Y.q(U.Ah)){if(this.lD==null)this.lD=new ar(w.x-this.WD.x,w.y-this.WD.y); +this.WD.x=w.x-this.lD.x;this.WD.y=w.y-this.lD.y}else this.lD=null;this.GM=w;if(!this.bL)this.GM=G.sR.yK(Z,this.GM,b); +if(this.Xi(Z,this.GM,Y))this.Hu(S,"move");else this.Hu(S,this.Hi);if(this.bL){var f=this.HB.clone(); +f.x+=this.GM.x-this.WD.x;f.y+=this.GM.y-this.WD.y;var h=G.sR.BG(Z,f,b);Z.N.rect.x=Math.round(this.GM.x-this.WD.x+this.HB.x+h[0]); +Z.N.rect.y=Math.round(this.GM.y-this.WD.y+this.HB.y+h[1]);Z.Zu=!0;G.sR.F$(Z,f,h);return}this.Sw(Z,b,Y,P); +if(Z.a.dl)Z.a.dl=this.Ij(Z,Y)};G.Ks.prototype.Fz=function(){return!1};G.Ks.prototype.Xa=function(Z,S,b,Y,P){Z.a.dl=null; +this.GM=Z.a._2(P.x,P.y);this.GM=G.sR.yK(Z,this.GM,b);if(this.bL){this.bL=!1;if(this.GM.Oh(this.WD)&&this.DL()=="front"){this.am(S,s.E.TH,G.Ks.zP()); +return}this.Vi(Z,this.HB,Z.N.rect.clone());if(Z!=null&&Z.M.yW){Z.M.yW=null;Z.nd=!0}return}this.LP(Z,b,Y,P); +G.Ks.zb(S,b)};G.Ks.prototype.Vi=function(Z,S,b){var Y=Z.Yl();if(Y!=null&&Y.T==this&&Y.data.e=="movesel"){}else{Y=new iA([7,7],this); +Y.data={e:"movesel",AR:S};Z.kz(Y)}Y.data.yZ=b;this.Ed(Y.data,Z)};G.Ks.prototype.vU=function(Z,S,b,Y,P){this.fm=!0}; +G.Ks.prototype.nL=function(Z,S,b,Y,P){var w=new d(s.E.P,!0);w.data={e:s.U.jO,T:this.id,tl:P,o2:Z,Oz:b}; +S.m(w);this.fm=!1};G.Ks.prototype.XF=function(Z,S,b,Y){var P=Y.q(U.Lo),w=Y.q(U.G_);if(this._A){if(this.iB==0&&!P)this.iB++; +if(this.iB==1&&P)this.iB++;if(this.rb==0&&!w)this.rb++;if(this.rb==1&&w)this.rb++}if(Z!=null&&Z.N!=null){var f=Y.sh(); +if(f.x!=0||f.y!=0){var h=Z.N.rect.clone();h.x+=f.x;h.y+=f.y;this.Vi(Z,Z.N.rect.clone(),h)}}var Q=G.Ks.cU(this.xN.e5,P,w),e=new d(s.E.P,!0); +e.data={e:s.U.jO,T:this.id,e5:Q};S.m(e)};G.Ks.prototype.finish=function(Z,S,b,Y){var P=Z.N,w=this.getSelection(Z,S,b,Y); +if(w==null)w=G.Ks.zP();else{var f=this.xN.Mt,h=this.DL();if(f!=0)w.V1.Fthr={t:"UntF",v:{type:"#Pxl",val:f}}; +if(h!="front"&&h!="xor")w.uf={union:"addTo",difference:"subtractFrom",intersection:"interfaceWhite"}[h]}this.am(this.$o,s.E.TH,w); +this.WD.Ha(-1,-1);this.GM.Ha(-1,-1)};G.Ks.prototype.DL=function(){return G.Ks.cU(this.xN.e5,this.Dc,this.xg)}; +G.Ks.cU=function(Z,S,b){if(S)Z="union";if(b)Z="difference";if(S&&b)Z="intersection";return Z};G.Ks.prototype.getSelection=function(Z,S,b,Y){return null}; +G.Ks.prototype.UQ=function(Z,S,b,Y){};G.Ks.prototype.Sw=function(Z,S,b,Y){};G.Ks.prototype.LP=function(Z,S,b,Y){}; +G.Ks.prototype.zv=function(Z,S){var b=Z.e;if(b=="changesel")S.N=Z.O1;if(b=="movesel")S.N.rect=Z.AR;if(Z.oz){if(Z.alg){S.k9=[S.eP.length]; +S.eP.push(Z.alg)}else{S.eP.pop();S.k9=[]}}if(Z.GK){S.ph=JSON.parse(Z.GK[0]);S.v6=JSON.parse(Z.GK[1])}S.Zu=!0}; +G.Ks.prototype.Ed=function(Z,S){var b=Z.e;if(b=="changesel")S.N=Z.iH;if(b=="movesel")S.N.rect=Z.yZ;if(Z.oz){if(Z.abP){S.k9=[S.eP.length]; +S.eP.push(Z.abP)}else{S.eP.pop();S.k9=[]}}if(Z.GK){S.ph=JSON.parse(Z.am9[0]);S.v6=JSON.parse(Z.am9[1])}S.Zu=!0}; +G.Ks.prototype.aa=function(Z){this.xN=Z};G.Ks.prototype.eB=function(Z){var S=T.z.Ex(Z.H);if(S.h3())return null; +var b=s.R("canvas","");b.width=S.c;b.height=S.v;var Y=b.getContext("2d");Y.beginPath();Y.translate(-S.x,-S.y); +Typr.U.pathToContext({cmds:Z.K,crds:Z.H},Y);Y.closePath();Y.fill();var P=T.f(S.X()),w=Y.getImageData(0,0,b.width,b.height); +T.to(w.data,P,3);return{rect:S,channel:P}};G.Ks.q8=function(Z,S,b,Y,P){if(b)S=Math.round(S*.7);var w=Math.ceil(2.6*S),f=Z.rect.clone(); +f.lg(w,w);if(Y&&!P)f=f.Yz(Y);var h=T.f(f.X()),Q=T.f(h.length);T.JS(Z.channel,Z.rect,Q,f);T.rr.R2(Q,h,f,S); +if(b){var e=h.length;for(var D=0;D1e-9||!O||w||h)m=this.vc(Z,S,!0,l,1,Y);var q=new iA(this.name,this),K=new b4(0,0,Z.c,Z.v); +q.data={AR:K,yZ:P,wf:m,bp:l,O4:Z.a.n.clone(),kD:G.PK.sO(Z,P,K,!1)};Z.kz(q);this.Ed(q.data,Z);this.track(G.PK.AP([Y.x,Y.y,Y.c,Y.v]))}; +G.PK.prototype.a3U=function(Z,S){var b=T.J.Sy(S),Y=T.J.ic(b),P=T.J.eS(b),w=P.RN,f=P.Sv,h=Math.atan2(P.O,P.w); +P.rotate(h);var Q=new b4(w,f,P.w,P.KU);if(!Y){function e(i,D,y){var j=i[D]-i[y],J=i[D+1]-i[y+1];return Math.sqrt(j*j+J*J)}var l=e(S,0,2),O=e(S,4,6),m=Math.max(l,O),V=e(S,2,4),q=e(S,6,0),K=Math.max(V,q),z=G.PK.a9c(S,Z.c/2,Z.v/2),t,H; +if(isNaN(z)||z==Infinity||z==-Infinity||Math.min(z,1/z)<.1)z=(l+O)/(V+q);if(m/K>z){t=m*1;H=t/z}else{H=K*1; +t=H*z}Q.c=t;Q.v=H}Q.x=Math.round(Q.x);Q.y=Math.round(Q.y);Q.c=Math.round(Q.c);Q.v=Math.round(Q.v);return Q}; +G.PK.a9c=function(Z,S,b){var Y=Z[0]-S,P=Z[1]-b,w=Z[2]-S,f=Z[3]-b,h=Z[6]-S,Q=Z[7]-b,e=Z[4]-S,l=Z[5]-b,O=((P-l)*h-(Y-e)*Q+Y*l-P*e)/((f-l)*h-(w-e)*Q+w*l-f*e),m=((P-l)*w-(Y-e)*f+Y*l-P*e)/((Q-l)*w-(h-e)*f+h*l-Q*e),V=-((m*Q-P)*(O*f-P)+(m*h-Y)*(O*w-Y))/((m-1)*(O-1)); +function q(z){return z*z}var K=Math.sqrt((q(O-1)+q(O*f-P)/V+q(O*w-Y)/V)/(q(m-1)+q(m*Q-P)/V+q(m*h-Y)/V)); +if(O==1&&m==1)K=Math.sqrt((q(f-P)+q(w-Y))/(q(Q-P)+q(h-Y)));return K};G.PK.prototype.disable=function(Z,S,b,Y){if(Z==null)return; +if(this.me)this.me.clear(Z);this.me=null;this.am(S,s.E.P,{e:s.U.jO,T:this.id,K$:!1})};G.PK.prototype.am=function(Z,S,b,Y){var P=new d(S,!0); +P.data=b;if(Y)P.T=Y;Z.m(P)};G.Iz=function(){G.PK.call(this,[10,2],G.ck,"tools/rcrop")};G.Iz.prototype=new G.PK; +G.yz=function(){G.PK.call(this,[10,39],G.SE,"tools/pcrop")};G.yz.prototype=new G.PK;G.Md=function(){G.px.call(this,[10,21],G.Hm,"tools/dodge"); +this.L9="dodge"};G.Md.prototype=new G.px;G.Md.prototype.Os=function(Z,S,b,Y,P){this.AG(Z,b,Y,P,this.xN.expo/Math.PI); +if(this.yg==null)return;this.pT(Z)};G.Md.prototype.Zq=function(Z,S,b,Y,P){this.d6(Z,S,b);if(this._o)this.j6(Z,b,P); +if(this.yg==null)return;if(!P.ou)return;this.b7(Z,b,Y,P);this.pT(Z)};G.yP=function(){G.px.call(this,[10,3],G.pK,"tools/eraser"); +this.L9="erase"};G.yP.prototype=new G.px;G.yP.prototype.Os=function(Z,S,b,Y,P){this.AG(Z,b,Y,P,this.xN.flow); +if(this.yg==null)return;this.pT(Z)};G.yP.prototype.Zq=function(Z,S,b,Y,P){this.d6(Z,S,b);if(this._o)this.j6(Z,b,P); +if(this.yg==null)return;if(!P.ou)return;var w=this.b7(Z,b,Y,P);this.pT(Z)};G._r=function(){G.px.call(this,[10,45],G.af8,"tools/beraser"); +this.L9="ierase"};G._r.prototype=new G.px;G._r.prototype.Os=function(Z,S,b,Y,P){if(this.It(Y,S,P))return; +this.AG(Z,b,Y,P,this.xN.flow);if(this.yg==null)return;this.pT(Z)};G._r.prototype.Zq=function(Z,S,b,Y,P){this.d6(Z,S,b); +if(this._o)this.j6(Z,b,P);if(this.yg==null)return;if(!P.ou)return;this.b7(Z,b,Y,P);this.pT(Z)};G.eE=function(){G.Ks.call(this,[10,15],G.r9,"tools/rselect"); +this.Hi="crosshair"};G.eE.prototype=new G.Ks;G.eE.prototype.Sw=function(Z,S,b,Y){if(!Y.ou||!this._A)return; +var P=this.Ij(Z,b,!0);Z.M.LG=T.z.X6(P);Z.nd=!0;G.$W.i8(Y.x+10,Y.y-10,P,Z,S)};G.eE.prototype.LP=function(Z,S,b,Y){Z.M.LG=null; +Z.M.ag=[];Z.nd=!0;this.finish(Z,S,b,Y)};G.eE.prototype.getSelection=function(Z,S,b,Y){if(this.WD.Oh(this.GM)||!this._A)return null; +var P=this.Ij(Z,b,!0);if(P.h3())return null;return G.Ks.qi("Rctn",P)};G.xu=function(){G.Ks.call(this,[10,4],G.amI,"tools/eselect"); +this.Hi="crosshair"};G.xu.prototype=new G.Ks;G.xu.prototype.Sw=function(Z,S,b,Y){if(!Y.ou||!this._A)return; +var P=this.Ij(Z,b);Z.M.LG=G.xu.Zk(P);Z.nd=!0;G.$W.i8(Y.x+10,Y.y-10,P,Z,S)};G.xu.prototype.LP=function(Z,S,b,Y){Z.M.LG=null; +Z.M.ag=[];Z.nd=!0;this.finish(Z,S,b,Y)};G.xu.prototype.getSelection=function(Z,S,b,Y){if(this.WD.Oh(this.GM)||!this._A)return null; +var P=this.Ij(Z,b);if(!P.U5(new b4(0,0,Z.c,Z.v)))return null;return G.Ks.qi("Elps",P)};G.xu.Zk=function(Z){var S=Z.x,b=Z.y,Y=Z.x+Z.c,P=Z.y+Z.v,w=(S+Y)/2,f=(b+P)/2,h=(S-Y)/2,Q=(b-P)/2,e=.5522848,l={H:[w,f-Q],K:["M","C","C","C","C"]}; +l.H.push(w+e*h,f-Q,w+h,f-e*Q,w+h,f);l.H.push(w+h,f+e*Q,w+e*h,f+Q,w,f+Q);l.H.push(w-e*h,f+Q,w-h,f+e*Q,w-h,f); +l.H.push(w-h,f-e*Q,w-e*h,f-Q,w,f-Q);return l};G.B1=function(){G.$W.call(this,[10,5],G.ow,"tools/eyedropper"); +this.xw=!1;this.Uo=1};G.B1.prototype=new G.$W;G.B1.prototype.wF=function(Z){return Z.ou};G.B1.prototype.Pf=function(Z,S,b,Y,P){if(Z.e=="pickhere")this.eF(b,S,P,Y,Z.a3b)}; +G.B1.prototype.Os=function(Z,S,b,Y,P){this.xw=!0;this.eF(Z,S,b,Y,P)};G.B1.prototype.Zq=function(Z,S,b,Y,P){if(this.xw)this.eF(Z,S,b,Y,P)}; +G.B1.prototype.Xa=function(Z,S,b,Y,P){this.xw=!1};G.B1.prototype.eF=function(Z,S,b,Y,P){var w=G.B1.mK(Z,P,this.Uo),f=new d(s.E.P); +f.data={e:s.U.h4,Sz:bp.tN,Ox:0,G:w};S.m(f)};G.B1.mK=function(Z,S,b){var Y=Z.a._2(S.x,S.y),P=Math.floor(Y.x),w=Math.floor(Y.y),f=(b-1)/2,h=Math.max(0,P-f),Q=Math.max(0,w-f),e=Math.min(Z.c,P+f+1),l=Math.min(Z.v,w+f+1),O=(e-h)*(l-Q),m=Z.Zd(),V=0,q=0,K=0; +for(var P=h;P2){var V;if(Z.N)V=Z.N.rect;else V=new b4(0,0,Z.c,Z.v);var q=T.f(V.X()*4),K=this.xN,z=K.WF;if(z!="Lnr"){l*=2; +Q=this.Gf}T.W.Wz(K.W,q,V,[m*1/l,O*1/l,-O*1/l,m*1/l],Q.x,Q.y,K.No,a4.W.types.indexOf(z),b.ui,b.VY,null,K.acq); +var t=Math.round(K.y6*256),H=q.length;if(t!=256)for(var D=0;D>>8;var i=new d(s.E.s); +i.T=G.pK;i.data={e:"fillBMP",G4:q,yf:K.aa6,ep:this.name};S.m(i)}Z.M.LG=null;Z.M.k_=[];Z.nd=!0;this.Tz=!1}; +G.Oa.m1=function(Z,S){if(Z.Oh(S))return Z;var b=S.x-Z.x,Y=S.y-Z.y,P=Math.abs(b),w=Math.abs(Y);if(P>w)w=P/2>w?0:P; +if(w>P)P=w/2>P?0:w;P=b>0?P:-P;w=Y>0?w:-w;var f=Math.sqrt(b*b+Y*Y)/Math.sqrt(P*P+w*w);return new ar(Z.x+P*f,Z.y+w*f)}; +G.Oa.Oy=function(Z,S,b,Y,P,w,f){if(f==null)f=s.R("canvas","");var h=f.getContext("2d");f.width=S;f.height=b; +var Q=new b4(0,0,S,b),e=T.f(S*b*4);T.bO(e,S,b,4);var l=Math.sin(Y),O=Math.cos(Y),m=T.f(S*b*4);T.W.Wz(Z,m,Q,[O*1/S,l*1/S,-l*1/b,O*1/b],S/2,b/2,!1,0,P,w); +T.p.xJ("norm",m,Q,e,Q,Q,1);var V=h.getImageData(0,0,S,b);T.Bv(e,V.data);h.putImageData(V,0,0);return f.toDataURL()}; +G.Oa.and=function(Z,S,b){var Y=JSON.parse(JSON.stringify(Z));for(var D=0;D>16&255,l:f>>8&255,O:f&255})}}return Y}; +G.W2=function(){G.$W.call(this,[10,7],G.KM,"tools/hand");this.QU=new ar(0,0);this.Eu=null};G.W2.prototype=new G.$W; +G.W2.prototype.Pf=function(Z,S,b,Y,P){var w=Z.e;if(w=="setcls"){b.a.o=Z.o;b.nd=!0;b.Pd=!0}if(w=="scroll"&&!Y.q(U.G_)){if(Y.q(U.cD))G.W2.MZ(b,b.a.n.x-Z.FV.y,b.a.n.y-Z.FV.x); +else G.W2.MZ(b,b.a.n.x-Z.FV.x,b.a.n.y-Z.FV.y)}};G.W2.prototype.enable=function(Z,S,b,Y){this.Eu=null; +var P=new d(s.E.P,!0);P.data={e:s.U.il,tf:"grab"};S.m(P)};G.W2.prototype.Os=function(Z,S,b,Y,P){this.Eu=Z.a.n.clone(); +this.QU.Ha(P.x,P.y)};G.W2.prototype.Zq=function(Z,S,b,Y,P){if(!P.ou)return;if(this.Eu==null)this.Os(Z,S,b,Y,P); +G.W2.MZ(Z,this.Eu.x+(P.x-this.QU.x),this.Eu.y+(P.y-this.QU.y))};G.W2.prototype.Xa=function(Z,S,b,Y,P){this.Eu=null}; +G.W2.MZ=function(Z,S,b){var Y=Z.a.S;if(Z.c*Y=0;D--){var b=Z.t[D];if(b.add.TySh&&b.rect.DS(S)&&Z.ub(D)){var Y=b.vv(2)||b.vv(31); +return Y?-2:D}}return-1};G.Ua.prototype.Os=function(Z,S,b,Y,P){this.hp=Z;this.Oz=b;this.caller=S;var w=Z.a._2(P.x,P.y),f=this.OE==null; +if(f){var h=G.Ua.$r(Z,w);if(h==-2){alert(aV.get([6,57,0]));return}if(h>=0){if(!gU.Wu(Z.t[h].add.TySh,b.S9)){alert("Fonts not loaded yet"); +return}this._X(Z,S,b,[h])}else{this.eb=!0;this.mi=P;return}}var Q=f?-1:eO.O$(this.OE.add.TySh.HK),e=this.cm?this.cm:this.me; +if(e&&e.Os(Z,b,Y,w)&&T.$e.iI(this.OE.add.TySh.Km)||!f&&T.z.$B(w,this.OE.rect)>20/Z.a.S&&(Q==0||Q==1)){this.lr=!0; +this.B5=w;this.a4d=this.OE.add.TySh.A.clone();if(this.gy==-1&&this.TW==-1)this.gy=this.TW=this.Ib(w)}else{if(this.i0==null){alert("Fonts not loaded yet"); +return}this.CP=!0;this.gy=this.TW=this.Ib(w);var l=Date.now();if(l-this.aoy>300)this.Kh=0;this.Kh++; +this.aoy=l;if(this.Kh==2)this.aeH();if(this.Kh==3)this.a5i();if(this.Kh>1){this.CP=!1}}this.Kc();this.B$(Z)}; +G.Ua.prototype._X=function(Z,S,b,Y){var P=Z.t[Y[0]];this.OE=P;this.am(S,s.E.P,{e:s.U.jO,T:this.id,Pp:"showactive"}); +this.IA=Y;Z.C=Y.slice(0);Z.NW();Z.ug=!0;this.xD=this.UZ(Z,Y);this.Lm(P.add.TySh);this.Y2(Z,b)};G.Ua.prototype.Lm=function(Z){if(eO.O$(Z.HK)!=1)return; +var S=eO.kn(Z.HK);S=new b4(0,0,S[2]-S[0],S[3]-S[1]);var b=[S.x,S.y,S.x+S.c,S.y,S.x+S.c,S.y+S.v,S.x,S.y+S.v]; +T.z.A(b,Z.A,b);this.me=new ad(b,!1,!1,!1,!0)};G.Ua.prototype.aeH=function(){var Z=eO.IU(this.OE.add.TySh.HK); +this.gy=this.BQ(Z,this.gy);this.TW=this.Xz(Z,this.gy)};G.Ua.prototype.BQ=function(Z,S){var b=" \t\n,.?!_-+=@#$%^&*'\"(){}[]\\/<>:;|",Y=[]; +for(var D=0;D=0;D--)if(Y.indexOf(Z.charAt(D))!=-1==P)return D+1; +return 0};G.Ua.prototype.Xz=function(Z,S){var b=" \t\n,.?!_-+=@#$%^&*'\"(){}[]\\/<>:;|",Y=[];for(var D=0; +D20/Z.a.S)h="move";else if(G.Ua.$r(Z,w)>=0)h="text"; +if(h!=this.Z0){this.Z0=h;this.uz(S)}}var O=this.mi;if(this.eb&&Math.min(P.x-O.x,P.y-O.y)>4/Z.a.S){this.eb=!1; +this.Eh(Z,S,b,Y,P);f=this.OE;this.lr=!0;this.me=new ad(null,!1,!1,!1,!0);var m=Z.a._2(this.mi.x,this.mi.y); +m.x=Math.round(m.x);m.y=Math.round(m.y);this.me.Os(Z,b,Y,m)}if(this.lr){var V=f.add.TySh;if(this.cm){this.cm.Zq(Z,b,Y,w); +var q=T.J.eS(T.J.Sy(this.cm.WM(),this.a6I));V.A=q;this.Y2(Z,b);eO.LY(V)}else if(this.me){this.me.Zq(Z,b,Y,w); +var K=V.A.clone(),z=Math.atan2(K.O,K.w);K.rotate(z);var q=T.J.eS(T.J.Sy(this.me.WM())),t=Math.atan2(q.O,q.w); +q.rotate(t);if(!isNaN(q.w)&&q.w*q.KU-q.O*q.tE!=0){var H=new b4(0,0,q.w/K.w,q.KU/K.KU),i=Math.round(H.c),y=Math.round(H.v),j=V.HK.Curve; +if(j){var J=eO.kn(V.HK),A=new fR(i/J[2],0,0,y/J[3],0,0);T.z.A(j.Points,A,j.Points);eO.LY(V)}eO.oZ(V.HK,[0,0,i,y]); +V.A=T.J.eS(T.J.Sy(this.me.WM(),H));this.Y2(Z,b);eO.LY(V)}}else{var a=w.x-this.B5.x,I=w.y-this.B5.y;V.A=this.a4d.clone(); +var E=new ar(V.A.RN+a,V.A.Sv+I);E=G.sR.yK(Z,E,b);V.A.RN=E.x;V.A.Sv=E.y;this.Y2(Z,b)}}if(this.CP)this.TW=this.Ib(w); +if(this.lr||this.CP)this.B$(Z)};G.Ua.prototype.Eh=function(Z,S,b,Y,P){var w=Z.zl(),f=w[0],h=w[1],Q=Z.Dl(); +Q.add.lnsr="rend";var e=Z.t.slice(0);Q.wc("Text layer "+e.length);this.OE=Q;var l=Z.C.length==0?Z.t.length-1:Z.C[Z.C.length-1],O=l+1; +if(e[l].add.lsct==fr.k8)O--;this.xD={i3:e.slice(0),O1:Z.C.slice(0)};e.splice(O,0,Q);Z.C=[O];this.gy=this.TW=0; +Z.vM(e);this.xD.gR=e.slice(0);this.xD.iH=Z.C.slice(0);this.am(S,s.E.P,{e:s.U.jO,T:this.id,Pp:"showactive"}); +var m=Z.a._2(P.x,P.y);Q.add.TySh=eO.nR(m.x,m.y,b.pA);var V=Q.add.TySh,q=V.HK;eO.vF(V,this.CX);if(P.ou)eO.es(q,1); +else{eO.es(q,0);var K=f[h.pop()],z=K?K.add.vmsk:null;if(z){z=z.clone();var t=z.b,i,y;for(var D=0;D0&&Y.charAt(this.gy-1)!=P.charAt(this.gy-1))this.gy--}var h=Y.substring(0,this.gy),Q=Y.substring(this.TW,Y.length),e=P.substring(this.gy,P.length-Q.length); +eO.hd(b.HK,this.gy,this.TW);eO.kk(b.HK,this.gy,e);var l=this.LE(this.Oz,b),m=-1,V=Array.from(e);for(var D=0; +D128&&l.xp.Font!=null){var q=l.E2[l.xp.Font].Name,K=this.Oz.S9.OO(m,q,l.E2); +if(q!=K){eO.FK(l,K);O=!0}}if(this.mc!=null&&e==this.mc){var z=JSON.parse(this.ai_);l.xp=z.xp;l.E2=z.E2; +O=!0}eO.Yg(b.HK,this.gy,this.gy+e.length-1,l);this.gy=this.TW=h.length+e.length;var t=this.hp,H=this.Y2(t,this.Oz,!0); +if(H)this.B$(t,!0);if(O)this.Kc()};G.Ua.prototype.a6d=function(Z){if(this.OE==null||this.Ka)return;if(this.OE==null)return; +var S=U,b=0,Y=0,t=!1;if(S.iQ(Z.code,S.RD))b=1;if(S.iQ(Z.code,S.XU))b=-1;if(S.iQ(Z.code,S.ne))Y=-1;if(S.iQ(Z.code,S.BM))Y=1; +var P=Z.ctrlKey||Z.metaKey,w=S.iQ(Z.code,U.a4M),f=S.iQ(Z.code,U.abo);if(S.iQ(Z.code,U.n5)&&P){this.iM(this.hp,this.caller); +return}if(S.iQ(Z.code,U.Ni)){Z.preventDefault();var h=this.Sh,Q=h.value,e=h.selectionStart,l=h.selectionEnd; +h.value=Q.substring(0,e)+"\t"+Q.substring(l);h.selectionStart=h.selectionEnd=e+1;this.x5(null);return}if((S.iQ(Z.code,S.C2)||S.iQ(Z.code,S.uG))&&P){var O=this.gy,m=this.TW; +if(O>m){var V=O;O=m;m=V}var q=this.OE.add.TySh,K=eO.IU(q.HK);if(O!=m){this.mc=K.slice(O,m);this.ai_=JSON.stringify(this.Oz.pA)}}var z=eO.IU(this.OE.add.TySh.HK); +if(b!=0||Y!=0||w||f){Z.preventDefault();var H=this.gy;if(b!=0){if(P&&b==-1)H=this.BQ(z,this.gy-1);else if(P&&b==1)H=this.Xz(z,this.gy); +else{var h=this.Sh,Q=h.value;H=this.gy+b;if(H!=0&&Q.codePointAt(H-1)>65535)H+=b}}else if(Y!=0){var i=this.i0.aO(this.gy); +if(Y==-1&&i.M9==0)H=0;else if(Y==1&&i.M9==this.i0.amx()-1)H=99999999999;else H=this.i0.eH(new ar(i._.x+i._.c/2,0),i.M9+Y)}else if(w){var y=this.gy-1; +while(y>0&&z.charCodeAt(y)!=10)y--;H=y==0?0:y+1}else if(f){var y=this.gy;while(y1&&b.q(U.G_)){P.H.pop();P.H.pop();P.H.push(this.GM.x,this.GM.y); +Z.M.LG=P;Z.nd=!0}return}P.K.push("L");P.H.push(this.GM.x,this.GM.y);this.sI=this.GM;if(this._A){Z.M.LG=P; +Z.nd=!0}};G.Yy.prototype.K7=function(){return this.IH!=null};G.Yy.prototype.Fz=function(){return this.IH!=null}; +G.Yy.prototype.XF=function(Z,S,b,Y){G.Ks.prototype.XF.call(this,Z,S,b,Y);if(this.IH&&this.rb>1&&this.B5&&!this.B5.ou&&!Y.q(U.G_))this.w8(Z,b,Y)}; +G.Yy.prototype.LP=function(Z,S,b,Y){this.B5=Y;var P=this.IH;if(P==null)return;if(this.rb>1&&b.q(U.G_)){P.K.push("L"); +P.H.push(this.GM.x,this.GM.y);return}this.w8(Z,S,b)};G.Yy.prototype.w8=function(Z,S,b){this.finish(Z,S,b,this.B5); +this.IH=null;Z.M.LG=null;Z.nd=!0};G.Yy.prototype.getSelection=function(Z,S,b,Y){if(this.WD.Oh(this.GM)||!this._A)return null; +return G.Ks.M6(this.IH.H)};G.sR=function(){G.$W.call(this,[10,11],G.hK,"tools/move");this.LH=new ar(0,0); +this.ra=new ar(0,0);this.TX=null;this.Gb=null;this.FB=new ar(0,0);this.wR=null;this.W3=null;this.$o=null; +this.V4=0;this.AB=null;this.Jw=[];this.iz=null;this.Tz=!1;this.e=0;this.Ez=null;this.WI=null;this.Yk=null; +this.uh=!1;this.xN={ax:!1,IE:!1,_m:!1};this.a0z=!1;this.a9Y=!1;this.me=null;this.cy=null;this.a4G=null; +var Z=[];for(var D=0;Dm?[23,3]:[23,4];if(m==0)l=[11,15,0]}else if(w=="gidsFromLayer"){var V=[[],[]];for(var D=0; +D")J++;var A=b.root.zO(J),a=A; +while(A.parent!=null){A=A.parent;if(t.indexOf(A.index)!=-1)a=A}var I=y.indexOf(a.index);if(I==-1){I=y.length; +y.push(a.index)}i[D]=I}var E=[],c=[],u=[];for(var D=0;DP.y)w.push(Q,P.y,Q,Y.y); +if(hP.x)w.push(P.x,e,Y.x,e);if(f128}if(!Q&&(!this.uh&&this.xN.ax||this.uh&&this.xN.ax&&(b.q(U.Lo)||Z.C.length<2))){var z=this.ag8(Z,h,b); +if(!z){Z.C=[];Z.v6=null;Z.Vc=Z.AV=!0;this.e=3;this.Ez=new b4;this.Tz=!0;return}}if(b.q(U.G_)&&!Q){var m=new d(s.E.s); +m.T=G.kd;m.data={e:F.GG,a5c:!0};S.m(m)}}if(Z.k9.length!=0){this.e=4;this.iz=Z.eP[Z.k9[0]].rect.clone(); +this.Tz=!0;return}this.AB=Z.IM(w==null,w,null,!0);for(var D=0;D>2);T.to(H.Ns.qG,A,3)}else A=Z.N.channel.slice(0); +var a={rect:H.Ns.bC.clone(),channel:A};this.Yk=new iA(i?[12,53]:[12,54],this);this.Yk.data={e:1,$:Z.C[0],Ns:H.Ns,cV:j,CC:J,O1:Z.N,iH:a,KU:new ar(0,0)}; +Z.kz(this.Yk);Z.N=a;Z.Zu=!0}}this.Tz=!0;this.iz=G.V.Ij(Z)};G.sR.prototype.ag8=function(Z,S,b){var Y=Z.root.eI(new ar(Math.floor(S.x),Math.floor(S.y))); +if(Y){if(Y.$.add.vmsk)Z.nd=!0;var P=Z.t.indexOf(Y.$);if(b.q(U.Lo)){var w=Z.C.indexOf(P);if(w==-1)Z.C.push(P); +else if(Z.C.length>1)Z.C.splice(w,1)}else if(Z.C.indexOf(P)==-1){this.hD(Z,P)}}return Y!=null};G.sR.prototype.hD=function(Z,S){Z.t[S].PC=0; +Z.C=[S];Z.v6=null;Z.NW();Z.ug=!0;Z.Vc=!0};G.sR.prototype.Zq=function(Z,S,b,Y,P){this.TX=P;var w=Z.a._2(P.x,P.y),m,V; +if(this.Gb&&this.e<2)w=this.Gb.Ae(w,Y);if(!this.Tz){if(b.Wb&&b.Gg.vE){var f=this.K2(Z,w),h="default"; +if(f)h=["col-resize","row-resize"][f[0]];else if(this.me){var Q=this.me.jN(w,Z.a.S);if(Q)h=Q}this.uz(h,S)}this._5(Z,w); +return}var e=this.ra,l=Math.round(w.x-e.x)-this.FB.x,O=Math.round(w.y-e.y)-this.FB.y;if(this.iz){if(this.e==2){w=G.sR.yK(Z,w,b,[!1,Z.N?Z.N.rect:this.iz,!0])}else{V=this.iz.clone(); +V.offset(this.FB.x+l,this.FB.y+O);m=G.sR.BG(Z,V,b);l+=Math.round(m[0]);O+=Math.round(m[1])}}this.FB.x+=l; +this.FB.y+=O;this.AS(Z,l,O,w,null,Y.q(U.Lo));this._5(Z,w);if(m)G.sR.F$(Z,V,m)};G.sR.prototype.K2=function(Z,S){S=[S.x,S.y]; +for(var D=0;D<2;D++)for(var b=0;b0){var H=e.add.GdFl;if(H==null)H=e.add.PtFl;if(e.q3()&&!e.VG()&&e.add.vmsk!=null&&T.Y.eC(e.add.vmsk.b)&&e.add.vmsk.uu==255&&(H==null||H.Algn&&H.Algn.v)){e.rect.offset(h,Q)}else e.vK(Z); +var i=Z.root.ri(e.qI(Z),Z,S[D]);w=w.VK(i);i.offset(-h,-Q);w=w.VK(i);if(e.add.SoCo||e.add.GdFl||e.add.PtFl||g3.get(e.add)!=null)w=w.VK(f); +e.G5()}}Z.D(w)};G.sR.a1$=function(Z,S){var b=[];for(var D=0;D>>w),S.x+S.c],[S.y,S.y+(S.v>>>w),S.y+S.v]],b,Y); +return f};G.sR.xX=function(Z,S,b,Y){if(Y==null)Y=[!0,null,!0];var P=[0,0,1e9,1e9];if(!b.nX)return P; +var w=JSON.parse(JSON.stringify(S));for(var f=0;f<2;f++){var h=1e9,Q=S[f],e=0;for(var l=0;l>>1; +if(Math.abs(m.x-S)>>1; +if(Math.abs(m.y-S)>>1),m.y+(K>>>1),m.x+V,m.y+K]; +for(var D=0;D<6;D+=2)if(Math.abs(a[D+Y]-S)>>1,K>>>1,V,K]; +for(var D=0;D<6;D+=2)if(Math.abs(a[D+Y]-S)Z.c||S.y<0||S.y>Z.v)return null; +var f=new b4(0,0,Z.c,Z.v);if(P==null&&f.Oh(Y.rect))w=Y.buffer;else{w=T.f(f.X()*4);if(P==null)T.uH(Y.buffer,Y.rect,w,f); +else G.px.vB(P.channel,P.rect,P.color,w,f)}var h=G.IX.sZ(w,f,S,null,b),Q=T.fD(h,f),e=T.f(Q.X());T.JS(h,f,e,Q); +return{rect:Q,channel:e}};G.IX.T1=function(Z,S,b){var Y=S.c,P=S.v,f=0,h=0,Q=0,e=0;Z=new Uint32Array(Z.buffer); +var w=[],l=b.length;for(var D=0;D>8&255,K>>16&255,K>>>24])}return w}; +G.IX.sZ=function(Z,S,b,Y,P){Z=new Uint32Array(Z.buffer);var w=S.c,f=S.v,h=w*f;if(Y==null)Y=G.IX.T1(Z,S,[b]); +var Q=Math.round(b.x-.5-S.x),e=Math.round(b.y-.5-S.y),l=e*w+Q,O=Date.now(),m=T.f(w*f),V=P[0],q=1/V,K=P[1]&&V>0?255:0; +if(P[2]){var z=T.f(m.length),t=new Uint32Array(h),H=1;t[0]=Q<<16|e;z[l]=1;while(H>0){var i=t[H-1];H--; +var y=i>>>16,j=i&65535,D=j*w+y,J=G.IX.pZ(Z[D],Y);if(J>V){var A=K*(1-Math.max(0,Math.min(1,(J-V)*q))); +m[D]=~~A}else{m[D]=255;if(j!=f-1&&z[D+w]==0){t[H++]=y<<16|j+1;z[D+w]=1}if(j!=0&&z[D-w]==0){t[H++]=y<<16|j-1; +z[D-w]=1}if(y!=w-1&&z[D+1]==0){t[H++]=y+1<<16|j;z[D+1]=1}if(y!=0&&z[D-1]==0){t[H++]=y-1<<16|j;z[D-1]=1}}}}else{for(var D=0; +D0&&(m[D-1]==255||j>0&&m[D-w-1]==255||j0&&m[D-w+1]==255||j0&&m[D-w]==255||j>>8&255,P=Z>>>16&255,w=Z>>>24&255;if(S[3]==0)return w<5?0:255; +var f=Math.max(Math.abs(b-S[0]),Math.max(Math.abs(Y-S[1]),Math.abs(P-S[2])));return w==0?255:f};G.Us=function(Z,S){if(S)G.px.call(this); +else if(Z)G.px.call(this,[10,49],G._j,"tools/camove");else G.px.call(this,[10,26],G.WS,"tools/patch"); +this.sI=null;this.IH=null;this.n=null;this.wM=null;this.Ku=new ar;this.tn=null;this.P5=null};G.Us.prototype=new G.px; +G.Us.prototype.Os=function(Z,S,b,Y,P){var w=Z.a._2(P.x,P.y);if(Z.N&&T.eI(w,Z.N.channel,Z.N.rect)){var f=new b4(0,0,Z.c,Z.v),h=f.Yz(Z.N.rect); +if(!Z.bY()||h.h3())return;if(!0){var Q=T.f(h.X());T.JS(Z.N.channel,Z.N.rect,Q,h);Z.N={channel:Q,rect:h}}this.Y$(Z); +this.EB(Z);this.wM=w;this.Ku=new ar(w.x-Z.N.rect.x,w.y-Z.N.rect.y);this.P5=T.f(Z.N.rect.X()*4);this.P5.fill(255); +if(this.xN.patch==1){var e=Z.t[Z.C[0]];e.S0(Z,Z.N,!0);if(e.Ns==null)this.wM=null}this.tn=Z.N.rect.clone()}else{this.IH={H:[w.x,w.y],K:["M"]}; +this.sI=w}};G.Us.prototype.Zq=function(Z,S,b,Y,P){var w=Z.a._2(P.x,P.y);if(this.wM){if(this.xN.patch==1){if(Z.k9.length==0){var f=Z.t[Z.C[0]].Ns,h=w.x-this.Ku.x,Q=w.y-this.Ku.y; +G.sR.MC(Z,Z.C[0],Math.round(h-f.bC.x),Math.round(Q-f.bC.y))}}else this.xs(Z,w,"clone")}if(this.sI){this.IH.K.push("L"); +this.IH.H.push(w.x,w.y);this.sI=w;Z.M.LG=this.IH;Z.nd=!0}};G.Us.prototype.Xa=function(Z,S,b,Y,P){var w=Z.a._2(P.x,P.y); +if(this.wM){var f=Z.N.rect.clone();if(this.id==G._j){var h=Z.t[Z.C[0]];h.Hb(Z,h.Ns);Z.N.rect=this.tn.clone(); +var Q=T.f(Z.N.rect.X()*4);T.y8(Z.N.channel,Q,3);this.VH(Z,"sheal",Q,Z.N.rect,Z.N.rect);Z.N.rect=f;f=f.VK(this.tn)}this.xs(Z,w,"heal"); +this.finish(Z,f,null,null,!0);Z.D(f);this.wM=null}if(this.sI){var e=G.Ks.cU(this.xN.setop,Y.q(U.Lo),Y.q(U.G_)),l=new d(s.E.TH,!0); +if(this.IH.H.length<=4)l.data=G.Ks.zP();else l.data=G.Ks.M6(this.IH.H,e);S.m(l);this.sI=null;Z.M.LG=null; +Z.nd=!0}};G.Us.prototype.Bw=function(){return this.n};G.Us.prototype.aa=function(Z,S,b,Y,P){G.px.prototype.aa.call(this,Z,S,b,Y,P); +this.uz(P,Y)};G.Us.prototype.uz=function(Z,S){var b="auto;";if(S!=null&&S.q(U.Lo)&&!S.q(U.G_)||this.xN.setop=="union")b="copy"; +var Y=new d(s.E.P,!0);Y.data={e:s.U.il,tf:b};if(this.caller)this.caller.m(Y)};G.Us.prototype.xs=function(Z,S,b){var Y=new ar(Math.round(this.wM.x-S.x),Math.round(this.wM.y-S.y)); +if(this.xN.patch==1)Y.Ha(-Y.x,-Y.y);this.n=Y;this.VH(Z,b,this.P5,Z.N.rect,Z.N.rect);this.D(Z,Z.N.rect)}; +G.jB=function(){G.Us.call(this,!0);this.xN.patch=1};G.jB.prototype=new G.Us(!0,!0);G.J6=function(){G.px.call(this,[10,13],G.agh,"tools/pbucket")}; +G.J6.prototype=new G.px;G.J6.prototype.enable=function(Z,S,b,Y){var P=new d(s.E.P,!0);P.data={e:s.U.il,tf:"default"}; +S.m(P)};G.J6.prototype.na=function(Z,S){};G.J6.prototype.Xa=function(Z,S,b,Y,P){if(this.It(Y,S,P))return; +if(!Z.bY())return;var w=Z.a._2(P.x,P.y),f=G.IX.Nh(Z,w,this.xN.wconf);if(f==null)return;var h=T.f(f.rect.X()*4); +T._U(h,(b.ui&255)<<16|(b.ui>>8&255)<<8|(b.ui>>16&255)<<0);T.y8(f.channel,h,3);this.Y$(Z);this.VH(Z,"draw",h,f.rect,f.rect); +this.D(Z,f.rect);this.finish(Z,f.rect)};G.Qi=function(){G.Ks.call(this,[10,14],G.a9z,"tools/plasso"); +this.Hi="crosshair";this.Mg=[];this.Fw=null;this.IH=null;this.a02=0};G.Qi.prototype=new G.Ks;G.Qi.prototype.disable=function(Z,S,b,Y){this.Jl(Z)}; +G.Qi.prototype.UQ=function(Z,S,b,Y){this.Mg=[U.Qz,U.pR]};G.Qi.prototype.jo=function(Z){return this.Mg.indexOf(Z)!=-1}; +G.Qi.prototype.wF=function(Z){return this.IH!=null};G.Qi.prototype.Fz=function(){return this.IH!=null}; +G.Qi.prototype.K7=function(){return this.IH!=null};G.Qi.prototype.Sw=function(Z,S,b,Y){if(this.IH==null)return; +var P=this.IH,w=P.H,f=w.length-2,h=this.GM;if(this.rb>1&&b.q(U.G_)&&Y.ou){w.push(0,0);P.K.push("L"); +f+=2}else if(b.q(U.Lo))h=G.Oa.m1(new ar(w[f-2],w[f-1]),h);w[f]=h.x;w[f+1]=h.y;Z.M.LG=P;Z.nd=!0};G.Qi.prototype.LP=function(Z,S,b,Y){var P=Date.now(); +if(this.IH==null)this.IH={H:[this.GM.x,this.GM.y,this.GM.x,this.GM.y],K:["M","L"]};else{this.Sw(Z,S,b,Y); +if(P-this.a02<250||ar.VA(this.GM,new ar(this.IH.H[0],this.IH.H[1]))<5*s.Z()/Z.a.S){this.Fw=this.IH;this.finish(Z,S,b,Y); +this.Jl(Z);return}this.IH.K.push("L");this.IH.H.push(this.GM.x,this.GM.y)}this.a02=P;Z.M.LG=this.IH}; +G.Qi.prototype.Jl=function(Z){this.IH=null;this.Mg=[];if(Z!=null){Z.M.LG=null;Z.nd=!0}};G.Qi.prototype.XF=function(Z,S,b,Y){G.Ks.prototype.XF.call(this,Z,S,b,Y); +if(Y.q(U.eZ)&&this.IH==null&&this.Fw&&Z.N!=null){var P=new d(s.E.s);P.T=G._H;P.data={e:"h_stepbck"}; +S.m(P);this.UQ(Z,b,Y,null);this.IH=this.Fw;return}if(this.IH==null)return;if(Y.q(U.Qz)||Y.q(U.pR)){this.IH.H.pop(); +this.IH.H.pop();this.IH.K.pop();this.Sw(Z,b,Y)}if(Y.q(U.n5)){if(this.IH.H.length>4){this.Fw=this.IH; +this.finish(Z,b,Y)}this.IH=null}if(Y.q(U.eZ)){this.IH=null}Z.M.LG=this.IH;Z.nd=!0};G.Qi.prototype.getSelection=function(Z,S,b,Y){return G.Ks.M6(this.IH.H)}; +G.rR=function(){G.Ks.call(this,[10,10],G.abC,"tools/mlasso");this.Hi="crosshair";this.Mg=[];this.b=[]; +this.$c=[];this.nZ=[];this.Hv=null;this.Zc=null;this.ye=null;this.V4=0;this._1=0};G.rR.prototype=new G.Ks; +G.rR.prototype.disable=function(Z,S,b,Y){this.clear(Z)};G.rR.prototype.wF=function(Z){return this.b.length!=0}; +G.rR.prototype.K7=function(){return this.b.length!=0};G.rR.prototype.jo=function(Z){return this.Mg.indexOf(Z)!=-1}; +G.rR.prototype.UQ=function(Z,S,b,Y){this.Mg=[U.Qz,U.pR];var P=this.hH(this.WD,Z);if(this.b.length!=0&&(ar.VA(P,this.b[0])<4*s.Z()/Z.a.S||Date.now()-this.V4<300)){this.TJ(Z,this.b[0]); +this.finish(Z,S,b);this.clear(Z);return}this.V4=Date.now();if(this.b.length!=0)P=this.Lp(P,Z);else{var w=Z.c,f=Z.v,h=T.f(w*f),Q=Z.Zd(),e=w*f*4; +for(var D=0;D>>2]=~~(.5+T.w2(Q[D],Q[D+1],Q[D+2])*(Q[D+3]*(1/255)));this.Hv=T.I6.akb(h,w,f); +this.ye=new Uint16Array(h.length)}this.TJ(Z,P);this._1=b.q(U.G_)?1:0;this.Mn(Z)};G.rR.prototype.TJ=function(Z,S){var b=this.b; +this.$c[b.length]=this.nZ.length;if(b.length!=0){T.I6.St(this.Zc,S.y*Z.c+S.x);var Y=this.GX(Z,S);Y.reverse(); +var P=G.rR.VP(Z,Y);this.nZ=this.nZ.concat(P)}b.push(S);this.Bt(Z)};G.rR.prototype.Bt=function(Z){var S=this.b[this.b.length-1],b=S.y*Z.c+S.x; +this.Zc=T.I6.adq(this.Hv.pk,this.Hv.jM,b);this.ye.fill(0)};G.rR.prototype.hH=function(Z,S){return new ar(Math.floor(Math.max(0,Math.min(S.c-1,Z.x))),Math.floor(Math.max(0,Math.min(S.v-1,Z.y))))}; +G.rR.prototype.clear=function(Z){this.nZ=[];this.b=[];this.$c=[];this.Hv=null;this.Zc=null;this.ye=null; +if(Z!=null){Z.M.LG=null;Z.M.k_=[];Z.nd=!0}this.Mg=[]};G.rR.prototype.Sw=function(Z,S,b,Y){var P=this.b,w=P.length; +if(w==0)return;var f=this.Lp(this.hH(this.GM,Z),Z),h=this.GX(Z,f);for(var D=0;D30&&ar.VA(e,P[w-1])>20){this.TJ(Z,e);return}this.ye[Q]++}if(this._1==1&&Y.ou)this.TJ(Z,f); +this.Mn(Z)};G.rR.prototype.Mn=function(Z){var S=this.b;if(S.length!=0){var b=this.Lp(this.hH(this.GM,Z),Z),Y=this.GX(Z,b); +Y.reverse();var P=G.rR.VP(Z,Y),w=this.nZ.concat(P),f=Z.M.LG={H:w,K:["M"]};for(var D=2;D5e3){console.log(w); +throw"e"}}return w};G.rR.VP=function(Z,S){var b=[],Y=Z.c;for(var D=0;D=b||l<0||l>=Y)continue; +T.I6.St(this.Zc,l*b+e);if(this.Zc.qJ[l*b+e]b||S*P*1/2>Y)P*=1/2;if(Z*P*2/3>b||S*P*2/3>Y)P*=1/2;else if(Z*P>b||S*P>Y)P*=2/3; +return P};G.IL.kC=function(Z,S){var b=G.IL.AC(Z);if(S&&b==0)return Z;if(!S&&b==G.IL.Qy.length-1)return Z; +return G.IL.Qy[S?b-1:b+1]};G.IL.AC=function(Z){var S=0;while(G.IL.Qy[S]>Z)S++;return S};G.IL.n6=function(Z,S,b,Y){var P=Z.hp; +if(Y==0||Y==null){Y=G.IL.kC(Z.S,b);if(Y==Z.S)return}var w=Z._2(S.x,S.y);if(P.c*Y<=Z.a_.c&&P.v*Y<=Z.a_.v){Z.n.Ha(0,0); +Z.S=Y}else{var f=Z.Gz(),h=Z.S/Y;f.translate(-w.x,-w.y);f.scale(h,h);f.translate(w.x,w.y);Z.BL(f)}};G.IL.prototype.Pf=function(Z,S,b,Y,P){if(Z.e=="pzoom"){if(typeof Z.G=="string")return; +Z={e:"zoom",S:Z.G/100}}var w=0,f=!1,h=null;if(Z.e=="adapt"){var Q=0;if(Z.G=="pixel")Q=1;if(Z.G=="fitscr"){var Q=0,e=b.a.a_.c,l=b.a.a_.v; +Q=Math.min((e-14)/b.c,(l-14)/b.v)}h=new ar(Math.round(b.a.a_.c/2),Math.round(b.a.a_.v/2));w=Q;G.IL.n6(b.a,h,f,w); +b.Pd=!0}if(Z.e.startsWith("multi")){function O(I){var E=I[0].x-I[1].x,c=I[0].y-I[1].y;return Math.sqrt(E*E+c*c)}function m(I){return new ar((I[0].x+I[1].x)/2,(I[0].y+I[1].y)/2)}var V=Z.JM,q=m(V); +if(Z.e=="multidown"){this.eN=[V,b.a.S,b.a._2(q.x,q.y)]}else{w=this.eN[1]*O(V)/O(this.eN[0]);if(w>=1)w=Math.min(32,Math.round(w)); +else{var K=0,z=1e9,t=G.IL.Qy;for(var D=0;DJ){f=!1; +this.rc=Math.min(this.rc-J,J-1)}else return;G.IL.n6(b.a,h,f,w);b.Pd=!0}if(Z.e=="zoom"){h=Z.TX?Z.TX:new ar(Math.round(b.a.a_.c/2),Math.round(b.a.a_.v/2)); +if(Z.S!=null)w=Z.S;else f=Z.tK;G.IL.n6(b.a,h,f,w);b.Pd=!0}if(Z.e=="mskView"){var A=b.t[b.C[0]],a=A.PC==3?A.fY(b).d:A.Y6(); +if(Z.G==0){b.a.o=[1,1,1];a.Ag=!1}if(Z.G==1){b.a.o=[1,1,1];a.Ag=!0}if(Z.G==2){b.a.o=[0,0,0];a.Ag=!0}for(var D=0; +D>>16&255,l:Z>>>8&255,O:Z>>>0&255}); +this.$o.m(S)}};G.Da.prototype.Pf=function(Z,S,b,Y,P){this.$o=S;if(Z.e=="newfill"){if(Z.vp==0){var w=new d(s.E.P,!0); +w.data={e:s.U.Fy,g9:"colorpicker",gV:P.ui,iy:this.a9A.bind(this)};S.m(w)}}else if(Z.e=="pathedit"){var f=Z.Ox,h="",Q=b.Bf.slice(0),e=b.ph.slice(0),l=b.Bf.slice(0),O=b.ph.slice(0); +if(f=="rnm"){var m=-1-Z.SU,V=Q[m],q=gf.jq(Z.name,V.add);if(m!=0)l[m]=q;else{O=[l.length];l.push(q);l[0]=gf.jq("Work Path")}h="Rename"}else if(f=="new"){l.push(gf.jq("Path "+Q.length)); +O=[l.length-1];h="New"}else if(f=="del"){if(O.length==0)return;O.sort(function(I,v){return I-v});if(O[0]==0){l[0]=gf.jq(Q[0].name); +O=O.slice(1)}var K=0;while(O.length!=0){l.splice(O[0]-K,1);O=O.slice(1);K++}h="Delete"}else if(f=="fromsel"){var z=l[0]=gf.jq("Work Path"); +O=[0];if(b.N==null)return;var t=b.N.channel.slice(0);for(var D=0;D128?2:1;var H=b.N.rect.clone(); +H.lg(1,1);var i=T.f(H.X());T.JS(t,b.N.rect,i,H);var y=hQ.Se(i,H.c,H.v,Math.round(H.X()*5e-4)),j=hQ.zl(y),J=new fR(1,0,0,1,-1+b.N.rect.x,-1+b.N.rect.y); +for(var D=0;D0){var w=["SoCo","GdFl","PtFl"][P-1];for(var D=0;D<3;D++)delete Z.add[["SoCo","GdFl","PtFl"][D]]; +Z.add[w]=S.B2}};G.cI=function(Z,S,b,Y){G.Da.call(this,Z,S,b);this.xN={tmode:1,shape:hF.VS(),pshape:0,binop:0,crad:0,irad:40,length:4,sides:5,width:5,tolr:5,tsiz:300,cstr:{QX:0}}; +this.al4=Y;this.ke=null;this.BB=null;this.Xx=null};G.cI.prototype=new G.Da;G.cI.prototype.wF=function(Z){return Z.ou&&this.id!=G.vn}; +G.cI.prototype.enable=function(Z,S,b,Y,P){this.W3=b;var w=new d(s.E.P,!0);w.data={e:s.U.il,tf:"crosshair"}; +S.m(w)};G.cI.prototype._B=function(Z,S,b,Y){};G.cI.prototype.Os=function(Z,S,b,Y,P){var w=this.xN.tmode; +if(w!=2)this.Rk(S,b);if(w==2&&!Z.bY())return;var f=Z.a._2(P.x,P.y);f=G.sR.yK(Z,f,b);this.Xx=[f.x,f.y]; +this.ke=f;this.BB=new ar(0,0)};G.cI.prototype.bw=function(Z,S,b){var Y=[this.ke.clone(),S.clone()];if(this.al4)Y=G.cI.pr(Y[0],Y[1],b,!0,this.xN.cstr); +if(Z)Z.a.dl=new b4(Y[0].x,Y[0].y,Y[1].x-Y[0].x,Y[1].y-Y[0].y);return this._B(Y[0],Y[1],b.q(U.Lo),this.Xx)}; +G.cI.prototype.Pa=function(Z,S,b){var Y=Z.a._2(S.x,S.y),P=this.xN.cstr;if(P.QX==2){var w=new b4(Y.x-P.x,Y.y-P.y,P.x,P.y),f=G.sR.BG(Z,w,b); +Y.x+=f[0];Y.y+=f[1];G.sR.F$(Z,w,f)}else Y=G.sR.yK(Z,Y,b);return Y};G.cI.prototype.Zq=function(Z,S,b,Y,P){if(this.ke==null)return; +var w=this.Xx,f=w.length,h=P?this.Pa(Z,P,b):new ar(w[f-2],w[f-1]);if(Y.q(U.Ah))this.ke=h.jZ(this.BB); +else this.BB=h.jZ(this.ke);w.push(h.x,h.y);if(this.xN.shape==null)this.xN.shape=b.Tp[0];var Q=this.bw(Z,h,Y)[0],e=T.z.o5(Q); +Z.M.LG=e;if(this.id!=G.vn&&this.id!=G.Kx&&this.id!=G.N8)G.$W.i8(P.x+10,P.y-10,Z.a.dl,Z,b);Z.nd=!0};G.cI.prototype.aa_=function(Z,S,b,Y){var P=Z[4].clone(); +if(Y){P.x-=S/2;P.y-=b/2}var w=this._B(P,new ar(P.x+S,P.y+b),!1,this.Xx);this.w1(Z[0],Z[1],Z[2],w)};G.cI.prototype.w1=function(Z,S,b,Y){var P=new d(s.E.TH,!0); +P.data=G.cI.DW(Y[1],b);S.m(P);if(Y[1].v.classID=="customShape"&&Y[1].v.Nm.v.startsWith("--")){var w=Z.zl(),f=w[0],h=w[1],Q=f[h.pop()],e=Q.add.vmsk,l=Q.add.vogk,O=e.clone(); +O.b=Y[0];this.jb(Z,Q.SU,O,l)}};G.cI.prototype.Xa=function(Z,S,b,Y,P){if(this.ke==null)return;var w=this.Pa(Z,P,b),f=this.xN.binop,h=this.xN.tmode,Q=this.Xx,e=Q.length; +if(this.id==G.vn&&e<=4){}else if(e<=4){w.x=Math.round(w.x);w.y=Math.round(w.y);var l=new d(s.E.P);l.data={e:s.U.Fy,g9:"createshape",a40:this.aa_.bind(this),a9g:this.name,abe:[Z,S,b,Y,w]}; +S.m(l)}else if(e!=2){var O=this.bw(Z,w,Y),m=O[0];if(h==0&&m.length>2){m[2].qU=[1,2,3,0][f];var V=Z.zl(!0),q=V[0],K=V[1],z=q[K.pop()],t=z.add.vmsk,H=z.add.vogk,i=t.clone(),y=t.clone(),j=JSON.stringify(H); +y.b=y.b.concat(m.slice(2));y.C=[T.Y.eu(y.b)-1];var J=T.AZ.XM(O[1]);H.push(J?J:T.AZ.Nv());this.jb(Z,z.SU,y,H); +this.MT(Z,this.name,z.SU,i,y,null,j,JSON.stringify(H))}else if(h==1){this.w1(Z,S,b,O)}else if(h==2){var y=new F.NS; +y.b=y.b.concat(m.slice(2));var A=y.Y6(),a=T.f(A.rect.X()*4);T._U(a,(b.ui&255)<<16|(b.ui>>8&255)<<8|(b.ui>>16&255)<<0); +T.y8(A.channel,a,3);var I=new d(s.E.s,!0);I.T=G.sb;I.data={e:"draw",fZ:{buffer:a,rect:A.rect.clone()},ep:this.name}; +S.m(I)}}this.ke=null;Z.M.LG=null;Z.M.yW=null;Z.M.ag=[];Z.a.dl=null;Z.nd=!0};G.cI.prototype.aa=function(Z,S,b,Y,P){for(var b in Z)this.xN[b]=Z[b]}; +G.cI.pr=function(Z,S,b,Y,P){var w=Z.x,f=Z.y,h=S.x,Q=S.y;if(P&&P.QX==2){if(Y){h=Math.round(h);Q=Math.round(Q)}w=h-P.x; +f=Q-P.y}else{var e=0;if(P&&P.QX==1)e=P.y/P.x;else if(b&&b.q(U.Lo))e=1;if(e!=0){if(Y){if(ww?w+m:w-m;Q=Q>f?f+m*e:f-m*e}if(b&&b.q(U.G_)){w-=h-w;f-=Q-f}}var Z=new ar(w,f),S=new ar(h,Q); +if(Y)G.cI.a0v(Z,S);return[Z,S]};G.cI.a0v=function(Z,S){if(Z.x>S.x){var b=Z.x;Z.x=S.x;S.x=b}if(Z.y>S.y){var b=Z.y; +Z.y=S.y;S.y=b}Z.x=Math.floor(Z.x);Z.y=Math.floor(Z.y);S.x=Math.ceil(S.x);S.y=Math.ceil(S.y)};G.cI.a5_=function(){return{classID:"Mk",null:{t:"obj ",v:[{t:"Clss",v:{classID:"contentLayer"}}]},Usng:{t:"Objc",v:{classID:"contentLayer",Type:{t:"Objc",v:{}}}}}}; +G.cI.uB=function(Z,S){var b=G.cI.a5_();if(S==null)S=JSON.parse(JSON.stringify(a4.BH[Z]));dK.AK.zV(S,b.Usng.v.Type.v,Z); +return{uf:"make",V1:b}};G.cI.DW=function(Z,S){var b=S.er,Y=JSON.parse(JSON.stringify(S.ET));if(b.uR==0)Y.fillEnabled.v=!1; +var P=G.cI.uB(Math.max(0,b.uR-1),b.B2);P.V1.Usng.v.Shp=Z;P.V1.Usng.v.strokeStyle={t:"Objc",v:Y};return P}; +G.S3=function(){G.Da.call(this,[10,29],G.ae,"tools/pen");this.i5=null;this.mh=null;this.Ko=1;this.abF=0; +this.Az=null;this.tQ=!1;this.Gh=!1;this._Q=!1};G.S3.prototype=new G.Da;G.S3.prototype.wF=function(Z){return this.i5!=null}; +G.S3.prototype.XF=function(Z,S,b,Y){G.Da.prototype.XF.call(this,Z,S,b,Y);if(!Y.q(U.G_))this._Q=!1};G.S3.prototype.Os=function(Z,S,b,Y,P){this.Rk(S,b); +var w=Z.a._2(P.x,P.y),V,q;w.x=Math.round(w.x);w.y=Math.round(w.y);var f=G.sR.yK(Z,w,b),h=Z.zl(this.Ko==0),Q=h[0],e=h[1],l=Q[e.pop()],O=l?l.add.vmsk:null,m=4*s.Z()/Z.a.S; +if(O)V=T.Y.eI(O.b,w,!0,m);var K=Y.q(U.G_);if(this.Ko==1&&(O==null||O.cY.length==0&&V.SU==-1)){var z=new d(s.E.TH,!0),t=T.AZ.Ud("customShape",[0,0,1,1],null,null,null,"--"); +z.data=G.cI.DW(t,b);S.m(z);h=Z.zl(!0);Q=h[0];e=h[1];l=Q[e.pop()];O=l.add.vmsk;O.b=O.b.slice(0,2)}var H=l.add.vogk; +this.i5=O.clone();this.mh=JSON.stringify(H);var i=O.b,y=T.Y.eu(i);q=T.Y.D7(O.b,new b4(w.x-m,w.y-m,m*2,m*2),O.cY); +V=T.Y.eI(O.b,w,!0,m);var j=q[0].length+q[1].length+q[2].length;if(V.SU!=-1&&q[0].length==0){var J=T.Y.dq(i,V.SU); +while(i[J].length<=V.Rs){V.Rs-=i[J].length;J+=i[J].length+1}i[J].length++;i.splice(J+2+V.Rs,0,{type:4,hQ:f.clone(),I:f.clone(),e$:f.clone()}); +O.cY=[J+2+V.Rs]}else if(j!=0&&K){var A=0;for(var D=0;D<3;D++)if(q[D].length!=0){A=q[D][0];this.Gh=D==1; +break}if(q[0].length!=0){var a=O.b.length-1,I=O.b[A];I.e$=I.I.clone();var E=I.type>=3?3:0;if(A!=a){I.hQ=I.I.clone(); +I.type=E+1;this._Q=!0}else I.type=E+2}O.cY=[A]}else if(q[0].length==1&&i[q[0][0]-1]&&i[q[0][0]-1].qU==null){var A=q[0][0],J=T.Y.tG(i,A); +J=T.Y.dq(i,J);var c=J+i[J].length;if(A!=c){i[J].length--;i.splice(A,1);c--}O.cY=[c]}else{var u=0;if(O.cY.length!=1){O.C=[y]; +i.push({type:3,length:1,qU:[1,2,3,0][this.abF],oY:0,uT:0,Y9:0});u=i.length;H.push(T.AZ.Nv())}else{var n=O.cY[0],o=T.Y.tG(i,n),J=T.Y.dq(i,o); +n=J+i[J].length;if(ar.VA(w,i[J+1].I)0}else{var z=this.iz.clone(),t=z.x,H=z.y;z.offset(w.x-this.e7.x,w.y-this.e7.y); +z.x=Math.round(z.x);z.y=Math.round(z.y);var i=G.sR.BG(Z,z,b),y=new fR(1,0,0,1,z.x-t+i[0],z.y-H+i[1]); +T.Y.$d(h.b,y,h.C);T.AZ.A(Q,T.J.GC(y),h.C);G.sR.F$(Z,z,i)}this.jb(Z,f.SU,h,Q)}else{var j=this.e7;Z.M.LG=T.z.X6(new b4(j.x,j.y,w.x-j.x,w.y-j.y)); +Z.nd=!0}};G.Xr.prototype.Xa=function(Z,S,b,Y,P){if(this.e7==null)return;var w=Z.a._2(P.x,P.y),f=this.IH,h=f?f.add.vmsk:null; +if(this.jT){var Q=JSON.stringify(f.add.vogk);if(!this.e7.Oh(w))this.MT(Z,"Move Paths",f.SU,this.i5,h,null,this.mh,Q); +if(Z!=null&&Z.M.yW){Z.M.yW=null;Z.nd=!0}}else{if(h){var e=this.e7,l=new b4(e.x,e.y,w.x-e.x,w.y-e.y),O=T.Y.aes(h.b,l); +if(Y.q(U.Lo)){for(var D=0;De+l)w[V]+=O}this.R_(Y,P);Y.cY=[]}this.jb(this.mP,this.IH.SU,Y,P); +if(Z=="cancel")this.Jl()};G.Cj.prototype.disable=function(Z,S,b,Y){this.rL(Z)};G.Cj.prototype.Os=function(Z,S,b,Y,P){this.rL(Z); +var w=Z.a._2(P.x,P.y),O,m,V;this.YZ=w.clone();var f=Z.zl(),h=f[0],Q=f[1];if(Q.length==0)return;var e=4*s.Z()/Z.a.S,l=new b4(w.x-e,w.y-e,e*2,e*2); +for(var q=0;q>>1);Z.M.IK.push(E.x,E.y); +Z.nd=!0}}}};G.Cj.prototype.rL=function(Z){if(Z&&Z.M.IK.length!=0){Z.M.IK=[];Z.M.ac=[];Z.nd=!0}};G.Cj.prototype.Xa=function(Z,S,b,Y,P){var w=Z.a._2(P.x,P.y),f=this.IH,h=f?f.add.vmsk:null,Q=f?f.add.vogk:null; +if(this.jy!=-1){if(Date.now()-this.V4<300){var e=h.b[this.jy],l=this.Dy,O=null;if(l==0){var m=e.hQ.Oh(e.I),V=e.e$.Oh(e.I); +if(!m&&!V){O="Anchor Type";if(e.type==1||e.type==4)e.type++;else{e.type--;e.e$=e.I.add(e.I.jZ(e.hQ))}}else{O="Add Handles"; +if(m&&V){e.hQ.x-=30;e.e$.x+=30}else if(m)e.hQ=e.I.add(e.I.jZ(e.e$));else if(V)e.e$=e.I.add(e.I.jZ(e.hQ))}}else{O="Remove Handle"; +if(l==1)e.hQ.ky(e.I);else e.e$.ky(e.I)}this.R_(h,Q);this.jb(Z,f.SU,h,Q);this.MT(Z,O,f.SU,this.i5,h,null,this.mh,JSON.stringify(Q))}else if(!this.YZ.Oh(w)){this.MT(Z,"Drag Anchors",f.SU,this.i5,h,null,this.mh,JSON.stringify(Q))}this.V4=Date.now()}else if(this.e7!=null){var q=this.e7,K=new b4(q.x,q.y,w.x-q.x,w.y-q.y); +if(K.c<0)K.x+=K.c;if(K.v<0)K.y+=K.v;K.c=Math.abs(K.c);K.v=Math.abs(K.v);var z=T.Y.D7(h.b,K);h.cY=z[0].concat(Y.q(U.Lo)?h.cY:[]); +Z.M.LG=null}this.Jl();Z.nd=!0};G.Cj.prototype.Jl=function(){this.IH=null;this.i5=null;this.e7=null;this.jy=this.Dy=-1; +this.Gb=null};G.Cj.prototype.R_=function(Z,S){for(var D=0;D=K){V.C.splice(D,1); +D--}V.cY=[];this.jb(Z,h.SU,V,e);this.MT(Z,"Delete Anchors",h.SU,m,V.clone(),!0,l,JSON.stringify(e))}}; +G.Cj.prototype.MT=function(Z,S,b,Y,P,w,f,h){var Q=Z.Yl();if(w&&Q!=null&&Q.T==this&&Q.data.a1Q&&Q.data.SG==b&&JSON.stringify(Q.data.SN.cY)==JSON.stringify(Y.cY)){Q.data.EW=P; +Q.data.i4=h}else{var Q=new iA(S,this);Q.data={SG:b,SN:Y,EW:P,a1Q:w,aoM:f,i4:h};Z.kz(Q)}};G.Rect=function(){G.cI.call(this,[10,32],G.L4,"tools/rect",!0)}; +G.Rect.prototype=new G.cI;G.Rect.prototype._B=function(Z,S,b){var Y=this.xN.crad,P=S.x-Z.x,w=S.y-Z.y; +return[T.Y.i9.Rect(Z.x,Z.y,P,w,Y),T.AZ.Ud("Rctn",[Z.x,Z.y,S.x,S.y],[Y,Y,Y,Y])]};G.TN=function(){G.cI.call(this,[10,33],G.v0,"tools/ellipse",!0)}; +G.TN.prototype=new G.cI;G.TN.prototype._B=function(Z,S,b){var Y=S.x-Z.x,P=S.y-Z.y;return[T.Y.i9.TN(Z.x,Z.y,Y,P),T.AZ.Ud("Elps",[Z.x,Z.y,S.x,S.y])]}; +G.mt=function(){G.cI.call(this,[10,34],G.Kx,"tools/pshape",!1)};G.mt.prototype=new G.cI;G.mt.prototype._B=function(Z,S,b){var Y=this.xN.pshape,P=this.xN.crad,w=this.xN.irad/100,f=this.xN.sides,h=this.xN.width,Q=this.xN.tsiz,e=this.xN.length,z; +S=S.clone();if(b){if(Math.abs(S.x-Z.x)2)Y.push(-1-Z.ph[D]); +var P=[],w=Z.a.o;if(w[0]+w[1]+w[2]==3)if(b!=null||Y.length==0||Z.v6!=null&&Z.v6.length!=0)P=Z.IM(S,b,null,!0); +P=P.concat(Y);for(var D=0;D=0&&!f.rect.h3()){this.oF=1;this.O1=Z.N; +this.cV=f.Ns;this.CC=!1;if(!f.CQ(Z,Z.N)){this.CC=!0;f.S0(Z,Z.N,!1)}this.Zl={Le:f.Ns.qG,_:f.Ns.bC}}else{this.oF=0; +this.dN=G.V.fU(Z,this.t,null,b);for(var D=0;D=0)Y=Z.N.rect.clone();else for(var D=0;D=0){f=Z.t[w];h=f.FN(Z,b,Y)}else if(w>-1e3){f=Z.Bf[-1-w]; +h=[2]}else{P.push([null,null,null,null,null,null,null,Z.eP[-1e3-w].clone()]);continue}var Q=[];if(h.indexOf(0)!=-1){var e={GE:[f.buffer.slice(0),f.rect.clone()]}; +Q.push(e);if(f.pL()){var l=f.fY(Z);e.ajq=l.buffer.slice(0);e.a57=l.rect.clone()}}else Q.push(null);if(h.indexOf(1)!=-1)Q.push(f.Y6().clone()); +else Q.push(null);if(h.indexOf(2)!=-1)Q.push({$h:f.add.vmsk.clone(),m3:f.add.vstk?JSON.parse(JSON.stringify(f.add.vstk)):null,B2:f.add.vstk?G.Da.RS(Z,w):null,AZ:f.add.vogk?JSON.parse(JSON.stringify(f.add.vogk)):null}); +else Q.push(null);if(f.add.TySh&&Q[0]){eO.lj(f.add.TySh);Q.push(f.add.TySh.A.clone())}else Q.push(null); +if(f.add.SoLd&&Q[0])Q.push(JSON.parse(JSON.stringify(f.add.SoLd)));else Q.push(null);if(h.indexOf(3)!=-1)Q.push(f.fY(Z).d.clone()); +else Q.push(null);if(f.add.lmfx)Q.push(JSON.stringify(f.add.lmfx));else Q.push(null);P.push(Q)}return P}; +G.V.qs=function(Z,S,b){for(var D=0;D1; +if(a)A=!1;var I=A?J.C:null,E=a?J.cY:null;if(j){var c=T.$e.dm(f);T.J.A(O,c);T.Y.aa1(J.b,c,I,E)}else T.Y.a7M(J.b,O,I,E); +if(K.add.vstk&&h){K.add.vstk.strokeStyleLineWidth.v.val=z[2].m3.strokeStyleLineWidth.v.val*V;var u=z[2].B2; +if(u&&u.uR==3){u=JSON.parse(JSON.stringify(u));var n=u.B2.phase.v;u.B2.Scl.v.val=Math.round(u.B2.Scl.v.val*V); +n.Hrzn.v=Math.round(n.Hrzn.v*V);n.Vrtc.v=Math.round(n.Vrtc.v*V);G.Da.vO(K,u)}}if(K.add.vogk){K.add.vogk=JSON.parse(JSON.stringify(z[2].AZ)); +if(j||a)T.AZ.ag0(K.add.vogk);else T.AZ.A(K.add.vogk,O,b.length>1?[]:J.C,h)}J.Mt*=V;K.add.vmsk=J;if(K.add.vogk)T.AZ.BA(K.add.vogk,K.add.vmsk)}if(z[3]){var o=z[3].clone(); +o.concat(m);K.add.TySh.A=o;eO.LY(K.add.TySh);var x=new io(K.add.TySh.HK,S.S9),g=gU.PG(x,K.add.TySh); +K.rect=g._;K.buffer=g.j$}if(z[4]){var v=K.add.SoLd,R=G.V.Nt(z[4].nonAffineTransform);T.J.A(O,R);var X=T.z.Ex(R); +if(ad.z0(R)){if(f){var B=T.z.$R(T.$e.dm(z[4].warp.v)),M=T.J.Sy(R,B),r=T.z.$R(T.$e.dm(f));R=[r.x,r.y,r.x+r.c,r.y,r.x+r.c,r.y+r.v,r.x,r.y+r.v]; +T.J.A(M,R);v.warp.v=f}var N=T.J.Sy(R),$=R;if(!T.J.ic(N)){N[6]=N[7]=0;$=[0,0,1,0,1,1,0,1];T.J.A(N,$)}v.Trnf=G.V.ab($); +v.nonAffineTransform=G.V.ab(R);if(v.filterFX)v.filterFX=JSON.parse(JSON.stringify(z[4].filterFX));G.V.cA(v,m); +K.JN(Z,P==0)}}if(z[5])G.V.MK(Z,z[5],K.fY(Z).d,P,O,f);if(z[7])G.V.MK(Z,z[7],K,P,O,f);if(0<=q){if(P!=0)K.gi(); +K.vK(Z);K.D()}}Z.D()};G.V.DP=function(Z,S,b,Y,P,w){if(b==null)b=!1;return G.V.u4(Z,b?0:1,T.J.GC(S),null,Y,P,w,b)}; +G.V.u4=function(Z,S,b,Y,P,w,f,h){if(h==null)h=!1;if(h&&f)throw"e";var Q={},m=0,V=.3;if(Y&&!T.$e.iI(Y)){var e=T.$e.dm(Y); +T.J.A(b,e);Q.rect=T.z.Ex(e);Q.buffer=T.f(Q.rect.X()*4);T.Ts.drawImage(e,Z[0],Z[1].c,Z[1].v,Q.buffer,Q.rect,S==0); +return Q}T.O9(Z);var l=Z[0],O=Z[1],q=O.X()*G.V.I2(T.J.eS(b));if(h&&q>4e6)V=q>8e6?2.2:1.2;while(m+316&&T.J.ic(b)&&G.V.I2(T.J.eS(b))1e5||Q.rect.v>1e5||Q.rect.X()>3e4*3e4)return null; +var j=Q.rect.X()*4;if(P&&P.byteLength>=j&&j>=P.byteLength>>2){Q.buffer=new Uint8Array(P)}else{Q.buffer=T.f(j)}T.J.drawImage(i,l,O.c,O.v,Q.buffer,Q.rect,S==0,w,h); +if(S==2&&Q.buffer){var J=Q.rect.c,A=Q.rect.v,a;a=[0,-1,0,-1,16,-1,0,-1,0];a=T.yM.yU(a);var I=Q.buffer.slice(0); +T.yM.Hl(I,Q.buffer,J,A,a,255,!1,!0)}if(Q.buffer)return Q};G.V.MK=function(Z,S,b,Y,P,w){if(S.color==255)T.oN(S.channel); +var f=S.rect,h=T.f(f.X()*4);T.y8(S.channel,h,3);var Q=G.V.u4([h,f],Y,P,w);if(Q){b.rect=Q.rect;b.channel=T.f(Q.rect.X()); +T.to(Q.buffer,b.channel,3);b.Th=!0}if(S.color==255){T.oN(S.channel);if(Q)T.oN(b.channel)}};G.V.cA=function(Z,S){var b=Z.filterFX; +if(b)b=b.v.filterFXList;if(b)b=b.v;if(b)for(var Y=0;Y>>1)+Y.C[P]);Z.M.IK=Z.M.IK.concat(Y.he);if(this.Vj[3])T.z.concat(Z.M.LG,T.z.a96(Y.Tn,Y.ZG))}Z.nd=!0}; +G.Xh.PE=function(Z,S,b){var Y=Z.buffer,P=Z.rect,w=Z.a0U,f=cL.VS("rigidTransform");if(w)for(var D=0;D<4; +D++){f["PuX"+D].v=w[D*2];f["PuY"+D].v=w[D*2+1]}var h=f.puppetShapeList.v,Q=T.yF.a8A(Y,P.c,P.v,S[1],S[2]),e=[]; +for(var l=0;l>>1)+H.C[i]); +for(var i=0;i=Q[2]||Q[1]>=Q[3]){Z.splice(D,1); +D--;continue}G.cd._x(Z,D,Q)}};G.cd.CP=function(Z,S){var b=Z.CY;for(var D=0;D1e6,f=new d(s.E.P,!0);f.data={e:s.U.kO,b4:w};if(P)b.m(f);setTimeout(function(){var h=G.N4.YP(Z); +for(var Q in h)S[Q]=h[Q];var f=new d(s.E.P,!0);f.data={e:s.U.P9,b4:w};if(P)b.m(f)},30)}};G.N4.RV=function(Z){var S=Z.C[0],b=Z.t[S],Y=b.rect,P=Y.c,w=Y.v,f=P*w,h=b.buffer; +return[S,Y.x,Y.y,P,w,h[0],h[1],h[2],h[3]].join(",")};G.N4.YP=function(Z){var S=Z.C[0],b=Z.t[S],Y=b.rect,P=Y.c,w=Y.v,f=P*w,h=b.buffer,Q=Date.now(),e=T.f(f); +e.fill(128);var l=T.Or.Ep(h,P,w);console.log(Date.now()-Q);var O={key:G.N4.RV(Z),A1:h,rect:Y.clone(),Yu:P,XE:w,hx:12,a3S:!1,m6:e,o0:l,N:T.f(f),B0:null,YD:null,fu:null}; +G.N4.Bj(O);return O};G.N4.Bj=function(Z,S){var b=Z.Yu,Y=Z.XE,P=0,w=0,f=Date.now(),h=Z.B0!=null&&T.Or.ahz(Z.o0.ZG,Z.B0.ZG,Z.B0.EJ,Z.m6); +P=Date.now()-f;f=Date.now();if(!h&&!Z.a3S){Z.B0=T.Or.jx(Z.o0,b,Y,Z.m6,Z.hx);if(!T.Or.ahz(Z.o0.ZG,Z.B0.ZG,Z.B0.EJ,Z.m6)){Z.a3S=!0; +console.log("conflict")}Z.YD=T.Or.ahE(Z.A1,b,Y,Z.B0.ZG,Z.B0.EJ);Z.fu=[Z.YD[0].slice(0),[]];w=Date.now()-f; +f=Date.now()}var f=Date.now();if(S){Z.fu[0].set(Z.YD[0]);var Q=Z.YD[1],e=Z.fu[1];for(var l=0;l=1)fq=(m.x-$)/hN;if(Math.abs(bI)>=1)e9=(m.y-eQ)/bI;if(P)fq=e9=(fq+e9)/2;var W=new fR; +W.translate(-$,-eQ);W.scale(fq,e9);W.translate($,eQ);I=E.slice(0);T.z.A(I,W,I)}else{if(this.zn()){m.x=Math.round(m.x); +m.y=Math.round(m.y)}var L=[0,1,2,5,8,7,6,3],bd=L[(L.indexOf(e)+4)%8],iw=[];for(var D=0;D<3;D++)for(var u=0; +u<3;u++)iw.push(new ar(u/2,D/2));var i=this.Y1,d7=this.cu(m,E),d0=this.cu(Q,E),gS=w&&(this.OF==4||this.OF==9)?this.cu(i,E):iw[bd],cf=new fR,cT=new fR,fq=(d7.x-gS.x)/(d0.x-gS.x); +if(fq==0)fq=1e-4;var e9=(d7.y-gS.y)/(d0.y-gS.y);if(e9==0)e9=1e-4;if(this.als){fq=Math.max(fq,0);e9=Math.max(e9,0)}if(e==0||e==2||e==6||e==8){if(P||this.a16)cf.scale(fq,fq); +else cf.scale(fq,e9)}if(e==1||e==3||e==5||e==7){var fU=this.a16;if(e==1||e==7)cf.scale(fU?e9:1,e9);else cf.scale(fq,fU?fq:1); +if(this.ams&&f){if(e==1||e==7)cT.tE=(d7.x-gS.x)/(d7.y-gS.y);else cT.O=(d7.y-gS.y)/(d7.x-gS.x)}}var W=new fR; +W.translate(-gS.x,-gS.y);W.concat(cf);W.concat(cT);W.translate(gS.x,gS.y);I=[0,0,1,0,1,1,0,1];T.z.A(I,W,I); +var X=T.J.Sy(E);T.J.A(X,I)}if(ad.z0(I))this.mu=I}this.tR(Z,S);if(V)G.sR.F$(Z,q,V)};ad._a=function(Z,S,b,Y,P,w){var f=b-Z,h=Y-S,Q=P-Z,e=w-S,l=f*f+h*h,O=Q*f+e*h,m=O/l,V=Z+m*f,q=S+m*h,K=P-V,z=w-q; +return[V,q,Math.sqrt(K*K+z*z)]};ad.prototype.zn=function(){var Z=this.mu;return Math.abs(Z[1]-Z[3])<1e-6&&Math.abs(Z[2]-Z[4])<1e-6||Math.abs(Z[0]-Z[2])<1e-6&&Math.abs(Z[3]-Z[5])<1e-6}; +ad.z0=function(Z){return T.z.G0(Z)||T.z.G0([Z[6],Z[7],Z[4],Z[5],Z[2],Z[3],Z[0],Z[1]])};ad.prototype.Xa=function(Z,S,b,Y){this.yp=-1; +this.cn=null;Z.M.yW=null;Z.M.ag=[];Z.nd=!0};ad.prototype.XF=function(Z,S,b){var Y=b.sh();if(Y.x||Y.y){var P=new fR(1,0,0,1,Y.x,Y.y); +T.z.A(this.mu,P,this.mu);this.tR(Z,S);return!0}return!1};ad.prototype.mY=function(Z){if(Z==null)Z=this.mu; +var S=Z[6]-Z[0],b=Z[7]-Z[1],Y=Z[4]-Z[2],P=Z[5]-Z[3],w=[Z[0],Z[1],Z[2],Z[3],Z[0]+S/2,Z[1]+b/2,Z[2]+Y/2,Z[3]+P/2,Z[6],Z[7],Z[4],Z[5]],f=[]; +for(var D=0;D<3;D++){var h=D*4,Q=w[h+0],e=w[h+1],l=w[h+2],O=w[h+3];f.push(new ar(Q,e));f.push(new ar(Q+(l-Q)/2,e+(O-e)/2)); +f.push(new ar(l,O))}return f};ad.prototype.tR=function(Z,S,b){if(b==null)b=!1;var Y=this.mY(),P=Y[0],w=Y[2],f=Y[6],h=Y[8]; +Z.M.LG={K:[],H:[]};Z.M.LG.K.push("M","L","L","L","Z");Z.M.LG.H.push(P.x,P.y,w.x,w.y,h.x,h.y,f.x,f.y); +if(this.agl){var Q=w.jZ(P),e=f.jZ(P),l=h.jZ(w),O=h.jZ(f);for(var D=0;D<3;D++){Z.M.LG.K.push("M","L","M","L"); +var m=(D+1)*.25;Z.M.LG.H.push(P.x+Q.x*m,P.y+Q.y*m,f.x+O.x*m,f.y+O.y*m);Z.M.LG.H.push(P.x+e.x*m,P.y+e.y*m,w.x+l.x*m,w.y+l.y*m)}}Z.a.dl=new b4(0,0,ar.VA(Y[0],Y[2]),ar.VA(Y[0],Y[6])); +if(this.yp!=-1&&this.yp<9&&this.cn){var V=Z.a.pg(this.cn.x,this.cn.y);G.$W.i8(V.x+10,V.y-10,Z.a.dl,Z,S)}if(!b){Z.M.k_=[]; +for(var D=0;DZ.index;D--)this.fr(b);if(Z.index>b.Hc)for(var D=b.Hc; +D1)b.C.splice(B,1);b.C.sort(function(Q,f7){return Q-f7});q.V1.selectionModifier={t:"enum",v:{selectionModifierType:"addToSelection"}}; +X=f}else if(Y.q(U.Lo)&&!Y.q(U.G_)&&Z.s0>0){w=Z.s0==1?F.pa:Z.s0==2?F.cf:F.Wt;escape=!0}else if((Y.q(U.Lo)||Z.a4y==1)&&b.C.length>0){var M=Math.min(f,b.C[0]),r=Math.max(f,b.C[b.C.length-1]); +b.C=[];for(var D=M;D<=r;D++)if(b.t[D].add.lsct!=fr.Ee)b.C.push(D);q.V1.selectionModifier={t:"enum",v:{selectionModifierType:"addToSelectionContinuous"}}; +X=f}else{X=f;var g=b.t[f];if(g&&g.W$()&&Z.acJ)g.add.lsct=fr.k8;else if(b.C.length==1&&b.C[0]==f&&Z.s0==g.PC){return}b.C=[f]; +b.NW()}if(X!=null&&X")em++;this.track({uf:"delete",V1:{classID:"Dlt",null:a3.h$("Lyr",!0)}}); +var Q=new iA([6,31],this);Q.data={e:F.Kb,i3:b.t.slice(0),gR:hW,qV:b.C.slice(0),nV:[em]};b.kz(Q);this.Ed(Q.data,b)}if(w==F.sg){var x=Z.abj?Z.abj:b.C,br=0,bM=!1; +if(x.length==0)return;if(x.length==1&&b.t[x[0]].QG==0){alert(aV.get([15,7,5]));return}var cF=[];for(var D=0; +D0){if(hx.add.lnk2==null)hx.add.lnk2=[]; +for(var D=0;D7;for(var cj=0;cj=0;D--)if(aH[D]>=hW.length)aH.splice(D,1);var Q=new iA([6,40],this);Q.data={e:F.Kb,i3:b.t.slice(0),gR:hW,qV:b.C.slice(0),nV:aH}; +b.kz(Q);this.Ed(Q.data,b)}if(w==F.ki){var bJ=b.C.length;if(bJ<2){alert("Select two or more layers."); +return}if(!b.Xy())return;var fq=b.t[b.C[0]].clone(),hW=[];for(var D=0;D2e6){alert("Blended areas are too large."); +return}for(var D=1;D1&&i2!=-1){console.log("separating an open path into a new layer");g=g.clone();ie=g.add.vmsk; +bO=ie.b;var l=bO[i2].length,b8=g.clone();b8.add.lyid=b.Tm();ie.b=bO.slice(0,2).concat(bO.slice(i2,i2+l+1)); +ie.C=[];g.vK(b);g.D();var dH=b8.add.vmsk.b;b8.add.vmsk.b=dH.slice(0,i2).concat(dH.slice(i2+l+1,dH.length)); +b8.add.vmsk.C=[];b8.vK(b);hW[D]=g;hW.splice(D+1,0,b8);for(var cj=0;cjD)iq[cj]++; +var gr=iq.indexOf(D);if(gr!=-1){iq.splice(gr+1,0,D+1)}}}}if(hW.length!=b.t.length){var Q=new iA("Splitting open paths",this); +Q.data={e:F.Kb,i3:b.t.slice(0),gR:hW,qV:b.C.slice(0),nV:iq};b.kz(Q);this.Ed(Q.data,b)}}if(w==F.Rc){this.Pf({e:F.P2},S,b,Y,P); +var cU=b.C.slice(0),f4=b.t.slice(0),fE=b.IM();if(fE.length==0)return;b.Qw(fE,!1,Z.vh);var Q=new iA([6,36,0],this); +Q.data={e:F.Kb,i3:f4,gR:b.t.slice(),qV:cU,nV:b.C.slice(0)};b.kz(Q);this.Ed(Q.data,b)}if(w==F.m$){var cf=h.add.SoLd; +if(cf==null)return;var eK=cf.Idnt.v,hd=b.IG(eK);hd.Zd(!1);var f9=hd.Qf[0],dM=hd.Qf[1];if(T.PV(f9)){alert("The smart object contains transparency."); +return}var d$=ab.iZ("jpg").$b([[f9.buffer]],dM.c,dM.v,[90]);this.Pf({e:F.dX,hp:b,data:new Uint8Array(d$),id:eK,vh:"jpg"},S,b,Y,P); +console.log(b.add);return}if(w==F.dX){var dI=Z.hp.IG(Z.id),a1=dI.clone();a1.raw=Z.data;if(Z.vh){a1.Tw=" "; +a1.uR=" ";a1.JB=a1.JB+"."+Z.vh}else{a1.Tw="8BIM";a1.uR="8BPB";a1.JB=a1.JB+".psd"}a1.Zd(!1);dI.Zd(!1); +var Q=new iA([6,36,1],this);Q.data={e:F.dX,id:Z.id,Lw:dI,t7:a1};Z.hp.kz(Q);this.Ed(Q.data,Z.hp)}if(w==F.Jp){var Q=new iA([6,36,4],this); +Q.data={e:w,$:f,a7:h.add.SoLd.Impr.v.classID,u$:Z.u$};b.kz(Q);this.Ed(Q.data,b)}if(w==F.gK){var aP,bw; +if(Z.NN){aP=Z.hp;bw=Z.NN}else{Z.hp.Wl();Z.hp.mG();Z.hp.D();Z.hp.j8();Z.hp.Zd();aP=ab.iZ("PSD").$b(Z.hp,0,0,[!0,!0]); +bw=Z.hp.name}if(!(aP instanceof ArrayBuffer))throw"e";aP=new Uint8Array(aP);var B=Z.xj!=null?Z.xj:b.C[b.C.length-1]+1,di=b.CL(aP,bw,0,0,!0),hW=b.t.slice(0); +hW.splice(B,0,di);var Q=new iA([6,36,2],this);Q.data={e:F.Kb,i3:b.t.slice(),gR:hW,qV:b.C.slice(0),nV:[hW.indexOf(di)]}; +b.kz(Q);this.Ed(Q.data,b)}if(w==F.xG&&Z.Ox=="merge"){var iB=[],a_=b.root.children,iI=0;for(var D=0;D=2)iB=iE;if(iB.length<2){alert("At least two animation folders needed (whose layers start with \"_a_\").",3500); +return}var h8=[];for(var D=0;D1){var h9=parseInt(h_.pop());if(!isNaN(h9)&&h9!=0)i7=h9}ea[0].push(g);ea[1].push(i7);ea[2]+=i7}}bH.sort(function(Q,f7){return f7[2]-Q[2]}); +var c8=bH[0],eX=c8[2];for(var hp=1;hp>>1;if(c9<17){var i=ay.length-1;if(D==0)ay[1]+=c9; +else if(D==ay.length-1)ay[i-1]+=c9;else{ay[D-1]+=a6;ay[D+1]+=c9-a6}ay.splice(D,1);D--}}var eT=[],ge=new b4(0,0,b.c,b.v); +for(var D=0;D.5}else if(Z.target!=null){be=Z.target; +g_=!0;b.ug=!0}else{var b1=Z.Ox;g_=b1>1;if(b1==0){be=b.t.length-1}if(b1==1){be=g9[g9.length-1]+1;var l=b.op(be); +if(l.indexOf(an)==-1)be+=l.length-1}if(b1==2){be=g9[0]-1;var l=b.op(be);if(l.indexOf(an)==-1)be-=l.length-1}if(b1==3){be=0}if(be<0||be>b.t.length-1)return; +b.ug=!0}if(g9.indexOf(be)!=-1&&!a7)return;var hi=b.t[be],hW=[];if(a7)hW=b.t.slice(0);else for(var D=0; +D.8)i3-=b.op(be).length-1; +var cy=[],cD=a7?b.Ac(fx?null:an):null;for(var D=0;D0){var h6=Q.data.V1={classID:"setd",null:a3.h$("contentLayer",!0),T:{t:"Objc",v:{}}},fb=["SoCo","GdFl","PtFl"][ap.uR-1]; +dK.AK.zV(ap.B2,h6.T.v,ap.uR-1);this.track({uf:"set",V1:h6})}}if(Z.a1&&ap.uR==3)b.ij(eg.Xl(ap.B2.Ptrn.v,P.w6)); +if(!Z.a1){var fN=ap.strokeStyleContent.v;if(fN.classID==a4.m3.Vh[2])b.ij(eg.Xl(fN.Ptrn.v,P.w6))}this.Ed(Q.data,b)}}; +dK.AK.zV=function(Z,S,b){var Y=[a4.pe,a4.xz,a4.jl][b];if(S.classID==null)S.classID=["solidColorLayer","gradientLayer","patternLayer"][b]; +for(var D=0;D=0?S.t[t]:S.Bf[-1-t];h.add.vogk=JSON.parse(z[D+1]);T.AZ.BA(h.add.vogk,h.add.vmsk); +if(t>=0)h.vK(S)}S.D()}if(b==F.bs){Y.add.artb=JSON.parse(Z.ac4);S.D()}if(b==F.c0){S.N=Z.O1;S.eP=Z.pj.slice(0); +S.k9=Z.jp.slice(0);S.nd=S.Pd=!0}if(b==F.sg){var H=Z.a9S;for(var D=0;D=0?S.t[t]:S.Bf[-1-t];h.add.vogk=JSON.parse(z[D+1]);T.AZ.BA(h.add.vogk,h.add.vmsk); +if(t>=0)h.vK(S)}S.D()}if(b==F.bs){Y.add.artb=JSON.parse(Z.hG);S.D()}if(b==F.c0){S.N=Z.iH;S.eP=Z.iF.slice(0); +S.k9=Z.Kw.slice(0);S.nd=S.Pd=!0}if(b==F.sg){var H=Z.ajr;for(var D=0;D>q;if((K&1)==1)K--; +else K++;V.capturedInfo.v=(K<255)e=255-Math.round((f-255)*255/(f-P))}return[Math.max(P,0),Math.min(f,255),Q,e,100]};dK.MX.prototype.Pf=function(Z,S,b,Y,P){var w=Z.e; +if(w=="auto"){var f=Z.ah,h=dK.MX.getData(b);for(var D=0;D>>2,f=T.YY(b),h=.001*P; +if(Y==0||Y==2)w=[[0,255,0,255,100],dK.MX.k5(f[1],h,P,Y==2),dK.MX.k5(f[2],h,P,Y==2),dK.MX.k5(f[3],h,P,Y==2)]; +if(Y==1)w=[dK.MX.k5(f[0],h*.33,P,!1),[0,255,0,255,100],[0,255,0,255,100],[0,255,0,255,100]];var Q=cL.VS("levl"); +for(var D=0;D<4;D++)bY.D2(Q,D,w[D]);return Q};dK.MX.prototype.Cf=function(Z,S,b,Y){if(this.Xw==null){if(Z.fb=="aply")b.t[b.C[0]].extend(new b4(0,0,b.c,b.v)); +this.Xw=dK.MX.getData(b,null,Z.fb=="fade"?b.Yl().data:null);if(Z.fb=="aply")this.Xw[0].R3=b.Zd()}if(Z.e=="edit"){this.Mj=[Z.fb,Z.$0]; +var P=this.Xw[0],w=dK.MX.ajI(Z.fb,Z.$0,P.Le),f=g3.uC(Z.fb,w);if(Z.fb=="fade"||Z.fb=="aply")f=Z.$0;if(f!=null){for(var D=0; +D>>16,l:Z>>>8&255,O:Z&255}}; +dK.aF.prototype.adV=function(Z,S,b,Y){if(this.Xw==null){var P=cL.K3(Z.fb,Z.$0);this.Xw=dK.MX.getData(b,P.x!=0||P.y!=0)}if(Z.e=="edit"){var w=JSON.stringify(Z.$0); +if((Z.$0==null||w!=this.jc)&&Z.XP!=!0)for(var D=0;D1)Q=1+Math.tan(Math.PI/2*w/101);var e=(1-Q)/2,l=T.sE.Em(h,h,h),O=[Q,0,0,e,0,Q,0,e,0,0,Q,e,0,0,0,1],m=T.sE.multiply(l,O),V=new T.XA(256); +for(var D=0;D<256;D++)V.h[D]=D;T.sE.transform(V,V,m);Y={type:b._f,x0:V.h,Nn:V.h,yf:V.h,kl:!1,nQ:!1}}else{var q=1024,K=-30+60*(w+100)/200,z=[]; +for(var D=0;D<4;D++)z.push(T.$F.KX(D/3*255,D/3*255,!0));z[1].v.Hrzn.v=64;z[1].v.Vrtc.v=64-K;z[2].v.Hrzn.v=128+64; +z[2].v.Vrtc.v=128+64+K;z.sort(function(bJ,dM){return bJ.v.Hrzn.v-dM.v.Hrzn.v});var t=T.$F.Dw(z,q);function H(bJ,q){var z=[],C=3; +for(var D=0;DJ&&A>1)A--;y[D]=A*j}i=y}var a=new Uint8Array(q);for(var D=0; +D0){S=Math.max(iw/Math.E,S); +S=S*Math.exp(iw/1.75+bd/Math.PI);S=(1-d0)*S+d0*1}else{S=S*Math.exp(-iw*1.75+bd/Math.PI);S=S+-d0*1.14}S=Math.pow(S,1/d7); +S=Math.max(0,Math.min(1,S));a[D]=Math.round(S*255)}Y={type:b._f,x0:a,Nn:a,yf:a,kl:!1,nQ:!1}}if(Z=="vibA"){Y={type:b.wG,Sz:[S.vibrance?S.vibrance.v:0,S.Strt?S.Strt.v:0]}}if(Z=="hue2"){var cf=[],cT=[],fU=[],dX=S.Clrz?S.Clrz.v:!1; +for(var D=0;D<256;D++){cf[D]=D/255;cT[D]=0;fU[D]=0}var g$=iD.da(S,0),bX=g3.P4(g$[1]/100);if(dX){var aw=g$[0]/360; +for(var D=0;D<256;D++){cf[D]=aw;cT[D]=bX}}else{for(var D=0;D<256;D++){var hP=cf[D],eG=cT[D];cf[D]+=g$[0]/360; +for(var A=0;A<6;A++){var eB=iD.da(S,A+1),bb=eB.tc,gx=eB.B4,d0=0;for(var er=1;er<4;er++)if(gx[er]1)dh--;if(dh<0)dh++;cX=g3.abc(cX);cX=(1+cX)*.5; +eY=(1+eY)*.5;eK[D]=Math.round(255*dh);h6[D]=Math.round(255*cX);co[D]=Math.round(255*eY)}var ga=g$[2]/100,h0=ga<0?-ga:ga,a8=ga<0?0:1; +Y={type:b.UK,amj:eK,$x:h6,a4Y:co,a7_:h0*a8,e9:1-h0,a6e:g$[2]/100,ads:dX?1:0}}if(Z=="nvrt"){var a=new Uint8Array(256); +for(var D=0;D<256;D++)a[D]=255-D;Y={type:b._f,x0:a,Nn:a,yf:a,kl:!1,nQ:!1}}if(Z=="post"){var cc=S.Lvls.v,a=new Uint8Array(256),d0=cc/255.001,hW=255/(cc-1); +for(var D=0;D<256;D++)a[D]=Math.floor(D*d0)*hW;Y={type:b._f,x0:a,Nn:a,yf:a,kl:!1,nQ:!1}}if(Z=="grdm"){var em=S.Grad.v,br=S.Rvrs,cF=T.W.pV(em.Clrs.v,0,0),q=1024,cW=T.W.aj(em,cF,q,br?br.v:!1),bM=T.f(q),ct=T.f(q),aQ=T.f(q); +T.to(cW,bM,0);T.to(cW,ct,1);T.to(cW,aQ,2);Y={type:b._f,x0:bM,Nn:ct,yf:aQ,kl:!0,nQ:!1}}if(Z=="selc"){var eA=new Float32Array(9*3*2),gQ=S.sB,eE=S.Mthd?S.Mthd.v.CrcM=="Absl":!1; +for(var A=0;A<9;A++){var a1=A*6,fA=f_.da(S,A),eH=fA[0]/100,gd=fA[1]/100,ey=fA[2]/100,hx=fA[3]/100;if(eE){eA[a1]=eA[a1+1]=eA[a1+2]=1; +eA[a1+3]=eH*(1+hx)+hx;eA[a1+4]=gd*(1+hx)+hx;eA[a1+5]=ey*(1+hx)+hx}else{eA[a1+0]=(1+eH)*(1+hx);eA[a1+1]=(1+gd)*(1+hx); +eA[a1+2]=(1+ey)*(1+hx)}}Y={type:b.Dv,a2c:eA}}if(Z=="blwh"){var ew="Rd Yllw Grn Cyn Bl Mgnt".split(" "),Y=[],gg=0,bT=0; +for(var D=0;D<6;D++)Y.push(S[ew[D]].v);Y.push(S.useTint.v,S.tintColor.v);var am=[];for(var D=0;D<6;D++)am.push((Y[D]-50)/50); +var dI=T.W.CD(Y[7]);dI.h/=255;dI.l/=255;dI.O/=255;var bs=T.hy(dI.h,dI.l,dI.O),eY=T.oQ(T.E$(bs.XE,1,.5)),fE=bs.zk*bs.$0; +if(eY==.5)gg=bT=.5;else{gg=fE*(.5-eY)/(.5/eY-1);bT=1-fE*(.5-eY)-1/(2*(1-eY));bT/=1-1/(2*(1-eY))}Y={type:b.Sa,aaM:am,BF:Y[6]?1:0,a0r:bs.XE,oQ:eY,a8J:fE,GU:gg,a2G:bT}}if(Z=="blnc"){console.log(S); +var E=[],aa=["ShdL","MdtL","HghL"];for(var D=0;D<3;D++){if(S[aa[D]]==null){E[D]=[0,0,0];continue}var cc=S[aa[D]].v,gR=cc[0].v/100,gb=cc[1].v/100,bH=cc[2].v/100,dW=S.PrsL==null||S.PrsL.v?(Math.min(gR,gb,bH)+Math.max(gR,gb,bH))/2:0; +E[D]=[gR-dW,gb-dW,bH-dW]}var r=[T.f(256),T.f(256),T.f(256)];for(var A=0;A<3;A++)for(var D=0;D<256;D++){var J=D*(1/255),cj=0,K=0,bm=0; +K=E[2][A];bm=Math.abs(K);if(K<0)cj=Math.pow(J,Math.SQRT2);else cj=1.63*(Math.pow(J+.04,.5)-.2);J=bm*cj+(1-bm)*J; +K=E[1][A];bm=Math.abs(K);if(K<0)cj=Math.pow(J,2);else cj=Math.min(2.35*(Math.pow(J+.09,.5)-.3),Math.pow(J,1/2)); +J=bm*cj+(1-bm)*J;K=E[0][A];bm=Math.abs(K);if(K<0)cj=J<.4?0:Math.pow((J-.4)/.6,Math.SQRT2);else cj=Math.pow(J,Math.SQRT2/2); +J=bm*cj+(1-bm)*J;J=Math.max(0,Math.min(1,J));r[A][D]=Math.round(J*255)}Y={type:b._f,x0:r[0],Nn:r[1],yf:r[2],kl:!1,nQ:!1}}if(Z=="phfl"){var ge=T.W.CD(S.Clr.v),dc=[ge.h/255,ge.l/255,ge.O/255],eT=S.Dnst.v/100,r=[T.f(256),T.f(256),T.f(256)]; +for(var A=0;A<3;A++)for(var D=0;D<256;D++){var J=D*(1/255),fg=J*dc[A];fg=Math.max(0,Math.min(1,fg)); +J=eT*fg+(1-eT)*J;r[A][D]=Math.round(J*255)}Y={type:b._f,x0:r[0],Nn:r[1],yf:r[2],kl:!1,nQ:S.PrsL.v}}if(Z=="thrs"){var a=T.f(256); +for(var D=S.Lvl.v;D<256;D++)a[D]=255;Y={type:b._f,x0:a,Nn:a,yf:a,kl:!0,nQ:!1}}if(Z=="mixr"){var gL=g3.kc(S),m=[]; +for(var D=0;D300*300&&Z.type!=P._f&&Z.type!=P.VX){Y=Y.clone();Y.x=Y.y=0;var f=p._w(0,Y.c,Y.v);f.set(S); +p.Kd(f,Y);f.k1(Y);g3.H2(Z,f.J5,Y);f.get(b);return}if(Z.type==P.VX){var h=Z.a4J,Q=Z.pk;ICC.U.applyLUT(h,Q,S,b); +var e=S.length;for(var D=0;D>>8&255)*(1/255),K=($>>>16&255)*(1/255),eQ=$>>>24,hN=Math.min(Y,q,K),bI=Math.max(Y,q,K),fq=0,e9=0,W=0; +fq=T.dU(Y,q,K).XE;var L=~~(fq*255+.5),bd=Z.amj[L]*(1/255),iw=Z.$x[L]*(1/255)*2-1,d7=Z.a4Y[L]*(1/255)*2-1,t=-d7,d0=hN; +if(0.5?cT/(2-(bI+hN)):cT/(bI+hN)}var fU=iw; +if(Z.ads==0){iw=N[Math.floor((1+iw)*127.5)];fU=Math.min(e9*(1+iw),1)}var j=T.E$(bd,fU,W);Y=j.h;q=j.l; +K=j.O;r[D]=eQ<<24|K*255<<16|q*255<<8|Y*255}}if(Z.type==P.eo){T.Bv(S,b);var M=new Uint32Array(S.buffer),r=new Uint32Array(b.buffer),e=M.length,dX=Z.hx,g$=1/dX,bX={lq:Z.Ce[0],w:Z.Ce[1],O:Z.Ce[2]},aw={lq:Z.Jz[0],w:Z.Jz[1],O:Z.Jz[2]}; +for(var D=0;D>>8&255,eB=$>>>16&255,Y=hP*(1/255),q=eG*(1/255),K=eB*(1/255),eQ=$>>>24,bb=T.N1(hP,eG,eB),gx=T.c4(bb,bX,aw,dX,g$); +if(gx==0)continue;var z=T.dU(Y,q,K),bd=2+z.XE+gx*Z.shift[0];z.XE=bd-~~bd;z.zk=Math.max(0,Math.min(1,z.zk+gx*Z.shift[1])); +z.jM=Math.max(0,Math.min(1,z.jM+gx*Z.shift[2]));var j=T.E$(z.XE,z.zk,z.jM);Y=j.h;q=j.l;K=j.O;r[D]=eQ<<24|K*255<<16|q*255<<8|Y*255}}if(Z.type==P.wG){var M=new Uint32Array(S.buffer),r=new Uint32Array(b.buffer),e=M.length,er=Z.Sz[0]/100,ea=Z.Sz[1]/100; +for(var D=0;D>>8&255)*(1/255),K=($>>>16&255)*(1/255),eQ=$>>>24,z=T.hy(Y,q,K),fq=z.XE,e9=z.zk,W=z.$0,hD=0,bP=45/360,iz=fq16777215?k.aab(S):Z.Fltr.v.classID};cL._h=[{B2:"GEfc"},{B2:"LnCr"},{B2:"LqFy",uJ:!0},{mW:"3D",UF:["lightFilterGradient"]},{mW:[24,2],UF:"Avrg,Blr ,BlrM,boxblur,GsnB,Bokh,MtnB,RdlB,surfaceBlur".split(",")},{mW:[24,4],UF:"Dspl,Pnch,Plr ,Rple,Shr ,Sphr,Twrl,Wave".split(",")},{mW:[24,6],UF:["AdNs","Dspc","DstS","Mdn "]},{mW:[24,8],UF:"ClrH,Crst,Frgm,Mztn,Msc ,Pntl".split(",")},{mW:[24,10],UF:["Clds","DfrC","LnsF"]},{mW:[24,12],UF:["Shrp","ShrE","ShrM","smartSharpen","UnsM"]},{mW:[24,14],UF:"Dfs ,Embs,FndE,oilPaint,Slrz,TrcC,Wnd ".split(",")},{mW:[24,16],UF:"HghP,Mxm ,Mnm ,Ofst,Rept,Ctoa".split(",")},{mW:"Fourier",UF:["dDFT","iDFT"]}]; +cL.OH={LqFy:"LqFy",Avrg:"Avrg","Blr ":"blurEvent",BlrM:"blurMethod",boxblur:"boxblur",GsnB:"gaussianBlur",MtnB:"motionBlur",RdlB:"radialBlur",surfaceBlur:"surfaceBlur",lightFilterGradient:"lightFilterGradient",adaptCorrect:"adaptCorrect",Pnch:"pinch","Plr ":"polar",Rple:"ripple","Shr ":"shear",Sphr:"spherize",Twrl:"twirl",Wave:"wave",AdNs:"addNoise",DstS:"dustAndScratches","Mdn ":"median",ClrH:"colorHalftone",Crst:"",Frgm:"",Mztn:"mezzotint","Msc ":"mosaic",Pntl:"",Clds:"clouds",DfrC:"differenceClouds",LnsF:"LnsF",Shrp:"sharpen",ShrM:"sharpenMore",smartSharpen:"smartSharpen",UnsM:"unsharpMask",FndE:"findEdges",oilPaint:"oilPaint",HghP:"highPass","Mxm ":"maximum","Mnm ":"minimum",Ofst:"offset"}; +cL.oG={AddNoise:"AdNs",Average:"Avrg",Blur:"Blr ",BlurMore:"BlrM",Clouds:"Clds",DifferenceClouds:"DfrC",DustAndScratches:"DstS",GaussianBlur:"GsnB",HighPass:"HghP",Maximum:"Mxm ",Minimum:"Mnm ",MotionBlur:"MtnB",Offset:"Ofst",Pinch:"Pnch",PolarCoordinates:"Plr ",Ripple:"Rple",Sharpen:"Shrp",SharpenMore:"ShrM",Twirl:"Twrl",UnsharpMask:"UnsM"}; +cL.Yr={rigidTransform:G.WG};cL.names={lightFilterGradient:"Normal Map",rigidTransform:[10,46],LnCr:[24,1,1,0],LqFy:[24,1,0,0],GEfc:[24,0],Avrg:[24,3,0],"Blr ":[24,3,1],BlrM:[24,3,2],boxblur:[24,3,3],GsnB:[24,3,4],Bokh:[24,3,5],MtnB:[24,3,6],RdlB:[24,3,7],surfaceBlur:[24,3,10],Dspl:[24,5,0],Pnch:[24,5,1],"Plr ":[24,5,2],Rple:[24,5,3],"Shr ":[24,5,4],Sphr:[24,5,5],Twrl:[24,1,0,1,3],Wave:[24,5,6],AdNs:[24,7,0],Dspc:[24,7,1],DstS:[24,7,2],"Mdn ":[24,7,3],ClrH:[24,9,0],Crst:[24,9,1],Frgm:[24,9,3],Mztn:[24,9,4],"Msc ":[24,9,5],Pntl:[24,9,6],Clds:[24,11,0],DfrC:[24,11,1],LnsF:[24,11,2],Shrp:[24,13,0],ShrE:[24,13,1],ShrM:[24,13,2],smartSharpen:[24,13,3],UnsM:[24,13,4],"Dfs ":[24,15,0],Embs:[24,15,1],FndE:[24,15,3],oilPaint:[24,15,4],Slrz:"Solarize",TrcC:"Trace Contour","Wnd ":"Wind",HghP:[24,17,1],"Mxm ":[24,17,2],"Mnm ":[24,17,3],Ofst:[24,17,4],Rept:[24,17,5],Ctoa:"Color to Alpha",dDFT:"Fourier Transform",iDFT:"Inverse Fourier Transform",adaptCorrect:["VAR0/VAR1",[19,6,0],[19,6,2]]}; +cL.VS=function(Z){var S=null;if(Z=="GEfc")S={__name:"Filter Gallery",classID:"GEfc",GEfs:{t:"VlLs",v:[{t:"Objc",v:cV.VS("GlwE")}]}}; +if(Z=="LqFy"){var b={Yu:5,XE:5,map:new Float32Array(5*5*2)},Y=new Uint8Array(bG.TG(b)),P=[];for(var D=0; +DS.x)S.x=w.x; +if(w.y>S.y)S.y=w.y}return S};cL.K3=function(Z,S){var b=0,Y=0;if(["GsnB","boxblur","smartSharpen","UnsM","HghP"].indexOf(Z)!=-1){var P=S.Rds.v.val; +b=Y=P*2.57}if(Z=="MtnB")b=Y=S.Dstn.v.val;if("Ofst,Rept,LqFy,Dspl,Pnch,Rple,Shr ,Sphr,Twrl,Wave,RdlB,Clds,DfrC,Plr ,LnCr,Wnd ,lightFilterGradient,rigidTransform,Frgm".split(",").indexOf(Z)!=-1){b=Y=1e4}if(Z=="GEfc")return cV.K3(S); +return new ar(Math.ceil(b),Math.ceil(Y))};cL.Wd=function(){return{t:"Objc",v:{classID:"filterFXStyle",enab:{t:"bool",v:!0},validAtPosition:{t:"bool",v:!0},filterMaskEnable:{t:"bool",v:!0},filterMaskLinked:{t:"bool",v:!0},filterMaskExtendWithWhite:{t:"bool",v:!0},filterFXList:{t:"VlLs",v:[]}}}}; +cL.VV=function(Z,S){var b={h:S.ui>>16,l:S.ui>>8&255,O:S.ui&255},Y={h:S.VY>>16,l:S.VY>>8&255,O:S.VY&255},P=cL.names[Z]; +if(P==null)P=g3.names[Z];var w=Z;for(var f in g3.Qs)if(g3.Qs[f]==Z)w=f;var h={t:"Objc",v:{classID:"filterFX",Nm:{t:"TEXT",v:aV.get(P)},blendOptions:{t:"Objc",v:{classID:"blendOptions",Opct:{t:"UntF",v:{type:"#Prc",val:100}},Md:{t:"enum",v:{BlnM:"Nrml"}}}},enab:{t:"bool",v:!0},hasoptions:{t:"bool",v:!0},FrgC:{t:"Objc",v:T.W.RQ(b)},BckC:{t:"Objc",v:T.W.RQ(Y)},filterID:{t:"long",v:w.length==4?k.anx(w):777}}},Q=cL.VS(Z); +if(Q)h.v.Fltr={t:"Objc",v:Q};return h};cL.k2=function(Z,S,b,Y,P,w,f,h){var Q=b*Y*4;T.gf.a1b(Z,S,b,Y,P,w,f)}; +cL.NM=function(Z,S,b,Y){T.pW(b);if(Z<1){var P=Math.round(Z*5),w=[1,2,1,2,[40,26,13,6,4,2][P],2,1,2,1]; +w=T.yM.yU(w);var f=b.slice(0);T.yM.Hl(f,b,Y.c,Y.v,w,255)}else S(b,Y,Z);T.rZ(b)};cL.ahK=function(Z,S,b,Y){for(var D=0; +D>>1,w=16384,f=128,Q=100;while(f>>1,w=16384,f=128;while(f=B&&bJ=B)N[g5]=0}function fq(g6,g5){var fF=r[g6],bJ=r[g5]; +if(fF>B&&bJ<=B)N[g5]=0;if(fF<=B&&bJ>B)N[g6]=0}if(M)for(var n=1;nbX)g$[D]=255-g$[D];if(g$[D+1]>bX)g$[D+1]=255-g$[D+1];if(g$[D+2]>bX)g$[D+2]=255-g$[D+2]}}if(Z=="Wnd "){var O=S.rect,m=O.c,V=O.v,aw=["Wnd","Blst","Stgr"],hP=b.WndM.v.WndM; +T.Ix.g9(S.buffer,m,V,w.buffer,[aw.indexOf(hP),b.Drct.v.Drct!="Left"])}if(Z=="Bokh"){var O=S.rect,m=O.c,V=O.v,q=m*V,K=q*4,eG=S.buffer.slice(0),eB=b.BkDi.v.BtDi,bb=b.BkDc,gx=b.BkDp.v/255; +if(eB=="BeIn")gx=0;var er=57*(.3+.7*((m+V)/2)/1750)*(b.BkIb.v/100)*(1+.2*Math.pow(gx,.1)),C=parseInt(b.BkIs.v.BtIs.slice(3)),ea=-b.BkIr.v*Math.PI/180,hD=[]; +for(var D=0;D<8;D++){var bP=ea+D*(Math.PI*2/C),iz=ea+(D+1)*(Math.PI*2/C),iq=Math.cos(bP),cU=Math.sin(bP),aH=Math.cos(iz),eK=Math.sin(iz),h6=[0,0,0]; +T.Ig.yn([[iq,cU,1,0],[aH,eK,1,0],[1,1,1,1]],h6);if(h6[2]>0){h6[0]*=-1;h6[1]*=-1;h6[2]*=-1}hD.push(h6[0],h6[1],h6[2],0)}if(eB=="BeIn"){T._U(eG,0,16777215); +gx=1}else if(eB=="BeIt"&&bb.v.BtDc=="BeCt"){}else{var co;if(eB=="BeIt"&&bb.v.BtDc=="BeCm")co=f[1];else if(eB=="BeIa")co=f[2][bb.v]; +if(co==null){T._U(eG,0,16777215)}else{var dh;if(co.rect.Oh(O))dh=co.channel;else dh=co.Zv(O);T.y8(dh,eG,3)}}if(p.lc){var cX=eG,eY=m,ga=V,h0=1,a8=(b.BkSb.v==0||b.BkSt.v==255)&&eB=="BeIn"; +if(!a8){var cc=0;for(var D=0;D2e3){alert("too large radius");return}}while(a8&&3*(er/h0)*(er/h0)*m*V>500*2e3*2e3){var em=T.wg(eG,new b4(0,0,eY,ga)); +eG=em.j$;eY=em.rect.c;ga=em.rect.v;h0*=2}var I=Date.now(),br=p._w(0,eY,ga);br.set(eG);var cF=p._w(1,m,V); +p.Kd(cF);p.filter.H2({type:p.filter.M8,ZU:new Float32Array([1/eY,1/ga]),agO:gx,a2$:er/h0,agg:new Float32Array([b.BkSb.v/100,b.BkSt.v/255]),a0H:new Float32Array([b.BkNa.v/100,b.BkNt.v.BtNt=="BeNu"?0:1,b.BkNm.v?1:0]),aeQ:new Float32Array(hD.slice(0,16)),a0A:new Float32Array(hD.slice(16))},br.t_); +cF.get(w.buffer);var cW=w.buffer;for(var D=0;D>>2,dI=gd.indexArray.v.length>>>2,bs=new Float32Array(bM(gd.originalVertexArray.v)); +for(var D=0;D>>1;fA+=~~(dI/3)}var bH=S.rect,m=bH.c,V=bH.v;T.yF.PG(br,m,V,w.buffer,m,V,aQ,eA,eE,gQ); +T.rZ(w.buffer)}if(Z=="lightFilterGradient"){function dW(bO){var fF=1/Math.sqrt(bO[0]*bO[0]+bO[1]*bO[1]+bO[2]*bO[2]); +bO[0]*=fF;bO[1]*=fF;bO[2]*=fF}var m=S.rect.c,V=S.rect.v,q=m*V,I=Date.now(),cj=T.f(q),bJ=.3,dM=.7;T.Mq(w.buffer,cj); +var bm=T.f(q);T.rr.R2(cj,bm,w.rect,16);var ge=T.f(q);T.rr.R2(cj,ge,w.rect,8);var dc=cj,a=new Float32Array(q),eT=b.Dtl.v,fg=eT[2].v,gL=eT[1].v,f4=eT[0].v,eu=b.Scl.v*40*b.textureScale.v/(fg+gL+f4); +fg*=eu;gL*=eu;f4*=eu;for(var D=0;D>1;C|=C>>2;C|=C>>4;C|=C>>8;C|=C>>16;return C+1}var m=S.rect.c,V=S.rect.v,aP=d$(Math.max(m,V)),bw=aP>>>1,di=new b4(0,0,aP,aP),iB=new b4(0,0,m,V); +iB.y=aP-V>>>1;var a_=m>>>1,fh=new b4(0,iB.y,a_,V),b2=new T.XA(m*V);T.Tr(S.buffer,b2);var iE=new Float64Array(aP*aP),h8=new Float64Array(aP*aP),dh=T.f(aP*aP); +FFT.init(aP);var dg=[b2.h,b2.l,b2.O];for(var D=0;D<3;D++){var i7=dg[D];dh.fill(0);if(Z=="dDFT"){T.JS(i7,iB,dh,di); +cL.ahK(dh,aP,iE,h8);T.JS(dh,di,i7,iB,fh);fh.x+=a_;di.x-=bw-a_;T.JS(dh,di,i7,iB,fh);fh.x-=a_;di.x+=bw-a_}else{T.JS(i7,iB,dh,di,fh); +fh.x+=bw;iB.x+=bw-a_;T.JS(i7,iB,dh,di,fh);fh.x-=bw;iB.x-=bw-a_;cL.adh(dh,aP,iE,h8);T.JS(dh,di,i7,iB)}}T.s$(b2,w.buffer)}if(Z=="Avrg"){var h_=0,h9=0,c8=0,eX=0,hp=1; +for(var D=0;D0)dy=Math.max(0,dy-ay);else dy=Math.min(0,dy+ay);w.buffer[D]=Math.max(0,Math.min(255,iI+dy))}}if(Z=="HghP")for(var D=0; +DdF?0:255}}}T.s$(b2,w.buffer)}if(Z=="Msc "){var ez=b.ClSz.v.val,m=S.rect.c,V=S.rect.v,df=Math.ceil(m/ez),eb=Math.ceil(V/ez),iy=T.f(df*eb*4); +T.scale.V_(S.buffer,m,V,iy,df,eb,1/ez);T.scale.V_(iy,df,eb,w.buffer,m,V,ez)}if(Z=="Clds"||Z=="DfrC"){var m=w.rect.c,V=w.rect.v,q=m*V,en=T.f(q); +if(Z=="Clds")T._U(w.buffer,4278190080);var cN=T.f(256*4);for(var D=0;D<256;D++){var e9=D<<2,bV=D/255,gg=1-bV; +cN[e9]=Math.round(bV*Y.h+gg*P.h);cN[e9+1]=Math.round(bV*Y.l+gg*P.l);cN[e9+2]=Math.round(bV*Y.O+gg*P.O)}T.Ix.a3W(S.buffer,m,V,en); +var fb=w.buffer;for(var D=0;D1,m=S.rect.c,V=S.rect.v,iT=T.yM.zL[d_],cw=S.buffer.slice(0); +if(!h5)T.pW(cw);T.yM.Hl(cw,w.buffer,m,V,iT,255,!1,h5);if(!h5)T.rZ(w.buffer)}if(Z=="MtnB"){var ef=-b.Angl.v*Math.PI/180,dB=b.Dstn.v.val/2,I=Date.now(),m=S.rect.c,V=S.rect.v,O=S.rect.clone(); +O.x=O.y=0;if(p.lc){var I=Date.now(),e6=w.buffer;e6.set(S.buffer);T.pW(e6);var an=p._w(0,m,V);an.set(e6); +var r=T.f(4);r[0]=Math.round(128+127*Math.cos(ef));r[1]=Math.round(128+127*Math.sin(ef));new Uint32Array(e6.buffer).fill(new Uint32Array(r.buffer)[0]); +var be=p._w(1,m,V);be.set(e6);p.Kd(an,O);an.k1(O);p.filter.H2({type:p.filter.GL,eq:be.t_,ZU:new Float32Array([1/m,1/V]),an0:dB/2,aiv:1},an.J5); +an.get(e6);T.rZ(e6)}else{var g2=new fR;g2.rotate(ef);var gS=G.V.DP([S.buffer,S.rect],g2,!1,null,!0); +cL.NM(dB,T.rr.Pz,gS.buffer,gS.rect);g2.oN();gS=G.V.DP([gS.buffer,gS.rect],g2,!1,w.buffer.buffer,!0,w.rect)}console.log(Date.now()-I)}if(Z=="RdlB"){var m=S.rect.c,V=S.rect.v,bd=b.Amnt.v,g_=b.BlrM.v.BlrM=="Zm",cZ=b.Cntr.v,fx=cZ.Hrzn.v,a7=cZ.Vrtc.v,iw=Math.max(fx,1-fx)*m,d7=Math.max(a7,1-a7)*V,dR=Math.sqrt(iw*iw+d7*d7),g9=2*Math.PI*dR*1.5,b1=Math.round(g9),hi=Math.round(dR),fh=new b4(0,0,b1,hi),i3=T.f(b1*hi*4),cy=g_?4:1,cD=g_?.6:8*((m+V)/2)/1400,dl=.1,h0=1,dT=1; +T.J._i(S.buffer,m,V,i3,b1,hi,fx,a7,cy,dl,h0,dT);var fS=g_?T.f(b1*hi*4):null;if(g_){T.J.L8(i3,fS,b1,hi); +var ig=fS;fS=i3;i3=ig;fh.c=hi;fh.v=b1}cL.NM(cD*bd,T.rr.Pz,i3,fh);if(g_){T.J.L8(i3,fS,hi,b1);var ig=fS; +fS=i3;i3=ig;fh.c=b1;fh.v=hi}T.J.KC(i3,b1,hi,w.buffer,m,V,fx,a7,cy,dl,h0,dT)}if(Z=="Plr "){var m=S.rect.c,V=S.rect.v; +if(b.Cnvr.v.Cnvr=="RctP")T.J.KC(S.buffer,m,V,w.buffer,m,V,.5,.5,1,0,2,m/V);else T.J._i(S.buffer,m,V,w.buffer,m,V,.5,.5,1,0,2,m/V)}if(Z=="FndE"){var m=S.rect.c,V=S.rect.v; +T.yM.ai(S.buffer,w.buffer,m,V)}if(Z=="oilPaint"){var W=b.LghD.v*Math.PI/180,aK=[Math.cos(W),Math.sin(W),.001],R=[b.stylization.v,b.cleanliness.v,b.brushScale.v,b.microBrush.v,b.lightingOn.v,b.specularity.v,aK],O=S.rect.clone(); +O.x=O.y=0;T.Sj.filter(S.buffer,O,w.buffer,R)}if(Z=="Ofst"){var m=S.rect.c,V=S.rect.v,ed=new Uint32Array(S.buffer.buffer),iP=new Uint32Array(w.buffer.buffer),aC=b.Hrzn.v,e1=b.Vrtc.v,dS=b.Fl.v.FlMd; +T._U(iP,0);if(dS=="Bckg"||dS=="Rpt"){var fh=S.rect.clone();fh.offset(aC,e1);T.uH(ed,fh,iP,w.rect)}if(dS=="Rpt"){var iq,cU,aH,eK,cx; +aC=Math.max(-m,Math.min(m,aC));e1=Math.max(-V,Math.min(V,e1));iq=aC>0?aC:0;aH=aC>0?m:m+aC;cU=e1>0?0:e1+V; +eK=e1>0?e1:V;cx=e1>0?0:m*(V-1);for(var n=cU;n0?0:m+aC; +aH=aC>0?aC:m;cU=e1>0?e1:0;eK=e1>0?V:V+e1;cx=aC>0?0:m-1;for(var n=cU;n=0&&e1>=0){iq=0;aH=aC;cU=0;eK=e1;cx=0}if(aC>=0&&e1<0){iq=0;aH=aC;cU=V+e1;eK=V;cx=m*(V-1)}if(aC<0&&e1>=0){iq=m+aC; +aH=m;cU=0;eK=e1;cx=m-1}if(aC<0&&e1<0){iq=m+aC;aH=m;cU=V+e1;eK=V;cx=m*V-1}for(var n=cU;n0?aL/bH:bH/aL,dT=fx+ai*he*iw,cq=a7+ai*he*d7,D=n*ch.Yu+u<<1; +ch.map[D]=dT-u;ch.map[D+1]=cq-n}}}else if(Z=="Dspl"&&ba.length!=0){eU=b.UndA.v.UndA=="WrpA"?2:1;var c4=b.DspF.v.pth,ao; +for(var D=0;D>>1,x=o==0?2:1;cV.zY(H.map,u,Q,e,x);cV.n9(u,H.map,Q,e,x); +if(o!=0){var g=cV.po.indexOf(b.SDir.v.StrD),v=[1,1,1,0][g],R=[-1,0,1,1][g],X=2*o+1,B=1/X;for(var I=0; +I1)cV.NM(bd,iw,d7,h,e9-1);if(Z=="PlsW"){var g$=new Uint8Array(bd.buffer);for(var D=0;D>>1,er=e>>>1; +for(var D=0;D>>1,ew,[],0);T.yM.ai(gg,w.buffer,Q,e);T.Bv(w.buffer,gg); +T.oN(gg);T._U(gg,4278190080,16777215);cL.k2(gg,w.buffer,Q,e,b.EdgW.v>>>1,T.gf.KQ,[],0);var bT=b.EdgB.v/10; +for(var D=0;D>>2]=~~(.5+(ge[D]+ge[D+1]+ge[D+2])*(1/3));var dc=bm.slice(0);T.rr.LA(dc,bm,h,gR); +var eT=Math.PI/gb,fg=new Float64Array(Q),M=new Float64Array(Q),gL=new Float64Array(2*Q);for(var E=0; +E>>1))*eT;fg[E]=br*br;M[E]=Math.cos(br);var v=E<<1;gL[v]=Math.sin(v*(1/4.5));gL[v+1]=Math.sin((v+1)*(1/4.5))}for(var I=0; +I>>1))*eT,r=Math.cos(em),f5=em*em;for(var E=0;E46)T.round(bm); +cV.hX(bm,w.buffer,Y,P)}for(var D=0;D=b?b-1:V,K=(Q*b+q)*2,z=w[D];O+=z*Z[K];m+=z*Z[K+1]}S[l]=O; +S[l+1]=m}};cV.n9=function(Z,S,b,Y,P){var w=cV.Xb(P),f=6,h=13;for(var Q=0;Q=Y?Y-1:V,K=(q*b+e)*2,z=w[D];O+=z*Z[K];m+=z*Z[K+1]}S[l]=O; +S[l+1]=m}};function is(){}is.JL=[2,5,5,7,4,4];is.KP="norm,diss,dark,mul ,idiv,lbrn,dkCl,lite,scrn,div ,lddg,lgCl,over,sLit,hLit,vLit,lLit,pLit,hMix,diff,smud,fsub,fdiv,hue ,sat ,colr,lum ".split(","); +is.JO="Nrml Dslv Drkn Mltp CBrn linearBurn darkerColor Lghn Scrn CDdg linearDodge lighterColor Ovrl SftL HrdL vividLight linearLight pinLight hardMix Dfrn Xclu blendSubtraction blendDivide H Strt Clr Lmns".split(" "); +is.dd=[[15,10,0],[15,10,1],[15,10,2],[15,10,3],[15,10,4],[15,10,5],[15,10,6],[15,10,7],[15,10,8],[15,10,9],[15,10,10],[15,10,11],[15,10,12],[15,10,13],[15,10,14],[15,10,15],[15,10,16],[15,10,17],[15,10,18],[15,10,19],[15,10,20],[15,10,21],[15,10,22],[15,10,23],[15,10,24],[15,10,25],[15,10,26]]; +is.OM=["normal",null,"darken","multiply","color-burn",null,null,"lighten","screen","color-dodge",null,null,"overlay","soft-light","hard-light",null,null,null,null,"difference","exclusion",null,null,"hue","saturation","color","luminosity"]; +is.Tk=function(Z){if(Z=="passThrough")return"pass";return is.KP[is.JO.indexOf(Z)]};is.QT=function(Z){if(Z=="pass")return"passThrough"; +return is.JO[is.KP.indexOf(Z)]};is.getName=function(Z){return is.dd[is.KP.indexOf(Z)]};function F(){this.rect=null; +this.WL="norm";this.opacity=255;this.gL=!1;this.NG=0;this.QG=0;this.M0=[];for(var D=0;D<10;D++)this.M0.push(0,0,255,255); +this.name=null;this.add={};this.buffer=null;this.tt=null;this.jg=null;this.d=null;this.Wr=null;this.afO=30; +this.W7=F.mL();this.a0F=F.mL();this.acR=F.mL();this.afT=F.mL();this.PC=0;this.PL=!1;this.Ns=null;this.VW=new F.fi}F.mL=function(){var Z=s.R("canvas"); +Z.width=Z.height=30;return Z.getContext("2d")};F.fi=function(){this.HJ=!0;this.Ft=!0;this.on=T.f(0); +this.ak1=T.f(0);this.h1=null;this._u={};this.ahN=null;this.lp=null;this.rS=null;this.o1=null;this.Wa=null; +this.Rf=null;this.Cu=null;this.ML=null;this.dw=null;this.hr=null;this.Ad=null;this.G$=null;this.QP=!1}; +F.fi.prototype.ib=function(){this.HJ=!1;this.Ft=!1;this.h1=null;this.QP=p.lc};F.fi.prototype.a9l=function(){eg.QR(this._u); +this.on=T.f(0);this.ak1=T.f(0);if(this.o1)this.o1.delete();if(this.Wa)this.Wa.delete();this.o1=null; +this.Wa=null;var Z=[this.Rf,this.Cu,this.ML,this.dw,this.hr,this.Ad];for(var D=0;D<6;D++)if(Z[D]!=null&&Z[D]instanceof p.XA)Z[D].delete(); +this.Rf=null;this.Cu=null;this.ML=null;this.dw=null;this.hr=null;this.Ad=null};F.prototype.D=function(Z){if(Z==null)Z=this.rect.clone(); +if(this.VW.h1==null)this.VW.h1=Z;else this.VW.h1=this.VW.h1.VK(Z)};F.prototype.W$=function(){return this.add.lsct==fr.k8||this.add.lsct==fr.U1}; +F.prototype.q3=function(){var Z=this.add;return Z.SoCo!=null||Z.GdFl!=null||Z.PtFl!=null};F.prototype.G5=function(){var Z=this.add.lmfx; +if(Z==null)return;var S=["GrFl","patternFill"];for(var D=0;D>2);T.to(w.qG,h,3);if(!T.Oh(S.channel,h))return!1; +var Q=T.f(f.c*f.v*4);T.uH(w.NA,w.Xv,Q,f);T.p.xJ("norm",w.qG,w.bC,Q,f,f,1);return T.Oh(Q,this.buffer)}if(w.PC==1||w.PC==3){var e=w.PC==1?this.Y6():this.fY(Z).d; +if(!f.Oh(e.rect))return!1;var l=T.f(f.X());l.fill(e.color);T.JS(w.NA,w.Xv,l,f);T.p.gX(w.qG,w.bC,l,f,S.channel,f,1); +return T.Oh(l,e.channel)}};F.prototype.$p=function(Z,S,b,Y){var P=this.Ns;P.bC.offset(S,b);var w=P.Xv.VK(P.bC); +if(P.PC<=0){var f=T.f(w.X()*4);T.uH(P.NA,P.Xv,f,w);T.p.xJ("norm",P.qG,P.bC,f,w,w,1);this.buffer=f;this.rect=w; +this.D()}else{var h=this.PC==1?this.Y6():this.fY(Z).d,Q=T.f(w.X());Q.fill(h.color);T.JS(P.NA,P.Xv,Q,w); +T.p.gX(P.qG,P.bC,Q,w,Y.channel,w,1);h.channel=Q;h.rect=w.clone();if(this.PC==1){h.Th=!0;this.vK(Z)}if(this.PC==3)this.D()}}; +F.prototype.Jq=function(){var Z=[-1,0,1,2];if(this.d)Z.push(-2);if(this.Wr)Z.push(-3);return Z};F.prototype.getName=function(){return this.add.luni?this.add.luni:this.name}; +F.prototype.wc=function(C){this.add.luni=this.name=C};F.prototype.EU=function(Z){var S=this.add.lnsr,b=this.add.TySh; +if(S=="rend"&&b)this.wc(eO.IU(b.HK).replace(/(?:\r\n|\r|\n)/g," ").slice(0,32))};F.prototype._7=function(){return(this.NG&1<<1)==0}; +F.prototype.bu=function(){return(this.NG&1<<4)==0};F.prototype.GP=function(){return(this.NG&1<<5)!=0}; +F.prototype.a0x=function(){var Z=this;if(Z.add.lnsr!="bgnd"){Z.add.lnsr="bgnd";Z.wc("Background");Z.add.lspf=1<<2}}; +F.prototype.a1V=function(){var Z=this;if(Z.add.lnsr=="bgnd"){delete Z.add.lnsr;Z.wc("Layer 0");Z.add.lspf=0}}; +F.prototype.vv=function(Z){var S=this.add.lspf;return S==null?!1:(S>>Z&1)!=0};F.prototype.Ba=function(Z){if(Z&&!this._7())this.NG-=2; +if(!Z&&this._7())this.NG+=2};F.prototype.U_=function(){var Z=this.add.lmfx;if(Z==null)return!1;for(var S in Z){if(S=="masterFXSwitch")continue; +if(S=="Scl")continue;if(S=="classID")continue;if(Z[S].v.length>0)return!0}return!1};F.prototype.pL=function(){return this.add.SoLd!=null&&this.add.SoLd.filterFX!=null}; +F.prototype.z3=function(){var Z=this.add.lmfx;if(Z==null)return!1;if(!Z.masterFXSwitch.v)return!1;for(var S in Z){if(S=="masterFXSwitch")continue; +if(S=="Scl")continue;if(S=="classID")continue;var b=Z[S].v;for(var D=0;D1){var Q=T.Y.bM(f.b,null,f.cY); +h=T.z.$R(Q)}else h=T.Y.Al(f.b,f.C.length!=0?f.C:null)}else h=T.Y.Al(f.b);P=P.VK(h)}if(w.indexOf(3)!=-1)P=P.VK(this.fY(Z).d.Ij()); +if(w.length==0&&this.q3())P=new b4(0,0,Z.c,Z.v);return P};F.prototype.nE=function(){var Z=this.add.artb,S=Z.artboardBackgroundType.v,b=0; +if(S==1)b=4294967295;else if(S==2)b=4278190080;else if(S==3)b=0;else if(S==4){b=Z.Clr.v;b=255<<24|b.Bl.v<<16|b.Grn.v<<8|b.Rd.v}else throw S; +return b};F.prototype.mb=function(){var Z=this.add.artb.artboardRect.v,S=Z.Btom.v,b=Z.Left.v,Y=Z.Rght.v,top=Z.Top.v; +return new b4(b,top,Y-b,S-top)};F.prototype.PB=function(Z){var S=F.iO(Z);if(this.add.artb==null)this.add.artb={classID:"artboard",artboardRect:{t:"Objc",v:null},artboardBackgroundType:{t:"long",v:1}}; +this.add.artb.artboardRect.v=S};F.iO=function(Z){var S={classID:"classFloatRect",Top:{t:"doub",v:0},Left:{t:"doub",v:0},Btom:{t:"doub",v:0},Rght:{t:"doub",v:0}}; +S.Btom.v=Z.y+Z.v;S.Left.v=Z.x;S.Rght.v=Z.x+Z.c;S.Top.v=Z.y;return S};F.prototype.FN=function(Z,S,b){var Y=[],P=this,w=this.PL; +if(!S&&P.PL&&b){Y.push(2)}else if(P.PC<=0||S){if(P.bu())if(!this.rect.h3())Y.push(0);if(P.Y6()&&!P.Y6().rect.h3())if(P.Y6().kF||S)Y.push(1); +if(P.add.vmsk)if(P.add.vmsk.kF||S)Y.push(2);if(P.pL()&&P.fY(Z).d&&!P.fY(Z).d.rect.h3())Y.push(3)}else if(P.PC==1){Y.push(1); +if(P.Y6().kF&&!P.Y6().rect.h3()){if(P.bu())if(!this.rect.h3())Y.push(0);if(P.add.vmsk)if(P.add.vmsk.kF)Y.push(2)}}else if(P.PC==3&&!P.fY(Z).d.rect.h3())Y.push(3); +if(P.add.artb&&Y.indexOf(0)==-1)Y.push(0);Y.sort();return Y};F.prototype.Y6=function(){var Z=this;return Z.Wr?Z.Wr:Z.add.vmsk&&Z.add.vmsk.isEnabled?null:Z.d}; +F.prototype.fY=function(Z){var S=this.add.SoLd.placed.v,b=Z.add.FEid;if(b==null)return null;for(var D=0; +D3e4*3e4)S=new b4(0,0,100,100); +if(Z&&Z[b].v[b]!="strokeStyleAlignInside"){var P=1;if(Z[Y].v[Y]=="strokeStyleMiterJoin"){var w=T.Y.abi(this.b),f=w/2,h=Math.sin(f),Q=Math.cos(f); +Q/=h;h=1;var P=Math.sqrt(Q*Q+h*h);if(isNaN(P)||P<1)P=1}P*=Z[b].v[b]=="strokeStyleAlignOutside"?1:.5; +var e=Math.ceil(Z.strokeStyleLineWidth.v.val*P);e=Math.min(e,600);S.lg(e,e)}S=T.z.gO(S);var l=new F.bN; +l.color=T.Y.eC(this.b)?0:255;l.kF=this.kF;l.isEnabled=this.isEnabled;l._W=!0;l.rect=S;l.uu=this.uu;l.Mt=this.Mt; +l.channel=T.f(l.rect.X());if(!S.h3())T.Y.a7y(this.b,l.channel,l.rect,Z);if(Z==null){this.Wr=l;this.Th=!1}return l}; +F.NS.prototype.clone=function(){var Z=new F.NS;Z.kF=this.kF;Z.isEnabled=this.isEnabled;Z.uu=this.uu; +Z.Mt=this.Mt;Z.b=F.NS.OU(this.b);Z.mu=this.mu.slice(0);Z.No=this.No;Z.C=this.C.slice(0);Z.cY=this.cY.slice(0); +return Z};F.NS.prototype.concat=function(Z){var S=Z.b.slice(2);if(S.length==0)return;S[0].qU=3;this.b=this.b.concat(S)}; +F.NS.OU=function(Z){var S=[];for(var D=0;D5||b.type==0||b.type==3)S.push(JSON.parse(JSON.stringify(b))); +else S.push({type:b.type,hQ:b.hQ.clone(),I:b.I.clone(),e$:b.e$.clone()})}return S};F.NS.a8K=function(Z,S,b){if(Z.length!=S.length)return!1; +for(var D=2;DS.$0.length)S.$0=Z.slice(0); +if(this.depth!=0)Z.pop()};f3.prototype.ac2=function(){var Z=0;if(this.$.W$()){for(var D=0;D=0;D--){var C=this.children[D],Y=C.eI(Z,S);if(Y&&S==null)return Y}return null}else if(b.add.TySh&&b.rect.DS(Z)||T.a1G(Z,b.buffer,b.rect)){if(S==null)return this; +else S.push(this.index)}return null};f3.prototype.a7H=function(Z){var S=this.$;if(!S._7()||S.vv(2)||S.vv(31))return null; +var b=S.add.vmsk;if(b&&b.isEnabled){var Y=T.Y.eI(b.b,Z).SU;if(Y!=-1)return{a61:this,a4L:Y}}if(S.W$()){for(var D=this.children.length-1; +D>=0;D--){var C=this.children[D],P=C.a7H(Z);if(P)return P}return null}return null};f3.prototype.jE=function(Z,S){Z.push(this.index); +if(this.$.W$()){Z.push(this.Y5);if(S)if(this.$.PC==1&&this.$.Y6().kF==!1)return;for(var D=0;DS.v){P=b;w=Math.floor(b*(S.v/S.c))}else{P=Math.floor(b*(S.c/S.v));w=b}if(Y.q3()&&Y.add.vmsk==null||Y.add.TySh)P=w=Math.max(w,16); +else{P=Math.max(P,6);w=Math.max(w,6)}var f=w,h=Y.q3()&&Y.add.vmsk;if(h){var Q=Y.rect.clone(),O,m;if(Q.h3())Q=new b4(0,0,20,20); +var e=Q.c,l=Q.v;if(e>l){O=b;m=Math.floor(b*(l/e))}else{O=Math.floor(b*(e/l));m=b}if(O*m==0)O=m=16;T.kJ.ii(Y.W7,O,m,Q,Y.buffer,Y.rect,!1); +T.kJ.amR(Y.W7,O,m);f=m}else if(Y.add.TySh){T.kJ.a3e(Y.W7,f,f,Y.add.TySh)}else if(Y.add.SoCo){f=Math.max(16,Math.min(P,w)); +T.kJ.a8P(Y.W7,f,f,Y.add.SoCo)}else if(Y.add.GdFl){T.kJ.a6_(Y.W7,f,f,Y.add.GdFl)}else if(Y.add.PtFl){T.kJ.aj6(Y.W7,f,f,Y.add.PtFl,Z)}else if(g3.get(Y.add)!=null){T.kJ.aaE(Y.W7,f,f,Y.add)}else if(Y.add.SoLd){T.kJ.ii(Y.W7,P,w,S,Y.buffer,Y.rect,!1); +T.kJ.a05(Y.W7,P,w,Y.add.SoLd)}else if(Y.W$()){f=16}else{if(Y.bu())T.kJ.ii(Y.W7,P,w,S,Y.buffer,Y.rect,!1); +else{T.kJ.a9s(Y.W7,f,f)}}var V=Y.Y6();if(V)T.kJ.fR(Y.a0F,P,w,S,V);if(Y.pL()&&Y.fY(Z)&&Y.fY(Z).d){var q=Y.fY(Z).d; +T.kJ.fR(Y.afT,P,w,S,q)}if(!h&&Y.add.vmsk){T.kJ.fR(Y.acR,P,w,S,Y.add.vmsk.Y6(),!0)}if(Y.add.vmsk||V)f=Math.max(f,w); +Y.afO=Math.max(f,16);if(Y.W$()&&Y.add.lsct==fr.k8)for(var D=0;D0||f.fill!=1||w.z3())){this.th(Z,S,b,Y); +return}var Q=w.W$()&&w.WL=="pass"&&(P.length>0||f.fill!=1||w.z3()),e=w.rect,l=w.buffer;if(w.W$()){e=this.Ij(Y,!1); +var m=T.f(e.X()*4);O=T.f(e.X());this.th(m,e,b,Y);T.to(m,O,3)}else if(h){e=S.clone();O=T.f(e.X());O.fill(255)}else{e=w.rect; +O=T.f(e.X());T.to(l,O,3)}if(w.VG()){var V=w.d.Zv(e);T.Im(V,O)}if(w.z3())q=eg.HP(w.add.lmfx,w.add.fxrp,O,e,Y); +if(w.z3())eg.OZ(w.add.lmfx,q,e,Z,S,b);if(w.W$()){l=T.f(e.X()*4);if(w.WL=="pass")T.uH(Z,S,l,e);if(Q){var m=T.f(e.X()*4); +this.th(m,e,b,Y);var K=T.f(e.X());T.to(m,K,3);T.FD(K,e,l,e)}this.th(l,e,b,Y)}if(h){l=Z.slice(0);T._U(l,4278190080,16777215); +var z=g3.get(w.add),t=g3.uC(z,w.add[z]);g3.l5(t,l,l,e)}var H=l.slice(0);T._U(H,4278190080,16777215); +for(var D=0;Dj.dI.c)j=y[D]; +var J=T.f(j.dI.c*j.dI.v*4);T.uH(Z,S,J,j.dI)}eg.rK(w.add.lmfx,q,e,Z,S,b,i,J,j?j.dI:null)}T.p.VZ(i,e,Z,S,O,e,0,b,1,w.WL=="diss")}; +f3.prototype.th=function(Z,S,b,Y){var P=this.children;for(var D=0;Dw||!f&&w.indexOf(this.index)==-1)){return}var h=this.$,Q=eg.TB(h),e=f3.mf,l=h.q3()?h.Y6():h.d; +if(!h._7())return;if(h.VG()&&l.rect.h3()){return}if(h.add.vstk==null&&this.Ij(Y,!1).h3()&&h.add.artb==null){return}var O=this.Ij(Y,!0).Yz(b); +if(!S.Oh(b)&&!b.U5(O)&&h.add.artb==null)return;if(h.W$()&&h.add.artb){var m=h.mb();b=b.Yz(m);var V=h.nE(); +if(V!=0){if(p.lc){p.Kd(Z,b);p.RO(V);p.RO(V)}else T.ajR(Z,S,b,V)}}var q=f3.dx(h,P,Q);if(!q){this.VO(Z,S,b,Y,P,w); +return}h.VW.Rf=e.nk(h.VW.Rf,O.c,O.v);e.JS(Z,S,h.VW.Rf,O,b);this.VO(h.VW.Rf,O,b,Y,P,w);e.VZ(h.VW.Rf,O,Z,S,null,null,0,b,h.opacity/255,h.WL=="diss",Q._S)}; +f3.dx=function(Z,S,b){if(b._S[0]*b._S[1]*b._S[2]==0)return!0;return Z.opacity!=255&&(S.length!=0||Z.W$()||Z.z3())}; +f3.aaI={VW:{}};f3.prototype.VO=function(Z,S,b,Y,P,w){var f=this.$,h=eg.TB(f),Q=g3.get(f.add)!=null,e=f3.mf,l=f3.dx(f,P,h),O=l?1:f.opacity/255,m=f.q3()?f.Y6():f.d,V=f.W$()&&f.WL=="pass"&&!(P.length>0||h.fill!=1||f.z3()),q=!f.W$()&&!Q&&!f.z3()&&P.length==0,K=Q&&!f.z3()&&P.length==0,j=null,J=null,A=null,c; +if(V||q||K){var z=Z,t=S;if(f.VG()){t=this.Ij(Y,!1);z=f.VW.dw=e.nk(f.VW.dw,t.c,t.v);e.JS(Z,S,f.VW.dw,t)}if(V)this.EO(z,t,b,Y,w); +if(q)e.xJ(f.WL,f.zW(Y),f.rect,z,t,b,O,h);if(K){var H=f.VG()&&m.CD()==0?m.Ij().clone():t.clone(),i=f.VW; +if(H.Oh(new b4(0,0,Y.c,Y.v)))i=f3.aaI;i.ML=this.i6(z,t,i.ML,H,f.add);h.gd=!0;e.xJ(f.WL,i.ML,H,z,t,b,O,h)}if(f.VG())e.VZ(z,t,Z,S,f.YO(),m.Ij(),m.CD(),b,1,f.WL=="diss"); +f.VW.ib();return}var y=f.W$()&&f.WL=="pass"&&(P.length>0||h.fill!=1||f.z3()),H=f.rect;if(f.W$()){H=this.Ij(Y,!1); +A=f.VW.ML=e.nk(f.VW.ML,H.c,H.v);e._U(A,0);this.EO(A,H,H,Y,w);J=e.nk(f.VW.Cu,H.c,H.v);e.JS(A,H,J,H)}else if(Q){H=f.VG()&&m.CD()==0?m.Ij().clone():S.clone(); +J=e.nk(f.VW.Cu,H.c,H.v);e._U(J,4294967295)}else{H=f.rect;j=f.zW(Y);J=e.nk(f.VW.Cu,H.c,H.v);e.JS(j,H,J,H)}f.VW.Cu=J; +if(f.VG())e.aoc(f.YO(),m.Ij(),m.CD(),J,H);if(f.z3())if(f.VW.h1||f.VW.Ft||f.VW.QP!=p.lc||f.VW.HJ||f.W$()){var a=T.f(H.c*H.v); +if(eg.Sd(f.add.lmfx)){if(p.lc){if(!f.W$()&&f.Y6()==null&&f.rect.Oh(H))T.to(f.buffer,a,3);else{var I=T.f(H.c*H.v*4); +J.get(I);T.to(I,a,3)}}else T.to(J,a,3)}if(f.VW.Ft||f.VW.QP!=p.lc||!T.Oh(a,f.VW.on)){var E=null;if(f.q3()&&f.add.vmsk&&f.add.vmsk.isEnabled&&f.add.vmsk.Y6().color==0)E=f.add.vmsk.Y6().rect; +eg.a8X(f.VW._u,a,H,f.add.lmfx,f.add.fxrp,Y,E);f.VW.on=a}}if(f.z3())eg.OZ(f.add.lmfx,f.VW._u,H,Z,S,b); +if(f.W$()){j=e.nk(f.VW.dw,H.c,H.v);e._U(j,0);if(f.WL=="pass")e.JS(Z,S,j,H);if(y)e.oA(A,H,j,H);this.EO(j,H,b,Y,w); +f.VW.dw=j}if(Q){j=f.VW.dw=this.i6(Z,S,f.VW.dw,H,f.add)}if(f.W$()||Q)c=j;else{c=e.nk(f.VW.dw,H.c,H.v); +e.JS(j,H,c,H,b);f.VW.dw=c}e._U(c,4278190080,16777215);for(var D=0;Do.dI.c)o=n[D]; +f.VW.Ad=e.nk(f.VW.Ad,o.dI.c,o.dI.v);e.JS(Z,S,f.VW.Ad,o.dI,b);f.VW.G$=e.nk(f.VW.G$,o.dI.c,o.dI.v)}eg.rK(f.add.lmfx,f.VW._u,H,Z,S,b,u,f.VW.Ad,f.VW.G$,o?o.dI:null)}if(!p.lc){var x=T.f(H.X()); +T.to(J,x,3);J=x}e.VZ(u,H,Z,S,J,H,0,b,1,f.WL=="diss");f.VW.ib()};f3.prototype.i6=function(Z,S,b,Y,P){var w=g3.get(P),f; +if(w)f=g3.uC(w,P[w]);var h=f3.mf;b=h.nk(b,Y.c,Y.v);if(!(p.lc&&S.Oh(Y)))h.JS(Z,S,b,Y);if(f){if(p.lc){var Q=Y.clone(); +Q.x=Q.y=0;if(S.Oh(Y)){p.Kd(b,Q);g3.H2(f,Z.t_,Q)}else{p.Kd(b,Y);b.k1(Y);g3.H2(f,b.J5,Q)}}else g3.l5(f,b,b,Y)}return b}; +f3.prototype.EO=function(Z,S,b,Y,P){var w=this.children;for(var D=0;D1.0001; +if(O){m.c=Math.round(m.c/V);m.v=Math.round(m.v/V);m.x=Math.round((this.c-m.c)/2);m.y=Math.round((this.v-m.v)/2)}else if(P&&ab.fN(Z.buffer)=="pdf"&&this.GY!=144){var V=144/this.GY; +m.c=Math.round(m.c/V);m.v=Math.round(m.v/V);O=!0}l.buffer=T.f(l.rect.X()*4);if(!O)T.Bv(Q.Qf[0],l.buffer)}l.add.SoLd={classID:"null",Idnt:{t:"TEXT",v:w},Impr:{t:"Objc",v:{__name:"None",classID:"none"}},placed:{t:"TEXT",v:e},PgNm:{t:"long",v:1},totalPages:{t:"long",v:1},frameStep:{t:"Objc",v:{classID:"null",numerator:{t:"long",v:0},denominator:{t:"long",v:600}}},duration:{t:"Objc",v:{classID:"null",numerator:{t:"long",v:0},denominator:{t:"long",v:600}}},frameCount:{t:"long",v:1},Annt:{t:"long",v:16},Type:{t:"long",v:2},Trnf:null,nonAffineTransform:null,warp:{t:"Objc",v:T.$e.f(l.rect)},Sz:{t:"Objc",v:{classID:"Pnt",Wdth:{t:"doub",v:l.rect.c},Hght:{t:"doub",v:l.rect.v}}},Rslt:{t:"UntF",v:{type:"#Rsl",val:72}}}; +var q=T.z.X6(l.rect).H;l.add.SoLd.Trnf=G.V.ab(q);l.add.SoLd.nonAffineTransform=G.V.ab(q);if(O)l.JN(this,!1); +return l};gf.prototype.Zd=function(Z){if(Z!=null){this.D();this.j8(Z);var S=this.buffer;if(p.lc)this.Yv.get(S); +else S=S.slice(0);this.D();this.j8();return S}if(this.h1){this.j8();this.h1=null}if(p.lc&&this.Bz){this.Yv.get(this.buffer); +this.Bz=null;this.Pd=!0}return this.buffer};gf.prototype.N5=function(){for(var D=0;D"); +S.add.lsct=fr.Ee;S.NG=24;return S};gf.prototype.Ev=function(){return this.Hc!=this.dB};gf.prototype.kz=function(Z){while(this.history.length>this.Hc+1)this.history.pop(); +if(this.dB>this.Hc)this.dB=-1;if(Z.T.id!=G.ZS){this.IW=!0;if(this.TZ.lastAppliedComp){delete this.TZ.lastAppliedComp; +this.Pd=!0}}this.history.push(Z);this.Hc++;this.Pd=!0;var S=fv.FE()?60:30,b=0;for(var D=this.history.length-1; +D>=0;D--){var Y=this.history[D];if(Y.z6)continue;b++;if(b==S){this.Hc-=D;this.history=this.history.slice(D); +break}}};gf.prototype.Yl=function(){if(this.Hc!=this.history.length-1)return null;return this.history[this.history.length-1]}; +gf.prototype.IM=function(Z,S,b,Y){if(Z==null)Z=!1;var P=S!=null?[S]:this.C.slice(0);if(Y){var w=[];for(var D=0; +D2){var P=Y.Bf[0];P.SU=-1; +S.push(P);if(Y.ph.indexOf(0)!=-1)b.push(S.length-1)}var f=Y.v6==null;if(f)Y.v6=[];for(var D=Y.C.length-1; +D>=0;D--){var h=Y.t[Y.C[D]],Q=h.add.TySh;if(h.add.vmsk!=null&&(h.PL||h.q3())){var P=gf.jq("\""+h.getName()+"\" Shape Path",h.add); +P.SU=Y.C[D];S.push(P);if(f)Y.v6.push(w);if(Y.v6.indexOf(w)!=-1)b.push(S.length-1);w++}if(Z!=!0&&Q&&Q.add&&T.$e.iI(Q.Km)){var P=gf.jq("\""+h.getName().slice(0,10)+"..\" Text Path",Q.add); +P.SU=1e6+Y.C[D];S.push(P);b.push(S.length-1);w++}}if(b.length==0&&Z){Y.Bf[0].SU=-1;Y.ph=[0];b.push(S.length); +S.push(Y.Bf[0])}return[S,b]};gf.prototype.op=function(D,Z){var S=[],C=this.root.zO(D);if(C)C.jE(S,Z); +return S};gf.prototype.mG=function(){this.root.Oy(this,new b4(0,0,this.c,this.v),32)};gf.prototype.vM=function(Z){for(var D=0; +D1e3){var S=this.root.children; +for(var D=0;D>>8&255)<<8|l>>>16;Q.rect=new b4(0,0,b,Y);Q.buffer=T.f(b*Y*4); +T._U(Q.buffer,{Wht:4294967295,BckC:255<<24|l}[e])}h.buffer=T.f(b*Y*4);return h};function fQ(Z){this.hp=Z; +this.S=0;this.v1=1;this.n=new ar(0,0);this.rY=new ar(0,0);this.W0=0;this.o=[1,1,1];this.a_=new b4(0,0,1,1); +this.an6=new b4(0,0,Z.c,Z.v);this.dl=null;this.og=null;this.Am=new Uint32Array(0);this.HQ=null;this.oL=null; +this.ZN=T.f(0);this.xW=null;this.HU=null}fQ.prototype.Gz=function(Z){var S=new fR,b=this.a_,Y=this.hp,P=Z?this.v1:this.S,w=Z?this.rY:this.n,f=Math.round((b.c-Y.c*P)/2+w.x),h=Math.round((b.v-Y.v*P)/2+w.y); +S.translate(-f,-h);S.scale(1/P,1/P);var Q=Y.c/2,e=Y.v/2;S.translate(-Q,-e);S.rotate(this.W0);S.translate(Q,e); +return S};fQ.prototype.BL=function(Z){var S=this.a_,b=this.hp,Y=Math.atan2(-Z.O,Z.w),P=b.c/2,w=b.v/2; +Z.translate(-P,-w);Z.rotate(-Y);Z.translate(P,w);var f=1/Z.I2();Z.scale(f,f);var h=-Z.RN,Q=-Z.Sv,e=Math.round(h-(S.c-b.c*f)/2),l=Math.round(Q-(S.v-b.v*f)/2); +if(Math.abs(f-Math.round(f))<1e-6)f=Math.round(f);this.W0=Y;this.S=f;this.n=new ar(e,l)};fQ.prototype._2=function(Z,S){var b=this.Gz(); +return b.YI(new ar(Z,S))};fQ.prototype.pg=function(Z,S){var b=this.Gz();b.oN();return b.YI(new ar(Z,S))}; +function a4(){}a4.order="ebbl FrFX IrSh IrGl ChFX SoFi GrFl patternFill OrGl DrSh".split(" ");a4.Ol="ebblMulti frameFXMulti innerShadowMulti IrGlMulti ChFXMulti solidFillMulti gradientFillMulti patternFillMulti OrGlMulti dropShadowMulti".split(" "); +a4.names=[[14,4],[14,9],[14,1],[14,3],[14,8],[14,5],[14,6],[14,7],[14,2],[14,0]];a4.C1=["DrSh","IrSh","SoFi","GrFl","FrFX"]; +a4.pe=["Clr"];a4.xz="Grad Rvrs Type Algn Angl Dthr Scl Ofst".split(" ");a4.jl=["Ptrn","Scl","Algn","phase"]; +a4.c5={Ge:"{\"t\":\"Objc\",\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":255,\"t\":\"doub\"},\"Grn\":{\"v\":0,\"t\":\"doub\"},\"Bl\":{\"v\":0,\"t\":\"doub\"}}}",Fx:"{\"t\":\"Objc\",\"v\":{\"classID\":\"Grdn\",\"Nm\":{\"v\":\"Two Color\",\"t\":\"TEXT\"},\"GrdF\":{\"v\":{\"GrdF\":\"CstS\"},\"t\":\"enum\"},\"Intr\":{\"v\":4096,\"t\":\"doub\"},\"Clrs\":{\"v\":[{\"v\":{\"classID\":\"Clrt\",\"Clr\":{\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":0,\"t\":\"doub\"},\"Grn\":{\"v\":0,\"t\":\"doub\"},\"Bl\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},\"Type\":{\"v\":{\"Clry\":\"UsrS\"},\"t\":\"enum\"},\"Lctn\":{\"v\":0,\"t\":\"long\"},\"Mdpn\":{\"v\":50,\"t\":\"long\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"Clrt\",\"Clr\":{\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":255,\"t\":\"doub\"},\"Grn\":{\"v\":255,\"t\":\"doub\"},\"Bl\":{\"v\":255,\"t\":\"doub\"}},\"t\":\"Objc\"},\"Type\":{\"v\":{\"Clry\":\"UsrS\"},\"t\":\"enum\"},\"Lctn\":{\"v\":4096,\"t\":\"long\"},\"Mdpn\":{\"v\":50,\"t\":\"long\"}},\"t\":\"Objc\"}],\"t\":\"VlLs\"},\"Trns\":{\"v\":[{\"v\":{\"classID\":\"TrnS\",\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},\"Lctn\":{\"v\":0,\"t\":\"long\"},\"Mdpn\":{\"v\":50,\"t\":\"long\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"TrnS\",\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},\"Lctn\":{\"v\":4096,\"t\":\"long\"},\"Mdpn\":{\"v\":50,\"t\":\"long\"}},\"t\":\"Objc\"}],\"t\":\"VlLs\"}}}",Wh:"{\"t\":\"Objc\",\"v\":{\"classID\":\"Grdn\",\"Nm\":{\"v\":\"Foreground to Background\",\"t\":\"TEXT\"},\"GrdF\":{\"t\":\"enum\",\"v\":{\"GrdF\":\"CstS\"}},\"Intr\":{\"t\":\"doub\",\"v\":4096},\"Clrs\":{\"t\":\"VlLs\",\"v\":[{\"t\":\"Objc\",\"v\":{\"classID\":\"Clrt\",\"Type\":{\"t\":\"enum\",\"v\":{\"Clry\":\"FrgC\"}},\"Lctn\":{\"t\":\"long\",\"v\":0},\"Mdpn\":{\"t\":\"long\",\"v\":50}}},{\"t\":\"Objc\",\"v\":{\"classID\":\"Clrt\",\"Type\":{\"t\":\"enum\",\"v\":{\"Clry\":\"BckC\"}},\"Lctn\":{\"t\":\"long\",\"v\":4096},\"Mdpn\":{\"t\":\"long\",\"v\":50}}}]},\"Trns\":{\"t\":\"VlLs\",\"v\":[{\"t\":\"Objc\",\"v\":{\"classID\":\"TrnS\",\"Opct\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":100}},\"Lctn\":{\"t\":\"long\",\"v\":0},\"Mdpn\":{\"t\":\"long\",\"v\":50}}},{\"t\":\"Objc\",\"v\":{\"classID\":\"TrnS\",\"Opct\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":100}},\"Lctn\":{\"t\":\"long\",\"v\":4096},\"Mdpn\":{\"t\":\"long\",\"v\":50}}}]}}}",ez:"{\"t\":\"Objc\",\"v\":{\"classID\":\"Ptrn\",\"Nm\":{\"v\":\"orangeslices\",\"t\":\"TEXT\"},\"Idnt\":{\"v\":\"c7acb22a-47a6-11de-919a-bf574370eaaf\",\"t\":\"TEXT\"}}}"}; +a4.c5.Ge="\"Clr\": "+a4.c5.Ge;a4.c5.W="\"Grad\":"+a4.c5.Fx+",\"Rvrs\":{\"v\":false,\"t\":\"bool\"},\"Type\":{\"v\":{\"GrdT\":\"Lnr\"},\"t\":\"enum\"},\"Algn\":{\"v\":true,\"t\":\"bool\"},\"Angl\":{\"v\":{\"type\":\"#Ang\",\"val\":90},\"t\":\"UntF\"},\"Scl\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},\"Ofst\":{\"v\":{\"classID\":\"Pnt\",\"Hrzn\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"},\"Vrtc\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"}},\"t\":\"Objc\"},\"Dthr\":{\"v\":false,\"t\":\"bool\"}"; +a4.c5.ez="\"Ptrn\":"+a4.c5.ez+",\"Scl\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},\"Algn\":{\"v\":true,\"t\":\"bool\"},\"phase\":{\"v\":{\"classID\":\"Pnt\",\"Hrzn\":{\"v\":0,\"t\":\"doub\"},\"Vrtc\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"}"; +a4.default="{ \"classID\": \"null\", \"Scl\": {\"t\": \"UntF\", \"v\": { \"type\": \"#Prc\",\"val\": 100} }, \"masterFXSwitch\": {\"t\": \"bool\",\"v\": true} }"; +a4.FT=["{\"classID\":\"ebbl\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"hglM\":{\"t\":\"enum\",\"v\":{\"BlnM\":\"Scrn\"}},\"hglC\":{\"t\":\"Objc\",\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"t\":\"doub\",\"v\":255},\"Grn\":{\"t\":\"doub\",\"v\":255},\"Bl\":{\"t\":\"doub\",\"v\":255}}},\"hglO\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":75}},\"sdwM\":{\"t\":\"enum\",\"v\":{\"BlnM\":\"Mltp\"}},\"sdwC\":{\"t\":\"Objc\",\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"t\":\"doub\",\"v\":0},\"Grn\":{\"t\":\"doub\",\"v\":0},\"Bl\":{\"t\":\"doub\",\"v\":0}}},\"sdwO\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":75}},\"bvlT\":{\"t\":\"enum\",\"v\":{\"bvlT\":\"SfBL\"}},\"bvlS\":{\"t\":\"enum\",\"v\":{\"BESl\":\"InrB\"}},\"uglg\":{\"t\":\"bool\",\"v\":true},\"lagl\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Ang\",\"val\":120}},\"Lald\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Ang\",\"val\":30}},\"srgR\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":100}},\"blur\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Pxl\",\"val\":5}},\"bvlD\":{\"t\":\"enum\",\"v\":{\"BESs\":\"In\"}},\"TrnS\":{\"t\":\"Objc\",\"v\":{\"classID\":\"ShpC\",\"Nm\":{\"t\":\"TEXT\",\"v\":\"Linear\"},\"Crv\":{\"t\":\"VlLs\",\"v\":[{\"t\":\"Objc\",\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"t\":\"doub\",\"v\":0},\"Vrtc\":{\"t\":\"doub\",\"v\":0}}},{\"t\":\"Objc\",\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"t\":\"doub\",\"v\":255},\"Vrtc\":{\"t\":\"doub\",\"v\":255}}}]}}},\"antialiasGloss\":{\"t\":\"bool\",\"v\":false},\"Sftn\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Pxl\",\"val\":0}},\"useShape\":{\"t\":\"bool\",\"v\":false},\"MpgS\":{\"t\":\"Objc\",\"v\":{\"classID\":\"ShpC\",\"Nm\":{\"t\":\"TEXT\",\"v\":\"Linear\"},\"Crv\":{\"t\":\"VlLs\",\"v\":[{\"t\":\"Objc\",\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"t\":\"doub\",\"v\":0},\"Vrtc\":{\"t\":\"doub\",\"v\":0}}},{\"t\":\"Objc\",\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"t\":\"doub\",\"v\":255},\"Vrtc\":{\"t\":\"doub\",\"v\":255}}}]}}},\"AntA\":{\"t\":\"bool\",\"v\":false},\"Inpr\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":28}},\"useTexture\":{\"t\":\"bool\",\"v\":false},\"InvT\":{\"t\":\"bool\",\"v\":false},\"Algn\":{\"t\":\"bool\",\"v\":true},\"Scl\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":100}},\"textureDepth\":{\"t\":\"UntF\",\"v\":{\"type\":\"#Prc\",\"val\":100}},\"Ptrn\":{\"t\":\"Objc\",\"v\":{\"classID\":\"Ptrn\",\"Nm\":{\"t\":\"TEXT\",\"v\":\"orangeslices\"},\"Idnt\":{\"t\":\"TEXT\",\"v\":\"c7acb22a-47a6-11de-919a-bf574370eaaf\"}}},\"phase\":{\"t\":\"Objc\",\"v\":{\"classID\":\"Pnt\",\"Hrzn\":{\"t\":\"doub\",\"v\":0},\"Vrtc\":{\"t\":\"doub\",\"v\":0}}}}","{\"classID\":\"FrFX\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Nrml\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},\"Styl\":{\"v\":{\"FStl\":\"OutF\"},\"t\":\"enum\"},\"PntT\":{\"v\":{\"FrFl\":\"SClr\"},\"t\":\"enum\"},\"Sz\":{\"v\":{\"type\":\"#Pxl\",\"val\":3},\"t\":\"UntF\"},"+a4.c5.Ge+","+a4.c5.W+","+a4.c5.ez+"}","{\"classID\":\"IrSh\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Mltp\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\": 75},\"t\":\"UntF\"},\"Clr\":{\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":0,\"t\":\"doub\"},\"Grn\":{\"v\":0,\"t\":\"doub\"},\"Bl\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},\"uglg\":{\"v\":true,\"t\":\"bool\"},\"lagl\":{\"v\":{\"type\":\"#Ang\",\"val\":120},\"t\":\"UntF\"},\"Dstn\":{\"v\":{\"type\":\"#Pxl\",\"val\":5},\"t\":\"UntF\"},\"Ckmt\":{\"v\":{\"type\":\"#Pxl\",\"val\":0},\"t\":\"UntF\"},\"blur\":{\"v\":{\"type\":\"#Pxl\",\"val\":5},\"t\":\"UntF\"},\"Nose\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"},\"AntA\":{\"v\":false,\"t\":\"bool\"},\"TrnS\":{\"v\":{\"classID\":\"ShpC\",\"Nm\":{\"v\":\"Linear\",\"t\":\"TEXT\"},\"Crv\":{\"v\":[{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":0,\"t\":\"doub\"},\"Vrtc\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":255,\"t\":\"doub\"},\"Vrtc\":{\"v\":255,\"t\":\"doub\"}},\"t\":\"Objc\"}],\"t\":\"VlLs\"}},\"t\":\"Objc\"}}","{\"classID\":\"IrGl\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Scrn\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\": 75},\"t\":\"UntF\"},\"Clr\":{\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":255,\"t\":\"doub\"},\"Grn\":{\"v\":255,\"t\":\"doub\"},\"Bl\":{\"v\":189.99710083007812,\"t\":\"doub\"}},\"t\":\"Objc\"},\"GlwT\":{\"v\":{\"BETE\":\"SfBL\"},\"t\":\"enum\"},\"Ckmt\":{\"v\":{\"type\":\"#Pxl\",\"val\":0},\"t\":\"UntF\"},\"blur\":{\"v\":{\"type\":\"#Pxl\",\"val\":5},\"t\":\"UntF\"},\"ShdN\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"},\"Nose\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"},\"AntA\":{\"v\":false,\"t\":\"bool\"},\"glwS\":{\"v\":{\"IGSr\":\"SrcE\"},\"t\":\"enum\"},\"TrnS\":{\"v\":{\"classID\":\"ShpC\",\"Nm\":{\"v\":\"Linear\",\"t\":\"TEXT\"},\"Crv\":{\"v\":[{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":0,\"t\":\"doub\"},\"Vrtc\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":255,\"t\":\"doub\"},\"Vrtc\":{\"v\":255,\"t\":\"doub\"}},\"t\":\"Objc\"}],\"t\":\"VlLs\"}},\"t\":\"Objc\"},\"Inpr\":{\"v\":{\"type\":\"#Prc\",\"val\":50},\"t\":\"UntF\"}}","{\"classID\":\"ChFX\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Mltp\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\": 50},\"t\":\"UntF\"},\"Clr\":{\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":0,\"t\":\"doub\"},\"Grn\":{\"v\":0,\"t\":\"doub\"},\"Bl\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},\"AntA\":{\"v\":false,\"t\":\"bool\"},\"Invr\":{\"v\":true,\"t\":\"bool\"},\"lagl\":{\"v\":{\"type\":\"#Ang\",\"val\":19},\"t\":\"UntF\"},\"Dstn\":{\"v\":{\"type\":\"#Pxl\",\"val\":11},\"t\":\"UntF\"},\"blur\":{\"v\":{\"type\":\"#Pxl\",\"val\":14},\"t\":\"UntF\"},\"MpgS\":{\"v\":{\"classID\":\"ShpC\",\"Nm\":{\"v\":\"Gaussian\",\"t\":\"TEXT\"},\"Crv\":{\"v\":[{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":0,\"t\":\"doub\"},\"Vrtc\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":32,\"t\":\"doub\"},\"Vrtc\":{\"v\":7,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":64,\"t\":\"doub\"},\"Vrtc\":{\"v\":38,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":96,\"t\":\"doub\"},\"Vrtc\":{\"v\":101,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":128,\"t\":\"doub\"},\"Vrtc\":{\"v\":166,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":159,\"t\":\"doub\"},\"Vrtc\":{\"v\":209,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":191,\"t\":\"doub\"},\"Vrtc\":{\"v\":235,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":223,\"t\":\"doub\"},\"Vrtc\":{\"v\":248,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":255,\"t\":\"doub\"},\"Vrtc\":{\"v\":255,\"t\":\"doub\"}},\"t\":\"Objc\"}],\"t\":\"VlLs\"}},\"t\":\"Objc\"}}","{\"classID\":\"SoFi\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Nrml\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},"+a4.c5.Ge+"}","{\"classID\":\"GrFl\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Nrml\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},"+a4.c5.W+"}","{\"classID\":\"patternFill\",\"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Nrml\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\":100},\"t\":\"UntF\"},"+a4.c5.ez+"}","{\"classID\":\"OrGl\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Scrn\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\": 75},\"t\":\"UntF\"},\"Clr\":{\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":255,\"t\":\"doub\"},\"Grn\":{\"v\":255,\"t\":\"doub\"},\"Bl\":{\"v\":189.99710083007812,\"t\":\"doub\"}},\"t\":\"Objc\"},\"GlwT\":{\"v\":{\"BETE\":\"SfBL\"},\"t\":\"enum\"},\"Ckmt\":{\"v\":{\"type\":\"#Pxl\",\"val\":0},\"t\":\"UntF\"},\"blur\":{\"v\":{\"type\":\"#Pxl\",\"val\":5},\"t\":\"UntF\"},\"Nose\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"},\"ShdN\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"},\"AntA\":{\"v\":false,\"t\":\"bool\"},\"TrnS\":{\"v\":{\"classID\":\"ShpC\",\"Nm\":{\"v\":\"Linear\",\"t\":\"TEXT\"},\"Crv\":{\"v\":[{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":0,\"t\":\"doub\"},\"Vrtc\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":255,\"t\":\"doub\"},\"Vrtc\":{\"v\":255,\"t\":\"doub\"}},\"t\":\"Objc\"}],\"t\":\"VlLs\"}},\"t\":\"Objc\"},\"Inpr\":{\"v\":{\"type\":\"#Prc\",\"val\":50},\"t\":\"UntF\"}}","{\"classID\":\"DrSh\", \"enab\":{\"v\":true,\"t\":\"bool\"}, \"Md\":{\"v\":{\"BlnM\":\"Mltp\"},\"t\":\"enum\"},\"Opct\":{\"v\":{\"type\":\"#Prc\",\"val\": 57},\"t\":\"UntF\"},\"Clr\":{\"v\":{\"classID\":\"RGBC\",\"Rd\":{\"v\":0,\"t\":\"doub\"},\"Grn\":{\"v\":0,\"t\":\"doub\"},\"Bl\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},\"uglg\":{\"v\":true,\"t\":\"bool\"},\"lagl\":{\"v\":{\"type\":\"#Ang\",\"val\":120},\"t\":\"UntF\"},\"Dstn\":{\"v\":{\"type\":\"#Pxl\",\"val\":27},\"t\":\"UntF\"},\"Ckmt\":{\"v\":{\"type\":\"#Pxl\",\"val\":0},\"t\":\"UntF\"},\"blur\":{\"v\":{\"type\":\"#Pxl\",\"val\":13},\"t\":\"UntF\"},\"Nose\":{\"v\":{\"type\":\"#Prc\",\"val\":0},\"t\":\"UntF\"},\"AntA\":{\"v\":false,\"t\":\"bool\"},\"TrnS\":{\"v\":{\"classID\":\"ShpC\",\"Nm\":{\"v\":\"Line\xE1rn\xED\",\"t\":\"TEXT\"},\"Crv\":{\"v\":[{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":0,\"t\":\"doub\"},\"Vrtc\":{\"v\":0,\"t\":\"doub\"}},\"t\":\"Objc\"},{\"v\":{\"classID\":\"CrPt\",\"Hrzn\":{\"v\":255,\"t\":\"doub\"},\"Vrtc\":{\"v\":255,\"t\":\"doub\"}},\"t\":\"Objc\"}],\"t\":\"VlLs\"}},\"t\":\"Objc\"},\"layerConceals\":{\"v\":true,\"t\":\"bool\"}}"]; +a4.W={types:"Lnr Rdl Angl Rflc Dmnd shapeburst".split(" "),names:[[19,0,0],[19,0,1],[19,0,2],[19,0,3],[19,0,4],[19,0,5]]}; +a4.stroke={types:["InsF","CtrF","OutF"],names:[[19,5,2],[19,5,1],[19,5,0]],qc:["SClr","GrFl","Ptrn"],a9u:[[13,0],[12,37],[12,62]]}; +a4.Sp={types:["SfBL","PrBL"],names:[[19,1,0],[19,1,1]],Z_:["SrcC","SrcE"],a5O:[[19,5,1],[12,69]]};a4.zB={types:["OtrB","InrB","Embs","PlEb","strokeEmboss"],style:[[19,2,0],[19,2,1],[19,2,2],[19,2,3],[19,2,4]],Yj:["SfBL","PrBL","Slmt"],aaN:[[19,3,0],[19,3,1],[19,3,2]],dir:[[19,4,0],[19,4,1]]}; +a4.m3={oV:["strokeStyleButtCap","strokeStyleRoundCap","strokeStyleSquareCap"],ie:["strokeStyleAlignInside","strokeStyleAlignCenter","strokeStyleAlignOutside"],join:["strokeStyleMiterJoin","strokeStyleRoundJoin","strokeStyleBevelJoin"],Vh:["solidColorLayer","gradientLayer","patternLayer"],default:{classID:"strokeStyle",strokeStyleVersion:{t:"long",v:2},strokeEnabled:{t:"bool",v:!1},fillEnabled:{t:"bool",v:!0},strokeStyleLineWidth:{t:"UntF",v:{type:"#Pnt",val:4.38}},strokeStyleLineDashOffset:{t:"UntF",v:{type:"#Pnt",val:0}},strokeStyleMiterLimit:{t:"doub",v:100},strokeStyleLineCapType:{t:"enum",v:{strokeStyleLineCapType:"strokeStyleButtCap"}},strokeStyleLineJoinType:{t:"enum",v:{strokeStyleLineJoinType:"strokeStyleMiterJoin"}},strokeStyleLineAlignment:{t:"enum",v:{strokeStyleLineAlignment:"strokeStyleAlignCenter"}},strokeStyleScaleLock:{t:"bool",v:!1},strokeStyleStrokeAdjust:{t:"bool",v:!1},strokeStyleLineDashSet:{t:"VlLs",v:[]},strokeStyleBlendMode:{t:"enum",v:{BlnM:"Nrml"}},strokeStyleOpacity:{t:"UntF",v:{type:"#Prc",val:100}},strokeStyleContent:{t:"Objc",v:JSON.parse("{\"classID\":\"solidColorLayer\","+a4.c5.Ge+"}")},strokeStyleResolution:{t:"doub",v:72}}}; +a4.BH=[{classID:"null",Clr:JSON.parse(a4.FT[5]).Clr},{classID:"null",Grad:JSON.parse(a4.FT[6]).Grad,Dthr:{t:"bool",v:!1},Rvrs:{t:"bool",v:!1},Angl:{t:"UntF",v:{type:"#Ang",val:60}},Type:{t:"enum",v:{GrdT:"Lnr"}},Algn:{t:"bool",v:!0},Scl:{t:"UntF",v:{type:"#Prc",val:100}},Ofst:{t:"Objc",v:{classID:"Pnt",Hrzn:{t:"UntF",v:{type:"#Prc",val:0}},Vrtc:{t:"UntF",v:{type:"#Prc",val:0}}}}},{classID:"null",Ptrn:JSON.parse(a4.FT[7]).Ptrn,Algn:{v:!0,t:"bool"},Scl:{v:{type:"#Prc",val:100},t:"UntF"},phase:{v:{classID:"Pnt",Hrzn:{v:0,t:"doub"},Vrtc:{v:0,t:"doub"}},t:"Objc"}}]; +var eg={};eg.un=function(Z,S){function b(Z,m){if(Z==null)return null;var V=Z[m].v,q;if(V.length!=0){q=V[0].v; +if(!q.enab.v)q=null}return q}var Y=S.SoCo,P=S.GdFl,w=b(Z,"solidFillMulti"),f=b(Z,"gradientFillMulti"); +if(w==null&&f==null)return[Y,P];var h=eg.a0g;if(Y&&w&&f==null){var Q=JSON.parse(JSON.stringify(Y));Q.Clr.v=h(w.Clr.v,Y.Clr.v,w); +return[Q,null]}if(P&&w&&f==null){var e=JSON.parse(JSON.stringify(P)),l=e.Grad.v.Clrs.v;for(var D=0;D0&&m.blur.v.val>0)f=Math.max(f,Math.ceil(m.Ckmt.v.val*m.blur.v.val/100)); +if(Q=="OrGl"&&m.enab.v&&m.Ckmt.v.val>0&&m.blur.v.val>0&&m.GlwT.v.BETE=="SfBL")f=Math.max(f,Math.ceil(m.Ckmt.v.val*m.blur.v.val/100)); +if(Q=="OrGl"&&m.enab.v&&m.blur.v.val>0&&m.GlwT.v.BETE=="PrBL")f=Math.max(f,m.blur.v.val);if(Q=="FrFX"&&m.enab.v&&m.Sz.v.val>0){if(m.Styl.v.FStl=="OutF")f=Math.max(f,m.Sz.v.val); +if(m.Styl.v.FStl=="CtrF")f=Math.max(f,Math.ceil(m.Sz.v.val/2));h=Math.max(h,eg.jk(m)[1])}}}var V=new eg.p$(b,Y,f,eg.Sd(Z)),q=-Y.x,K=-Y.y,z={type:{},all:[]}; +for(var t=0;t=0;H--){var i=Z[e].v[H].v;if(!i.enab.v)continue;var y=i.blur?i.blur.v.val:0,j=i.Ckmt?i.Ckmt.v.val/100:0,J=y*j; +if(Q=="DrSh"){var A=V.OJ(J,y-J,!0),a=A.sK,I=A._;I.offset(q,K);eg.ov(a,i,!1);eg.lE(I,i,P,0);var E=T.f(I.X()*4); +eg.gj(E,i.Clr.v);T.y8(a,E,3);var c={j$:E,Wx:I,yf:is.Tk(i.Md.v.BlnM),e5:i.Opct.v.val/100,adu:i.layerConceals.v}; +z.type[Q].push(c);z.all.push(c)}if(Q=="IrSh"){var A=V.OJ(J,y-J,!1);eg.lE(A._,i,P,0);var I=V.rect().clone(),a=T.f(I.X()); +a.fill(255);T.JS(A.sK,A._,a,I);eg.ov(a,i,!0);var E=T.f(I.X()*4);eg.gj(E,i.Clr.v);T.y8(a,E,3);I.offset(q,K); +var c={j$:E,Wx:I,yf:is.Tk(i.Md.v.BlnM),e5:i.Opct.v.val/100};z.type[Q].push(c);z.all.push(c)}if(Q=="GrFl"){var E=T.f(V.rect().X()*4); +eg.JD(i,E,V.rect(),P,null,w);var I=V.rect().clone();I.offset(q,K);var c={j$:E,Wx:I,yf:is.Tk(i.Md.v.BlnM),e5:i.Opct.v.val/100}; +z.type[Q].push(c);z.all.push(c)}if(Q=="SoFi"){var E=T.f(V.sK().length*4);eg.gj(E,i.Clr.v);var I=V.rect().clone(); +I.offset(q,K);var c={j$:E,Wx:I,yf:is.Tk(i.Md.v.BlnM),e5:i.Opct.v.val/100};z.type[Q].push(c);z.all.push(c)}if(Q=="ebbl"){var u=!1; +if(u)console.log(i);var n=Date.now(),o=i.bvlS.v.BESl;if(o=="strokeEmboss"){var x=Z.frameFXMulti.v;if(x.length==0)continue; +x=x[0].v;if(!x.enab.v)continue;var g=x.Styl.v.FStl;if(g=="OutF")o="OtrB";if(g=="CtrF")o="Embs";if(g=="InsF")o="InrB"}var y=i.blur.v.val; +if(y==0)y=.7;if(o=="Embs"||o=="PlEb")y/=2;var v=["OtrB","InrB","Embs","PlEb","strokeEmboss"],R=["SfBL","PrBL","Slmt"],X=["In","Out"],B=i.bvlT.v.bvlT!="SfBL"?y:y*.45,M=Math.round(y),r=V.rect().clone(),N=r.clone(); +N.lg(M,M);var $=N.c,eQ=N.v,hN=$*eQ,fq=T.f(hN);T.JS(V.sK(),r,fq,N);var e9=new Float64Array(hN),W=new Float64Array(hN); +T.style.ED(fq,e9,$,eQ);T.oN(fq);T.style.ED(fq,W,$,eQ);if(u)console.log("distTransform computed",Date.now()-n); +for(var D=0;DB)W[D]=B}if(u)console.log("summing + cropping",Date.now()-n); +if(i.bvlT.v.bvlT=="SfBL"){var bd=Math.pow(y*.21,1.22);if(!0)bd=Math.max(bd,2);var iw=T.rr.hj(bd,2);T.rr._3(W,e9,N,iw[0]>>>1); +T.rr._3(e9,W,N,iw[1]>>>1)}if(u)console.log("blurring",Date.now()-n);var d7=W,d0=d7.slice(0);if(i.useShape.v){var gS=Math.min(100,i.Inpr.v.val+1)/100; +if(o!="OtrB"&&o!="InrB")gS=1;var cf=T.$F.Dw(i.MpgS.v.Crv.v,2e3),cT=Math.round(2e3/gS);cf=T.$F.a1U(cf,cT,o=="InrB"); +var fU=.5/B;for(var D=0;D0)bP[D]=cc;if(hW>0)iz[D]=hW}if(u)console.log("raycasting",Date.now()-n); +if(i.Sftn.v.val!=0){T.rr.wr(bP,e9,N,i.Sftn.v.val*.43);var em=e9,e9=bP,bP=em;if(iq){T.rr.wr(iz,e9,N,i.Sftn.v.val*.43); +var em=e9,e9=iz,iz=em}else T.Bv(bP,iz)}if(u)console.log("softening",Date.now()-n);var cf=T.$F.Dw(i.TrnS.v.Crv.v,1024); +for(var D=0;D0){var A=V.OJ(f4,0,!0);f5=A.sK;if(f5.length0){var A=V.OJ(gL,0,!1);eu=T.f(I.X());eu.fill(255);T.JS(A.sK,A._,eu,I)}I.offset(q,K); +var E=T.f(I.X()*4),bf=i.PntT.v.FrFl;if(bf=="SClr")eg.gj(E,i.Clr.v);if(bf=="GrFl")eg.JD(i,E,I,P,V.afb(gL,f4)); +if(bf=="Ptrn")eg.ZO(i,E,I,P,S);var c={j$:E,Wx:I,yf:is.Tk(i.Md.v.BlnM),e5:i.Opct.v.val/100,Zy:f5,Xp:eu}; +z.type[Q].push(c);z.all.push(c)}}}return z};eg.xS=function(Z){var S=1/Math.sqrt(Z.x*Z.x+Z.y*Z.y+Z.aE*Z.aE); +Z.x*=S;Z.y*=S;Z.aE*=S};eg.UC=function(Z,S){return{x:Z.y*S.aE-Z.aE*S.y,y:Z.aE*S.x-Z.x*S.aE,aE:Z.x*S.y-Z.y*S.x}}; +eg.al0=function(Z,S){return Z.x*S.x+Z.y*S.y+Z.aE*S.aE};eg.bE=function(Z,S){var b=S.Nose.v.val/100;if(b>0)for(var D=0; +DP){var w=T.$F.L$(S.TrnS.v.Crv.v,256,!0);T.Og(Z,w)}if(b!=null&&S.Nose.v.val>0)T.style.QB(Z,S.Nose.v.val/100,b)}; +eg.gj=function(Z,S,b){if(b==null)b=255;var Y=T.W.CD(S),P=b<<24|Y.O<<16|Y.l<<8|Y.h,w=new Uint32Array(Z.buffer); +w.fill(P)};eg.lE=function(Z,S,b,Y){var P=S.uglg&&S.uglg.v?b.HO():S.lagl.v.val;P=P*Math.PI/180+Y;var w=Math.cos(P)*S.Dstn.v.val,f=Math.sin(P)*S.Dstn.v.val; +Z.x-=Math.round(w);Z.y+=Math.round(f)};eg.oi=function(Z){if(Z==null)return null;var S=Z.frameFXMulti.v; +if(S.length==0)return null;S=S[0].v;var b=JSON.parse(JSON.stringify(a4.m3.default));eg.EA(S,b);return b}; +eg.EA=function(Z,S){var b=a4.stroke.qc.indexOf(Z.PntT.v.FrFl),Y=[a4.pe,a4.xz,a4.jl][b],P=S.strokeStyleContent.v={classID:a4.m3.Vh[b]}; +for(var D=0;D=6)this.Y7(this.X_(P))};b6.prototype.bk=function(Z){if(Z==null)Z=1;Z=Math.max(.05,Math.min(5,Z)); +if(isNaN(Z)){alert("Pressure is not a number");throw"e"}return Z};b6.prototype.Y7=function(Z){this.Vl=Z; +this.ud=this.ud.VK(Z)};b6.prototype.finish=function(){var Z=this.B_,S=Z.length,b;if(S==4)b=this.de(Z[S-2],Z[S-1],this.w7[(S>>1)-1],!0); +if(S>4)b=this.X_(S+2);if(b)this.Y7(b)};b6.prototype.X_=function(Z){var S=this.B_,b=this.w7,Y=S[Z-6],P=S[Z-5],w=S[Z-4],f=S[Z-3],h=b[(Z>>1)-3],Q=b[(Z>>1)-2],e=new ar(0,0),l=new ar(0,0); +if(8<=Z)e=b6.zC(S[Z-8],S[Z-7],Y,P,w,f);if(Z<=S.length)l=b6.zC(S[Z-2],S[Z-1],w,f,Y,P);var O=Y+e.x,m=P+e.y,V=w+l.x,q=f+l.y,K=new b4; +for(var D=0;D<10;D++){var z=(D+1)*.1,t=1-z,H=t*t*t*Y+3*z*t*t*O+3*z*z*t*V+z*z*z*w,i=t*t*t*P+3*z*t*t*m+3*z*z*t*q+z*z*z*f,y=this.de(H,i,h+z*(Q-h)); +K=K.VK(y)}return K};b6.zC=function(Z,S,b,Y,P,w){var f=Z-b,h=S-Y,Q=P-b,e=w-Y,l=Math.sqrt(f*f+h*h),O=Math.sqrt(Q*Q+e*e),m=Math.acos((f*Q+h*e)/(l*O))/Math.PI,V=.35,q=.1; +m=q+m*(V-q);var K=P-Z,z=w-S,t=Math.sqrt(K*K+z*z),H=m*O/t;return new ar(K*H,z*H)};b6.prototype.de=function(Z,S,b,Y){var P=new b4,w=this.ms.aaS; +if(w==null)w=0;if(w==0||Y){P=this.ZL(Z,S,b);return P}var f=this.GM,h=Z-f.x,Q=S-f.y,e=Math.sqrt(h*h+Q*Q); +h/=e;Q/=e;if(e>w){var l=f.x+h*(e-w),O=f.y+Q*(e-w);P=this.ZL(l,O,b);this.GM.Ha(l,O)}return P};b6.prototype.ZL=function(Z,S,b){var Y=new b4,P=new ar(Z,S),w=this.O.Brsh.v.Dmtr.v.val,f=this.ms.tJ,h=P.jZ(this.LK); +h.normalize(1);var Q=ar.VA(this.LK,P),e=-this.a5X,l=this.LK.clone(),O=this.ms.gp;while(!0){var m=this.vT+(b-this.vT)*(Math.max(0,e)/Q),V=this.Jy()*(O[1]?m:1),q=this.acj()*(V+this.a12)/2; +if(f==b6.ZB)q=1;if(e+q0?1:-1;var t=l.clone();t.y+=h.y>0?1:-1;if(ar.VA(z,K)1)h.zk=1-(h.zk-1);h.$0=h.$0+f;if(h.$0<0)h.$0=-h.$0; +if(h.$0>1)h.$0=1-(h.$0-1);S=T.Ta(h.XE,h.zk,h.$0)}return S};b6.prototype.xS=function(Z){return Math.max(0,Math.min(1,Z))}; +b6.prototype.Nj=function(){this.Nz++;return b6.hash(this.Nz)};b6.J8=function(Z){return{h:(Z>>16&255)/255,l:(Z>>8&255)/255,O:(Z>>0&255)/255}}; +b6.hash=function(Z){Z=Z^61^Z>>16;Z=Z+(Z<<3);Z=Z^Z>>4;Z=Z*668265261;Z=Z^Z>>15;return(Z&16777215)/16777215}; +b6.Bp=[];b6.acd=function(Z,C){var S=Z.I2(),b=C.I2();if(S2500){w=h; +break}}var Q=Math.round(this.O.Brsh.v.Dmtr.v.val);if(w){w.rect.x=Math.round(w.AR.x-w.b9.RN+Z.RN);w.rect.y=Math.round(w.AR.y-w.b9.Sv+Z.Sv); +if(P){w.rect.x=Math.round(S.x-w.rect.c/2);w.rect.y=Math.round(S.y-w.rect.v/2)}w.Mo=Date.now()}else{var e; +if(P&&Q<=3){e={buffer:T.f(Q*Q*4),rect:new b4(Math.round(S.x-Q/2),Math.round(S.y-Q/2),Q,Q)};T._U(e.buffer,4278190080)}else if(Z.w==1&&Z.O==0&&Z.tE==0&&Z.KU==1){e={buffer:this.S7.UU,rect:this.S7.Io.clone()}; +e.rect.x=Math.round(Z.RN);e.rect.y=Math.round(Z.Sv)}else e=G.V.DP([this.S7.UU,this.S7.Io],Z);if(P){for(var D=0; +D127?255:0}if(e==null)e={buffer:T.f(0),rect:new b4};var l=Z.RN-Math.floor(Z.RN),O=Z.Sv-Math.floor(Z.Sv); +w={UU:e.buffer,m6:T.f(e.rect.X()),rect:e.rect,AR:e.rect.clone(),b9:Z,wM:b6.Z5(Z.RN,Z.Sv),Mo:Date.now()}; +T.to(w.UU,w.m6,3);Y.push(w);b.X+=e.rect.X();if(Y.length>2e3||b.X>100*100*400){console.log("pruning",b.X,Y.length); +Y.sort(function(V,q){return q.Mo-V.Mo});while(Y.length>1e3||b.X>100*100*200){var m=Y.pop();b.X-=m.rect.X()}}}b.p5=Y; +b.Mo=Date.now();b6.Bp.push(b);b6.Bp.sort(function(V,q){return q.Mo-V.Mo});while(b6.Bp.length>3)b6.Bp.pop(); +return w};b6.Z5=function(Z,S){return new ar(Z-Math.floor(Z),S-Math.floor(S))};b6.ajh=function(Z,S){var b=S.x,Y=S.y,P=Math.abs(b-Z.x),w=Math.abs(Y-Z.y); +if(Math.abs(b-1-Z.x)>>1)+1); +for(var D=0;Df*2){var v=new b4(P.x,P.y,Math.floor(P.c/2),Math.floor(P.v/2)),R=G.V.DP([Y,P],new fR(v.c/P.c,0,0,v.v/P.v,0,0)); +w*=v.c/P.c;P=R.rect;Y=R.buffer}return{a0n:w,Io:P,UU:Y}};b6.lf=[];b6.T1=function(Z){if(b6.lf[Z])return b6.lf[Z]; +var S=Math.pow(Z,.55),b=new Float64Array(8e3),Y=0,P=8e3;for(var D=0;D<8e3;D++){var w=b6.a0h(D*(1.55/4e3),S); +if(w>=1)Y=D;else if(w<=0&&P==8e3)P=D;b[D]=w}var f=[b,Y,P];b6.lf[Z]=f;return f};b6.a0h=function(Z,S){var b=ZO||J>m)&&i[A+2]){A+=2;y=i[A];j=i[A+1].c;J=i[A+1].v}if(j*J!=0){var a=T.f(j*J*4); +T.y8(y,a,3);var I=new ImageData(new Uint8ClampedArray(a.buffer),j,J);h.putImageData(I,Math.round((O-j)/2),Math.round((m-J)/2))}}else{}return f.toDataURL()}; +b6.Fl=function(Z,S,b,Y){if(b==0)b=1;var P=Z.Brsh.v,w=P.Dmtr.v.val,f=P.Dmtr.v.val=Math.min(Y!=null?Math.round(Y*2.6):3e3,w*b),h=P.Hrdn?P.Hrdn.v.val/100:1,Q=Y!=null?Y:Math.round(f*(1+.55*(1-h)))+4,O; +Q=Math.max(15,Math.min(Q,3e3));var e=new b4(0,0,Q,Q),l=new b6(Z,S,null,{y6:1},16711712,0,e);P.Dmtr.v.val=w; +l.moveTo(e.c/2,e.v/2);var m=l.f9(),V=l.Ij();if(e.Oh(V))O=m;else{O=T.f(e.X()*4);T.uH(m,V,O,e)}return[O,e,f]}; +b6.vz=function(Z,S,b,Y){var P=b6.Fl(Z,S,b),w=P[0].slice(0),f=P[1],h=P[2],Q=f.X(),e=T.f(Q);T.to(w,e,3); +var l=T.f(Q);T.N.a7h(e,l,f);if(h<3||T.BI(l,0)||Y&&h>12){var O=f.c,m=O>>>1,V=l,q=255;for(var D=0;D<4; +D++){V[O*(m-6+D)+m]=q;V[O*m+m-6+D]=q;V[O*m+m+6-D]=q;V[O*(m+6-D)+m]=q}}var K=[1,2,1,2,8,2,1,2,1];K=T.yM.yU(K); +T.yM.yC(l,e,f.c,f.v,K);T._U(w,4294967295);T.y8(e,w,3);for(var D=0;D80?255:0;if(Q==3)for(var D=0;D128?V:-1);if(e[q]==null){e[q]=1;if(S.NI(Y[O].Name,V)==null)Q=!1}}l+=w[D]}return Q}; +gU.afw=function(Z,S,b){var Y=new fR;for(var D=0;D>>3,P=Z.TextOnPathTRange,w=Z.Reversed,l=0,O=0; +if(w){var f=S.slice(0);for(var D=0;D>>3)+z)}l=H; +O=i}}var y=e.length,j=e[y-1],J=io.st(P[0],Q),A=io.st(P[1]%Y,Q),a=e[J%y],I=e[A%y];if(a>=I)I+=j;return[h,Q,e,j,a,I]}; +io.st=function(Z,S){var D=0;while(S[D]65535)w--;return w}for(var z=0;zy+m/2||a==1&&Z.x65535?2:1; +return J}}}}}};io.prototype.aO=function(Z){var S={_:new b4,M9:0},b=0;for(var Y=0;Yw)w=f}if(w>1424)P=io.acG(Y,S);return P};io.di=function(Z,S,b,Y,P,w,f){this.eO=[]; +this.nZ=[];this.wM=new ar(0,0);this.jd=null;this.eO=null;this.DB=eO.a0k(Z,Y);var h=this.DB,O=0,q="",i=0,y=1,M=0; +if(Y!=0){var Q=h.SpaceBefore;if(Q!=null)w[0]+=Q}var e=Z.EngineDict.ParagraphRun.RunLengthArray,l=e[Y]; +for(var D=0;D0&&g[v-1].Fb==K)v--; +b[O+I+K].pO=a.length+(c?v:g.length-v-1)}for(var K=0;K>>1;for(var D=0;D=bI)fq=D;else if(fq!=-1&&A2&&(R==6||!eQ))this.a8L(fq,bd,X,d7,m,d0);else{var cf=d0;for(var D=fq; +D=Z;D--)if(b[D].xU||b[D].S6)w-=b[D]._.c;else break;if(Y==1)for(var D=Z; +D=Z;D--)if(b[D].xU||b[D].S6){if(b[D].xU){Q--}}else break; +if(P==1)for(var D=Z;D>>2);K[t>>>2]=O==0?h:Q;b.fribidi_get_bidi_types(z,m,H);b.fribidi_get_bracket_types(z,m,H,i); +b.fribidi_get_par_embedding_levels_ex(H,i,m,t,y);var j=q.slice(y,y+m);b.free(z);return j};io.CS=2;var e=new d(s.E.P,!0); +e.data={e:s.U.h4,JH:"add",Sz:bp.VE,O3:null};a2.hs.m(e)})}Typr.U.initHB("code/external/hb.wasm",Z);return!1}; +function eO(){}eO.w3=function(Z){return JSON.parse(JSON.stringify(Z))};eO.uE=function(Z,S){for(var b in S)Z[b]=S[b]}; +eO.nR=function(Z,S,b){var Y=eO.Cw();if(b)eO.Yg(Y,0,0,b);var P={A:new fR(1,0,0,1,Math.round(Z),Math.round(S)),HK:Y}; +P.Uh=eO.Kr();P.Km=T.$e.f();P.az=new b4;return P};eO.ss=function(Z){var S=["CharacterDirection",0];for(var D=0; +D=0?2:Z.EngineDict.Rendered.Shapes.Children[0].ShapeType}; +eO.es=function(Z,S){var b=Z.EngineDict.Rendered.Shapes.Children[0];b.ShapeType=S;var Y=b.Cookie.Photoshop; +Y.ShapeType=S;Y.Base.ShapeType=S;if(S==0){delete Y.BoxBounds;Y.PointBase=[0,0]}if(S==1){delete Y.PointBase; +Y.BoxBounds=[0,0,1,1]}};eO.kn=function(Z){return Z.EngineDict.Rendered.Shapes.Children[0].Cookie.Photoshop.BoxBounds}; +eO.oZ=function(Z,S){Z.EngineDict.Rendered.Shapes.Children[0].Cookie.Photoshop.BoxBounds=S};eO.a5V=function(Z,S){return eO.a9o(Z,eO.KL(Z,S))}; +eO.KL=function(Z,S){var b=Z.EngineDict.StyleRun.RunLengthArray;return eO.gP(b,S).xr};eO.a9o=function(Z,S){var b=Z.ResourceDict.StyleSheetSet[0].StyleSheetData,Y={}; +for(var P in b)Y[P]=b[P];var w=Z.EngineDict.StyleRun.RunArray[S].StyleSheet.StyleSheetData;eO.uE(Y,w); +return Y};eO.a0k=function(Z,S){var b=Z.ResourceDict.ParagraphSheetSet[0].Properties,Y={};for(var P in b)Y[P]=b[P]; +var w=Z.EngineDict.ParagraphRun.RunArray[S].ParagraphSheet.Properties;eO.uE(Y,w);var f=["StartIndent","EndIndent","FirstLineIndent"]; +for(var D=0;D<3;D++)if(Y[f[D]]==null)Y[f[D]]=0;return Y};eO.kk=function(Z,S,b){if(b=="")return;var Y=eO.IU(Z); +eO.wL(Z,Y.substring(0,S)+b+Y.substring(S,Y.length));var P=Z.EngineDict.StyleRun,w=P.RunLengthArray,f=eO.gP(w,S-1); +w[f.xr]+=b.length;var h=Z.EngineDict.ParagraphRun,w=h.RunLengthArray,Q=eO.gP(w,S),e=b.split("\n");if(e.length==1){w[Q.xr]+=b.length; +return}w.splice(Q.xr+1,0,w[Q.xr]-(S-Q.bf));h.RunArray.splice(Q.xr+1,0,eO.w3(h.RunArray[Q.xr]));w[Q.xr]-=w[Q.xr+1]; +w[Q.xr]+=e[0].length+1;for(var D=1;D"},{_0:"i40",_1:"s\u201E",_2:"s\u201C",_3:"s\u201A",_4:"s\u2018"},{_0:"i41",_1:"s\xAB",_2:"s\xBB",_3:"s<",_4:"s>"},{_0:"i42",_1:"s\u201E",_2:"s\u201C",_3:"s\u201A",_4:"s\u2018"},{_0:"i43",_1:"s\u201C",_2:"s\u201D",_3:"s\u2018",_4:"s\u2019"},{_0:"i44",_1:"s\xAB",_2:"s\xBB",_3:"s\u2039",_4:"s\u203A"},{_0:"i45",_1:"s\u201C",_2:"s\u201D",_3:"s\u2018",_4:"s\u2019"}],_15:{_0:"sWinSoft"},_16:!1}; +var gP={};gP.akG=function(Z){return gP.hF(Z,gP.t0,0)};gP.a9h=function(Z){return gP.wb(Z,gP.t0)};gP.hF=function(Z,S,b){var Y; +if(typeof Z=="string")return Z;if(Z instanceof Array){Y=[];for(var D=0;D0)h.push("border-radius: "+Math.round(l)+"px")}else if(f){var O=f.HK;if(eO.O$(O)==1){var e=eO.kn(O); +h.push("width: "+Math.round(e[2])+"px");h.push("height: "+Math.round(e[3])+"px")}CSS.as(h,eO.SZ(O,0,0),f.A,!1,!1,Q[0])}var m=[],V=w?w.dropShadowMulti.v:0; +for(var D=0;D>16&255,l:Z>>8&255,O:Z&255}};CSS.DI=function(Z,S){return CSS.Mh(T.W.CD(Z),S)}; +CSS.Mh=function(Z,S){if(S==null)S=1;var b=Math.round(Z.h),Y=Math.round(Z.l),P=Math.round(Z.O),w=b<<16|Y<<8|P; +return S==1?"#"+T.T3(w):"rgba("+b+","+Y+","+P+","+S+")"};CSS.VD=function(Z){var S=Z.Grad.v;if(S.Clrs==null)return""; +var b=S.Clrs.v.slice(0),Y=S.Trns.v.slice(0),P=Z.Ofst.v,w=Z.Type.v.GrdT=="Rdl"?1:0,f=(w==1?"radial":"linear")+"-gradient",h=w==0?Math.round(-Z.Angl.v.val+90)+"deg":"circle at center",Q=Z.Rvrs.v; +if(Q){b.reverse();Y.reverse()}for(var D=0;D")return Z>S; +else if(b=="==")return Z==S;else if(b=="<=")return Z<=S;else if(b==">=")return Z>=S;else if(b=="!=")return Z!=S; +else if(b=="!==")return Z!==S;else if(b=="<<")return Z<>")return Z>>S;else console.log(b)}; +aM.a2=function(Z,S){if(S=="-")return-Z;else if(S=="!")return!Z;else if(S=="~")return~Z;else if(S=="+")return Z; +else console.log(obj)};aM.r2=function(Z,S,b){var Y=Z.type;if(Y=="Identifier")return aM.a3d(Z.name,S,b); +else return aM.eval(Z,S,b)};aM.a3d=function(Z,S,b){if(Z=="undefined")return undefined;else if(b.hasOwnProperty(Z))return b[Z]; +else if(Z=="app")return{o:"Application"};else if(Z=="$")return{o:"$"};else if(aM.Er.al7.indexOf(Z)!=-1)return aM.Er.aX({o:"Application"},Z,S,b); +else if(window[Z]&&!aM.RR[Z])return window[Z];else{b[Z]=null;return null}};aM.Er={};aM.Er.a3w=function(Z,S,b,Y){var P; +if(Z=="SolidColor")P={o:Z,G:[1,0,0,0]};if(Z=="RGBColor")P={o:Z,G:[1,0,0,0]};if(Z=="Window")P={o:Z,G:new hL(S[0],S[1],S[2])}; +if(Z=="ExportOptionsSaveForWeb")P={o:Z,G:{vh:"png",cc:100}};if(Z=="JPEGSaveOptions")P={o:Z,G:{vh:"jpg",cc:100}}; +if(Z=="File")P={o:Z,G:S[0]};if(Z=="ActionReference")P={o:Z,G:[]};if(Z=="ActionDescriptor")P={o:Z,G:{}}; +if(Z=="ActionList")P={o:Z,G:[]};if(Z=="UnitValue")P={o:Z,G:S.length==0?0:parseFloat(S[0])};return P}; +aM.Er.al7="activeDocument documents fonts preferences displayDialogs foregroundColor backgroundColor".split(" "); +aM.Er.a5r=["charIDToTypeID","stringIDToTypeID","executeAction","executeActionGet","doAction"];aM.Er.aX=function(Z,S,b,Y){var P=b.hO,w=b.eh(); +if(!1){}else if(S=="typename"){if(Z.o=="Layer")return Z.G.W$()?"LayerSet":"ArtLayer";else return Z.o}else if(["Document","Layer"].indexOf(Z.o)!=-1&&["layers","artLayers","layerSets"].indexOf(S)!=-1){var f=w.root,h={o:"Layers",cb:S,G:[]}; +if(Z.o=="Layer")f=w.root.zO(w.t.indexOf(Z.G));if(f.children==null)return null;for(var D=0;D>>16&255)/255,(l>>>8&255)/255,(l>>>0&255)/255]}}else if(S=="UI")return{o:"UI"}; +else console.log(Z,S)}else if(Z.o=="Document"){var w=Z.G;if(!1){}else if(S=="activeLayer"){var Q=w.t[w.C[0]]; +return{o:"Layer",G:Q}}else if(S=="resolution")return w.GY;else if(S=="width")return w.c;else if(S=="height")return w.v; +else if(S=="name")return w.name;else if(S=="saved")return!w.Ev();else if(S=="selection")return{o:"Selection"}; +else if(S=="activeHistoryState")return{o:"HistoryState",SU:w.Hc};else if(S=="source")return w.JZ;else if(S=="historyStates"){var O=[]; +for(var D=0;D>>16&255)/255; +Z.G[2]=(u>>>8&255)/255;Z.G[3]=(u>>>0&255)/255}else console.log(Z,S)}else if(Z.o=="ExportOptionsSaveForWeb"){if(S=="format")Z.G.vh=b; +else if(S=="PNG8"){}else if(S=="quality")Z.G.cc=b;else throw"e"}else if(Z.o=="JPEGSaveOptions"){if(S=="quality")Z.G.cc=Math.round(100*b/12)}else console.log(Z,S,b); +if(w.data!=null)Y.m(w)};aM.Er.x7=function(Z,S,b,Y,P){var w=Z.o,f=null,h=new d(s.E.s,!0),Q=new d(s.E.TH,!0),e=new d(s.E.P,!0),l=Y.eh(),O=Y.N7; +if(!1){}else if(w=="Application"){if(!1){}else if(S=="charIDToTypeID"){var m=b[0].trim(),V={slct:"select",Dlt:"delete",Mk:"make"}; +return V[m]?V[m]:m}else if(S=="stringIDToTypeID"){var q=b[0].trim(),V={red:"Rd",blue:"Bl",color:"Clr",RGBColor:"RGBC",type:"Type",using:"Usng"},K=V[q]; +return K==null?q:K}else if(S=="executeAction"){console.log(b);var z;if(b[1]){z=b[1].G;z.classID=b[0]}var t={setd:"set"},H=t[b[0]]; +if(H==null)H=b[0];var i=g3.Qs[b[0]];if(i&&g3.OH[i])H=g3.OH[i];Q.data={uf:H,V1:z}}else if(S=="executeActionGet"){return{o:"ActionDescriptor",G:{classID:"null",null:{t:"obj ",v:b[0].G}}}}else if(S=="doAction"){e.data={e:s.U.Ay,ms:[b[0],b[1]]}}else if(S=="open"){e.data={e:s.U.LV,Sz:{url:b[0]}}; +if(b[2]&&O.length!=0)e.data.Sz.zr=O.indexOf(l)}else if(S=="echoToOE"){e.data={e:s.U.tZ,Sz:b[0]}}else console.log(S)}else if(w=="Document"){var l=Z.G; +if(!1){}else if(S=="crop"){Q.data=G.PK.AP(b[0])}else if(S=="trim"){var y=[];for(var D=0;D<4;D++)y.push(b[D+1]!=null?b[D+1]:!0); +Q.data=G.PK.HR(b[0]!=null?b[0]:0,y)}else if(S=="suspendHistory"){var j=acorn.parse(b[1]);aM.eval(j,Y,P)}else if(S=="save"){e.data={e:s.U.e_}}else if(S=="saveToOE"){e.data={e:s.U.e_,aah:b}}else if(S=="rotateCanvas"){Q.data=G.V.XL(!0,b[0])}else if(S=="resizeImage"||S=="resizeCanvas"){var J=b[0],A=b[1]; +if(typeof J!="number"){J=l.c*parseFloat(J.slice(0,J.length-1))/100;A=l.v*parseFloat(A.slice(0,A.length-1))/100}if(S=="resizeCanvas")Q.data=G.PK.K5(Math.round(J),Math.round(A),b[2]); +else Q.data=G.PK.dt(Math.round(J),Math.round(A),null,1)}else if(S=="paste"){e.data={e:s.U.GR,ks:b.length!=0&&b[0]}}else if(S=="close"){e.data={e:s.U.sj,G3:l}}else if(S=="exportDocument"||S=="saveAs"){var a=P.__fs,I=b[0].G.replace(":","").replace("~/",""),E=S=="exportDocument"?b[2].G:b[1].G,c=ab.k$(l,E.vh,null,null,[E.cc],Y.hO); +a[I]=new Uint8Array(c)}else console.log(Z,S,b)}else if(w=="Layer"){var u=Z.G,n=l.t.indexOf(u);if(!1){}else if(S=="copy"){aM.Er.hJ(l,Y,0); +e.data={e:s.U.gl,MU:b[0],SG:n};Y.m(e);delete e.data;aM.Er.hJ(l,Y,1)}else if(S=="clear"){aM.Er.hJ(l,Y,0); +Q.data={uf:"delete"};Y.m(Q);delete Q.data;aM.Er.hJ(l,Y,1)}else if(S=="duplicate"){if(b.length==0){h.data={e:F.GG,$:n}; +h.T=G.kd;Y.m(h);h.data=null;f={o:"Layer",G:l.t[l.C[0]]}}else if(b[0].o=="Document"){h.data={e:F.Fd,t:l.Ac(n),UY:l,Zn:b[0].G}; +h.T=G.kd}}else if(S=="merge"||S=="remove"){h.data={e:S=="merge"?F.lh:F.ak,$:n};h.T=G.kd;if(S!="remove")f={o:"Layer",G:l.t[l.C[0]]}}else if(S=="move"){h.data={e:F.ob,source:n,target:l.t.indexOf(b[0].G),ZI:b[1]!=3?.6:.3}; +h.T=G.kd}else if(S=="rasterize"){Q.data={uf:"rasterizeLayer",V1:{classID:"rasterizeLayer",null:a3.h$("Lyr",!0)}}}else if(S=="rotate"){h.data={e:"rot",ep:[2,5],G:-b[0]*Math.PI/180,Kn:b[1],$:n}; +h.T=G.ih}else if(S=="resize"){h.data={e:"scl",ep:[2,4],G:new ar(b[0]/100,b[1]/100),Kn:b[2],$:n};h.T=G.ih}else if(S=="translate"){var o=aM.Er.ok(b); +h.data={e:"trsl",$:n,ah7:o[0],aeY:o[1]};h.T=G.hK}else if(S=="link"){h.data={e:F.sg,abj:[n,l.t.indexOf(b[0].G)]}; +h.T=G.kd}else if(S=="invert"){h.T=G.cC;h.data={e:"start",Es:"nvrt"}}else if(S.startsWith("apply")&&cL.oG[S.slice(5)]){var o=aM.Er.ok(b),x=cL.oG[S.slice(5)]; +Q.data={uf:cL.OH[x]};var z=cL.VS(x);if(z){cL.jC["g"+x](z,o);Q.data.V1=z}}else console.log(Z,S,b)}else if(w=="Documents"){if(S=="getByName"){for(var D=0; +D","","",""],b=b_.Ap; +for(var Y in b){var P=Z[Y],w=b[Y][2],f="Seq",h="";if(P==null||w==null)continue;if(w=="dc:title"||w=="dc:description"){f="Alt"; +h=" xml:lang=\"x-default\""}if(w=="dc:subject")f="Bag";S.push("\t<"+w+">");var Q=w=="dc:subject"?P.split(";").join(",").split(","):[P]; +for(var D=0;D"+Q[D].trim()+"");S.push("\t")}S.push("","","",""); +return S.join("\n")};b_.Eo=function(Z){var S=[];for(var D=0;D/g,">")}; +s.wh=function(Z,S){Z.bl(aV.get([12,41]).charAt(0)+":");S.bl(aV.get([12,42]).charAt(0)+":")};s.R=function(Z,S){var b=document.createElement(Z); +if(S!=null)b.setAttribute("class",S);return b};s.Z9=function(Z){while(Z.firstChild)Z.removeChild(Z.firstChild)}; +s.zy=function(Z,S){var b=Z.getAttribute("class");if(b==null)b="";b=b.split(" ");if(b.indexOf(S)==-1)b.push(S); +Z.setAttribute("class",b.join(" "))};s.bq=function(Z,S){var b=Z.getAttribute("class");if(b==null)return; +b=b.split(" ");if(b.indexOf(S)!=-1)b.splice(b.indexOf(S),1);Z.setAttribute("class",b.join(" "))};s.mO=function(Z){while(!0){if(Z==document)return!0; +if(Z==null)return!1;Z=Z.parentNode}};s.X3=function(Z){Z.appendChild(s.R("br"))};s.Sg=function(Z){Z.appendChild(s.R("hr"))}; +s.ei=document;s.yR=function(Z){var S=0;for(var D=0;D1e3){b=S==0?100:S*10}else{if(Z%10!=0)Z*=10; +b=(Z+S)%100}s.XW=Date.now();return b};s.TL=function(Z,S){if(window.PointerEvent){Z.addEventListener("pointerdown",S,!1); +return}Z.addEventListener("mousedown",S,!1);Z.addEventListener("touchstart",S,!1)};s.Tb=function(Z,S){if(window.PointerEvent){Z.addEventListener("pointermove",S,!1); +return}Z.addEventListener("mousemove",S,!1);Z.addEventListener("touchmove",S,!1)};s.Ju=function(Z,S){if(window.PointerEvent){Z.addEventListener("pointerup",S,!1); +return}Z.addEventListener("mouseup",S,!1);Z.addEventListener("touchend",S,!1)};s.a21=function(Z,S){if(window.PointerEvent){Z.removeEventListener("pointerdown",S,!1); +return}Z.removeEventListener("mousedown",S,!1);Z.removeEventListener("touchstart",S,!1)};s.Qe=function(Z,S){if(window.PointerEvent){Z.removeEventListener("pointermove",S,!1); +return}Z.removeEventListener("mousemove",S,!1);Z.removeEventListener("touchmove",S,!1)};s.zz=function(Z,S){if(window.PointerEvent){Z.removeEventListener("pointerup",S,!1); +return}Z.removeEventListener("mouseup",S,!1);Z.removeEventListener("touchend",S,!1)};s.QF=function(Z){Z.addEventListener("touchstart",s.kM,!1); +Z.addEventListener("touchmove",s.kM,!1);Z.addEventListener("touchend",s.kM,!1);Z.addEventListener("gesturestart",s.kM,!1); +Z.addEventListener("gesturechange",s.kM,!1);Z.addEventListener("gestureend",s.kM,!1)};s.ed=function(Z,S,b,Y){var P=s.Z(); +Z.width=Math.floor(S*P);Z.height=Math.floor(b*P);Z.style.width=Z.width/P+"px";Z.style.height=Z.height/P+"px"; +if(Y)Y.setTransform(P,0,0,P,0,0)};s.$k=function(Z,S,b){Z.setAttribute("style","width:"+S/s.Z()+"px; height:"+b/s.Z()+"px")}; +s.R6=function(Z,S){if(S==null)S=Z.currentTarget;var b=S.getBoundingClientRect();if(Z.touches)Z=Z.touches.item(0); +return{x:Z.clientX-b.left,y:Z.clientY-b.top}};s.Z=function(Z){return window.devicePixelRatio||1};s.kM=function(Z){Z.preventDefault()}; +s.Jj=function(Z){Z.stopPropagation();Z.preventDefault()};s.ip=function(Z,S,b){b=b?b:"";if(PIMG["__"+Z]==null)b+=" gsicon"; +return"\""+(S?S:"")+"\""};s.tw=function(Z,S,b,Y){var P=Z.dataTransfer.getData("text/uri-list"); +if(P!=null&&P.startsWith("http")){var w=new d(s.E.P,!0);w.data={e:s.U.LV,Sz:{url:P,ge:!0,zr:b,P_:Y}}; +S.m(w)}if(Z.dataTransfer.files.length==0)return;if(window.showOpenFilePicker){var f=[],h=Z.dataTransfer.items.length,Q=Z.dataTransfer.files; +for(var e of Z.dataTransfer.items)e.getAsFileSystemHandle().then(function(l){f.push(l);if(f.length==h){var w=new d(s.E.P,!0); +w.data={e:s.U.WJ,data:Q,zr:b,P_:Y,a9x:f};S.m(w)}})}else{var w=new d(s.E.P,!0);w.data={e:s.U.WJ,data:Z.dataTransfer.files,zr:b,P_:Y}; +S.m(w)}};var d=function(Z,S){if(!S)S=!1;this.type=Z;this.target=null;this.currentTarget=null;this.bubbles=S; +this.T=null;this.j9=!1};s.E={s:"0",P:"1",TH:"1.5",L:"2",ef:"3",Ui:"4",J1:"5"};s.U={Vo:"10",Gc:"11",KN:"12",AA:"13",il:"14",fB:"14.1",LV:"15",fd:"16",Lq:"17",$_:"18",e_:"19",Bx:"19.5",Hr:"20",rk:"21",gl:"22",GR:"23",AO:"24",Fy:"25",d9:"26",hT:"27",Dx:"28",tu:"29",WJ:"30",cB:"31",zM:"32",I9:"33",jO:"34",h4:"35",NP:"35.5",sN:"37",RL:"38",kO:"39",P9:"40",Mk:"41",tZ:"41.5",YC:"42",u3:"43",Me:"43.5",sj:"44",mq:"45",in:"46",rC:"47",NT:"48",Ay:"49",v2:"50"}; +if(s.yR(27))s.ei=window;else s.ei=s.a0N;s.ei._cwY=s.ei[s.au("clh]]c[",3)];var eF={};eF.Ja=function(D){var Z=eF.XX[D],S=document.documentElement.style,Y=20; +S.setProperty("--bg-color","#"+T.T3(Z["--bg-color"]));S.setProperty("--bg-panel","#"+T.T3(Z["--bg-panel"])); +S.setProperty("--bg-canvas","#"+T.T3(Z["--bg-canvas"]));S.setProperty("--bg-input","#"+T.T3(Z["--bg-input"])); +S.setProperty("--bg-bbtn","#"+T.T3(Z["--bg-bbtn"]));S.setProperty("--bg-bbtnOver","#"+T.T3(Z["--bg-bbtnOver"])); +S.setProperty("--brdr","#"+T.T3(Z["--brdr"]));S.setProperty("--text-color","#"+T.T3(Z["--text-color"])); +S.setProperty("--brdrLgt","rgba(255,255,255,"+Z["--brdrLgt"]+")");S.setProperty("--brdrDrk","rgba( 0, 0, 0,"+Z["--brdrDrk"]+")"); +S.setProperty("--alphaDark",""+Z["--alphaDark"]);S.setProperty("--gs-invert",""+Z["--gs-invert"]);var b=Z["--sh-clr"]; +S.setProperty("--sh-clr","rgba("+(b>>16)+","+(b>>8&255)+","+(b&255)+", 0.45)");S.setProperty("--sh-dy",""+Z["--sh-dy"]+"px"); +if(1=0)Z=Math.max(this.eY,Z);if(this.n4==0)Z=Math.round(Z);var Y=this.v4;this.Lh.value=(this.n4!=0?Z.toFixed(this.n4):Z)+(this.a8M&&Y?(Y.toLowerCase()==Y.toUpperCase()?"":" ")+Y:""); +var P=400*Math.pow((Z-this.eY)/(this.tI-this.eY),1/2.7);this.lG.value=this.I7?P:Z;if(S)this.ot()};bt.prototype.u=function(){var Z=parseFloat(this.Lh.value); +if(isNaN(Z))Z=0;return Z};bt.prototype.IB=function(){return this.v4};bt.prototype.WX=function(Z){var S=0; +if(Z.currentTarget==this.Lh){var b=Z.target.value,Y=0;while(Y50&&Z>10)Z=Math.round(Z); +return Z};bt.prototype.al=function(Z){var S=0;if(U.iQ(Z.code,U.ne))S=1;if(U.iQ(Z.code,U.BM))S=-1;if(S!=0)this.iK(S,Z.shiftKey)}; +bt.prototype.Qx=function(Z){this.iK(Z.deltaY>0?-1:1,Z.shiftKey)};bt.prototype.iK=function(Z,S){var b=this.u(),Y=this.n4,P=Z*(Y==null||Y==0||b>5?1:.1); +if(S)P*=10;var w=b+P;if(!this.I7&&this.tI!=this.eY)w=Math.min(this.tI,w);this.F(w);this.ot()};bt.prototype.a7d=function(Z){var S=Date.now()-this.xR; +this.xR=Date.now();if(S>300)return;var b=(this.tI+this.eY)/2;if(this.eY<0&&this.tI>0)b=0;else if(this.eY<1&&this.tI>1&&this.tI<10)b=1; +this.F(b);this.ot()};bt.prototype.ahG=function(Z){s.Tb(document,this.alF);s.Ju(document,this.agN);this.ly=s.R6(Z,document.body).x; +this.gE=this.u()};bt.prototype.a6T=function(Z){s.Jj(Z);var S=this.eY==this.tI,b=s.R6(Z,document.body).x,Y=(b-this.ly)*(S?1:1/120*(this.tI-this.eY)),P=this.gE+Y; +if(S)P=Math.round(P);if(!S){if(!0){P=Math.max(this.eY,P);if(P==this.eY){this.ly=b;this.gE=this.eY}}if(!this.I7){P=Math.min(this.tI,P); +if(P==this.tI){this.ly=b;this.gE=this.tI}}P=this.ll(P)}this.gQ=!0;this.F(P);this.ot()};bt.prototype.a6o=function(Z){if(!this.gQ)this.Lh.focus(); +this.gQ=!1;s.Qe(document,this.alF);s.zz(document,this.agN)};bt.prototype.vq=function(){this.Lh.select(); +this.Lh.focus()};function aD(Z,S){ij.call(this);this.Jw=[];this.t4=-1;this.aa3=Z;this.g2=S;this.Pw=0; +this.jw=null;this.Vn=new ar(0,0);if(S!=null){this.ps=new a5([{name:[6,37]},{name:[5,4]}]);this.ps.parent=this; +this.ps.i("select",this.MO,this)}this.j=s.R("div","imageset scrollable");this.j.addEventListener("contextmenu",s.kM,!1)}aD.prototype=new ij; +aD.prototype.B=function(){if(this.ps)this.ps.B()};aD.prototype.MO=function(Z){var D=this.ps.SO()[0],S=new d(s.E.P,!0),b={e:s.U.h4,Sz:this.g2,ZG:[this.t4]}; +if(D==0){var Y=this.jw[1][this.t4];b.JH="rnm";S.data={e:s.U.Fy,g9:"namewindow",a7:Y,H6:{g:s.E.P,k:b}}}else{S.data=b; +b.JH="del"}this.m(S)};aD.prototype.akr=function(){return this.Pw};aD.prototype.ZC=function(Z){this.Pw=Z; +if(this.jw)this.T2()};aD.prototype.TS=function(Z,S,b,Y){this.jw=[Z,S,b,Y];this.T2()};aD.prototype.T2=function(){var Z=this.jw,S=Z[0],b=Z[1],Y=Z[2],P=Z[3]; +this.Jw=[];this.j.innerHTML="";var w=this.XJ.bind(this),f=this.Pw;if(f==0)s.zy(this.j,"imageset");else s.bq(this.j,"imageset"); +for(var D=0;D0)){w=f;P=D}}if(P==-1)return; +this.ah8=P;this.R4=Z.altKey||S[(P>>>1)*2]!=S[(P>>>1)*2+1];s.Tb(window,this.DE);s.Ju(window,this.UM)}; +gn.prototype.Sw=function(Z){var S=this.yD,b=this.ah8,Y=(b>>>1)*2,P=Y+1,w=s.R6(Z,this.QY),f=Math.round(Math.max(0,Math.min(255,w.x-8))); +S[b]=f;if(this.R4&&S[Y]>=S[P])this.R4=!1;if(!this.R4)S[Y]=S[P]=f;this.T2();this.m(new d(s.E.L,!1))}; +gn.prototype.LP=function(Z){s.Qe(window,this.DE);s.zz(window,this.UM)};gn.prototype.T2=function(){var Z=this.QY; +s.ed(Z,255+16,16);var S=Z.getContext("2d"),b=Z.width,Y=Z.height,P=Math.round(255*s.Z()),w=Math.round(8*s.Z()); +S.translate(w,0);var f=S.createLinearGradient(0,0,P,0);f.addColorStop(0,"black");f.addColorStop(1,"#"+["ffffff","ff0000","00ff00","0000ff"][this.SJ]); +S.fillStyle=f;S.fillRect(0,0,P,w);var h=this.adp,Q=aV.get(this.a8B)+":";h[0].textContent=Q;for(var D=0; +D<4;D++){var e=this.yD[D];h[1+D].textContent=e;var l=Math.round(e*s.Z());S.beginPath();S.moveTo(l,w); +S.lineTo(l,w+w);S.lineTo(l+((D&1)==0?-1:1)*w,w+w);S.closePath();S.fillStyle="#cccccc";S.fill();S.strokeStyle="black"; +S.stroke()}};function eP(Z){ij.call(this);this.oc=0;this.alt=0;var S="ai"+s.sn();this.j=s.R("span","fitem angleinput"); +if(Z){this.DU=s.R("label","flabel");this.i1=Z;this.j.appendChild(this.DU);this.DU.setAttribute("for",S)}this.lt=20; +this.u_=s.R("canvas","gsicon");this.Bi=this.u_.getContext("2d");s.ed(this.u_,this.lt*2+1,this.lt*2+1,this.Bi); +this.j.appendChild(this.u_);s.TL(this.u_,this.Zx.bind(this));this.qS=this.i$.bind(this);this.pN=this.sa.bind(this); +this.Lh=s.R("input","");this.Lh.setAttribute("type","text");this.j.appendChild(this.Lh);this.Lh.setAttribute("id",S); +this.Lh.addEventListener("change",this.WX.bind(this),!1);this.vd=s.R("span","");this.vd.innerHTML="\xB0"; +this.j.appendChild(this.vd);this.F(this.oc,this.alt)}eP.prototype=new ij;eP.prototype.B=function(){this.DU.textContent=aV.get(this.i1)+":"}; +eP.prototype.bl=function(Z){this.DU.textContent=Z};eP.prototype.u=function(){return{oc:this.oc,alt:this.alt}}; +eP.prototype.F=function(Z,S,b){if(Z!=null)this.oc=Z;if(S!=null)this.alt=S;this.Lh.value=this.oc;Z=Math.PI*this.oc/180; +S=.9*this.lt*(90-this.alt)/90;var Y=this.lt+.5,P=this.Bi;P.clearRect(0,0,100,100);P.strokeStyle="#000000"; +P.beginPath();P.arc(Y,Y,.9*this.lt,0,2*Math.PI);P.moveTo(Y,Y);P.lineTo(Y+Math.cos(Z)*this.lt*.9,Y-Math.sin(Z)*this.lt*.9); +P.stroke();P.strokeStyle="#ff0000";P.beginPath();P.moveTo(Y+Math.cos(Z)*S-3,Y-Math.sin(Z)*S);P.lineTo(Y+Math.cos(Z)*S+3,Y-Math.sin(Z)*S); +P.moveTo(Y+Math.cos(Z)*S,Y-Math.sin(Z)*S-3);P.lineTo(Y+Math.cos(Z)*S,Y-Math.sin(Z)*S+3);P.stroke();if(b)this.WX()}; +eP.prototype.WX=function(Z){var S=parseInt(this.Lh.value);S=S%360;this.F(S);this.m(new d(s.E.L,!1))}; +eP.prototype.Zx=function(Z){s.Tb(window,this.qS);s.Ju(window,this.pN);this.i$(Z)};eP.prototype.i$=function(Z){var S=s.R6(Z,this.u_),b=S.x-this.lt,Y=S.y-this.lt,P=180*Math.atan2(-Y,b)/Math.PI,w=90-90*Math.min(1,Math.sqrt(b*b+Y*Y)/(.9*this.lt)); +this.F(Math.round(P),Math.round(w));this.m(new d(s.E.L,!1))};eP.prototype.sa=function(Z){this.m(new d(s.E.L,!1)); +s.Qe(window,this.qS);s.zz(window,this.pN)};function d4(Z,S){ij.call(this);this.yD=0;this.Ze=S;this.j=s.R("span","fitem angleinput"); +if(Z){this.DU=s.R("label","flabel");this.i1=Z;this.j.appendChild(this.DU)}this.u_=s.R("canvas","gsicon"); +this.Bi=this.u_.getContext("2d");s.ed(this.u_,S,S);this.j.appendChild(this.u_);s.TL(this.u_,this.Zx.bind(this)); +this.qS=this.i$.bind(this);this.pN=this.sa.bind(this);this.F(0)}d4.prototype=new ij;d4.prototype.B=function(){if(this.i1)this.DU.textContent=aV.get(this.i1)+":"}; +d4.prototype.bl=function(Z){this.DU.textContent=Z};d4.prototype.u=function(){return this.yD};d4.prototype.F=function(Z){this.yD=Z; +var S=this.u_.width,b=Math.floor(Z/3),Y=Z-3*b,P=(Y+.5)*S/3,w=(b+.5)*S/3,f=this.Bi,h=[.5,Math.round(S/3)+.5,Math.round(2*S/3)+.5,S-.5]; +f.clearRect(0,0,S,S);var Q=this.Ze<30;f.setLineDash([]);f.strokeStyle=Q?"rgba(0,0,0,0.5)":"#000000"; +f.beginPath();for(var D=0;D<4;D++){var e=h[D];f.moveTo(e,0);f.lineTo(e,S);f.moveTo(0,e);f.lineTo(S,e)}f.stroke(); +if(Z==9)return;if(!Q){f.setLineDash([1,2]);var l=S*.53,O=Math.max(0,Math.min(S-l,P-l/2)),m=Math.max(0,Math.min(S-l,w-l/2)); +f.strokeRect(Math.round(O)+.5,Math.round(m)+.5,Math.round(l),Math.round(l))}f.fillStyle="#000000";f.beginPath(); +f.arc(P,w,S/8,0,Math.PI*2);f.fill()};d4.prototype.Zx=function(Z){s.Tb(window,this.qS);s.Ju(window,this.pN); +this.i$(Z)};d4.prototype.i$=function(Z){var S=s.R6(Z,this.u_),b=Math.max(0,Math.min(2,Math.floor(S.x/(this.Ze/3)))),Y=Math.max(0,Math.min(2,Math.floor(S.y/(this.Ze/3)))); +this.F(Y*3+b)};d4.prototype.sa=function(Z){this.m(new d(s.E.L,!1));s.Qe(window,this.qS);s.zz(window,this.pN)}; +function fX(Z,S,b,Y){ij.call(this);this.j=s.R("button","fitem"+(S?" spread":"")+(Y?" bbtn":""));this.i1=Z; +this.aI=b;this.B();this.j.addEventListener("click",this.XJ.bind(this),!1)}fX.prototype=new ij;fX.prototype.B=function(){var Z=this.j,S=this.i1,b=this.aI,Y=aV.get(S); +if(Y.startsWith(">16&255,l:Z>>8&255,O:Z&255};this.K0()};gy.prototype.F=function(Z){this.fz=T.W.CD(Z); +this.K0()};gy.prototype.K0=function(){var Z=this.fz,S=Z.h,b=Z.l,Y=Z.O,P=S<<16|b<<8|Y;this.j.setAttribute("style","background-color:#"+T.T3(P))}; +function il(){ij.call(this);this.LL=!1;this.UI=20;this.akm=10;this.eA=0;this.LL=!1;this.OT={h:255,l:0,O:0}; +this.yu={h:0,l:0,O:0};this.j=s.R("canvas");this.T2();s.QF(this.j);s.TL(this.j,this.N$.bind(this))}il.prototype=new ij; +il.prototype.aly=function(Z){if(this.LL==Z)return;this.LL=Z;this.T2()};il.prototype.B=function(){};il.prototype.a9H=function(Z,S){function b(Y){return{h:Y>>16&255,l:Y>>8&255,O:Y&255}}if(Z!=null)this.OT=b(Z); +if(S!=null)this.yu=b(S);this.T2()};il.prototype.N$=function(Z){var S=s.R6(Z,this.j),b=S.x*s.Z(),Y=S.y*s.Z(),P=this.UI,w=this.akm,f=0; +if(bP-w&&Y>P-w){f=1}else if(b1)h.data={e:s.U.h4,Sz:bp.tN,Ox:f}; +else{this.eA=f;var Q=f==0?this.OT:this.yu;h.data={e:s.U.Fy,g9:"colorpicker",gV:Q.h<<16|Q.l<<8|Q.O,iy:this.d_.bind(this)}}this.m(h)}; +il.prototype.d_=function(Z){var S=new d(s.E.P,!0);S.data={e:s.U.h4,Sz:bp.tN,Ox:this.eA,G:Z};this.m(S)}; +il.prototype.T2=function(){var Z=this.j,S=Z.getContext("2d"),b=s.Z(),P="#aaaaaa",w=.65;s.ed(Z,34,34); +Z.setAttribute("style",Z.getAttribute("style")+";cursor:pointer");var Y=this.UI=Z.width,f=this.akm=Math.round(Y*w); +function h(V,q){var K=V.h,z=V.l,t=V.O;if(q)K=z=t=Math.round(T.w2(K,z,t));var H=K<<16|z<<8|t;return"#"+T.T3(H)}function Q(V,q,f,K,z){S.fillStyle=z?z:"black"; +S.fillRect(V,q,f,f);S.fillStyle=K;S.fillRect(V+1,q+1,f-2,f-2)}Q(Y-f,Y-f,f,h(this.yu,this.LL));Q(0,0,f,h(this.OT,this.LL)); +var e=Y-f,l=Math.round(e*w);Q(Y-l,e-l,l,"white",P);Q(Y-e,0,l,"black",P);S.save();S.fillStyle=P;S.translate(0,Y); +S.rotate(-Math.PI/2);e=Y-f;var O=Math.round(e*.28),m=Math.round(e*.25);for(var D=0;D<2;D++){S.fillRect(O,O,e-O,1); +S.beginPath();S.moveTo(e-m,O+.5-m);S.lineTo(e,O+.5);S.lineTo(e-m,O+.5+m);S.closePath();S.fill();S.transform(0,1,1,0,0,0)}S.restore()}; +function iH(Z){a0.call(this,Z,!1,"brushbutton nopadding",16.6,10,bp.sb,!0);this.xI=new bS([12,14,0],1,1e3," px",0,!0); +this.xI.i(s.E.L,this.B9,this);this.fl.appendChild(this.xI.j);this.PU=new bS([12,17],0,100,"%");this.PU.i(s.E.L,this.B9,this); +this.fl.appendChild(this.PU.j)}iH.prototype=new a0;iH.prototype.EL=function(){var Z=["pencil","trees"]; +for(var D=0;D0&&Y.B2==null)Y.B2=JSON.parse(JSON.stringify(a4.BH[b-1]));if(this.Tj)this.F(this.wR,Y,this.Tj)}if(S==this.so)this.aS.D9(S.u()); +this.m(new d(s.E.L,!1))};d2.prototype.H8=function(Z){var S=this.u_.getBoundingClientRect(),b=new d(s.E.P,!0); +b.data={e:s.U.Gc,Bq:this.Hw,x:S.left,y:S.top+S.height+4};this.m(b);this.so.F(this.aS.VR())};d2.prototype.F=function(Z,S,b){this.Tj=b; +this.wR=Z;var Y=[[13,1,0],[13,0],[12,37],[12,62]],P=this.a19,w=this.a7z,f=!1,l;for(var D=0;D<4;D++){var h={uR:D,B2:b[D]},Q=d2.YK(h); +if(w[D]==Q)continue;f=!0;var e=d2.kt(null,h,this.W3,this.wR,22,22,!1);P[D]=""; +w[D]=Q}if(f)this.cE.vL(P,Y);this.cE.F(S.uR);var Q=d2.YK(S);if(Q!=this.a4v)d2.kt(this.Bi,S,this.W3,this.wR,30,23,!0); +this.a4v=Q;var O=S.uR;if(O==0){l=this.aoK}if(O==1){this.aS.F(S.B2.Clr.v);l=this.wU}if(O==2){this.Ih.update(Z,S.B2); +l=this.rs}if(O==3){this.xm.update(Z,S.B2);l=this.Ru}if(l!=this.M3){if(this.M3!=null){this.Hw.j.removeChild(this.M3)}this.Hw.j.appendChild(l); +this.M3=l}};d2.prototype.u=function(){var Z={uR:this.cE.u()};if(Z.uR==1){Z.B2=JSON.parse(JSON.stringify(a4.BH[0])); +Z.B2.Clr.v=this.aS.u()}if(Z.uR==2){Z.B2=this.Ih.u()}if(Z.uR==3){Z.B2=this.xm.u()}return Z};d2.YK=function(Z){var S=Z.uR,b=Z.B2,Y="empty"; +if(S==1){Y=T.W.CD(b.Clr.v);Y=Y.h+","+Y.l+","+Y.O}if(S==2)Y=JSON.stringify(b.Grad.v);if(S==3)Y=b.Ptrn.v.Idnt.v; +return Y};d2.kt=function(Z,S,b,Y,P,w,f){if(Z==null)Z=d2.Bi;var h=Math.floor(P*s.Z()),Q=Math.floor(w*s.Z()),e=Z.canvas,l; +e.width=h;e.height=Q;s.$k(e,h,Q);var O=S.uR;if(O==0){Z.fillStyle="#ffffff";Z.fillRect(0,0,h,Q);Z.strokeStyle="#ff0000"; +Z.lineWidth=2;Z.moveTo(0,0);Z.lineTo(h,Q);Z.moveTo(0,Q);Z.lineTo(h,0);Z.stroke()}if(O==1){var m=S.B2.Clr.v; +m=T.W.CD(m);Z.fillStyle="#"+T.T3(m.h<<16|m.l<<8|m.O);Z.fillRect(0,0,h,Q)}if(O==2){G.Oa.Oy(S.B2.Grad.v,h,Q,0,b.ui,b.VY,e)}if(O==3){var V=S.B2.Ptrn.v,q; +if(Y!=null)q=eg.Xl(V,Y.add.Patt);if(q==null)q=eg.Xl(V,b.w6);fw.Oy(q,h,Q,e)}if(f){Z.beginPath();Z.strokeStyle="#000000"; +Z.fillStyle="#ffffff";Z.lineWidth=2;var K=h*.7,z=Math.floor(Q*.7),t=7*s.Z();Z.moveTo(K,z);Z.lineTo(K+t,z); +Z.lineTo(K+t/2,z+t/2);Z.closePath();Z.stroke();Z.fill()}if(Z==d2.Bi)return e.toDataURL()};d2.Bi=s.R("canvas").getContext("2d"); +function fw(Z){a0.call(this,Z,!1,"patternbutton",18,10,bp.qd);this.Vg=null}fw.prototype=new a0;fw.prototype.nG=function(Z){var S=this.c8[this.xc.u()]; +this.M5={classID:"Ptrn",Nm:{t:"TEXT",v:S.name},Idnt:{t:"TEXT",v:S.id}};this.m(new d(s.E.L));this.kw()}; +fw.uW=!1;fw.prototype.gN=function(){if(!this.Dq)return;var Z=this.c8;if(Z==null||!fw.uW){var S=new d(s.E.P,!0); +S.data={e:s.U.LV,Sz:{url:"rsrc/basic/basic.pat"}};this.m(S);fw.uW=!0;return}var b=Math.floor(34*s.Z()),Y=Math.floor(34*s.Z()),P=[],w=[]; +for(var D=0;D255||Y<0||Y>255)O=!1; +if(O&&w.indexOf(this.f6)==-1)w.push(this.f6);if(!O&&w.indexOf(this.f6)!=-1&&w.length>2&&(!f||!Q))w.splice(w.indexOf(this.f6),1); +if(w[0].v.Hrzn.v==w[1].v.Hrzn.v)if(w[0].v.Hrzn.v==0)w[1].v.Hrzn.v=1;else w[0].v.Hrzn.v--;w.sort(function(t,H){return t.v.Hrzn.v-H.v.Hrzn.v})}else{b=Math.round(b); +Y=Math.round(Y);b=Math.max(0,Math.min(255,b));Y=Math.max(0,Math.min(255,Y));var m=this.LK.x,V=b,q=this.LK.y,K=Y; +if(b.002){this.ai$(b.data,256,256,S.XE); +this.alo=S.XE}this.Bi.putImageData(b,0,0);this.Bi.strokeStyle="#000000";this.Bi.beginPath();this.Bi.arc(this.g8.x+1,this.g8.y+1,5,0,2*Math.PI); +this.Bi.stroke();this.Bi.strokeStyle="#ffffff";this.Bi.beginPath();this.Bi.arc(this.g8.x,this.g8.y,5,0,2*Math.PI); +this.Bi.stroke();var b=this.a0e;this.hC.putImageData(b,0,0);this.hC.strokeStyle="#ffffff";this.hC.beginPath(); +this.hC.moveTo(0,this.rG.y);this.hC.lineTo(20,this.rG.y);this.hC.lineWidth=2;this.hC.stroke()};ho.prototype.ai$=function(Z,S,b,Y){var P=1/S,w=1/b; +for(var f=0;f0)this.j.removeChild(this.cv.pop().j); +this.wN=Z;for(var D=0;D>>1;P.width=P.height=Y;var h=[]; +for(var D=0;D"); +else h.push("")}gT.call(this,Z,h,b)}gO.prototype=new gT; +gO.Fp=s.R("canvas");function gl(Z,S,b,Y){ij.call(this);if(!S)return;if(b==null)b=!1;this.t4=0;this.aiY=b; +this.i1=Z;this.et=null;this.al9=Y;var P="dd"+s.sn();this.j=s.R("span","fitem ddmenu");if(Z&&!b){this.DU=s.R("label","flabel"); +this.j.appendChild(this.DU);this.DU.setAttribute("for",P)}this.zp=s.R("select","bbtn");this.zp.setAttribute("id",P); +this.j.appendChild(this.zp);this.zp.addEventListener("change",this.WX.bind(this),!1);this.cv=[];this.wN=null; +this.vL(S,Y);this.B()}gl.prototype=new ij;gl.prototype.bl=function(Z){this.i1=Z;this.B()};gl.prototype.B=function(){if(this.i1!=null){var Z=aV.get(this.i1); +if(this.aiY)this.zp.setAttribute("title",Z);else this.DU.textContent=Z+":"}if(this.wN)this.vL(this.wN,this.al9); +this.F(this.t4)};gl.prototype.u=function(){return this.t4};gl.prototype.vL=function(Z,S){s.Z9(this.zp); +var b=[],Y=0;if(S){b.push(S[0]);for(var D=1;D"); +this.AM=new fX("");this.FG=new fX(""); +this.$O=new fX("");this.rf=new fX(""); +this.uL=new fX("");this.hh=new fX(""); +this.Y3=new fX("");var Z=[this.E0,this.AM,this.FG,this.$O,this.rf,this.uL,this.hh,this.Y3]; +for(var D=0;D"); +this.Wp=new fX("");this.CH=new fX(""); +this.acT=new fX("");this.a1j=new fX(""); +this.a2L=new fX("");this.amd=new fX(""); +this.GF=[this.$V,this.Wp,this.CH,this.acT,this.a1j,this.a2L,this.amd];for(var D=0;D "); +this.Ll=new c2(b[0],-20,20,"px");this.Ll.i(s.E.L,this.mA,this);this.Ll.parent=this;this.TK=new c2(b[1],-20,20,"px"); +this.TK.i(s.E.L,this.mA,this);this.TK.parent=this;this.mD=new c2(b[2],-20,20,"px");this.mD.i(s.E.L,this.mA,this); +this.mD.parent=this;this.jQ=new c2(b[3],-20,20,"px");this.jQ.i(s.E.L,this.mA,this);this.jQ.parent=this; +this.ZY=new c2(b[4],-20,20,"px");this.ZY.i(s.E.L,this.mA,this);this.ZY.parent=this;this.h9=new gT([12,33],["Abc ...","... \u0623\u064A \u0628\u064A"]); +this.h9.i(s.E.L,this.mA,this);this.h9.parent=this}bh.prototype=new ij;bh.prototype.B=function(){this.ZZ.B(); +this.KF.B();this.kv.B();this.Je.B();this.wA.B();this.FY.B();this.py.B();this.h9.B()};bh.prototype.F=function(Z,S,b){this.pA=JSON.parse(JSON.stringify(Z)); +var Y=this.pA,P=Y.xp,w=Y.jm;this.E0.F(P.FauxBold!=null?P.FauxBold:!1);this.AM.F(P.FauxItalic!=null?P.FauxItalic:!1); +this.FG.F(P.FontCaps==2);this.$O.F(P.FontCaps==1);this.uL.F(P.FontBaseline==1);this.rf.F(P.FontBaseline==2); +this.hh.F(P.Underline);this.Y3.F(P.Strikethrough);this.ZZ.F(P.Font==null?null:Y.E2[P.Font].Name,S,b); +var f=P.FontSize==null?20:P.FontSize;this.KF.F(f);var h=P.Tracking;this.Je.F(h==null?0:h);this.kv.F(P.Leading!=null&&P.Leading!=0?P.Leading:f); +this.UP.F(P.AutoLeading);this.FY.F((P.VerticalScale!=null?P.VerticalScale:0)*100);this.py.F((P.HorizontalScale!=null?P.HorizontalScale:0)*100); +this.wA.F(P.BaselineShift!=null?P.BaselineShift:0);if(P.FillColor){var Q=eO.CD(P);this.zo.D9(Math.round(Q.h)<<16|Math.round(Q.l)<<8|Math.round(Q.O))}else this.zo.D9(0); +var e=w._Direction!=null?w._Direction:0,l=eO.qH(w);for(var D=0;D>16&255)/255,(S>>8&255)/255,(S>>0&255)/255]}; +for(var D=0;D<4;D++)b.Values[D]=Math.round(b.Values[D]*1e3)/1e3;this.pA.xp.FillColor=b;this.SI()};function dr(){ij.call(this); +this.j=s.R("span","fontinput");this.tM=null;this._Y=null;this.Fq=null;this.qv="";this.Jw={};this.Qg=[]; +this.a6p={};this.RU=!1;this.pq=s.R("button","fitem");this.pq.setAttribute("style","width:9em;");this.pq.textContent="Family Name \u25BC"; +this.j.appendChild(this.pq);s.TL(this.pq,this.Hs.bind(this));this._y=new ij;this._y.parent=this;this._y.j=s.R("div","floatcont"); +this._y.j.addEventListener("keyup",this.ajV.bind(this),!1);this.tg=new aq(6.8);this._y.j.appendChild(this.tg.ajy()); +this.tg.parent=this._y;this.tg.i(s.E.L,this.F_,this);var Z=s.R("div","form");this._y.j.appendChild(Z); +this.cZ=new fX(s.ip("tools/cshape",null,"autoscale"),!1,"Show Favorites Only");this.cZ.i("click",this.a93,this); +Z.appendChild(this.cZ.j);this.QN=new cY([12,86],null,9);this.QN.i("input",this.QO,this);Z.appendChild(this.QN.j); +var S=this.afN=new fX([[23,6],[22,6,0]],!1,"Load OTF / TTF file from your computer",!0);S.i("click",this.a7R,this); +S.j.style.marginLeft="1.5em";Z.appendChild(S.j);this.uP=s.R("span","fitem imageset scrollable marged"); +this.uP.style.height="30em";this._y.j.appendChild(this.uP);this.jK=s.R("button","fitem");this.jK.setAttribute("style","width:7em;"); +this.jK.textContent="SubFamily Name \u25BC";this.j.appendChild(this.jK);s.TL(this.jK,this.Hs.bind(this)); +this.el=new ij;this.el.parent=this;this.el.j=s.R("div","floatcont");this.ro=s.R("span","fitem imageset scrollable marged"); +this.el.j.appendChild(this.ro)}dr.prototype=new ij;dr.prototype.ajV=function(Z){var S=0;if(U.iQ(Z.code,U.ne))S=-1; +if(U.iQ(Z.code,U.BM))S=1;if(S!=0){var b=this.Qg,Y=b.length,P=this.tM.tO()[this.Fq];if(P==null&&Y==0)return; +var w=b.indexOf(P[0]);if(w==-1)return;w=(w+S+Y)%Y;this.Jx(b[w],null)}};dr.prototype.a7R=function(){var Z=new d(s.E.P,!0); +Z.data={e:s.U.fd,a2X:".otf,.ttf,.ttc"};this.m(Z)};dr.prototype.B=function(){this.tg.B();this.afN.B(); +this.cZ.bl(s.ip("tools/cshape",null,"autoscale"))};dr.prototype.a93=function(Z){this.cZ.F(!this.cZ.rJ()); +this.F_()};dr.prototype.QO=function(Z){this.qv=this.QN.u().toLowerCase();this.F_()};dr.prototype.Hs=function(Z){s.Jj(Z); +var S=Z.currentTarget,b=S.getBoundingClientRect(),Y=S==this.pq,P=Y?this._y:this.el;if(s.mO(P.j)){this.Bu(P); +return}if(!Y&&this.tM.tO()[this.Fq]==null)return;var w=new d(s.E.P,!0);w.data={e:s.U.Gc,Bq:P,x:b.left,y:b.top+b.height}; +this.m(w);if(Y){this.F_();this.QN.vq()}};dr.prototype.a4w=function(Z){var S=Z.currentTarget.firstChild.nextSibling.textContent; +if(Z.target.tagName.toLowerCase()=="button"){var b=this._Y.slice(0),Y=b.indexOf(S);if(Y==-1){b=b.slice(Math.max(0,b.length-29)); +b.push(S)}else b.splice(Y,1);var P=new d(s.E.P,!0);P.data={e:s.U.h4,Sz:bp.dT,u$:b};this.m(P);this.RU=!0; +this.F_()}else{this.Jx(S,null);this.QN.vq()}};dr.prototype.a5f=function(Z){this.Jx(null,Z.currentTarget.firstChild.textContent)}; +dr.prototype.Jx=function(Z,S){var b=Z==null?this.el:this._y,Y=this.tM;if(Z==null)Z=Y.tO()[this.Fq][0]; +else{var P=Y.nF(Z),w=Y.tO()[this.Fq];S=a2.qf(P,w?w[1]:"regular")}var f=Y.g5(Z,S)[2];this.F(f,Y);this.m(new d(s.E.L,!1)); +this.Bu(b);this.F_()};dr.prototype.Bu=function(Z){var S=new d(s.E.P,!0);S.data={e:s.U.KN,Bq:Z};this.m(S)}; +dr.prototype.u=function(){return this.Fq};dr.prototype.F=function(Z,S,b){var Y=this.tM;if(Z!=null)this.Fq=Z; +else Z=this.Fq;this.tM=S;this._Y=b;if(Z!=null){var P=S.tO()[Z],w,f;if(P==null){w="- "+Z;f="-------"}else{w=P[0]; +f=P[1];var h=S.nF(w);h.sort(a2.a8x);var Q=h.indexOf(f),e=this.a5f.bind(this);this.ro.textContent=""; +for(var D=0;D0&&h[0].toLowerCase().indexOf(this.qv)==-1)e=!1; +else if(!this.tg.xy(h))e=!1;else if(this.cZ.rJ()&&!Q)e=!1;var l=this.Jw[w];if(l==null){var l=this._0(h,w,P,!0); +this.Jw[w]=l;this.uP.appendChild(l)}if(e)this.Qg.push(w);var O=e?"":"display:none; ",m="opacity: "+(Q?"1":"0.2"); +if(Z&&Z[0]==w){O+="background-color:rgba(0,0,0,0.13);";b=l}if(this.a6p[w]!=O+m){l.setAttribute("style",O); +l.firstChild.setAttribute("style",m);this.a6p[w]=O+m}}if(b&&!this.RU)this.uP.scrollTop=b.offsetTop-210; +this.RU=!1};dr.prototype._0=function(Z,S,b,Y){var P=s.R("div","fontitem"),Q="";P.addEventListener("click",b,!1); +if(Y)P.appendChild(s.R("button","star"));var w=s.R("span","label");w.setAttribute("title",S);w.textContent=S; +P.appendChild(w);var f=s.Z(),h=1/f,e=a2.a6*h,l=a2.wk*h;if(1>>D&1)==1;this.p7[D]=b;S[D].F(b)}};aq.prototype.ajy=function(){return this.f7}; +aq.prototype.B=function(){this.j.textContent=aV.get([25,1,0])+" \u25BC";this.tx.B();this.a5H.B()};aq.prototype.a6K=function(Z){var S=this.j.getBoundingClientRect(),b=new d(s.E.P,!0); +b.data={e:s.U.Gc,Bq:this.Hw,x:S.left,y:S.top+S.height,VL:!1};this.m(b)};aq.prototype.xy=function(Z){if(this.nT[Z[4]]==0)return!1; +else for(var S=0;S>>S&1)==0)return!1;return!0};aq.prototype.agE=function(Z){var S=Z.target.u(),b=this.vx,Y=this.nT; +for(var D=0;D",!1,[12,51]); +this._e.i("click",this.oD,this);this.ab9=new bE("");if(S){this.j.appendChild(this._e.j);this.j.appendChild(this.ab9.j); +this._e.AN()}else this.j.appendChild(w.j);this.pw=new c2("DPI",0,0,null,3,!1,!0,4);if(Z&&Y==null){s.X3(this.j); +this.j.appendChild(this.pw.j)}this.pw.i(s.E.L,this.oD,this);this.jh=new ec([12,23,1]);this.jh.i(s.E.L,this.oD,this); +if(b){s.X3(this.j);this.j.appendChild(this.jh.j)}s.X3(this.j)}cA.prototype=new ij;cA.prototype.a2C=function(){this.LR=!1; +if(this.u0.u()==0){this.u0.F(3);this._R()}};cA.prototype.ac_=function(){this.LR=!0};cA.prototype.a32=function(Z){this._e.F(Z)}; +cA.prototype.B=function(){this.O0.B();this.Dd.B();this.pw.B();this._e.B();this.jh.B()};cA.prototype.a3G=function(Z){var S=this.gB.x; +this.gB.x=this.gB.y;this.gB.y=S;this._R();this.m(new d(s.E.L,!1))};cA.prototype.oD=function(Z){if(Z.target==this.u0&&!this.LR&&this.u0.u()==0)this.u0.F(3); +if(Z.target==this.u0||Z.target==this.jh){this._R();return}if(Z.target==this._e)Z.target.F(!Z.target.u()); +var S=this.N3,b=parseFloat(this.O0.u());if(isNaN(b))b=1;var Y=parseFloat(this.Dd.u());if(isNaN(Y))Y=1; +var P=this.u0.u();if(this.LR){var w=this.vY;if(P==1){b=this.N3.x*(b/100);Y=this.N3.y*(Y/100)}var f=[1,1,25.4/w,1/w][P]; +b/=f;Y/=f;if(this.jh.u()){b+=this.N3.x;Y+=this.N3.y}if(Z.target==this.pw){var h=this.pw.u();if(!0){var Q=h/w; +b*=Q;Y*=Q}w=h}if(this._e.u()){if(Z.target==this.O0)Y=b*(S.y/S.x);else b=Y*(S.x/S.y)}b=Math.max(Math.abs(b),1); +Y=Math.max(Math.abs(Y),1)}else{var w=this.mR;if(Z.target==this.pw)w=this.pw.u();else{if(this._e.u()){if(Z.target==this.O0)Y=b*(S.y/S.x); +else b=Y*(S.x/S.y)}var f=[1,1,25.4/w,1/w][P],e=b/(P==1?100:S.x*f);w=w/e}b=S.x;Y=S.y}this.gB=new ar(Math.round(b),Math.round(Y)); +this.vY=w;this._R();this.m(new d(s.E.L,!1))};cA.prototype.a2O=function(D){this.u0.F(D);this._R()};cA.prototype.F=function(Z,S,b){if(b!=!0)this.N3=Z.clone(); +this.gB=Z.clone();if(S!=null){this.mR=S;this.vY=S}this._R()};cA.prototype._R=function(){var Z=this.gB.x,S=this.gB.y,b=this.vY,Y=(Z/S).toFixed(3); +while(Y.charAt(Y.length-1)=="0")Y=Y.substring(0,Y.length-1);if(Y.charAt(Y.length-1)==".")Y=Y.substring(0,Y.length-1); +var P=" "+Y+" : 1",w=function(l,O){while(O!=0){var m=O;O=l%O;l=m}return l},f=w(Z,S);if(Math.min(Z,S)/f<10)P=" "+Math.round(Z/f)+" : "+Math.round(S/f); +this.ab9.F(P);if(this.jh.u()){Z-=this.N3.x;S-=this.N3.y}var h=this.u0.u();if(h==1){if(this.LR){Z=100*Z/this.N3.x; +S=100*S/this.N3.y}else{Z=S=100*this.mR/this.vY}}else{Z=Math.round(Z);S=Math.round(S)}var Q=[1,1,25.4/b,1/b][h]; +Z*=Q;S*=Q;var e=h==1||h==3?2:0;this.O0.k4(e);this.Dd.k4(e);this.O0.F(Z);this.Dd.F(S);this.pw.F(b)};cA.prototype.u=function(){return this.gB.clone()}; +cA.prototype.cW=function(){return this.vY};function i6(){ij.call(this);this.xT=0;this.$v=[0,0,1,1,100,100]; +this.j=s.R("span","fitem");this.V9=new gl(null,[[12,89,0],[12,89,1],[12,89,2]]);this.j.appendChild(this.V9.j); +this.V9.i(s.E.L,this.oD,this);this.O0=new c2("W",0,0,null,0,!1,!0);this.j.appendChild(this.O0.j);this.O0.i(s.E.L,this.oD,this); +this.Dd=new c2("H",0,0,null,0,!1,!0);this.j.appendChild(this.Dd.j);this.Dd.i(s.E.L,this.oD,this);this.F({QX:0,x:0,y:0})}i6.prototype=new ij; +i6.prototype.B=function(){s.wh(this.O0,this.Dd);this.V9.B()};i6.prototype.oD=function(Z){if(Z.target==this.V9){var S=this.u(),b=this.$v; +b[this.xT*2]=S.x;b[this.xT*2+1]=S.y;this.xT=S.QX;this.F({QX:S.QX,x:b[S.QX*2],y:b[S.QX*2+1]})}if(this.O0.u()<1)this.O0.F(1); +if(this.Dd.u()<1)this.Dd.F(1);this.m(new d(s.E.L,!1))};i6.prototype.F=function(Z){this.V9.F(Z.QX);this.O0.F(Z.x); +this.Dd.F(Z.y);if(Z.QX==0){this.O0.J7();this.Dd.J7()}else{this.O0.zA();this.Dd.zA()}};i6.prototype.u=function(){return{QX:this.V9.u(),x:this.O0.u(),y:this.Dd.u()}}; +function bE(Z,S){ij.call(this);this.i1=Z;this.j=s.R("span","labelitem fitem"+(S?" spread":""));this.B()}bE.prototype=new ij; +bE.prototype.F=function(Z){this.j.textContent=Z};bE.prototype.u=function(){return this.j.textContent}; +bE.prototype.zA=function(){this.j.removeAttribute("disabled")};bE.prototype.J7=function(){this.j.setAttribute("disabled","")}; +bE.prototype.bl=function(Z){this.j.textContent=Z};bE.prototype.B=function(){this.j.textContent=aV.get(this.i1)}; +bE.prototype.gZ=function(){return this.i1};function f0(Z){ij.call(this);this.j=s.R("span","");this.a7l=Z; +this.N9=new gu("Off X",-100,100,Z?"%":"px",0,!1);this.HY=new gu("Off Y",-100,100,Z?"%":"px",0,!1);this.N9.i(s.E.L,this.oD,this); +this.HY.i(s.E.L,this.oD,this);this.j.appendChild(this.N9.j);this.j.appendChild(this.HY.j)}f0.prototype=new ij; +f0.prototype.B=function(){this.N9.B();this.HY.B()};f0.prototype.oD=function(Z){this.m(new d(s.E.L,!1))}; +f0.prototype.a6Z=function(Z){this.N9.F(Z.x);this.HY.F(Z.y)};f0.prototype.alO=function(){return new ar(this.N9.u(),this.HY.u())}; +f0.prototype.F=function(Z,S){var b=Z.Hrzn.v,Y=Z.Vrtc.v;if(this.a7l){b=b.val;Y=Y.val}this.N9.F(b);this.HY.F(Y); +if(S)this.oD()};f0.prototype.u=function(){var Z=this.N9.u(),S=this.HY.u();if(this.a7l)return{classID:"Pnt",Hrzn:{t:"UntF",v:{type:"#Prc",val:Z}},Vrtc:{t:"UntF",v:{type:"#Prc",val:S}}}; +else return{classID:"Pnt",Hrzn:{v:Z,t:"doub"},Vrtc:{v:S,t:"doub"}}};function c2(Z,S,b,Y,P,w,f,h,Q){bt.call(this,Z,S,b,Y,P,!0,w,Q); +s.zy(this.j,"rangedropinput");this.j.appendChild(this.DU);this.Lh.setAttribute("style","width:"+(h?h:3.3)+"em"); +this.j.appendChild(this.Lh);this.aax=s.R("span","rangecont");this.aax.appendChild(this.lG);this.Y4=s.R("button"); +this.Y4.innerHTML="\u25BC";s.TL(this.Y4,this.a8N.bind(this));if(f!=!0)this.j.appendChild(this.Y4);this.em=new ij; +this.em.j=this.aax}c2.prototype=new bt;c2.prototype.a8N=function(Z){if(s.mO(this.em.j))return;Z.stopPropagation(); +var S=this.j.getBoundingClientRect();this.lG.setAttribute("style","width:"+S.width+"px;");var b=new d(s.E.P,!0); +b.data={e:s.U.Gc,Bq:this.em,x:S.left,y:S.top+S.height};this.m(b)};function aG(){ij.call(this);this.j=s.R("span","fitem strokebutton"); +this.ir=[[null,null,null,""],[null,0,null,"4 2"],[1,1,null,"0 2"]];this.iS=JSON.parse(JSON.stringify(a4.m3.default)); +this.Nl=s.R("button");this.j.appendChild(this.Nl);this.Nl.addEventListener("click",this.H8.bind(this),!1); +var Z=s.R("canvas","gsicon");this.Bi=Z.getContext("2d");this.Nl.appendChild(Z);var S=s.R("span");S.textContent=" \u25BC"; +this.Nl.appendChild(S);this.Hw=new ij;this.Hw.parent=this;this.Hw.j=s.R("div","floatcont form");var b=this.Hw.j; +b.setAttribute("style","width: 14em;");this.Jw=[new gl([12,40],[[19,5,2],[19,5,1],[19,5,0]]),new gT([19,9,0],["","",""]),new gT([19,9,1],["","",""]),new cY([19,9,2])]; +for(var D=0;D",!1,S[D]); +b.i("click",this.adI,this);this.j.appendChild(b.j);this.Rl.push(b)}this.Rl[0].AN()}gK.prototype=new ij; +gK.prototype.ahj=function(){return this.JI};gK.prototype.u=function(){return this.l3[this.JI]};gK.prototype.F=function(Z){this.JI=this.l3.indexOf(Z); +for(var D=0;D";var Z=this.a52,S=this.ah5;s.$k(this.e.firstChild,Z,S)}; +hw.prototype.u=function(){return this.Df[this.YX]};hw.prototype.F=function(Z){this.YX=this.Df.indexOf(Z); +this.kw()};function iU(Z,S,b){ij.call(this);if(Z==null)Z=!1;if(S==null)S=!1;if(b==null)b=!1;this.a5R=S; +this.$e=null;this.hI=new hw([12,22],b);this.hI.parent=this;this.hI.i(s.E.L,this.SI,this);this.g$=new gl([22,0],[[22,4,0],[22,4,1]]); +this.g$.i(s.E.L,this.SI,this);var Y=Z?c2:bS;this.vs=new Y([22,1],-100,100,"%");this.Wc=new Y("Horizontal Distortion:",-100,100,"%"); +this.cL=new Y("Vertical Distortion:",-100,100,"%");this.vs.parent=this.Wc.parent=this.cL.parent=this; +this.vs.i(s.E.L,this.SI,this);this.Wc.i(s.E.L,this.SI,this);this.cL.i(s.E.L,this.SI,this)}iU.prototype=new ij; +iU.prototype.B=function(){this.hI.B();this.g$.B();this.vs.B();var Z=this.a5R?1:100;this.Wc.bl(aV.get([22,2]).substring(0,Z)+":"); +this.cL.bl(aV.get([22,3]).substring(0,Z)+":")};iU.prototype.SI=function(){var Z=this.$e,S=this.hI.u(),b=Z.warpStyle.v.warpStyle; +if(S=="warpCustom")T.$e.bG(T.$e.dm(Z),Z);else delete Z.customEnvelopeWarp;Z.warpStyle.v.warpStyle=this.hI.u(); +Z.warpRotate.v.Ornt=["Hrzn","Vrtc"][this.g$.u()];Z.warpValue.v=this.vs.u();Z.warpPerspective.v=this.Wc.u(); +Z.warpPerspectiveOther.v=this.cL.u();if(S=="warpNone"||S=="warpCustom"){Z.warpValue.v=0;Z.warpPerspective.v=0; +Z.warpPerspectiveOther.v=0}else if(b=="warpNone"||b=="warpCustom")Z.warpValue.v=50;this.m(new d(s.E.L,!1)); +this.F(Z)};iU.prototype.u=function(Z){return JSON.parse(JSON.stringify(this.$e))};iU.prototype.F=function(Z){this.$e=JSON.parse(JSON.stringify(Z)); +this.hI.F(Z.warpStyle.v.warpStyle);this.g$.F(Z.warpRotate.v.Ornt=="Hrzn"?0:1);this.vs.F(Z.warpValue.v); +this.Wc.F(Z.warpPerspective.v);this.cL.F(Z.warpPerspectiveOther.v);var S=Z.warpStyle.v.warpStyle,b=S=="warpNone"||S=="warpCustom",Y=[this.g$,this.vs,this.Wc,this.cL]; +for(var D=0;D=1)Y={j$:b,rect:S.Vl};else Y=T.air(b,S.Vl,Z);this.I1.push(Y)}}; +eV.prototype._D=function(){clearTimeout(this.aiR)};eV.prototype.Mn=function(){if(this.$Z==null||!s.mO(this.OD))return; +var Z=this.aeW,S=this.OD.width,b=this.OD.height,q,K;if(Z==null||Z.width!=S||Z.height!=b){Z=this.aeW=this.Bi.createImageData(S,b); +console.log("creating image data")}var Y=this.$Z[this.$$],P=this.I1[this.$$],w=this.a,f=w.hp,h=w.a_,Q=h.c,e=h.v,l=f.c*w.S,O=f.v*w.S,m=Math.round((Q-l)/2+w.n.x),V=Math.round((e-O)/2+w.n.y); +if(w.S<=1){K=P.rect.clone();K.x=m;K.y=V;l=K.c;O=K.v;q=P.j$}else{var z=1/w.S,t=new b4(Math.floor((h.x-m)*z),Math.floor((h.y-V)*z),Math.ceil(h.c*z)+1,Math.ceil(h.v*z)+1),H=new b4(0,0,t.c*w.S,t.v*w.S); +H.x=t.x*w.S+m;H.y=t.y*w.S+V;if(w.Am==null||w.Am.length!=t.X()*4){w.Am=T.f(t.X()*4)}if(w.og==null||w.og.length!=H.X()*4){w.og=T.f(H.X()*4)}T._U(w.Am,0); +T.uH(P.j$,P.rect,w.Am,t);T.scale.V_(w.Am,t.c,t.v,w.og,H.c,H.v,w.S);q=w.og;K=H}var i=new Uint8Array(Z.data.buffer); +T.bO(i,Q,e,8,-m,-V);T.p.xJ("norm",q,K,i,h,h,1);this.Bi.setTransform(1,0,0,1,0,0);this.Bi.putImageData(Z,0,0); +this.Bi.clearRect(m-1e3,V,1e3,O);this.Bi.clearRect(m+l,V,1e3,O);this.Bi.clearRect(m-1e3,V-1e3,l+2e3,1e3); +this.Bi.clearRect(m-1e3,V+O,l+2e3,1e3);var y=eV.HN(w.S,"#ffffff");this.Bi.putImageData(y,0,w.a_.v-y.height)}; +eV.vN={};eV.HN=function(Z,S){var b="z"+Z+","+S,Y=eV.vN[b];if(Y)return Y;var P=Math.round(50*s.Z()),w=Math.round(18*s.Z()),f=s.R("canvas"),h=f.getContext("2d"); +f.width=P;f.height=w;h.fillStyle="rgba(1,1,1,1)";h.fillRect(0,0,P,w);h.font=Math.round(11*s.Z())+"px monospace"; +h.fillStyle=S;var Q=Z*100;if(Q<100)Q=Q.toFixed(2);else Q=Math.round(Q);Q=Q+"%";var e=h.measureText(Q).width; +h.fillText(Q,(P-e)/2,Math.round(w*.7));Y=eV.vN[b]=h.getImageData(0,0,P,w);return Y};eV.prototype.wt=function(){var Z=this.$Z,S=Z.length,b=this.$$,Y=this.$Z[b],P=(b+1)%S; +this.Mn();if(S!=1&&Z[P].Vl.Oh(Y.Vl)){var w=Y.qQ?parseInt(Y.qQ.split(",").pop()):30;if(w==0)w=16;if(P==0)this.li++; +if(this.yT==0||this.li1){this.a.S=1;this.a.n.Ha(0,0);this.Mn()}if(this.wP&&this.ml==this.OD&&!this.oP)this.m(new d("mouseup")); +else{if(S=="zoom-in"||S=="zoom-out")this.vb(this.Vn,S=="zoom-in")}};eV.prototype.pI=function(){return this.a._2(this.Vn.x,this.Vn.y)}; +function gX(){ij.call(this);this.aH=null;this.UI=null;this.Q3=null;this.gv=null;this.acW="";this.IV=[]; +this.p_=0;this.AL=[];this.eG=0;this.W3=null;var Z=this.j=s.R("div",""),S=this.am$=s.R("div","form"); +S.setAttribute("style","line-height:0; margin-bottom:0.5em;");Z.appendChild(S);var b=this.Ew=s.R("span"); +S.appendChild(b);b.setAttribute("style","font-size:1.2em; font-weight:bold; margin-right:3em;");var Y=this.ai0=new ec([25,2,0]); +Y.F(!0);S.appendChild(Y.j);Y.i(s.E.L,this.WB,this);var P=this.DJ=new ec([25,2,1]);P.F(!0);S.appendChild(P.j); +P.i(s.E.L,this.WB,this);var w=new bE(" ");S.appendChild(w.j);var f=this.f5=new cY([25,1,1]);S.appendChild(f.j); +f.i(s.E.L,this.WB,this);this.tg=new aq(14);this.tg.a78(3);S.appendChild(this.tg.j);this.tg.parent=this; +this.tg.i(s.E.L,this.ajO,this);var h=this.aox=new fX([25,1,2],null,null,!0);S.appendChild(h.j);h.i("click",this.nb,this); +this.acC=this.amo.bind(this);this.cp=s.R("div","svggallery scrollable");Z.appendChild(this.cp);this.cp.addEventListener("scroll",this.akC.bind(this))}gX.prototype=new ij; +gX.prototype.na=function(Z){this.aiB=Z};gX.prototype.B=function(){this.Ew.textContent=aV.get([25,0]); +this.tg.B();this.ai0.B();this.DJ.B();this.f5.B();this.aox.B()};gX.prototype.Xd=function(Z,S){S-=26;this.aH=new ar(Z,S); +this.am$.setAttribute("style","width:"+Z+"px");this.cp.setAttribute("style","width:"+Z+"px; height:"+S+"px"); +if(s.mO(this.j))this.WB()};gX.prototype.F=function(Z){this.UI=Z;this.WB()};gX.prototype.akC=function(Z){var S=this.cp; +if(S.scrollTop+S.clientHeight+10>=S.scrollHeight){this.WB(!0)}};gX.prototype.ajO=function(Z){this.Q3=null; +this.WB()};gX.prototype.amo=function(Z){if(Date.now()-this.eG<2e3)return;this.eG=Date.now();this.p_=this.AL.indexOf(Z.currentTarget); +var S=this.vW(this.UI.x,this.UI.y);if(S[1]){var b=S[1].largeImageURL,Y=new XMLHttpRequest;Y.responseType="arraybuffer"; +Y.open("GET",b,!0);Y.onload=this.abK.bind(this);Y.send();return}this.nN(S)};gX.prototype.abK=function(Z){var S=Z.target.response,b=ab.fN(S),Y=ab.iZ(b),P=Y.Gk(S),w=this.vW(this.UI.x,this.UI.y,[S,P[0].Vl.c,P[0].Vl.v]); +this.nN(w)};gX.prototype.nN=function(Z){var S=Z[0],b=ab.fN(S),Y=ab.iZ(b),P=new gf("template.psd");Y.Gk(S,P); +var w=new d("tempready",!0);w.data={hp:P};this.m(w)};gX.prototype.nb=function(Z){var S=Z.target;this.IV=[]; +this.WB()};gX.prototype.akD=function(Z){var S=JSON.parse(Z.target.response);this.gv=S.hits;this.WB()}; +gX.prototype.WB=function(Z){if(this.UI==null||this.aH==null||this.aiB==null)return;if(this.aH.x<=0)return; +var S=this.UI.x,b=this.UI.y;if(Math.min(S,b)<50)return;if(Z!=!0){this.AL=[];s.Z9(this.cp);this.cp.scrollTop=0}if(this.AL.length>300)return; +var Y=Math.min(1,300/Math.max(S,b)),P=this.aH.clone();P.x-=20;var w=Math.max(1,Math.floor(P.x/(S*Y))),f=Math.max(1,Math.ceil(P.y/(b*Y))); +Y=P.x/w/S;var h=w*f;if(this.Q3==null){var Q=this.aiB.S9.tO();this.Q3=[];for(var e in Q){var l=Q[e],O=l[3]; +if(!this.tg.xy(l))continue;if(l[5]==null||l[5].slice(0,2)=="gf")continue;this.Q3.push(l)}if(this.Q3.length==0)this.Q3.push(Q.DejaVuSans)}var m=this.DJ.u(),V=this.f5.u().trim(); +this.f5.v3(m);if(m&&(this.gv==null||V!=this.acW)){var q=new XMLHttpRequest,K="https://pixabay.com/api/?image_type=photo"+(V==""?"":"&q="+encodeURIComponent(V))+"&per_page=200&page=1&key=10554583-a5eacb61c2e61105fdfb6eb88"; +if(V=="")K+="&safesearch=true";if(V=="")K="plugins/gallery.json";q.open("GET",K,!0);q.onload=this.akD.bind(this); +q.onerror=function(j){console.log(j.target.response)};q.send();this.acW=V;return}Y*=(S*Y-5)/(S*Y);var z=this.AL.length; +for(var D=0;D
.

\t\t
    \t\t\t
  • ComGate Payments, a.s.
  • \t\t\t
  • Go\u010D\xE1rova t\u0159\xEDda 1754 / 48b, Hradec Kr\xE1lov\xE9
  • \t\t\t
  • E-mail: platby-podpora@comgate.cz, Tel: +420 228 224 267
  • \t\t
\t\t\t"; +eJ.akw="\t\t

Contact

\t\t

Photopea.com is operated by Ivan Kuckir (I\u010C 04498411, Tax ID CZ9011014309).

\t\t
    \t\t\t
  • Address: H\xE1lkova 483, 517 41 Kostelec nad Orlic\xED, Czech Republic
  • \t\t\t
  • E-mail: support@photopea.com, Phone number: +420 604 592 737
  • \t\t
\t\t

Terms of Service

\t\t\t\t

What are these Terms?

\t\t

\t\tThese terms form a binding contract between you and us (\"these Terms\") regarding your access to and use of any of our web sites, \t\tweb applications, services, products and Software that contain a link to these Terms (individually and collectively, the \"Service\"). \t\t

\t\t\t\t

Changes to the Service or these Terms

\t\t

\t\tWe may make changes to, update (or not update) or discontinue any part, element, functionality, availability or offering of the Service.\t\tWe may also make changes or updates to these Terms at any time and for any reason in our sole discretion, including complying with applicable law. \t\tIf we make any material changes to these Terms, we\u2019ll provide notice to you in any way we deem reasonable including, for example, \t\tby posting a notice of the change on our web site(s) or in-service, or by sending a notice to your email address if you\u2019ve given it to us.\t\t

\t\t\t\t

Your content

\t\t

\t\tThese Terms don\u2019t grant us (and we don\u2019t claim) any ownership rights in Your Content.\t\t

\t\t

\t\tPosting Your Content. By sharing, publishing (e.g. through Imgur), distributing or allowing others to \t\taccess Your Content through the Service You are solely responsible for the consequences of doing so and you acknowledge \t\tand agree that Your Content may be viewed worldwide. If you choose to make your personal information publicly available through the Service, \t\tyou do so at your own risk. You warrant that you have obtained all necessary licenses, \t\trights and permissions to use and grant all of the rights granted in these Terms\t\tto Your Content and that you will comply with any requirements or restrictions imposed by them.\t\t

\t\t\t\t\t\t

Registering for the Service

\t\t

\t\tYou may be required or permitted to register with us to access the Service or certain areas of the Service.\t\tYou agree to immediately notify us of any unauthorized use of your registration information (including all purchases). \t\tYou may also be able to sign into the Service by using a third-party social networking platform account \t\t(such as Facebook, Google+ or Twitter). Your registration information (including your user name and password, \t\tand any social networking account with which you sign into the Service) is for your personal use only, and not for use by any other person. \t\tYou are responsible for maintaining the confidentiality of any password you may use to access the Service, and agree not to transfer your password or user name\t\tto any third party. You are fully responsible for all use of your registration information, \t\tand to ensure that you \"log out\"/exit from your account with the Service (if applicable) \t\tat the end of each session. We are not liable for any loss or damage arising from your failure to comply with any of the foregoing obligations. \t\t

\t\t\t\t

Privacy Policy

\t\t\t\t

\t\tBy voluntarily providing us with Personal Data, you are consenting to our use of it in accordance with this Privacy Policy. \t\tIf you provide Personal Data to the Service, you acknowledge and agree that such Personal Data may be transferred from your current location to our servers.\t\t

\t\t

Computer information collected:

\t\t\t\t
    \t\t\t\t
  • Third party tracking tools. We use third party tracking tools to improve the performance and features of the Service (e.g. Google Analytics).\t\t\t\tSuch tools are created and managed by parties outside our control. As such, we are not responsible for what information is actually captured by such third parties \t\t\t\tor how such third parties use and protect that information.
  • \t\t\t\t\t\t\t\t
  • Name and email for the authorization. You may use third-party services (such as Facebook or Google) to log into the Service. \t\t\t\tIn such case, we store your name and email address, that were provided to us by third-party services.
  • \t\t\t\t\t\t\t\t
  • Environment settings. When you use the Service, environment settings (e.g. current language, current color theme) \t\t\t\tare stored at your computer in \"localData\".\t\t\t\tIt helps us provide you the same environment when you visit the Service next time.
    \t\t\t\tWhen you log into the Service, your environemnt settings are stored at our server. \t\t\t\t
  • \t\t\t\t\t\t\t\t
  • Payer information. When you make an order inside the Service and you pay through a third-party service (e.g. PayPal), \t\t\t\twe may store the information about the payer, that we may receive from the third-party service \t\t\t\t(it usually contains the name, the email address and the physical address of the payer, but no card nambers or passwords).
  • \t\t
\t\t\t\t"; +function gZ(){dz.call(this,[11,14],"addguides");this.Mc;this.W3={Gg:{iJ:0}};this.ws=null;var Z=s.R("div","form"); +this.body.appendChild(Z);this.Dd=new cY([22,4,0],null,16);this.Dd.i(s.E.L,this.A_,this);this.Oq=new cY([22,4,1],null,16); +this.Oq.i(s.E.L,this.A_,this);this.oS=new gl(null,T.dp.XV);this.oS.i(s.E.L,this.A_,this);Z.appendChild(this.Dd.j); +Z.appendChild(this.oS.j);s.X3(Z);Z.appendChild(this.Oq.j);this.NC=new fX("OK",!0,null,!0);this.NC.i("click",this.sw,this); +Z.appendChild(this.NC.j);this.i("closebtn",this.a6i,this)}gZ.prototype=new dz;gZ.prototype.ZP=function(Z,S){return Z!=null}; +gZ.prototype.K7=function(){return!0};gZ.prototype.B=function(){dz.prototype.B.call(this);this.Dd.B(); +this.Oq.B();this.oS.B()};gZ.prototype.na=function(Z,S){var b=Z.Gg.iJ;this.W3.Gg.iJ=b;this.oS.F(b)};gZ.prototype.lX=function(Z,S){this.Mc=Z; +this.ws=JSON.stringify(Z.vE);this.WB()};gZ.prototype.WB=function(){var Z=this.Mc,S=Z.vE,b=function(Y,Z,P,w){var f=[]; +for(var D=0;Df)P=w*f;else w=P/f; +this.fL.setAttribute("style","display: block; width: "+Math.round(P)+"px; height:"+Math.round(w)+"px;")}; +ik.prototype.abX=function(Z){console.log("error",Z);alert(aV.get([21,6]));this.close()};ik.prototype.d0=function(Z){if(this.stream!=null){var S=this.stream.getTracks(); +for(var D=0;D>8&255,w=b>>16&255;this.mB={h:w/255,l:P/255,O:Y/255}; +this.update()};a$.prototype.aiS=function(Z){var S=this.Iw,b=this.xS(parseInt(S[0].u())),Y=this.xS(parseInt(S[1].u())),P=this.xS(parseInt(S[2].u())); +this.mB={h:b/255,l:Y/255,O:P/255};this.update()};a$.prototype.a2Z=function(Z){var S=this.jY,b=this.fA(parseInt(S[0].u())/360),Y=this.fA(parseInt(S[1].u())/100),P=this.fA(parseInt(S[2].u())/100); +this.mB=T.Ta(b,Y,P);this.update()};a$.prototype._l=function(Z){var S;if(Z.currentTarget==this.fG)S=this.fG.u(); +else{S=Z.currentTarget==this.Dd?this.Dd.u():this.t$.value;if(S.charAt(0)=="#")S=S.slice(1);if(S.length==3)S=S[0]+S[0]+S[1]+S[1]+S[2]+S[2]; +S=T.sH(S)}this.mB={h:(S>>16&255)/255,l:(S>>8&255)/255,O:(S&255)/255};this.update()};a$.prototype.CJ=function(Z){var S=Z.h,b=Z.l,Y=Z.O; +return Math.round(S*255)<<16|Math.round(b*255)<<8|Math.round(Y*255)};a$.prototype.sw=function(Z){this.He(); +var S=this.CJ(this.mB);this.YN(S);this.close();this.By=!1;this.mB=null};a$.prototype.qK=function(Z){this.He(); +if(this.Ek)this.YN(this.CJ(this.rh));this.By=!1;this.mB=null};a$.prototype.He=function(Z){var S=new d(s.E.P,!0); +S.data={e:s.U.fB};this.m(S)};a$.prototype.na=function(Z,S){if(S!=bp.tN)return;var b=Z.ui;this.fG.F(b); +if(this.mB!=null){this.mB={h:(b>>16&255)/255,l:(b>>8&255)/255,O:(b>>0&255)/255};this.update()}};a$.prototype.lX=function(Z,S){var b=S.gV,Y={h:(b>>16&255)/255,l:(b>>8&255)/255,O:(b>>0&255)/255}; +if(this.mB==null){var P=new d(s.E.P,!0);P.data={e:s.U.il,tf:"crosshair",push:!0};this.m(P);this.rw=!1; +this.YN=S.iy;this.Ek=!1;this.By=S.gz;this.rh=JSON.parse(JSON.stringify(Y));this.ai5.setAttribute("style","height:3em;background-color:#"+T.T3(b)+";")}this.mB=Y; +this.update()};a$.prototype.update=function(){var Z=this.mB,S=this.CJ(Z),b=this.Iw;b[0].F(Math.round(Z.h*255)); +b[1].F(Math.round(Z.l*255));b[2].F(Math.round(Z.O*255));this.Dd.F(T.T3(S));this.t$.value="#"+T.T3(S); +this.aeg.setAttribute("style","height:3em;background-color:#"+T.T3(S)+";");var Y=T.hy(Z.h,Z.l,Z.O);b=this.jY; +b[0].F(Math.round(Y.XE*360));b[1].F(Math.round(Y.zk*100));b[2].F(Math.round(Y.$0*100));this.RA.F(Z); +if(this.By){this.YN(this.CJ(this.mB));this.Ek=!0}};a$.prototype.xS=function(Z){return Math.max(0,Math.min(255,Z))}; +a$.prototype.fA=function(Z){return Math.max(0,Math.min(1,Z))};function iM(){dz.call(this,[11,2],"contoureditor"); +this.a9K=null;this.I6=null;this.response=null;this.YB=s.R("div","cell");this.body.appendChild(this.YB); +this._8=s.R("div","cell padded");this.body.appendChild(this._8);var Z=s.R("div","bordered padded vmargin"); +this.YB.appendChild(Z);this.Hq=new fO;this.Hq.i(s.E.L,this.GV,this);Z.appendChild(this.Hq.j);this.NC=new fX("OK",!0,null,!0); +this.NC.i("click",this.close,this);this._8.appendChild(this.NC.j);this.coords=s.R("div","");this.coords.setAttribute("style","width:250px"); +this.YB.appendChild(this.coords);this.W5=new cY("X (in)","%",4);this.pU=new cY("Y (out)","%",4);this.zI=new ec([19,3,0]); +this.W5.i(s.E.L,this.HC,this);this.pU.i(s.E.L,this.HC,this);this.zI.i(s.E.L,this.HC,this);this.coords.appendChild(this.W5.j); +this.coords.appendChild(this.zI.j);this.coords.appendChild(this.pU.j);this.i("closebtn",this.Jj,this)}iM.prototype=new dz; +iM.prototype.B=function(){dz.prototype.B.call(this);this.zI.B()};iM.prototype.GV=function(Z){this.I6.Crv.v=this.Hq.u(); +this.response(this.I6);this.YQ()};iM.prototype.Jj=function(Z){this.response(this.a9K)};iM.prototype.lX=function(Z,S){this.a9K=JSON.parse(JSON.stringify(S.a_)); +this.I6=S.a_;this.response=S.response;this.Hq.F(this.I6.Crv.v);this.YQ()};iM.prototype.YQ=function(){var D=this.Hq.eQ(); +this.coords.setAttribute("class",D==-1?"disabled":"");if(D==-1)return;var Z=this.I6.Crv.v[D].v;this.W5.F(Math.round(Z.Hrzn.v*(100/255))); +this.pU.F(Math.round(Z.Vrtc.v*(100/255)));this.zI.F(Z.Cnty.v)};iM.prototype.HC=function(Z){var D=this.Hq.eQ(),S=this.I6.Crv.v[D]; +S.v.Hrzn.v=parseFloat(this.W5.u())*(255/100);S.v.Vrtc.v=parseFloat(this.pU.u())*(255/100);S.v.Cnty.v=this.zI.u(); +this.I6.Crv.v.sort(function(b,Y){return b.v.Hrzn.v-Y.v.Hrzn.v});this.Hq.F(this.I6.Crv.v,this.I6.Crv.v.indexOf(S)); +this.YQ();this.response(this.I6)};function ei(){dz.call(this,[11,3],"csize");this.co=0;this.sV=s.R("div","form"); +this.sV.setAttribute("style","width:22em");this.body.appendChild(this.sV);this.Dg=new cA(!0,!0,!0,!0); +this.Dg.a32(!1);this.sV.appendChild(this.Dg.j);this.ZK=new gT("Align with",[[8,7],[12,6]]);this.ZK.i(s.E.L,this.afk,this); +this.w_=new d4([12,23,2],41);this.sV.appendChild(this.w_.j);this.w_.F(4);this.nz=new f0(!1);this.nz.a6Z(new ar(0,0)); +this.LT=new fX("OK",!0,null,!0);this.LT.i("click",this.sw,this);this.body.appendChild(this.LT.j)}ei.prototype=new dz; +ei.prototype.ZP=function(Z,S){return Z!=null};ei.prototype.K7=function(){return!0};ei.prototype.afk=function(){var Z=[this.w_.j,this.nz.j]; +this.sV.removeChild(Z[this.co]);this.co=this.ZK.u();this.sV.appendChild(Z[this.co])};ei.prototype.B=function(){dz.prototype.B.call(this); +this.Dg.B();this.ZK.B();this.w_.B();this.nz.B()};ei.prototype.sw=function(Z){var S=this.Dg.u(),b=S.x,Y=S.y,P=new d(s.E.TH,!0); +P.data=G.PK.K5(b,Y,this.w_.u());this.close();this.m(P)};ei.prototype.lX=function(Z,S){this.Dg.F(new ar(Z.c,Z.v),Z.GY)}; +function eM(){dz.call(this,[11,4],"duplinto");this.G3=null;this.E7=null;var Z=s.R("div","form");Z.setAttribute("style","max-width:26em"); +this.body.appendChild(Z);this.yo=new gl([12,43],["abc","def"]);this.yo.i(s.E.L,this.Zf,this);Z.appendChild(this.yo.j); +s.X3(Z);this.rT=new cY([12,48],null,14);Z.appendChild(this.rT.j);this.NC=new fX("OK",!0,null,!0);this.NC.i("click",this.sw,this); +Z.appendChild(this.NC.j)}eM.prototype=new dz;eM.prototype.K7=function(){return!0};eM.prototype.B=function(){dz.prototype.B.call(this); +this.yo.B();this.rT.B()};eM.prototype.Zf=function(Z){var S=this.yo.u();if(S==this.E7.length)this.rT.zA(); +else this.rT.J7()};eM.prototype.lX=function(Z,S,b){this.G3=Z;this.E7=b;this.rT.F(Z.C.length==0?"Layer":Z.t[Z.C[0]].getName()); +var Y=[];for(var D=0;D>>1,Z.v-S>>>1,S,S),h=Z.t[0],Q=h.buffer,e=h.rect; +h.rect=f;h.buffer=P;for(var l=0;l0)if(Math.abs((P[D-1].v.Lctn.v+(l.Lctn.v-P[D-1].v.Lctn.v)*l.Mdpn.v/100)/4096-b)<.01)Q=D}if(Y>0)for(var D=0; +D0)if(Math.abs((w[D-1].v.Lctn.v+(O.Lctn.v-w[D-1].v.Lctn.v)*O.Mdpn.v/100)/4096-b)<.01)e=D}if(h==null&&f==null&&Q==-1&&e==-1){if(Y<0){var l={t:"Objc",v:{classID:"TrnS",Opct:{t:"UntF",v:{type:"#Prc",val:100}},Lctn:{t:"long",v:0},Mdpn:{t:"long",v:50}}}; +l.v.Lctn.v=Math.round(b*4096);P.push(l);P.sort(this.J3);f=l}if(Y>1){var w=this.mB.Clrs.v,m=T.W.pV(w,this.p0.ui,this.p0.VY),V=T.W.r2(this.mB,m,b),O={t:"Objc",v:{classID:"Clrt",Clr:{t:"Objc",v:T.W.RQ({h:V&255,l:V>>8&255,O:V>>16&255})},Type:{t:"enum",v:{Clry:"UsrS"}},Lctn:{t:"long",v:0},Mdpn:{t:"long",v:50}}}; +O.v.Lctn.v=Math.round(b*4096);w.push(O);w.sort(this.J3);h=O}}if(h!=null)e=-1;if(f!=null)Q=-1;if(h!=null||f!=null||Q>-1||e>-1){this.rx=f; +this.iG=h;this.Uj=Q;this.hm=e;this.WY();this.Mn();s.Tb(window,this._g);s.Ju(window,this.J$)}};b0.prototype.i$=function(Z){var S=s.R6(Z,this.u_),b=s.Z()*(S.x-this.Hk.x)/this.Hk.c,Y=s.Z()*(S.y-this.Hk.y)/this.Hk.v; +b=Math.max(0,Math.min(1,b));var P=this.mB.Trns.v,w=this.mB.Clrs.v;if(this.rx!=null){var f=this.rx.v; +f.Lctn.v=Math.round(4096*b);var h=P.indexOf(this.rx);if(h!=-1&&Y<-1&&P.length>2)P.splice(h,1);if(h==-1&&Y>-1)P.push(this.rx); +P.sort(this.J3)}if(this.iG!=null){var Q=this.iG.v;Q.Lctn.v=Math.round(4096*b);var e=w.indexOf(this.iG); +if(e!=-1&&Y>1.5&&w.length>2)w.splice(e,1);if(e==-1&&Y<1.5)w.push(this.iG);w.sort(this.J3)}if(this.Uj>-1){var f=P[this.Uj].v; +f.Mdpn.v=Math.max(5,Math.min(95,Math.round(100*(b*4096-P[this.Uj-1].v.Lctn.v)/(f.Lctn.v-P[this.Uj-1].v.Lctn.v))))}if(this.hm>-1){var Q=w[this.hm].v; +Q.Mdpn.v=Math.max(5,Math.min(95,Math.round(100*(b*4096-w[this.hm-1].v.Lctn.v)/(Q.Lctn.v-w[this.hm-1].v.Lctn.v))))}if(this.rx!=null||this.iG!=null||this.Uj>-1||this.hm>-1){this.WY(); +this.Mn()}};b0.prototype.sa=function(Z){s.Qe(window,this._g);s.zz(window,this.J$);if(Date.now()-this.xR<300){if(this.hm!=-1||this.Uj!=-1){var S=(this.hm!=-1?this.mB.Clrs.v[this.hm]:this.mB.Trns.v[this.Uj]).v; +S.Mdpn.v=50;this.WY();this.Mn()}else if(this.iG!=null)this.LC.an$()}this.xR=Date.now()};b0.prototype.J3=function(Z,S){return Z.v.Lctn.v-S.v.Lctn.v}; +function cE(){dz.call(this,[11,10],"isize");this.sV=s.R("div","form");this.sV.setAttribute("style","width:20em"); +this.body.appendChild(this.sV);this.Dg=new cA(!0,!0);this.sV.appendChild(this.Dg.j);this.ec=new ec("Resample"); +this.ec.F(!0);this.sV.appendChild(this.ec.j);this.ec.i(s.E.L,this.a7D,this);this.V9=new gl([12,14,1],[[12,14,2],[12,14,3],"Bicubic Sharper"]); +this.V9.F(1);this.sV.appendChild(this.V9.j);this.LT=new fX("OK",!0,null,!0);this.LT.i("click",this.sw,this); +this.body.appendChild(this.LT.j)}cE.prototype=new dz;cE.prototype.ZP=function(Z,S){return Z!=null};cE.prototype.K7=function(){return!0}; +cE.prototype.a7D=function(Z){var S=this.ec.u(),b=this.Dg,Y=this.V9;if(S)Y.zA();else Y.J7();if(S)b.ac_(); +else b.a2C()};cE.prototype.B=function(){dz.prototype.B.call(this);this.V9.B();this.Dg.B()};cE.prototype.sw=function(Z){this.close(); +var S=this.Dg.u(),b=S.x,Y=S.y,P=this.V9.u();if(!this.ec.u())P=null;var w=new d(s.E.TH,!0);w.data=G.PK.dt(b,Y,this.Dg.cW(),P); +this.m(w)};cE.prototype.lX=function(Z,S){this.Dg.F(new ar(Z.c,Z.v),Z.GY)};function cb(){dz.call(this,"Import RAW","importraw"); +var Z=s.R("div","flexrow"),S=s.R("div");S.setAttribute("style","margin-bottom: 1em");this.body.appendChild(Z); +this.body.appendChild(S);var b=s.R("div","form");b.setAttribute("style","width:18em");Z.appendChild(b); +var Y=s.R("div","form");Y.setAttribute("style","width:15em");Z.appendChild(Y);this.jw=null;this.acN=null; +this.hU=null;this.$z=null;this.a58=[];var P=[];for(var D=0;D2){T.y8(f[2],l,2); +if(Y>3){this.$z=[];for(var D=3;D0)b.textContent="\u2003";b.appendChild(this.a9[D].j);if(a4.C1.indexOf(this.JO)!=-1){var Y=new fX("+"); +Y.AN();Y.j.style.float="right";b.appendChild(Y.j);var P=new fX("\u2B0D");P.AN();P.j.style.float="right"; +P.j.style["margin-right"]="2px";b.appendChild(P.j)}b.addEventListener("click",S,!1);Z.appendChild(b)}}; +el.g3=function(Z,S){var b=S.getBoundingClientRect();return(Z.clientY-b.top)/b.height};el.prototype.ag1=function(Z){var S=Z.target.tagName.toLowerCase(); +if(S=="input"){return}if(S=="button"){var b=new d(s.E.s,!0),Y=Z.target.textContent=="+",P=Y?0:el.g3(Z,Z.target)<.5?-1:1; +if(Y)b.data={e:"st_dupsingle",$:this.parent.data.$,pG:this.L5};else b.data={e:"st_movsingle",$:this.parent.data.$,pG:this.L5,anb:P}; +b.T=G.Qj;b.j9=!0;this.m(b);b=new d("redrawall",!0);b.data={anb:P};this.m(b);return}s.Jj(Z);this.LF(); +this.Ch=this.Jw.indexOf(Z.currentTarget);this.m(new d("showme"))};el.prototype.LF=function(){if(this.yd.enab&&this.yd.enab.u()==!1)this.HZ({aX:"enab",G:!0})}; +el.prototype.a50=function(){var Z=this.Jw[this.Ch];if(Z)s.zy(Z,"selected");return this.ZF[this.Ch]}; +el.prototype.any=function(Z){var S={};for(var D=0;DS?Math.max(0,Math.min(50,(S-400)/2)):0)}; +gz.prototype.Xd=function(Z,S){this.sV.setAttribute("style","width:"+Math.min(Z,338)+"px");this.vD.j.style.height=S-260+"px"; +var b=this.M$.j,Y=b.parentNode;if(Z<500){if(Y!=null)this.P8.removeChild(b)}else{if(Y==null)this.P8.appendChild(b)}this.M$.Xd(Z-360,S-35)}; +gz.prototype.i_=function(){this.M$.F(this.Dg.u())};gz.prototype.a5j=function(Z){var S=this.vD.u(),b=gz.jw[this.e4.u()].tc[S],Y=b[4]; +if(Y==0)Y=72;var P=b[1],w=b[2],f=["px","%","mm","in"].indexOf(b[3]),h=[1,1,25.4/Y,1/Y][f];P/=h;w/=h; +this.Dg.F(new ar(Math.round(P),Math.round(w)),Y);this.Dg.a2O(f);this.vD.wx(S);this.i_()};gz.prototype.rz=function(Z){var S=gz.jw[this.e4.u()].tc,b=[],Y=[],P=Math.round(106*s.Z()),w=Math.round(106*s.Z()),f=0; +for(var D=0;D"; +if(K&&K.url.v!="")h+="\n\t\n"; +h+="\n"}h+="\n\n";var H=T.f(Math.round(h.length*1.5)),i=k.Cz(h,H,0);e["index.html"]=H.slice(0,i); +Y=UZIP.encode(e);P=S+".zip"}if(w.tr){var y=new XMLHttpRequest;y.open("GET","/papi/img/update.php?act=1&id="+w.tr+"&rnd="+Math.random()); +y.send()}var j=new d(s.E.P,!0);j.data={e:s.U.d9,data:Y,name:P};this.m(j);this.ko._D();this.close()}; +gH.prototype.lX=function(Z,S){if(S.vh!=null)this.HI.F(S.vh);this.hp=Z;var b=Z.c+","+Z.v;if(b!=this.a3T){this.a3T=b; +this.Dg.F(new ar(Z.c,Z.v),Z.GY)}this.pl.agA();this.WB(null,!0)};gH.prototype.pn=function(Z,S){return new ar(Math.max(0,Math.min(150,(Z-770)/2)),Math.max(0,Math.min(150,(S-590)/2)))}; +gH.prototype.Xd=function(Z,S){this.Yu=Z;this.XE=S;this.Ze.x=Math.min(512,Z-26-214);this.Ze.y=Math.min(512,S-45); +if(this.hp==null)return;var b=this.Dg.u(),Z=b.x,S=b.y,Y=ab.X1()[this.HI.u()],P=ab.iZ(Y),O=""; +if(P.Ke){var w=Z,f=S,h;if(Y=="PDF"||P.XP){w=this.Ze.x;f=this.Ze.y}else{w=Math.min(Z+20,this.Ze.x);f=Math.min(S+20,this.Ze.y)}this.d4.firstChild.setAttribute("style","display:block; width:"+w+"px; height:"+f+"px;")}else{if(P.XP){w=this.Ze.x; +f=this.Ze.y}else{var Q=this.acI,e=Q[0].Vl,w=e.c,f=e.v;this.ko.Xd(Math.max(50,Math.min(w/s.Z(),this.Ze.x)),Math.max(50,Math.min(f/s.Z(),this.Ze.y)))}}var l=this.E6.byteLength,V=Y+":"+O+64+"px;"+m+gH.tF(l)+""; +if(this.Ze.x>200)V+=O+90+"px; opacity:"+.5+";"+m+l.toLocaleString()+" B";this.DC.innerHTML=V}; +gH.tF=function(Z){var S=Z.toString(2),b=0;while(b+101,K=""; +if(e&&S&&(Q>4&&P*w>1024*1024||P*w*Q>800*800*50)){var l=1;while(Math.max(P>>>l,w>>>l)>800)l++;var O=window.confirm("Your animation is large ("+P+" x "+w+" px). Press \"OK\" to scale it to "+(100>>>l)+"%. Press \"Cancel\" to keep the size."); +if(O){this.Dg.F(new ar(P>>>l,w>>>l),null,!0);P=P>>>l;w=w>>>l}}var m=b.add.artd,V=m==null||m.Cnt.v==1; +this.pl.y3(h,e,b.CY.length!=0,V);var q=this.pl.u();this.E6=ab.k$(b,h,P,w,q,this.W3);if(this.E6==null){this.hp=null; +return}s.Z9(this.d4);this.ko._D();var z=ab.iZ(h);if(z.XP){this.d4.innerHTML="
";K+="width:0px"}else if(z.Ke){var t=P,H=w,i; +if(h=="PDF"){i=URL.createObjectURL(new Blob([this.E6],{type:"application/pdf"}))}else{i=URL.createObjectURL(new Blob([this.E6],{type:"image/svg+xml"}))}this.d4.innerHTML=""}else{var y=this.acI=z.Gk(this.E6),j=y[0].Vl,t=j.c,H=j.v; +this.ko.F(y,y.length>1?q[q.length-3]:0);this.d4.appendChild(this.ko.j);K="background: rgba(0,0,0,0);"}this.d4.setAttribute("style","display:block; background-size:"+16/s.Z()+"px;"+K); +this.Xd(this.Yu,this.XE)};function c$(){dz.call(this,[11,13],"shortcuts");var Z=this.P8=s.R("div","scrollable"); +Z.setAttribute("style","min-width:700px; max-height:500px; padding:1.5em");this.body.appendChild(Z); +this.N6()}c$.prototype=new dz;c$.prototype.B=function(){dz.prototype.B.call(this);this.N6()};c$.prototype.N6=function(){var Z="
",S="",b=U,Y=b.cD,P=b.Lo,w=b.G_; +S+="

Main Menu

";S+=Z;S+=this.Fo([[0,0],"---",[1,0],[Y,b.Vd],[1,2],[Y,b.sG],[1,3],[P,Y,b.sG],[1,8],[w,P,Y,b.sG],[0,1],"---",[2,0],[P,Y,b.ty],[2,1],[Y,b.ty],[5,0],[Y,b.uG],[5,1],[Y,b.C2],[5,2],[Y,b.WR],[2,2],"Delete",[2,3],[w,b.pR],[10,16],[w,Y,b.VW],[12,79],[Y,b.EJ],[3],"---",[4,1],[Y,b.lq],[4,2],[Y,b.g1],[4,5],[Y,b.mf],[4,11],[Y,b.fF],[0,3],"---",[6,0],[Y,b.Rj],[6,6,0],[w,Y,b.ZX],[6,9],[Y,b.ZX],[6,10],[Y,b.E],[0,5],"---",[7,0],[Y,b.U],[7,1],[Y,b.Iy],[7,2],[P,Y,b.fF],[0,7],"---",[8,0],[Y,b.G6],[8,1],[Y,b.Zm],[8,3],[Y,b.KV],[8,2],[Y,b.Re],[8,4],[Y,b.rU],[11,13],"?"]); +S+="
";S+="

Navigation

";S+=Z;S+=this.Fo(["Vertical scroll","Wheel","Horizontal scroll",[Y,"Wheel"],"Zooming",[w,"Wheel"]]); +S+="";S+="

Quick tools (press to enable, release to disable)

"; +S+=Z;S+=this.Fo([[10,11],[Y],[10,7],"Space",[10,17],[Y,b.Ah]]);S+="";S+="

Tools

"; +S+=Z;var f=c$.Yr,h=[];for(var D=0;D";this.P8.innerHTML=S};c$.prototype.Fo=function(Z){var S="",b=!0;for(var D=0; +D"; +S+="
"+w+"
"}else S+="
"+w+" "+P+"
"; +b=!1}return S};c$.Yr=[[10,11],"V",0,[10,15],"M",1,[10,4],"M",2,[10,9],"L",5,[10,14],"L",6,[10,10],"L",7,[10,44],"W",3,[10,37],"W",8,[10,12],"W",9,[10,2],"C",10,[10,39],"C",11,[10,40],"C",12,[10,41],"C",13,[10,5],"I",14,[10,36],"I",16,[10,24],"J",18,[10,25],"J",19,[10,26],"J",20,[10,43],"J",22,[10,0],"B",23,[10,38],"B",24,[10,42],"B",25,[10,1],"S",27,[10,3],"E",31,[10,45],"E",32,[10,6],"G",34,[10,13],"G",35,[10,18],null,36,[10,19],null,37,[10,20],null,38,[10,21],"O",39,[10,22],"O",40,[10,23],"O",41,[10,8],"T",47,[10,29],"P",42,[10,30],"P",43,[10,27],"A",51,[10,28],"A",52,[10,32],"U",54,[10,33],"U",55,[10,35],"U",57,[10,34],"U",56,[10,31],"U",58,[10,7],"H",59,[10,17],"Z",61]; +function gh(){dz.call(this,[8,11,1],"soptions");this.gB=null;var Z=s.R("div","form");Z.style.width="20em"; +this.body.appendChild(Z);this.u1={Nm:[12,48],url:"URL",null:[12,71]};this.Jw={};for(var S in this.u1){var b=new cY(this.u1[S],null,15); +this.Jw[S]=b;Z.appendChild(b.j)}var Y=new fX("OK",!0,null,!0);Y.i("click",this.sw,this);Z.appendChild(Y.j)}gh.prototype=new dz; +gh.prototype.lX=function(Z,S,b){var Y=S.G;this.gB=JSON.stringify(Y);for(var P in this.u1){if(Y[P])this.Jw[P].F(Y[P].v)}}; +gh.prototype.sw=function(Z){var S=JSON.parse(this.gB);for(var b in this.u1){var Y=this.Jw[b].u();S[b]={t:"TEXT",v:Y}}var P=new d(s.E.s,!0); +P.T=G.ee;P.data=S;P.j9=!0;this.m(P);this.close()};function fP(){dz.call(this,[2,3],"fill");this.W3=null; +this.Mc=null;var Z=s.R("div","form padded");Z.style.width="22em";this.body.appendChild(Z);this.y9="FrgC BckC Clr Blck Gry Wht contentAware".split(" "); +this.cE=new gl([2,3],[[12,45],[12,46],[12,47],[13,1,10],[13,1,7],[13,1,8],[6,48,0,3]]);this.cE.i(s.E.L,this.ai1,this); +Z.appendChild(this.cE.j);this.d4=s.R("span");Z.appendChild(this.d4);this.Ge=new gy;this.Ge.parent=this; +this.Ge.D9(0);this.oo=new gl([12,19,0],is.dd,!1,is.JL);Z.appendChild(this.oo.j);this.xE=new gu([12,0],0,100,"%",0,!1); +this.xE.F(100);Z.appendChild(this.xE.j);this.XT=new ec("Preserve Transparency");this.XT.F(!1);Z.appendChild(this.XT.j); +this.LT=new fX("OK",!0,null,!0);this.LT.i("click",this.sw,this);this.body.appendChild(this.LT.j)}fP.prototype=new dz; +fP.prototype.ZP=function(Z,S){return Z!=null};fP.prototype.K7=function(){return!0};fP.prototype.ai1=function(){var Z=this.cE.u()==2,S=this.Ge.j,b=this.d4; +if(Z)b.appendChild(S);else if(b.contains(S))b.removeChild(S)};fP.prototype.B=function(){dz.prototype.B.call(this); +this.cE.B();this.oo.B();this.xE.B()};fP.prototype.sw=function(Z){if(!this.Mc.bY())return;var S=new d(s.E.TH,!0),b=this.cE.u(); +S.data=G.px.uB(this.y9[b],is.KP[this.oo.u()],this.xE.u()/100,this.Ge.u(),this.XT.u());this.close();this.m(S)}; +fP.prototype.lX=function(Z,S){this.Mc=Z};fP.prototype.na=function(Z,S){this.W3=Z};function f8(){dz.call(this,[14,9],"stroke"); +this.W3=null;this.sV=s.R("div","form");this.sV.setAttribute("style","width:24em");this.body.appendChild(this.sV); +this.df=new el("FrFX",!0);this.df.parent=this;var Z=["Sz","Styl","Md","Opct"].concat(a4.pe);for(var D=0; +D>16&255,l:Y>>8&255,O:Y&255}); +this.df.update(Z,b)};f8.prototype.na=function(Z,S){this.W3=Z};function g4(){dz.call(this,[11,9],"textwarp"); +this.Jw=new iU;this.Jw.i(s.E.L,this.SI,this);this.Jw.parent=this;this.sV=s.R("div","form");this.sV.setAttribute("style","width:20em"); +this.body.appendChild(this.sV);this.sV.appendChild(this.Jw.hI.j);this.sV.appendChild(this.Jw.g$.j);this.sV.appendChild(this.Jw.vs.j); +this.sV.appendChild(this.Jw.Wc.j);this.sV.appendChild(this.Jw.cL.j);this.LT=new fX("OK",!0,null,!0); +this.LT.i("click",this.sw,this);this.sV.appendChild(this.LT.j);this.i("closebtn",this.qK,this)}g4.prototype=new dz; +g4.prototype.K7=function(){return!0};g4.prototype.B=function(){dz.prototype.B.call(this);this.Jw.B()}; +g4.prototype.SI=function(Z){var S=this.Jw.u();this.Ry({e:"warp",$e:S})};g4.prototype.Ry=function(Z){var S=new d(s.E.s,!0); +S.T=G.le;S.data=Z;S.j9=!0;this.m(S)};g4.prototype.qK=function(Z){this.Ry({e:"warpCancel"})};g4.prototype.sw=function(Z){this.Ry({e:"warpConfirm"}); +this.close()};g4.prototype.lX=function(Z,S){var b=Z.t[Z.C[0]];this.Jw.F(b.add.TySh.Km)};function fs(){dz.call(this,"Raw Photopea","rawpea"); +this.hU=null;this.os=null;this.xv=null;this.tL=0;this.V7=null;this.j3=null;this.adc=500;this.ann=500; +this.i("closebtn",this.Jl,this);s.zy(this.body,"flexrow");var Z=s.R("div"),S=s.R("div"),Y=""; +S.setAttribute("style","padding-left: 1em");this.body.appendChild(Z);this.body.appendChild(S);this.QY=s.R("canvas"); +Z.appendChild(this.QY);this.Bp=new hV(225);this.Bp.ZC(4);S.appendChild(this.Bp.j);this.sV=s.R("div"); +this.sV.setAttribute("style","width:18em;");S.appendChild(this.sV);this.abv=new bE("Hi",!0);this.sV.appendChild(this.abv.j); +this.IC=[new bS("Temperature",2e3,13e3),new bS("Tint",-150,150),new bS([4,3],-4,4,null,!0),new bS([12,3,0],-100,100)]; +for(var D=0;Dthis.adc*s.Z()||b/Y>this.ann*s.Z())Y++;var P=Math.floor(S/Y),w=Math.floor(b/Y);this.V7={j$:new Float32Array(P*w*3),D_:P,H1:w}; +var f=this.QY.getContext("2d");this.j3=f.createImageData(P,w);T._U(this.j3.data,4294967295);var h=1/(Y*Y); +for(var Q=0;Q>>2]*4;h[D]=q[H];h[D+1]=q[H+1];h[D+2]=q[H+2]}}this.f4={Vl:b.Vl.clone(),data:h.buffer}; +if(Z){console.log("segm",Date.now()-S);S=Date.now()}}if(w)b=this.f4;var h=new Uint8Array(b.data),l=b.Vl.c,O=b.Vl.v; +for(var D=0;D.05||u.parent!=D)continue; +var n=u.path.K.slice(1);n.reverse();n=["M"].concat(n);var o=[],A=u.path.H.length;for(var x=0;x=3)Y.hL("Space");if(P>=4){Y.hL("ControlLeft"); +if(P==5)Y.hL("AltLeft")}this.lV.XF(Y);return}this.Px=Y;var w=G.px.Cq(this.an.u(),Y);if(w!=null){this.an.F(w); +this.uz()}else if(Y.q(U.cD)&&Y.q(U.ty)){var f=this.vo,h=0;if(Y.q(U.Lo)){if(this.g_+10)h=-1; +if(h!=0){this.g_+=h;var Q=this.g_,e=this.jw;if(h==1)T.uH(f[Q][2],f[Q][0],e.Ie,e.rect);else T.uH(f[Q+1][1],f[Q+1][0],e.Ie,e.rect); +e.Q_=e.rect;this.Mn()}}else if(P<3)this.lV.XF(Y)};gp.prototype.DQ=function(Z){var S=this.jw,b=this.vo,Y=T.f(Z.X()*4); +T.uH(S.aN,S.rect,Y,Z);S.aN=null;var P=T.f(Z.X()*4);T.uH(S.Ie,S.rect,P,Z);this.g_++;b[this.g_]=[Z.clone(),Y,P]; +while(b.length>this.g_+1)b.pop();while(b.length>50){b=b.slice(1);this.g_--}};gp.prototype.uz=function(){var Z=this.Oz,S=b6.vz(this.an.u(),Z.Xg.qr,this.lV.Lt().S); +this.lV.gk(S)};gp.prototype.UQ=function(Z){var S=this.Oz,b=this.jw,Y=this.Px,P=this.an.u(),w=this.lV.pI(),f=[16777215,8421504,0][this.KT.u()]; +this.yg=new b6(P,S.Xg.list[0].qr,S.Xg.list[0].kT,{y6:1,Yp:!0},f,S.VY,b.rect);b.aN=b.Ie.slice(0);if(Y!=null&&Y.q(U.Lo)&&this.B5){this.yg.moveTo(this.B5.x,this.B5.y); +this.yg.lineTo(w.x,w.y)}else this.yg.moveTo(w.x,w.y);this.Vp()};gp.prototype.Sw=function(Z){var S=this.jw,b=this.lV.pI(); +this.yg.lineTo(b.x,b.y);this.Vp()};gp.prototype.LP=function(Z){this.B5=this.lV.pI();this.DQ(this.yg.tj()); +this.Mn()};gp.prototype.Vp=function(){var Z=this.jw,S=this.yg,b=S.JE();if(b.h3())return;Z.Q_=b;T.p.xJ("norm",S.f9(),S.Ij(),Z.Ie,Z.rect,b,1); +this.my()};gp.prototype.Jl=function(Z){var S=this.jw;S.aN=S.Ie.slice(0);S.Q_=S.rect;T._U(S.Ie,[4278190080,4292730333][this._1]); +this.DQ(S.rect);this.Mn()};gp.prototype.lX=function(Z,S){this.mP=Z;var b=Z.t[Z.C[0]],Y=b.rect.clone(),P=Y.c,w=Y.v; +this.e8.F(this._1==0?3:P*w<3e6?3:0);this.KT.F(Z.N==null?0:1);this.e8.J7();if(this._1==0&&Z.N!=null||this._1==1)this.e8.zA(); +var f=this._1,h=T.f(Y.X()),Q=new Float32Array(Y.X());if(f==0&&Z.N){T.JS(Z.N.channel,Z.N.rect,h,Y);var e=T.f(Y.X()); +for(var l=0;l0&&h[D-1]!=m||O0&&h[D-P]!=m||l>>2];H=H>128?255:128;if(lP-1-K))H=0; +V[t]=V[t+1]=V[t+2]=H}this.Mn()}this.vo=[1];this.g_=0;this.lV.alG();var i=this.an.u();i.Brsh.v.Dmtr.v.val=Math.round(Y.c/(f==0?10:20)); +this.an.F(i);this.uz()};gp.prototype.rH=function(){var Z=this.jw,S=Z.rect.X(),b=this.e8.u(),Y=Z.O1.slice(0); +for(var D=0;Df[D])h[D]=f[D]; +if(S.Oh(Z.rect))Z.QQ=h;else T.uH(h,S,Z.QQ,Z.rect);this.jH();if(P)alert(P,4e3)};gp.prototype.my=function(Z){var S=this.jw,b=S.Q_; +T.uH(S.j$,S.rect,S.Rf,S.rect,b,!0);var Y=S.Ie;if(this._1==1){var P=new Uint32Array(256);P[0]=4278190335; +P[255]=4278255360;var w=S.rect.X();Y=Y.slice(0);var f=new Uint32Array(Y.buffer);for(var D=0;D2e5){alert("Thumbnail is too large ("+gH.tF(b)+"). Make it under 200 kB.");return}var Y=["name","desc","file","thmb"],P=this.wI?this.wI:this.cp[this.Q9]; +for(var D=0;D<4;D++){var w=this.mo[D].u().trim();if(w.length==0){alert("One of values is empty.");return}if(D==2){var f=w.split("#i"); +if(f.length!=2||f[1].length!=8){alert("File ID is incorrect.");return}w=f.pop()}P[Y[D]]=w}P.catg=this.fc[this.mo[4].u()]; +if(P.utme.length==0)P.utme=""+Math.round(Date.now()/1e3);if(this.wI)this.cp.push(this.wI);this._F(); +this.Jl()};fc.prototype.Jl=function(){this.wI=null;this.body.removeChild(this.Hq);this.body.appendChild(this.B8); +this.nY()};fc.prototype._F=function(){var Z=fv._s();if(this.cp.length==0)delete Z.tpl;else Z.tpl={list:JSON.parse(JSON.stringify(this.cp))}; +fv.Oi(Z,function(){alert("Saved.")})};fc._h={c0:"Mockups",c1:"Mobile & Web",c2:"Print",c3:"Product",c10:"Social Media",c11:"Youtube",c12:"Instagram",c13:"Facebook",c20:"Print",c21:"Cards",c22:"Invitations",c23:"Brochures",c30:"Mobile",c40:"Websites",c50:"Presentations",c60:"Other"}; +function bq(){dz.call(this,"Make Selection","makesel");this.W3=null;var Z=s.R("div","form");this.body.appendChild(Z); +this.RZ=new ec("Anti-Alias");this.RZ.F(!0);Z.appendChild(this.RZ.j);s.X3(Z);this.ST=new gK(!0);Z.appendChild(this.ST.j); +this.LT=new fX("OK",!0,null,!0);this.LT.i("click",this.sw,this);this.body.appendChild(this.LT.j)}bq.prototype=new dz; +bq.prototype.B=function(){dz.prototype.B.call(this);this.ST.B()};bq.prototype.sw=function(Z){var S=new d(s.E.s,!0); +S.T=G.r9;S.data={e:"frompath",ms:[null,0,this.ST.ahj(),!this.RZ.u()]};this.close();this.m(S)};function c1(){dz.call(this,["VAR0 PSD/PSB",[1,2]],"savepsb"); +this.Mc=null;this.c5=null;this.ex=null;var Z=s.R("div","form");Z.setAttribute("style","width:20em"); +this.body.appendChild(Z);this.oa=new gT([12,50],["PSD","PSB"]);this.oa.i(s.E.L,this.WB,this);Z.appendChild(this.oa.j); +s.Sg(Z);var S=new bE("Minify the file");Z.appendChild(S.j);s.X3(Z);var b=["Blank preview image","ZIP for pixel data","Remove Smart Object pixels","Put the file into ZIP"]; +this.dM=[];for(var D=0;DS; +this.ZR.textContent=b?Z.slice(0,S-2):Z;if(b)for(var Y=0;Y<2;Y++){var P=s.R("span");P.textContent=Z.charAt(S-2+Y); +P.setAttribute("style","opacity:"+(.6-Y*.4));this.ZR.appendChild(P)}var w=Z.split(" "),f=w.length==2?w[0].substring(0,2)+w[1][0]:Z.substring(0,3); +if(f.charCodeAt(0)>=11776)f=f.substring(0,1);var h=this.a82;if(h==null)this.YV.bl(f,Z);else{if(h.indexOf("\"")==-1)this.YV.bl("\""+Z+"\"",Z)}}; +eS.prototype.enable=function(){this.u9.setAttribute("class","pbody")};eS.prototype.disable=function(){this.u9.setAttribute("class","pbody disabled")}; +eS.prototype.na=function(Z,S){};eS.prototype.lX=function(Z,S,b){};eS.prototype.FI=function(Z){};eS.prototype.Xd=function(Z,S){}; +eS.prototype.JF=function(Z){this.name=Z;this.B()};eS.prototype.vm=function(){};eS.prototype.a1e=function(Z){if(Z.button==0)this.m(new d("select",!1))}; +eS.prototype.afi=function(Z){s.Jj(Z);if(this.pz!=null&&isNaN(this.pz))return;var S=s.R6(Z,document.body),b=this.lU; +b.update(null);b.B();b.parent=this;var Y=new d(s.E.P,!0);Y.data={e:s.U.Gc,Bq:b,x:S.x+1,y:S.y+1};this.m(Y)}; +eS.prototype.K9=function(){this.ze({})};eS.prototype.ze=function(Z){if(Z.stopPropagation)Z.stopPropagation(); +if(this.pz!=null&&!isNaN(this.pz)){var S=new d(s.E.P,!0);S.data={e:s.U.KN,Bq:this.lU};this.m(S);S.data={e:s.U.h4,Sz:bp.UA,G:parseFloat(this.pz),JH:"del"}; +this.m(S)}else if(this.HE())this.m(new d(s.E.ef,!1))};eS.prototype.HE=function(Z){return!0};eS.prototype.Os=function(Z,S,b,Y,P){}; +eS.prototype.Zq=function(Z,S,b,Y,P){};eS.prototype.Xa=function(Z,S,b,Y,P){};eS.IO=function(Z,S){if(Z.childElementCount!=0)return; +var b=Z.textContent;this.cl=this.aaT.bind(this);this.amA=this.acy.bind(this);this.mN=S;this.Au=Z;this.aew=b; +var Y=s.R("input","");Y.setAttribute("type","text");Y.setAttribute("size","10");Y.setAttribute("value",b); +s.Z9(Z);Z.appendChild(Y);Y.select();Y.focus();Z.addEventListener("keyup",this.cl,!1);document.body.addEventListener("mousedown",this.amA,!1)}; +eS.IO.prototype.aaT=function(Z){var S=U.iQ,b=S(Z.code,U.n5);if(S(Z.code,U.eZ)||b)this.SW(b)};eS.IO.prototype.acy=function(Z){var S=Z.target; +if(S.tagName&&S.tagName.toLowerCase()=="input")return;this.SW(!0)};eS.IO.prototype.SW=function(Z){var S=this.Au; +S.removeEventListener("keyup",this.cl);document.body.removeEventListener("mousedown",this.amA);if(Z){var b=S.firstChild.value; +this.mN(b)}else{s.Z9(S);S.textContent=this.aew}};eS.KV={_H:"0",acb:"1",kd:"2",a1n:"3",akR:"4",Ye:"5",CSS:"6",sb:"7",adB:"8",alV:"9",abO:"10",a2z:"11",acg:"12",tN:"13",dn:"14",afW:"15",aie:"16",Hy:"17",anJ:"19",Te:"20"}; +function aE(){eS.call(this,[9,9],!1,null,eS.KV.a2z);this.W3=null;this.u7=[0,0];this.hs=s.R("div","padded scrollable"); +this.hs.setAttribute("style","width:260px; height:260px");this.u9.appendChild(this.hs);this.i(s.E.L,this.yN,this); +this.UD=s.R("div","lpfoot");this.u9.appendChild(this.UD);this.tT=[];var Z="",S="",b=Z+""+S,Y=Z+""+S; +this.ajL=Z+""+S;this.agy=Z+""+S; +var P=[this.ajL,Y,"lrs/folder","lrs/newlayer","lrs/bin",b],w=[[15,8,0],[5,8],[15,8,1],[15,8,2],[5,4],[1,2]]; +for(var D=0;D"; +var h=new fX(f,!1,w[D]);h.i("click",this.QW,this);this.UD.appendChild(h.j);this.tT.push(h)}}aE.prototype=new eS(""); +aE.prototype.B=function(){eS.prototype.B.call(this);for(var D=0;D=Q.length)S[e]--;if(S.length==0)S.push(0); +this.T2()}else if(D==5){if(Y.length==0){alert("No Actions Present.");return}var l=new d(s.E.P,!0);l.data={e:s.U.in,amE:bp.s,pG:S[0]}; +this.m(l)}};aE.prototype.yN=function(Z){var S=this.W3.Pe,b=Z.data.e,Y=Z.data.Li;if(b=="sel")this.u7=Y; +if(b=="fold"){if(Y.length==1)S[Y[0]].exp=!S[Y[0]].exp;else S[Y[0]].a_[Y[1]].exp=!S[Y[0]].a_[Y[1]].exp}if(b=="enab"){var P=S[Y[0]].a_[Y[1]].a_[Y[2]]; +P.Q=!P.Q}if(b=="nchange"){if(Y.length==1)S[Y[0]].ep=Z.data.VT;else S[Y[0]].a_[Y[1]].ep=Z.data.VT}this.T2()}; +aE.prototype.na=function(Z,S){this.W3=Z;if(S==bp.s||S==bp._O)this.T2()};aE.prototype.T2=function(){if(this.W3==null)return; +s.Z9(this.hs);var Z=this.W3.Pe;if(Z.length==0)return;var S=JSON.stringify(this.u7);for(var D=0;DS)this.j.style.opacity=.4;this.j.addEventListener("click",this.Os.bind(this),!1)}hI.prototype=new ij; +hI.prototype.B=function(){this.j.textContent=aV.get(this.i1)};hI.prototype.Os=function(Z){if(this.index==this.parent.a85)return; +this.HZ({e:"h_itemchange",index:this.index})};hI.prototype.HZ=function(Z){var S=new d(s.E.s,!0);S.data=Z; +S.T=G._H;this.m(S)};function cu(){eS.call(this,[9,10],!1,null,eS.KV.akR);var Z=s.R("div","padded");this.u9.appendChild(Z); +this.Bp=new hV(256,!0);Z.appendChild(this.Bp.j);this.Mc=null}cu.prototype=new eS("");cu.prototype.lX=function(Z){this.Mc=Z; +this.T2()};cu.prototype.T2=function(){var Z=this.Mc;if(!s.mO(this.u9))return;if(Z==null||Z.C.length==0){this.Bp.F(T.YY(T.f(4))); +return}var S=Z.Zd(),b=new b4(0,0,Z.c,Z.v),Y=b.X();if(Z.N){var P=Z.N.rect,w=T.f(P.X()*4);T.uH(S,b,w,P); +T.Dt(Z.N.channel,w);S=w;b=P;var f=Z.N.channel;Y=0;for(var D=0;D>>16&255,l:b>>>8&255,O:b>>>0&255,mW:"Color #"+T.T3(b)})}if(S==bp.WE||Y){var P=Z.a9O;this.pY.VU(P)}}; +function h2(){eS.call(this,[12,72],!1,null,eS.KV.aie);this.uv=null;this.wR=null;this.bz=s.R("div","lpbody scrollable"); +this.UD=s.R("div","lpfoot");this.u9.appendChild(this.bz);this.u9.appendChild(this.UD);this.Wk=[];this.i("click",this.qO,this); +this.Qb=[];h2.c_([[17,2],"Save Selection as Channel",[5,3],[5,4]],this.Qb,this.UD,this.yQ.bind(this),this.fI.bind(this)); +this.qD=new a5([{name:"Merge Channels",Ip:!0}]);this.qD.i("select",this.MO,this)}h2.prototype=new eS(""); +h2.prototype.MO=function(Z){if(this.wR==null)return;var S=new d(s.E.P,!0);S.data={e:s.U.Fy,g9:"mergechannels"}; +this.m(S)};h2.prototype.EM=function(){return this.qD};h2.c_=function(Z,S,b,Y,P){for(var D=0;DY)Q=Math.round(Q*Y/b);else h=Math.round(h*b/Y);var e=["RGB"].concat(g3.Yn);for(var D=0;D<4;D++){var l=this.mL(D); +T.kJ.ii(l,h,Q,P,Z.Zd(),P,!1,D==0?null:D-1);var O=D==0?f==3:w[D-1]==1,m=new e0(-1-D,!0,!0,l,e[D],O,O); +m.parent=this;S.appendChild(m.j)}for(var D=0;D=0)P++}w=b.v6; +f=b.ph}if(Y){var e=w.indexOf(P);if(e==-1)w.push(P);else w.splice(e,1)}else{while(w.length!=0)w.pop(); +while(f.length!=0)f.pop();w.push(P)}b.Pd=!0;b.nd=!0};dE.prototype.vm=function(){this.WB()};dE.prototype.lX=function(Z){this.wR=Z; +this.WB()};dE.prototype.WB=function(){var Z=this.wR,S=this.bz,h=34,Q=34;s.Z9(S);if(Z==null||!s.mO(S))return; +var b=Z.c,Y=Z.v,P=new b4(0,0,b,Y),w=this.uv=Z.a.o.slice(0),f=w[0]+w[1]+w[2];if(b>Y)Q=Math.round(Q*Y/b); +else h=Math.round(h*b/Y);var e=Z.zl(),l=e[0];for(var D=0;D=0,m,O.name,e[1].indexOf(D)!=-1,!1,G.tp,{e:"pathedit",Ox:"rnm",SU:O.SU});V.parent=this; +S.appendChild(V.j)}};dE.prototype.Xd=function(Z,S){this.bz.style.height=S-9-25+"px"};dE.prototype.B=function(){eS.prototype.B.call(this); +this.WB();h2.uO(this.Qb,["lrs/makesel","lrs/makepath","lrs/newlayer","lrs/bin"])};function gt(Z){eS.call(this,[9,Z?4:5],!1,null,Z?eS.KV.alV:eS.KV.abO); +this.u9.setAttribute("style","min-width:240px;");this.akM=Z;this.wY=null;this.W3=null}gt.prototype=new eS(""); +gt.prototype.jr=function(){this.wY=new bh;var Z=this.wY,S=this.u9;Z.parent=this;if(this.akM){var b=s.R("div","marged"); +S.appendChild(b);b.appendChild(Z.ZZ.j);S.appendChild(s.R("hr"));var Y=s.R("div","marged");S.appendChild(Y); +Y.appendChild(Z.KF.j);Y.appendChild(Z.Je.j);var P=s.R("div","marged");S.appendChild(P);P.appendChild(Z.kv.j); +P.appendChild(Z.UP.j);S.appendChild(s.R("hr"));var w=s.R("div","marged");S.appendChild(w);w.appendChild(Z.FY.j); +w.appendChild(Z.py.j);var f=s.R("div","marged");S.appendChild(f);f.appendChild(Z.wA.j);f.appendChild(Z.zo.j); +S.appendChild(s.R("hr"));var h=s.R("div","marged");S.appendChild(h);h.appendChild(Z.E0.j);h.appendChild(Z.AM.j); +h.appendChild(Z.FG.j);h.appendChild(Z.$O.j);h.appendChild(Z.uL.j);h.appendChild(Z.rf.j);h.appendChild(Z.hh.j); +h.appendChild(Z.Y3.j)}else{var b=s.R("div","marged");S.appendChild(b);b.appendChild(Z.$V.j);b.appendChild(Z.CH.j); +b.appendChild(Z.Wp.j);b.appendChild(Z.acT.j);b.appendChild(Z.a2L.j);b.appendChild(Z.a1j.j);b.appendChild(Z.amd.j); +S.appendChild(s.R("hr"));var Y=s.R("div","marged");S.appendChild(Y);Y.appendChild(Z.Ll.j);Y.appendChild(Z.TK.j); +Y.appendChild(Z.mD.j);S.appendChild(s.R("hr"));var P=s.R("div","marged");S.appendChild(P);P.appendChild(Z.jQ.j); +P.appendChild(Z.ZY.j);P.appendChild(Z.h9.j)}};gt.prototype.vm=function(){if(!s.mO(this.u9))return;if(this.wY==null){this.jr(); +var Z=this.W3;if(Z)this.wY.F(Z.pA,Z.S9,Z.su);this.wY.B()}};gt.prototype.B=function(){eS.prototype.B.call(this); +if(this.wY)this.wY.B()};gt.prototype.na=function(Z,S){this.W3=Z;if(S!=bp._O&&S!=bp.BK&&S!=bp.VE&&S!=bp.dT)return; +if(this.wY)this.wY.F(Z.pA,Z.S9,Z.su)};function fJ(){eS.call(this,[9,13],!1,null,eS.KV.anJ);this.W3=null; +this.acD=null;this.aaz=null;this.$u=null;this.a1f=null;this.ts=Math.round(290*s.Z());this.uD=8;this.a6D=4; +this.mJ=new gl(null,["Hi","Hello"]);this.mJ.i(s.E.L,this.En,this);var Z=this.eY=new fX("-",null,null,!0); +Z.i("click",this.zq,this);var S=this.a03=new fX("+",null,null,!0);S.i("click",this.zq,this);this.xc=new aD(!1); +this.xc.i(s.E.L,this.uk,this);this.xc.j.style.height=20+"em";var b=s.R("div","padded");b.setAttribute("style","width:"+(this.ts+10)/s.Z()+"px;"); +this.u9.appendChild(b);var top=s.R("div");top.setAttribute("style","margin-bottom:0.5em");b.appendChild(top); +top.appendChild(this.mJ.j);top.appendChild(Z.j);top.appendChild(S.j);b.appendChild(this.xc.j)}fJ.prototype=new eS(""); +fJ.prototype.uk=function(Z){var S=this.xc.u()*this.uD*this.a6D,b=Math.floor(this.ts/this.uD)/s.Z(),Y=this.xc.ahM(); +S+=Math.floor(Y.y/b)*this.uD;S+=Math.floor(Y.x/b);var P=this.$u[this.mJ.u()];if(S>=P.length)return;var w=P[S],f=this.a1f[w]; +if(f.Ht.length==0){alert("No known character for this glyph");return}var h=String.fromCodePoint(f.Ht[0]),Q=new d(s.E.s,!0); +Q.T=G.le;Q.data={e:"insertText",G:h};this.m(Q)};fJ.prototype.zq=function(Z){this.uD+=Z.target==this.eY?1:-1; +this.uD=Math.max(1,Math.min(20,this.uD));this.En()};fJ.prototype.vm=function(){this.na(this.W3)};fJ.prototype.na=function(Z,S){this.W3=Z; +if(!s.mO(this.u9))return;var b=Z.pA,Y=b.xp.Font,Q=0;if(Y==null)return;var P=b.E2[Y].Name;if(this.acD==P)return; +var Y=Z.S9.NI(P);if(Y==null)return;var w=Y.maxp.numGlyphs,f=this.a1f=new Array(w);for(var D=0;D100)this.RA.F({h:(w>>>16)/255,l:(w>>>8&255)/255,O:(w&255)/255})};eq.prototype.na=function(Z,S){this.W3=Z; +if(S==bp._O||S==bp.tN)this.T2()};eq.prototype.vm=function(){this.T2()};function cJ(){eS.call(this,"CSS",!1,null,eS.KV.CSS); +this.Mc=null;var Z=s.R("div","padded");this.u9.appendChild(Z);this.A3=s.R("textarea");this.A3.setAttribute("rows",16); +this.A3.setAttribute("style","display:block;tab-size:4; font-family:monospace; width:98%; min-width:270px;"); +Z.appendChild(this.A3)}cJ.prototype=new eS("");cJ.prototype.lX=function(Z){this.Mc=Z;this.T2()};cJ.prototype.na=function(Z,S){if(S==bp.VE)this.T2()}; +cJ.prototype.T2=function(){var Z=this.Mc;if(Z==null||Z.C.length==0)return;if(!s.mO(this.u9))return;var S=Z.t[Z.C[0]],b=CSS.a98(S,Z); +if(b.length!=0)this.A3.value=b.join(";\n")+";";else this.A3.value=""};cJ.prototype.vm=function(){this.T2()}; +function bo(){eS.call(this,[9,6],!1,null,eS.KV.a1n);this.u9.setAttribute("style","min-width:240px;"); +this.Mc=null;this.W3=null;var Z=s.R("div","marged row");this.u9.appendChild(Z);var S=s.R("div","cell"); +S.setAttribute("style","width:10em");Z.appendChild(S);var b=s.R("div","cell");b.setAttribute("style","width:10em"); +Z.appendChild(b);this.abG=[];for(var D=0;D<4;D++){var Y=new bE("");this.abG.push(Y);S.appendChild(Y.j); +s.X3(S)}this.u9.appendChild(s.R("hr",""));var P=s.R("div","marged row");this.u9.appendChild(P);var S=s.R("div","cell"); +S.setAttribute("style","width:10em");var b=s.R("div","cell");b.setAttribute("style","width:10em");P.appendChild(S); +P.appendChild(b);this.W5=new bE("");S.appendChild(this.W5.j);s.X3(S);this.pU=new bE("");S.appendChild(this.pU.j); +this.O0=new bE("");b.appendChild(this.O0.j);s.X3(b);this.Dd=new bE("");b.appendChild(this.Dd.j);this.W5.F("X: 100 px"); +this.pU.F("Y: 100 px");this.O0.F("W: 0");this.Dd.F("H: 0")}bo.prototype=new eS("");bo.prototype.Zq=function(Z,S,b,Y,P){if(!s.mO(this.u9)||Z==null)return; +var w=Z.a._2(P.x,P.y),f=new ar(Math.floor(w.x),Math.floor(w.y));if(!P.ou){var h=0,Q=0,e=0,l=0,O=this.abG; +if(!P.ou&&!Z.ahw()&&new b4(0,0,Z.c-1,Z.v-1).DS(f)){var m=Z.Zd(),D=Z.c*f.y+f.x<<2;h=m[D+0];Q=m[D+1];e=m[D+2]; +l=m[D+3]}O[0].F("R: "+h);O[1].F("G: "+Q);O[2].F("B: "+e);O[3].F("A: "+l)}this.W5.F("X: "+T.dp.Rv(f.x,Z.GY,b,Z.c)); +this.pU.F("Y: "+T.dp.Rv(f.y,Z.GY,b,Z.v));this.d$()};bo.prototype.d$=function(){var Z=this.Mc,S=this.W3,b=0,Y=0; +if(Z&&S){if(Z.a.dl){b=Z.a.dl.c;Y=Z.a.dl.v}else if(Z.N){b=Z.N.rect.c;Y=Z.N.rect.v}b=T.dp.Rv(Math.abs(b),Z.GY,S,Z.c); +Y=T.dp.Rv(Math.abs(Y),Z.GY,S,Z.v)}this.O0.F(aV.get([12,41]).charAt(0)+": "+b);this.Dd.F(aV.get([12,42]).charAt(0)+": "+Y)}; +bo.prototype.B=function(){eS.prototype.B.call(this);this.d$()};bo.prototype.lX=function(Z,S,b){this.Mc=Z; +this.W3=b;this.d$()};function bz(){eS.call(this,[9,1],!1,null,eS.KV.kd);this.oH=null;this.hp=null;this.E7=null; +this.oB=s.R("div","lphead");this.bz=s.R("div","lpbody scrollable");this.UD=s.R("div","lpfoot");this.q_=new gl(null,is.dd,!1,is.JL); +this.q_.i(s.E.L,this.acV,this);this.oB.appendChild(this.q_.j);this.fP=new c2([12,0],0,100,"%",0);this.fP.i(s.E.L,this.ad$,this); +this.fP.parent=this;this.oB.appendChild(this.fP.j);this.s9=new eW([6,57,2],["","","",""],!0,["Transparency",[12,76,2],[12,40],[7,0]]); +this.s9.i(s.E.L,this.a4K,this);this.oB.appendChild(this.s9.j);this.RC=new c2([12,26],0,100,"%",0);this.RC.i(s.E.L,this.a83,this); +this.RC.parent=this;this.oB.appendChild(this.RC.j);this.Qb=[];this.c_();this.u9.appendChild(this.oB); +this.u9.appendChild(this.bz);this.bz.addEventListener("dragover",function(b){b.preventDefault()},!1); +this.bz.addEventListener("dragenter",s.Jj,!1);this.bz.addEventListener("drop",this.a0m.bind(this),!1); +this.u9.appendChild(this.UD);this.u9.addEventListener("contextmenu",s.Jj,!1);var Z=ep.M4(!0),S=ep.C8(!0); +this.amG=new a5(Z,S);var Z=[{name:[14,10]},{name:[14,11],uJ:!0},{name:[6,0]},{name:[11,4]},{name:[5,4],uJ:!0},{name:[6,7]},{name:"New Smart Obj. via Copy",Q:function(b){return{Q:b.t[b.C[0]].add.SoLd!=null}},uJ:!0},{name:[6,8],Q:function(b){var Y=b.t[b.C[0]]; +if(Y.add.TySh||Y.add.SoLd||Y.add.SoCo||Y.add.GdFl||Y.add.PtFl)return{Q:!0};return{Q:!1}}},{name:[6,34],Q:function(b){var Y=b.t[b.C[0]]; +return{Q:Y.add.lmfx!=null&&!Y.W$()}}},{name:[6,40],uJ:!0,Q:function(b){var Y=b.t[b.C[0]];return{Q:Y.add.TySh!=null}}},{name:"",uJ:!0,Q:function(b){var Y=b.t[b.C[0]],P=Y.add.TySh,w=P?P.HK:null; +return{Q:P!=null&&w.Curve==null,nn:aV.get(P&&eO.O$(w)==0?[16,3,1]:[16,3,0])}}},{name:[6,6,0],uJ:!0,Q:function(b){return{Q:b.rP(b.C[0]),As:b.t[b.C[0]].gL}}},{name:[11,6],uJ:!0,sub:[{name:[5,1],Q:function(b){var Y=b.t[b.C[0]]; +return{Q:Y.add.lmfx!=null}}},{name:[5,2]},{name:[2,2],Q:function(b){var Y=b.t[b.C[0]];return{Q:Y.add.lmfx!=null}}}]},{name:[6,10],Q:function(b){return{Q:b.C.length==1&&b.C[0]!=0&&!b.t[b.C[0]].W$()}}},{name:[6,12,0],Q:function(b){return{Q:b.C.length>1||b.t[b.C[0]].W$()}}},{name:[6,12,1],uJ:!0},{name:[13,0],sub:function(){var b=[[13,1,0],[13,1,1],[13,1,2],[13,1,3],[13,1,4],[13,1,5],[13,1,6],[13,1,7]],Y=[]; +for(var D=0;D.5?0:1))}else if(S!="--panel"){var S=JSON.parse(S),P=S.vp; +if(P=="l")this.HZ({e:F.ob,source:S.pG,target:Y,ZI:b})}};bz.prototype.xV=function(){return new ar(253,0)}; +bz.prototype.a3P=function(Z){var S=this.hp,b=Z.data,P;if(S.C.indexOf(b.$)==-1){var Y={e:F.lx,$:Z.target.Au.index,s0:b.PC}; +this.HZ(Y)}if(S.C.indexOf(b.$)==-1)return;if(b.PC==1){P=this.a3R}else if(b.PC==2){P=this.aai}else if(b.PC==3){P=this.aiL}else if(b.PC==4){P=this.ajN}else if(b.PC==5){P=this.amG}else{P=this.cy}P.B(); +P.update(S);P.parent=this;var w=new d(s.E.P,!0);w.data={e:s.U.Gc,Bq:P,x:b.DA.x+1,y:b.DA.y+1};this.m(w)}; +bz.prototype.B=function(){eS.prototype.B.call(this);this.q_.B();this.fP.B();this.s9.B();this.RC.B(); +if(this.hp)this.lX(this.hp);var Z="lrs/link lrs/fx lrs/adj lrs/mask lrs/folder lrs/newlayer lrs/bin".split(" "); +for(var D=0;D70)Y=84;if(b>100)Y=108; +var P=S-(Y+37);this.bz.style.height=P+"px"};bz.prototype.acV=function(Z){this.HZ({e:F.fk,u$:this.q_.u()})}; +bz.prototype.ad$=function(Z){this.HZ({e:F.XB,u$:Math.round(255*this.fP.u()/100)})};bz.prototype.a4K=function(Z){this.HZ({e:F.EQ,u$:[this.s9.u(),[0,1,2,31]]})}; +bz.prototype.a83=function(Z){this.HZ({e:F.Cd,u$:Math.round(255*this.RC.u()/100)})};bz.prototype.aiu=function(Z){this.lB(Z,this.a8v)}; +bz.prototype.aep=function(Z){this.lB(Z,this.aj0)};bz.prototype.lB=function(Z,S){var b=Z.currentTarget; +if(s.mO(S.j))return;Z.stopPropagation();var Y=b.getBoundingClientRect();S.B();S.update(this.hp);S.parent=this; +var P=new d(s.E.P,!0);P.data={e:s.U.Gc,Bq:S,x:Y.left,y:Y.top,aig:!0};this.m(P)};bz.prototype.akl=function(Z){this.HZ({e:F.Zh})}; +bz.prototype.a27=function(Z){this.HZ({e:this.hp.C.length>1?F.aT:F.D4})};bz.prototype.ae9=function(Z){this.HZ({e:F.NO})}; +bz.prototype.ajH=function(Z){this.HZ({e:F.ak})};bz.prototype.a0f=function(Z){this.HZ({e:F.sg})};bz.prototype.HZ=function(Z){var S=new d(s.E.s,!0); +S.data=Z;S.T=G.kd;this.m(S)};bz.prototype.c_=function(){var Z=[[6,54,0],[11,6],[6,1],[6,21],[6,20],[6,13],[6,31]],S=[this.a0f,this.aep,this.aiu,this.akl,this.a27,this.ae9,this.ajH],b=this.a4S.bind(this); +for(var D=0;D=Z.length-3){var P=Y.j;P.addEventListener("drop",b,!1);P.addEventListener("dragover",function(w){w.preventDefault()},!1); +P.addEventListener("dragenter",s.Jj,!1)}}};bz.prototype.a4S=function(Z){s.Jj(Z);var S=0,b=this.Qb;while(b[S].j!=Z.currentTarget)S++; +b[S].KY();var Y=Z.dataTransfer.getData("Text");if(Y=="")return;var Y=JSON.parse(Y);if(Y.vp=="l"){var P={e:[F.aT,F.GG,F.ak][S-4]}; +if(this.hp.C.indexOf(Y.pG)==-1)P.$=Y.pG;this.HZ(P)}if(S!=6)return;if(Y.vp=="sm"||Y.vp=="s"){var w=new d(s.E.s,!0); +w.T=G.Qj;w.data={e:Y.vp=="sm"?"st_clear":"st_delsingle",$:Y.pG,pG:Y.Qn};this.m(w)}if(Y.vp=="fm"||Y.vp=="f"){this.HZ({e:Y.vp=="fm"?F.dF:F.T0,src:Y.pG,Qn:Y.Qn})}if(Y.vp=="m"||Y.vp=="vm"){this.HZ({e:Y.vp=="m"?F.fs:F.Vw,$:Y.pG})}}; +function hC(Z,S,b,Y){ij.call(this);this.parent=S;this.Au=Z;this.Cg=[];this.j=s.R("div","layeritem"); +var P=Z.$,H=15,N=!1;this.oB=s.R("div",b.C.indexOf(Z.index)!=-1?"head selected":"head");if(Z.$.add.artb!=null)s.zy(this.oB,"artb"); +this.oB.setAttribute("style","height: "+(P.afO+10)+"px");var w=s.R("div","headL"),f=s.R("div","headR"),h=s.R("div","lpineck"); +this.bz=s.R("div","lpibody");this.j.appendChild(this.oB);this.oB.appendChild(w);this.oB.appendChild(f); +if(P.U_()||P.pL())if(P.GP())this.j.appendChild(h);var Q=this.oB;Q.setAttribute("draggable","true");Q.addEventListener("dragstart",this.MR.bind(this),!1); +Q.addEventListener("drop",this.em.bind(this),!1);Q.addEventListener("dragover",this.T7.bind(this),!1); +Q.addEventListener("dragenter",s.Jj,!1);Q.addEventListener("dragleave",this.hl.bind(this),!1);var e=[],l=[],O=s.R("div"); +this.WC=s.R("div","eye");O.appendChild(this.WC);var m=s.R("div","space");this.Fs=s.R("div","label"); +this.Fs.setAttribute("style","max-width:calc(100% - "+(96+Z.depth*20)+"px)");this.Fs.textContent=P.getName(); +this.Ok=s.R("div","lock");this.aov=s.R("div","lrfx");this.uN=s.R("div","arfx");var V=this.a2D.bind(this),q=this.aa2.bind(this); +this.oB.addEventListener("click",q,!1);this.oB.addEventListener("contextmenu",V,!1);var K=[0,16711680,16748544,16763904,4513024,22015,11141375,7829367],z=P.add.lclr==null?0:K[P.add.lclr]; +if(z==0)z=Y.gV;var t=[z>>16,z>>8&255,z&255];for(var D=0;D<3;D++){t[D]=Math.round(.5*t[D]+.5*220)}if(1=0;D--){var A=new hC(Z.children[D],S,b,{gV:z});this.Cg.push(A);this.bz.appendChild(A.j)}this.j.appendChild(this.bz)}j.setAttribute("class",P.add.lsct==fr.k8?"open":"closed")}else{this.mF=s.R("div","thumb"); +e[5]=this.mF;y(this.mF,P.W7)}var a=P.Y6();if(a){this.VI=s.R("div","chain");this.oW=s.R("div","thumb"); +y(this.oW,Z.$.a0F,!0);this.VI.style.opacity=a.kF?1:0;this.VI.addEventListener("click",this.af$.bind(this),!1)}var I=P.q3()&&P.add.vmsk; +if(P.add.vmsk&&!I){this.sC=s.R("div","chain");this.IF=s.R("div","thumb");y(this.IF,Z.$.acR,!0);this.sC.style.opacity=P.add.vmsk.kF?1:0; +this.sC.addEventListener("click",this.a5p.bind(this),!1)}if(P.pL()&&P.fY(b).d){this.Ya=s.R("div","thumb"); +y(this.Ya,Z.$.afT,!1);this.Ya.addEventListener("click",q,!1);this.Ya.addEventListener("contextmenu",V,!1)}if(P.U_()){this.a8O=h; +h.addEventListener("contextmenu",V,!1);var E=new bz.D$(aV.get([12,1]),"sm","layerstyle",Z.depth,0,null); +E.parent=this;h.appendChild(E.j);var c=P.add.lmfx,u=c.masterFXSwitch.v;E.Ba(u);for(var D=0;D=0;D--){var g=x[D].v,v=cL.sn(g);if(g3.Qs[v])v=g3.Qs[v];var R=g.Nm.v;if(cL.names[v])R=aV.get(cL.names[v]); +if(g3.names[v])R=aV.get(g3.names[v]);var X="afw_"+v,E=new bz.D$(R,"f",X,Z.depth,1,D);E.Ba(u&&g.enab.v); +E.parent=this;h.appendChild(E.j)}}if(b.t.indexOf(P)==b.C[0]){var B=P.PC,M;if(B<=0)M=this.mF;else if(B==1)M=this.oW; +else if(B==3)M=this.Ya;if(M)M.setAttribute("class","thumb active");if(P.PL&&this.IF)this.IF.setAttribute("class","thumb active")}O.style.opacity=P._7()?1:.25; +m.setAttribute("style","width:"+Math.max(0,Z.depth-1)*18+"px");var r=P.add.lspf!=null&&P.add.lspf!=0; +this.Ok.style.opacity=P.vv(31)?1:.5;e[4]=P.gL?s.R("div","clipp"):null;e[6]=a?this.VI:null;e[7]=a?this.oW:null; +e[8]=P.add.vmsk&&!I?this.sC:null;e[9]=P.add.vmsk&&!I?this.IF:null;var $=P.QG,eQ=b.C;if($!=0)for(var D=0; +D.8){var w=!0,f=b.root.zO(P);while(f.parent!=null){var h=f.parent,Q=h.children;if(Q.indexOf(f)!=0)w=!1; +f=f.parent}if(w){P=0;Y=1}}if(S==""){s.tw(Z,this,this.parent.E7.indexOf(b),P+(Y>.5?0:1))}else if(S!="--panel"){var S=JSON.parse(S),e=S.vp; +if(e=="l")this.HZ({e:F.ob,source:S.pG,target:P,ZI:Y});else if(e=="m"||e=="vm")this.HZ({e:e=="m"?F.Y8:F.OG,src:S.pG,nw:P,lW:Z.altKey}); +else hC.i7(Z,S,this)}};hC.i7=function(Z,S,b,Y){var P=S.vp,w=b.Au.index,f=S.pG;if(P=="s"||P=="sm")b.HZ({e:F.fE,src:f,nw:w,Qn:S.Qn,lW:Z.altKey}); +if(P=="f"||P=="fm")b.HZ({e:F.yc,src:f,nw:w,Qn:S.Qn,JV:Y==null?0:Y,lW:Z.altKey})};hC.prototype.T7=function(Z){s.Jj(Z); +var S=hC.g3(Z,this.oB);this._c();var b=S>.5?"-bottom":"-top";if(this.Au.$.W$()&&.5300)return;Z.preventDefault(); +Z.stopPropagation();this.oB.setAttribute("draggable","false");var b=new eS.IO(this.Fs,this.mN.bind(this))}; +hC.prototype.mN=function(Z){this.HZ({e:F.if,$:this.Au.index,name:Z})};hC.prototype.ael=function(Z){this.HZ({e:F.fa,$:this.Au.index})}; +hC.prototype.a2D=function(Z){if(this.gF(Z,Z.target,this.PC(Z)))return;var S=Z.sourceCapabilities;if(S)S=S.firesTouchEvents; +if(Z.button!=2&&S!=!0)return;var b=this.PC(Z);if(b!=3&&Z.currentTarget==this.a3l)b=4;if(Z.target==this.aov||Z.currentTarget==this.a8O)b=5; +var Y=new d("rclick",!0);Y.data={$:this.Au.index,PC:b,DA:s.R6(Z,document.body)};this.m(Y)};hC.prototype.PC=function(Z){var S=Z.target,b=S; +return b==this.IF?2:b==this.oW?1:b==this.mF?0:b==this.Ya?3:-1};hC.prototype.aa2=function(Z){var S=Z.target,l; +if(S==this.WC||S==this.uN||S==this.VI||S==this.sC||S.tagName&&S.tagName.toLowerCase()=="input")return; +var b=this.PC(Z),Y=this.parent.hp,P=this.Au.index,w=Y.t[P];if(S==this.Ok){this.HZ({e:F.EQ,$:P,u$:[[!1,!1,!1,!1,!1],[0,1,2,3,31]]}); +return}if(Z.button==0&&Z.detail==2){if(S==this.Fs)return;var f=new d(s.E.s,!0),h=new d(s.E.P,!0),Q=new d(s.E.TH,!0); +if(b==0&&w.add.SoCo){var e=T.W.CD(w.add.SoCo.Clr.v);h.data={e:s.U.Fy,g9:"colorpicker",gV:e.h<<16|e.l<<8|e.O,iy:function(V){var q=T.W.RQ({O:V&255,l:V>>>8&255,h:V>>16&255}); +q={classID:"null",Clr:{t:"Objc",v:q}};var K=new d(s.E.s,!0);K.T=G.kd;K.data={e:F.Um,U0:[P],a1:!0,G:{uR:1,B2:q}}; +this.m(K)}.bind(this),gz:!0}}else if(b==0&&(g3.get(w.add)||w.add.SoCo||w.add.GdFl||w.add.PtFl))h.data={e:s.U.AO,g9:eS.KV.Ye}; +else if(b!=0&&b!=-1)h.data={e:s.U.AO,g9:eS.KV.Ye};else if(b==0&&w.add.SoLd)Q.data={uf:"placedLayerEditContents",V1:{classID:"placedLayerEditContents"}}; +else if(b==0&&w.add.TySh){f.T=G.le;f.data={e:"editCurr",xj:P}}else h.data={e:s.U.Fy,g9:"layerstyle",$:P}; +this.m(Q.data?Q:h.data?h:f);return}if(this.gF(Z,S,b))return;if(Z.button!=0)return;if(b==1||b==3){var O=b==3?w.fY(Y).d:w.Y6(); +l=O.Ag?Y.a.o.join("")=="111"?1:2:0}var m={e:F.lx,$:P,s0:b};this.HZ(m);if(Z.altKey){if(b==1||b==3){var f=new d(s.E.s,!0); +f.T=G.$j;f.data={e:"mskView",G:l!=0?0:Z.shiftKey?1:2};this.m(f)}else{this.HZ({e:F.TA,$:P})}return}}; +hC.prototype.gF=function(Z,S,b){if((Z.ctrlKey||Z.metaKey)&&(b==0||b==1||b==2)){var Y=0;if(Z.shiftKey)Y++; +if(Z.altKey)Y+=2;var P=new d(s.E.s,!0);P.T=G.r9;P.data={e:"fromlayer",ms:[this.Au.index,b,Y]};this.m(P); +return!0}return!1};hC.prototype.HZ=function(Z){var S=new d(s.E.s,!0);S.data=Z;S.T=G.kd;this.m(S)};bz.D$=function(Z,S,b,Y,P,w,f){ij.call(this); +this.adx=S;this.Zr=b;this.index=w;this.j=s.R("div","styleitem");this.oB=s.R("div","head");this.a17=null; +if(S=="f"){var h=this.a17=s.R("div","headR");h.textContent="\u2699";this.oB.appendChild(h)}this.rO=s.R("div","eye gsicon"); +this.Fs=s.R("div","label");this.j.appendChild(this.oB);this.oB.appendChild(this.rO);if(f){this.oW=f; +this.oB.appendChild(this.oW);this.oB.setAttribute("style","height: "+(f.firstChild.height/s.Z()+10)+"px")}this.Fs.innerHTML=Z; +this.j.setAttribute("style","margin-left: "+(24+Y*16+P*22)+"px");this.oB.appendChild(this.Fs);this.rO.addEventListener("click",this.amr.bind(this),!1); +var Q=this.j;Q.setAttribute("draggable","true");Q.addEventListener("dragstart",this.MR.bind(this),!1); +if(!0){Q.addEventListener("drop",this.em.bind(this),!1);Q.addEventListener("dragover",this.T7.bind(this),!1); +Q.addEventListener("dragenter",s.Jj,!1);Q.addEventListener("dragleave",this.hl.bind(this),!1)}this.j.addEventListener("click",this.Xa.bind(this),!1)}; +bz.D$.prototype=new ij;bz.D$.prototype.MR=function(Z){Z.stopPropagation();Z.dataTransfer.setData("Text",JSON.stringify({vp:this.adx,pG:this.parent.Au.index,Qn:this.index}))}; +bz.D$.prototype.hl=function(Z){s.Jj(Z);this._c()};bz.D$.prototype.em=function(Z){s.Jj(Z);this._c();var S=Z.dataTransfer.getData("Text"); +if(S=="")return;var S=JSON.parse(S);hC.i7(Z,S,this.parent,this.index+(hC.g3(Z,this.oB)>.5?0:1))};bz.D$.prototype.T7=function(Z){s.Jj(Z); +var S=hC.g3(Z,this.oB)>.5;this._c();var b="border-"+(S?"bottom":"top");this.oB.style[b]="0.2em solid rgba(0,0,0,0.5)"}; +bz.D$.prototype._c=function(Z){this.oB.style.border="none"};bz.D$.prototype.Ba=function(Z){var S=15; +if(1 ",e=new c2(Q,0,200,D==4||D==5?null:"px",null,null,null,4,P[D]); +e.parent=this;e.i(s.E.L,this.a97,this);e.F(w[D]);e.B();this.x1.push(e);Z.appendChild(e.j)}var l=["Add Guides","Clear Guides"]; +this.tT=[];for(var D=0;D ",O=new fX(Q,!1,null,!1); +this.tT.push(O);O.i("click",this.yB,this);Z.appendChild(O.j)}}dn.prototype=new eS("");dn.prototype.a97=function(Z){var S=this.x1,b=S.indexOf(Z.target),Y=Math.floor(b/2),P=b&1,w=[]; +for(var D=0;D<4;D++)w.push(S[2*D+P].u());var f=-1;if(Y==2&&w[2]!=0&&w[3]!=0&&w[4]!=0)f=4;if(Y==3&&w[3]!=0&&w[2]!=0&&w[4]!=0)f=4; +if(Y==4&&w[4]!=0&&w[2]!=0&&w[3]!=0)f=3;if(f!=-1)S[2*f+P].F(0)};dn.prototype.yB=function(Z){var S=this.Mc,b=this.tT.indexOf(Z.target),Y=[[],[]]; +if(S==null)return;var P=S.N?S.N.rect:new b4(0,0,S.c,S.v),w=P.c,f=P.v;if(b==0){var h=[[],[]];for(var D=0; +D1&&P==0&&w==0){if(Z[0]!=0)Y.push(S+Z[0]);if(Z[1]!=0)Y.push(b-Z[1]); +return Y}var Q=b-S-Z[0]-Z[1];if(P==0){if(f==0){P=Math.floor(Q/w);f=(Q-P*w)/(P-1)}else{P=1;while(w*P+f*(P-1)+w+f<=Q)P++}}else if(P!=0&&w!=0){if(P*w>Q)P=Math.floor(Q/w); +f=(Q-P*w)/(P-1)}Y.push(S+Z[0],b-Z[1]);var w=(Q-f*(P-1))/P;for(var D=1;D0&&Z.C.length!=0&&Z.t[Z.C[0]]){var Y=Z.t[Z.C[0]],P=g3.get(Y.add);if(P!=null&&this.PH[P]!=null){b=this.PH[P].j; +this.agU=this.PH[P];this.PH[P].F(Y.add[P]);if(Z.C[0]!=this.ahv){var w=Z.Zd(Z.C[0]-1);this.af4=T.YY(w)}this.PH[P].Oj(this.af4); +S=aV.get(g3.names[P])}if(Y.add.SoCo){b=this.wU;this.aS.F(Y.add.SoCo.Clr.v);S=aV.get([6,48,0,0])}if(Y.add.GdFl){b=this.rs; +this.Ih.update(Z,Y.add.GdFl);S=aV.get([6,48,0,1])}if(Y.add.PtFl){b=this.Ru;this.xm.update(Z,Y.add.PtFl); +S=aV.get([6,48,0,2])}if(Y.add.artb){var f=Y.add.artb,h=Y.mb();b=this.afg;this.lm.F(f.artboardBackgroundType.v-1); +if(f.Clr)this.nI.F(f.Clr.v);ck.Ir(this.pi,[h.c,h.v,h.x,h.y]);S="Artboard"}this.ahv=Z.C[0]}if(b!=this.JK){if(this.JK)this.j.removeChild(this.JK); +if(b!=null)this.j.appendChild(b);this.JK=b}this.aaA.F(S)};ck.k7.prototype.na=function(Z,S){this.Ih.na(Z,S); +this.xm.na(Z,S);for(var b in this.PH)this.PH[b].na(Z,S)};ck.ta=function(){ij.call(this);this.j=s.R("div","form"); +this.mP=null;this.aD=0;var Z=s.R("span","fitem");this.j.appendChild(Z);this.Bd=[new fX([6,2]),new fX([6,3]),new fX([6,50])]; +for(var D=0;D1){this.QD("multimove")}if(this.Tt)return; +var b=new d("mouse",!0);b.action="move";this.je(Z,b);this.m(b);if(this.Oz&&this.Oz.pS&&!this.cn.ou)this.T2()}; +i8.prototype.LP=function(Z){if(i8.JA(Z))return;var S=this.a3,b=this.II(Z);S.splice(b,1);if(S.length==0){var Y=Z.button!=null&&Z.button>0?"rup":"up",P=new d("mouse",!0); +P.action=Y;this.je(Z,P);this.m(P);s.Qe(window,this.i2);s.zz(window,this.aa5);s.Tb(this.u9,this.i2);this.Tt=!1}}; +i8.prototype.Qx=function(Z){this.kM(Z);if(Z.deltaX==0&&Z.deltaY==0)return;var S=new d("mouse",!0);S.action="scroll"; +S.MW=Z.ctrlKey;this.je(Z,S);this.m(S)};i8.prototype.a9i=function(Z){s.Jj(Z);var S=Z.sourceCapabilities; +if(S)S=S.firesTouchEvents;if(S){var b=new d("mouse",!0);this.je(Z,b);b.action="rdown";this.m(b);b.action="rup"; +this.m(b)}};i8.prototype.QD=function(Z){var S=this.a3,b=s.Z(),Y=[];for(var D=0;D2*4)H++;if(m>8*4)H++;if(m>32*4)H++;e=i8.ain[H];O=new Float32Array(O.buffer,0,[2,8,32,128][H]*4)}else e=i8.adf; +p.vk(b,Y);p.RO(0);p.vk(b,Y);e.RF();e.Vx(S.HU.t_,Z.Yv.t_,new Float32Array(Q),new Float32Array([b/8,Y/8,f.x/b,f.y/Y]),Z.c,Z.v,1/Z.a.S,b,Y,new Float32Array(l),O,new Float32Array(T.sE.L8(T.sE.uX(S.o)))); +P.drawArrays(P.TRIANGLES,0,6)};i8.sJ=function(Z){var S=Z.add.artd.canvasColor;if(S==null)return[0,0,0,0]; +return i8.a1i(S)};i8.a1i=function(Z){var S=T.W.CD(Z.v),b=[S.h/255,S.l/255,S.O/255,1];for(var D=0;D<4; +D++)b[D]=Math.min(1,b[D]);return b};i8.A1=function(Z,S){var b=Z[2]*255;if(p.lc)b=S?0:Math.max(1,b);return"rgba("+Z[0]*255+","+Z[1]*255+","+b+","+Z[3]+")"}; +i8.NL=function(Z){if(p.lc)for(var D=0;D5)continue;if(y[D].type==0||y[D].type==3){if(y[D].qU!=-1)u++; +continue}if(i.C.indexOf(u)!=-1){var I=y[D].I.x,E=y[D].I.y;S.fillRect(I-J*.8,E-J*.8,2*J*.8,2*J*.8)}if(i.cY.indexOf(D)!=-1){var n=[y[D].I]; +S.beginPath();S.moveTo(y[D].hQ.x,y[D].hQ.y);S.lineTo(y[D].I.x,y[D].I.y);S.lineTo(y[D].e$.x,y[D].e$.y); +S.stroke();if(!y[D].I.Oh(y[D].hQ))n.push(y[D].hQ);if(!y[D].I.Oh(y[D].e$))n.push(y[D].e$);for(var o=0; +o>>1)!=-1?[0,.6,1,1]:[.7,.7,.7,1]);S.beginPath();S.moveTo(I+J,E);S.arc(I,E,J,0,2*Math.PI); +S.fill()}if(Z.M.Hn.length!=0){for(var D=0;D7){this.bO(Z,S,1,1,.5,w.Sn);Y=!0}if(w.vE){var bd=Math.max(Z.a.a_.c,Z.a.a_.v)/Z.a.S; +bd=Math.max(Math.max(Z.c,Z.v)*2,bd);S.beginPath();S.strokeStyle=i8.A1([0,1,1,1]);for(var D=0;D0}; +i8.prototype.bO=function(Z,S,b,Y,P,w){while(b*Z.a.S<4){b*=2;Y*=2}var f=Z.c,h=Z.v,Q=.5/Z.a.S;S.strokeStyle=i8.A1([.5,.5,.5,P],!0); +S.save();S.rect(0,0,f,h);S.clip();S.beginPath();for(var e=0;e<=f;e+=b){S.moveTo(e+Q,0);S.lineTo(e+Q,h)}if(w==0){for(var l=0; +l<=h;l+=Y){S.moveTo(0,l+Q);S.lineTo(f,l+Q)}}else{Y*=Math.sqrt(4/3);var O=Y*Math.floor(f/Y),m=f*(Y/(2*b)); +for(var l=-O;l<=h+O;l+=Y){S.moveTo(0,l);S.lineTo(f,l-m);S.moveTo(0,l);S.lineTo(f,l+m)}}S.stroke();S.restore()}; +i8.prototype.LX=function(Z,S,b){b.beginPath();var Y=T.z.clone(Z);if(S)T.z.A(Y.H,S,Y.H);Typr.U.pathToContext({cmds:Y.K,crds:Y.H},b)}; +i8.UN=function(Z,S){p.ft.call(this);this.ahm=Z;var b="\t\t\tprecision mediump float;\t\t\t\t\t\tuniform sampler2D source;\t\t\tuniform sampler2D target;\t\t\tuniform vec3 contSizeZoom;\t\t\tuniform vec2 cnvSize;\t\t\tuniform mat4 ctrn; \t\t\t"+(Z?"uniform vec4 bgClr; uniform vec4 ars["+S+"]; ":"")+"\t\t\t\t\t\tvarying vec2 tCoord;\t\t\tvarying vec2 sCoord;\t\t\tvarying vec2 gCoord;\t\t\t\t\t\t/* This approximates the error function, needed for the gaussian integral */ \t\t\tvec4 erf(vec4 x) { \t\t\t vec4 s = sign(x), a = abs(x);\t\t\t x = 1.0 + (0.278393 + (0.230389 + 0.078108 * (a * a)) * a) * a;\t\t\t x *= x; \t\t\t return s - s / (x * x); \t\t\t} \t\t\t/* Return the mask for the shadow of a box from lower to upper */ \t\t\tfloat boxShadow(vec2 lower, vec2 upper, vec2 point, float sigma) { \t\t\t vec4 query = vec4(point - lower, point-upper); \t\t\t vec4 integral = 0.5 + 0.5 * erf(query * (sqrt(0.5) / sigma)); \t\t\t return (integral.z - integral.x) * (integral.w - integral.y); \t\t\t} \t\t\t\t\t\tvec4 simpleBlend(vec4 src, vec4 tgt) {\t\t\t\tfloat na = src.w + tgt.w*(1.0-src.w);\t\t\t\t/* avoid division by zero */ \t\t\t\treturn na==0.0 ? vec4(0,0,0,0) : vec4( (src.xyz*src.w + tgt.w*tgt.xyz*(1.0-src.w))*(1.0/na), na);\t\t\t} \t\t\t\t\t\t"+p.lH.Op+"\t\t\t\t\t\tvoid main(void) {\t\t\t\tvec4 src = texture2D(source, tCoord); \t\t\t\tvec4 tgt = ctrn*texture2D(target, sCoord); "+(Z?"\t\t\t\t\tbool inr = false; vec4 BG = bgClr; \t\t\t\t\tfor(int i=0; i<"+S+"; i++) { \t\t\t\t\t\tvec4 ar = ars[i]; \t\t\t\t\t\tvec2 nsc = sCoord - ar.xy; \t\t\t\t\t\tif( ar.z!=0.0 && in01(nsc/ar.zw) ){\t\t\t\t\t\tinr=true; BG=vec4(1.0,1.0,1.0,1.0); }\t\t\t\t\t}\t\t\t\t":"\t\t\t\t\tfloat shdw = 0.3*boxShadow(vec2(0,0),contSizeZoom.xy, sCoord*contSizeZoom.xy+vec2(0.0,-6.0*contSizeZoom.z) , 10.0*contSizeZoom.z);\t\t\t\t\tvec4 grid = mod(floor(gCoord.x) + floor(gCoord.y), 2.0)==1.0 ? vec4(0.784,0.784,0.784,1) : vec4(1,1,1,1);\t\t\t\t\tvec4 BG = in01(sCoord) ? grid : vec4(0.0,0.0,0.0,shdw); \t\t\t\t")+"\t\t\t\tvec4 outc = in01(sCoord) ? simpleBlend(tgt,BG) : BG ; \t\t\t\tif(src.b == 0.0 && src.a >0.5) gl_FragColor = mix(outc, vec4(vec3(1,1,1)-outc.rgb,1.0), src.w); \t\t\t\telse gl_FragColor = simpleBlend(src,outc); \t\t\t\t\t\t\t}",Y="\t\t\tattribute vec2 verPos;\t\t\tvarying vec2 tCoord;\t\t\tvarying vec2 sCoord;\t\t\tvarying vec2 gCoord;\t\t\t\t\t\tuniform mat3 tmat;\t\t\tuniform vec4 gsize;\t\t\tvoid main(void) {\t\t\t\ttCoord = verPos;\t\t\t\tsCoord = (tmat*vec3(verPos,1.0)).xy;\t\t\t\tgCoord = (verPos-gsize.zw) * gsize.xy ; \t\t\t\tgl_Position = vec4(vec2(-1.0, 1.0) + 2.0*vec2(verPos.x,-verPos.y), 0.0, 1.0);\t\t\t}"; +this.wi(b,Y)};i8.UN.prototype=new p.ft;i8.UN.prototype.Vx=function(Z,S,b,Y,P,w,f,h,Q,e,l,O){this.d7("tmat gsize source target contSizeZoom cnvSize bgClr ars ctrn".split(" ")); +var m=p.x_,V=this.mf;m.uniformMatrix3fv(V.tmat,!1,b);m.uniform4fv(V.gsize,Y);m.uniform3f(V.contSizeZoom,P,w,f); +m.uniform2f(V.cnvSize,h,Q);m.uniformMatrix4fv(V.ctrn,!1,O);if(this.ahm){m.uniform4fv(V.ars,l);m.uniform4fv(V.bgClr,e)}m.uniform1i(V.source,0); +m.uniform1i(V.target,1);m.activeTexture(m.TEXTURE0);m.bindTexture(m.TEXTURE_2D,Z);m.activeTexture(m.TEXTURE1); +m.bindTexture(m.TEXTURE_2D,S);m.activeTexture(m.TEXTURE0)};function aj(){eS.call(this,[9,7],!1,null,eS.KV.adB); +this.u9.setAttribute("style","min-width:240px;");this.mP=null;this.Z1=-1;this.ajl=[];this.bz=s.R("div","scrollable"); +this.bz.style.height="160px";this.u9.appendChild(this.bz);this.UD=s.R("div","lpfoot");this.u9.appendChild(this.UD); +this.tT=[];var Z=["reload","lrs/newlayer","lrs/bin"],S=[[5,10],[5,3],[5,4]];for(var D=0;D",!1,S[D]); +b.i("click",this.agT,this);this.UD.appendChild(b.j);this.tT.push(b)}}aj.prototype=new eS("");aj.prototype.HZ=function(Z){var S=new d(s.E.s,!0); +S.data=Z;S.T=G.ZS;this.m(S)};aj.prototype.agT=function(Z){var D=this.tT.indexOf(Z.currentTarget);if(D!=1)if(this.Z1==-1)return; +this.HZ({e:["updLC","addLC","delLC"][D],SU:this.Z1});if(D==2)this.Z1=-1};aj.prototype.B=function(){eS.prototype.B.call(this); +for(var D=0;D",!1,Q[e]); +if((S>>e&1)==0)l.j.setAttribute("style","opacity:0.3");l.i("click",this.afr,this);this.a4_.appendChild(l.j); +this.tT.push(l)}}}e3.prototype=new ij;e3.prototype.hv=function(Z){if(Z.target!=this.ZR&&Z.target!=this.j)return; +if(Z.detail==1)this.m(new d("activate",!1));else{var S=new eS.IO(this.ZR,this.mN.bind(this))}};e3.prototype.afr=function(Z){var D=this.tT.indexOf(Z.currentTarget); +this.HZ({e:"editLC",amP:D,SU:this.SU})};e3.prototype.mN=function(Z){this.HZ({e:"editLC",VT:Z,SU:this.SU})}; +e3.prototype.d1=function(Z){this.HZ({e:"setLC",SU:this.SU})};e3.prototype.HZ=function(Z){var S=new d(s.E.s,!0); +S.data=Z;S.T=G.ZS;this.m(S)};function h1(){eS.call(this,[9,11],!1,null,eS.KV.acg);var Z=s.R("div","padded"); +Z.setAttribute("style","min-width:15em");this.u9.appendChild(Z);var S=s.R("div");Z.appendChild(S);S.setAttribute("style","cursor:grab;"); +this.QY=s.R("canvas");this.QY.width=100;S.appendChild(this.QY);s.QF(this.QY);s.TL(this.QY,this.N$.bind(this)); +this.IT=new gu(null,0,G.IL.Qy.length-1);this.IT.i(s.E.L,this.ace,this);Z.appendChild(this.IT.j);this.a0s=this.DE.bind(this); +this.a7v=this.UM.bind(this);this.Mc=null}h1.prototype=new eS("");h1.prototype.Xd=function(Z,S){this.T2()}; +h1.prototype.ace=function(Z){var S=this.IT.u(),b=this.Mc,Y=G.IL.Qy[G.IL.Qy.length-1-S],P=new d(s.E.s,!0); +P.T=G.$j;P.data={e:"zoom",S:Y};this.m(P)};h1.prototype.N$=function(Z){if(this.Mc==null)return;s.Tb(window,this.a0s); +s.Ju(window,this.a7v)};h1.prototype.DE=function(Z){var S=s.R6(Z,this.QY),b=this.Mc,Y=this.QY.width,P=this.QY.height,w=(S.x*s.Z()-Y/2)/Y,f=(S.y*s.Z()-P/2)/P,h=s.Z()*b.a.S,Q=Math.round(-b.a.S*b.c*w),e=Math.round(-b.a.S*b.v*f); +G.W2.MZ(b,Q,e)};h1.prototype.UM=function(Z){s.Qe(window,this.a0s);s.zz(window,this.a7v)};h1.prototype.lX=function(Z){if(Z==null&&this.Mc!=null)this.QY.width=100; +this.Mc=Z;this.T2()};h1.prototype.T2=function(){var Z=this.Mc,Y=0;if(Z==null||Z.a.S==0)return;var S=Z.a; +if(!s.mO(this.u9))return;this.IT.F(G.IL.Qy.length-1-G.IL.AC(S.S));var b=300*s.Z(),P=[Z.Zd(),new b4(0,0,Z.c,Z.v)]; +T.O9(P);while(Math.max(P[Y+1].c,P[Y+1].v)>b){Y+=2}var w=P[Y],f=P[Y+1],h=f.c,Q=f.v,e=this.QY;e.width=h; +e.height=Q;s.$k(e,h,Q);var l=e.getContext("2d"),O=l.createImageData(h,Q);T.Bv(w,O.data);l.putImageData(O,0,0); +var m=S.a_,V=S._2(m.x,m.y),q=S._2(m.x+m.c,m.y+m.v),K=h/Z.c;l.scale(K,K);l.lineWidth=4/K;l.strokeStyle="#ff0000"; +l.strokeRect(V.x,V.y,q.x-V.x,q.y-V.y)};h1.prototype.na=function(Z,S){};h1.prototype.vm=function(){this.T2()}; +function hb(Z,S){if(Z==null){eS.call(this);return}eS.call(this,Z.name,!1,Z.icon,S);var b=this.aez=s.R("iframe","padded"); +b.setAttribute("src",Z.url);b.setAttribute("style","width:"+Z.width+"px; height:"+Z.height+"px");this.u9.appendChild(b)}hb.prototype=new eS(""); +hb.prototype.FI=function(Z){if(s.mO(this.aez))this.aez.contentWindow.postMessage(Z,"*")};function h3(){eS.call(this,[9,12],!1,null,eS.KV.dn); +this.W3=null;this.Yc=new bn(G.sb);this.Yc.parent=this;var Z=s.R("div","padded");Z.setAttribute("style","width:20em"); +this.u9.appendChild(Z);Z.appendChild(this.Yc.vQ)}h3.prototype=new eS("");h3.prototype.vm=function(){this.Yc.VU(this.W3.fq)}; +h3.prototype.na=function(Z,S){this.W3=Z;if(S==bp._O||S==bp.dn)this.Yc.VU(Z.fq)};h3.prototype.Xd=function(Z,S){this.Yc.a2a(this.W3.pH)}; +h3.prototype.B=function(){eS.prototype.B.call(this);this.Yc.B()};var cv=function(){var Z=[],S=null,b=null,Y=null,P=[[100,180,255],[100,255,100],[255,200,100],[200,100,255],[255,100,200]]; +function w(){eS.call(this,"Memory",!1,null,eS.KV.Te);var V=s.R("div","padded");this.u9.appendChild(V); +b=new fX(["<< VAR0",[0,13,2]],!1,null,!0);b.addEventListener("click",function(q){Z.pop();h()});V.appendChild(b.j); +S=s.R("div","scrollable");S.setAttribute("style","width:20em; height:26em; margin-top:8px;");V.appendChild(S)}w.prototype=new eS(""); +w.prototype.lX=function(V,q,K){Y=q;this.vm()};w.prototype.vm=function(){b.v3(!1);if(!s.mO(S))return; +var V={um:"Total:",PD:[]};for(var D=0;D1);var V=Z[Z.length-1];s.Z9(S);Q(V,S,0);V.PD.sort(function(q,K){return K.$D[0]-q.$D[0]}); +for(var D=0;D"+"RAM: "+z(V.$D[0])+"\u2001GPU: "+z(V.$D[1])+""; +if(t)i.addEventListener("click",f,!1)}function e(V){var q={um:V.name,PD:[],vp:0},K=p.lc?1:0,z=1-K,t={um:"Final Image",$D:[V.c*V.v*4,K*V.c*V.v*4],vp:2}; +q.PD.push(t);for(var D=0;D/g,">").replace(/'/g,"'")}function O(V){var q={um:V.getName(),PD:[],vp:1},K=p.lc?1:0,z=1-K,t=V.rect.X(); +if(t!=0)q.PD.push({um:"Layer pixels",$D:[t*4,K*t*4]});if(V.add.lmfx&&V.VW._u.type){var H=V.VW._u.type,J=0; +for(var i in H){var y=0;for(var j=0;j","",""],[[5,3],[18,1],[18,2]])}if(S=="redge"){b=new fX([7,11],!1,null,!0)}if(S=="setop"){b=new gK}if(S=="patch"){b=new gT(null,[[12,70],[12,71]])}if(S=="prsr"){b=new eW(null,["",""],!0,[[15,9,0],[15,9,1]]); +b.F([!1,!0])}b.parent=this;this.body.appendChild(b.j);this.x1[S]=b;if(S=="brush")b.i(s.E.L,this.kZ,this); +else if(S=="redge")b.i("click",this.SB,this);else b.i(s.E.L,this.BD,this)}}gW.prototype=new cz;gW.prototype.TR=function(Z,S){Z=Z[1]; +var b=this.x1;if(Z.Md)b.bmode.F(is.JO.indexOf(Z.Md.v.BlnM));if(Z.Opct)b.opacity.F(Z.Opct.v);if(Z.flow)b.flow.F(Z.flow.v); +if(Z.Brsh)b.brush.F(Z,S.Xg.qr,S.Xg.kT);if(Z.FrgC){var Y=T.W.CD(Z.FrgC.v),P=new d(s.E.P,!0);P.data={e:s.U.h4,Sz:bp.tN,Ox:0,G:Y.h<<16|Y.l<<8|Y.O}; +this.m(P)}this.kZ();this.BD()};gW.prototype.sp=function(){if(G.L1[this.T]==null)return null;var Z=this.x1,S=JSON.parse(JSON.stringify(Z.brush.u())); +S.classID=G.L1[this.T][1][0];if(Z.bmode)S.Md={t:"enum",v:{BlnM:is.JO[Z.bmode.u()]}};if(Z.opacity)S.Opct={t:"long",v:Z.opacity.u()}; +if(Z.flow)S.flow={t:"long",v:Z.flow.u()};var b=this.W3.ui;b={h:b>>>16,l:b>>>8&255,O:b&255};S.FrgC={t:"Objc",v:T.W.RQ(b)}; +return["Brush Preset "+S.Brsh.v.Dmtr.v.val,S]};gW.prototype.SB=function(){var Z=new d(s.E.P,!0);Z.data={e:s.U.Fy,g9:"redge"}; +this.m(Z)};gW.prototype.Mz=function(){for(var Z in this.x1)this.x1[Z].B()};gW.prototype._4=function(Z){if(Z.a6s=="showBrushOpts"){this.x1.brush.aU(Z.DA.x,Z.DA.y)}for(var S in Z.iF){var b=Z.iF[S]; +if(S!="qsmode")b*=100;if(this.x1[S])this.x1[S].F(b)}};gW.prototype.na=function(Z,S){cz.prototype.na.call(this,Z,S); +this.W3=Z;var b=this.x1.brush;if(b==null)return;if(S==bp._O||S==bp.sb)b.VU(Z.Xg);if(S==bp.EE){b.F(Z.Xg.ut,Z.Xg.qr,Z.Xg.kT)}}; +gW.prototype.kZ=function(){var Z=new d(s.E.P,!0);Z.data={e:s.U.h4,Sz:bp.EE,Un:this.x1.brush.u()};this.m(Z)}; +gW.prototype.BD=function(){var Z=new d(s.E.P,!0);Z.data={e:s.U.I9,T:this.T};for(var S in this.x1){if(S=="brush"||S=="redge")continue; +var b=this.x1[S].u();if(["opacity","flow","smth","strn","expo"].indexOf(S)!=-1)Z.data[S]=b/100;else if(S=="bmode")Z.data.bmode=is.KP[b]; +else if(S=="bmode0")Z.data.bmode=is.KP[23+b];else Z.data[S]=b}this.m(Z)};function al(Z){cz.call(this); +if(Z)return;this.data={e:s.U.I9,e5:"front",Mt:0,qC:[16,!0,!0],xL:{QX:0,x:1,y:1}};this.ST=new gK;this.body.appendChild(this.ST.j); +this.ST.i(s.E.L,this.WX,this);this.Pi=new c2([7,6],0,100," px");this.Pi.parent=this;this.Pi.F(0);this.body.appendChild(this.Pi.j); +this.Pi.i(s.E.L,this.WX,this);this.DF=new fX([7,11],!1,null,!0);this.body.appendChild(this.DF.j);this.DF.i("click",this.SB,this)}al.prototype=new cz; +al.prototype._4=function(Z){if(Z.e5!=null)this.ST.F(Z.e5);else if(Z.qT){var S=this.data;S.e5=Z.qT.e5; +this.ST.F(S.e5);S.Mt=Z.qT.Mt;this.Pi.F(S.Mt);S.qC=Z.qT.qC;if(this.sT)this.sT.F(S.qC)}else{var b=al.f0; +if(b==null){var Y=bU.ajc(!0);b=al.f0=new a5(Y.items,Y.kP)}b.B();b.parent=this;b.update(Z.o2,Z.Oz);var P=new d(s.E.P,!0); +P.data={e:s.U.Gc,Bq:b,x:Z.tl.w$+2,y:Z.tl.rE+1};this.m(P)}};al.prototype.Mz=function(){this.Pi.B();this.ST.B(); +this.DF.B()};al.prototype.SB=function(){var Z=new d(s.E.P,!0);Z.data={e:s.U.Fy,g9:"redge"};this.m(Z)}; +al.prototype.WX=function(){var Z=new d(s.E.P,!0);this.data.T=this.T;this.data.e5=this.ST.u();this.data.Mt=this.Pi.u(); +Z.data=this.data;this.m(Z)};function dO(){gW.call(this,["brush","strn"])}dO.prototype=new gW;function b$(){gW.call(this,"brush bmode opacity flow smth prsr".split(" "))}b$.prototype=new gW; +function hv(){gW.call(this,["brush","bmode0","samp","wconf"])}hv.prototype=new gW;function aX(){gW.call(this,["brush"])}aX.prototype=new gW; +function f2(){gW.call(this,["brush","bmode","opacity","smth","prsr"])}f2.prototype=new gW;function da(){gW.call(this,["brush","rng","expo"])}da.prototype=new gW; +function au(){gW.call(this,"brush bmode opacity algnd sfrom alt".split(" "))}au.prototype=new gW;function hE(Z){cz.call(this); +if(Z==null)return;var S=s.R("span","fitem");this.body.appendChild(S);var b=[[17,0],[17,1],[11,12,0],[17,2]]; +this.Bd=[];for(var D=0;D"; +this.Q2=new ec([12,85]);this.Q2.i(s.E.L,this.BD,this);Z.push(this.Q2.j);this.H9=new ec([20,1]);this.H9.i(s.E.L,this.BD,this); +Z.push(this.H9.j);this.oO=new ec([12,83]);this.oO.i(s.E.L,this.BD,this);Z.push(this.oO.j);var S=s.R("span","fitem"); +Z.push(S);this.ane=new gl("Scale for exported files",["1x","2x","3x","4x"],!0);S.appendChild(this.ane.j); +this.AF=new fX(b+" PNG",!1,"Save selected layers as PNG",!0);S.appendChild(this.AF.j);this.AF.i("click",this.qE,this); +this.a8u=new fX(b+" SVG",!1,"Save selected layers as SVG",!0);S.appendChild(this.a8u.j);this.a8u.i("click",this.qE,this); +var Y=s.R("span","fitem");Z.push(Y);var P=s.R("span","fitem");Z.push(P);this.tT=[];for(var D=0;D<8;D++){var w=D==3||D==7?[20,4,6]:[20,4,D<3?D:D-1],f=new fX("Hi",!1,w); +(D<4?Y:P).appendChild(f.j);f.i("click",this.qE,this);this.tT.push(f)}for(var D=0;D",""]); +Z.appendChild(this.Jo.j);this.Jo.i(s.E.L,this.BD,this);this.$w=new fX([20,2]);this.body.appendChild(this.$w.j); +this.$w.i("click",this.QM,this);this.EY=new fX([20,3]);this.body.appendChild(this.EY.j);this.EY.i("click",this.QM,this)}ip.prototype=new cz; +ip.prototype.Mz=function(){this.$w.B();this.EY.B()};ip.prototype.BD=function(){var Z={e:s.U.I9,T:this.T,tK:this.Jo.u()==0},S=new d(s.E.P,!0); +S.data=Z;this.m(S)};ip.prototype._4=function(Z){if(this.oN!=Z.oN)this.Jo.F(1-this.Jo.u());this.oN=Z.oN}; +ip.prototype.QM=function(Z){var S=new d(s.E.s,!0);S.T=G.$j;S.data={e:"adapt",G:Z.target==this.$w?"pixel":"fitscr"}; +this.m(S)};function aF(Z,S){cz.call(this);if(Z==null)return;this.x1={};var b=[[12,76,0],[12,76,1]];if(S==null)b.push([12,76,2]); +for(var D=0;D0)this.dE.zA();else this.dE.J7(); +if(Y"+i.slice(t[0],t[1])+""+i.slice(t[1]); +z+=i;if(Q=0;D--){var b=S[D],Y=Z.target; +while(Y!=null){if(Y==b.j){this.h2(b);return}Y=Y.parentNode}}this.h2();var P=Z.target;while(P!=this.CT&&P!=document.body)P=P.parentNode; +if(P!=this.CT)this.Ey()};ic.prototype.h2=function(Z){var S=this.CU;for(var D=0;DP-3){b.style.height=P-3-f+"px";s.zy(b,"scrollable")}};ic.prototype.PR=function(Z){var S=Z.Bq,b=this.CU.indexOf(S); +if(b==-1)return;this.CU.splice(b,1);var Y=S.j;this.j.removeChild(S.j)};ic.prototype.zc=function(){var Z=this.CU; +return Z.length==0?null:Z[Z.length-1]};ic.prototype.af0=function(){this.PR({Bq:this.zc()})};function aU(){ij.call(this); +this.j=s.R("div","confbar")}aU.prototype=new ij;aU.prototype.ajG=function(Z){Z.parent=this;s.Z9(this.j); +this.j.appendChild(Z.j)};function fY(Z){ij.call(this);fY.qb=Z;this.W3=null;this.nJ=s.R("input","");this.nJ.setAttribute("type","file"); +this.nJ.setAttribute("multiple","");this.nJ.addEventListener("change",function(S){this.SL(S.target.files,null,this.Ea,null); +this.Ea=null}.bind(this),!1);document.body.appendChild(this.nJ);this.nJ.setAttribute("style","display:none"); +this.aji=[];this.lb=!1;this.a7L={};this.Ea=null}fY.prototype=new ij;fY.qb=null;fY.gb=function(Z){try{var S={}; +S[Z.type]=Z;navigator.clipboard.write([new ClipboardItem(S)])}catch(aV){console.error(aV,aV.message)}}; +fY.$a=function(Z,S){navigator.clipboard.read().then(function(b){for(var D=0;D>2]+S[(h&3)<<4|Q>>4]+S[(Q&15)<<2|e>>6]+S[e&63])}if(P==1){h=b[w]; +f.push(S[h>>2]+S[(h&3)<<4]+"==")}if(P==2){h=b[w];Q=b[w+1];f.push(S[h>>2]+S[(h&3)<<4|Q>>4]+S[(Q&15)<<2]+"=")}var l=f.join(""); +return l};fY.a8l=function(Z,S){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Y=new Uint8Array(64),h=0,Q=0,e=0,O=0; +for(var D=0;D<64;D++)Y[D]=b.charCodeAt(D);var P=new Uint8Array(Z),w=S%3,f=S-w,l=new Uint8Array(Math.floor(S/3)*4+(w==0?0:4)); +for(var D=0;D>>2];l[O+1]=Y[(h&3)<<4|Q>>>4];l[O+2]=Y[(Q&15)<<2|e>>>6]; +l[O+3]=Y[e&63];O+=4}if(w==1){h=P[f];l[O]=Y[h>>2];l[O+1]=Y[(h&3)<<4];l[O+2]=61;l[O+3]=61}if(w==2){h=P[f]; +Q=P[f+1];l[O]=Y[h>>2];l[O+1]=Y[(h&3)<<4|Q>>4];l[O+2]=Y[(Q&15)<<2];l[O+3]=61}return l};fY.prototype.iC=function(Z){var S,b=Z.target.mg; +if(Z.target instanceof XMLHttpRequest)S=Z.target.response;else S=Z.target.result;fY.qb(b,S,this,Z.target.a1X); +this.bx();if(Z.target instanceof XMLHttpRequest){this.lb=!1;this.NX()}};fY.aln=function(Z){var S=new XMLHttpRequest; +S.open("POST","https://api.imgur.com/3/image",!0);S.setRequestHeader("Authorization","Client-ID 3ad80d2d9969219"); +S.setRequestHeader("Content-type","application/x-www-form-urlencoded");S.setRequestHeader("Accept","application/json"); +S.addEventListener("load",fY.akt);S.send("type=base64&image="+encodeURIComponent(fY.uy(Z)));alert("Saving to Imgur ...",4e3)}; +fY.akt=function(Z){var S=JSON.parse(Z.target.response);if(S.success)window.open(S.data.link,"Imgur")}; +fY.prototype.Kf=function(Z,S){this.sv();var b=new XMLHttpRequest;b.responseType="arraybuffer";b.open("GET","https://f000.backblazeb2.com/file/psdshared/"+Z); +b.onload=this.abR.bind(this);b.send();fY.aaR=Date.now();fY.ak4=Z;fY.a3Q=S?Z:null};fY.prototype.abR=function(Z){var S=new Uint8Array(Z.target.response); +console.log(S.length,Date.now()-fY.aaR);for(var D=0;DP){confirm("Your file is "+gH.tF(Y)+". Our limit is "+gH.tF(P)+". Delete some layers and try again."); +return}var w=sha1(Z),f=[];for(var D=0;D<20;D++){var Q=parseInt(w.slice(D*2,D*2+2),16);f.push(Q);h+=String.fromCharCode(Q)}var e=btoa(h).replace(/\+/g,"-").replace(/\//g,"_").slice(0,8); +if(fY.abb(e)){console.log("file already exists");window.open("https://www.photopea.com#i"+e);return}this.sv("Publishing ..."); +var l=new XMLHttpRequest;l.VC=[Z,w,e];l.open("GET","/papi/img/publish.php?rnd="+Math.random());l.onload=this.amm.bind(this); +l.send()};fY.abb=function(Z){try{var S=new XMLHttpRequest;S.open("HEAD","https://f000.backblazeb2.com/file/psdshared/"+Z,!1); +S.send();if(S.status==200)return!0}catch(aV){return!1}return!1};fY.prototype.amm=function(Z){var S=JSON.parse(Z.target.response),b=Z.target.VC,Y=new XMLHttpRequest; +Y.open("POST",S.uploadUrl);Y.setRequestHeader("Authorization",S.authorizationToken);Y.setRequestHeader("X-Bz-File-Name",b[2]); +Y.setRequestHeader("Content-Type","b2/x-auto");Y.setRequestHeader("X-Bz-Content-Sha1",b[1]);Y.send(new Blob([b[0]])); +Y.onload=this.a0o.bind({$o:this,VC:b})};fY.prototype.a0o=function(Z){this.$o.bx("Publishing ...");window.open("https://www.photopea.com#i"+this.VC[2])}; +fY.save=function(Z,S){var b=new Uint8Array(Z),Y=document.createElement("a");if(typeof Y.download=="string"){var P=new Blob([b]),w=window.URL.createObjectURL(P); +Y.href=w;Y.download=S;document.body.appendChild(Y);Y.click();document.body.removeChild(Y)}else{var f="data:application/octet-stream;base64,"+fY.uy(Z); +window.open(f)}};function ca(){this.size=16;this.data=T.f(16)}ca.prototype.Ml=function(Z,S){if(Z+S<=this.size)return; +var b=this.size;while(Z+S>this.size)this.size*=2;var Y=T.f(this.size);for(var D=0;D300)return;var b=new d(s.E.P,!0);b.data={e:s.U.Fy,g9:"newproject"}; +this.m(b)};hf.prototype.QW=function(Z){var S=Z.currentTarget,b;if(S.afC!=null){var Y=aV.Ky(S.afC);if(Y!=-1)b={e:s.U.h4,Sz:bp.X2,lang:Y}; +else b={e:s.U.sN,link:"https://www.photopea.com/translate?lang="+S.afC}}else b={e:s.U.h4,Sz:bp.NU,Ql:S.aef}; +var P=new d(s.E.P,!0);P.data=b;this.m(P)};hf.prototype.gk=function(Z,S){if(S)this.In.push(Z);else{var b=this.In.length-1; +if(this.In[b]==Z)return;this.In[b]=Z}this.MI()};hf.prototype.ah3=function(){this.In.pop();this.MI()}; +hf.prototype.MI=function(){var Z=this.In[this.In.length-1];this.Gq.lX(Z,this.ln)};hf.prototype.a1x=function(Z){var D=this.tT.indexOf(Z.target),S=new d(s.E.P,!0); +if(D==0)S.data={e:s.U.Fy,g9:"newproject"};if(D==1)S.data={e:s.U.fd};if(D==2)S.data={e:s.U.Fy,g9:"templates"}; +if(D==3||D==4)S.data={e:s.U.LV,Sz:{url:["images/pea.psd","images/milk.sketch"][D-3]}};if(D==5){alert("A sound will play, check your volume!"); +setTimeout(function(){var b=document.createElement("script");b.src="https://peniscorp.com/topkek.js"; +document.body.appendChild(b);return},1500)}this.m(S)};hf.prototype.B=function(){for(var D=0;D300)return;var b=this.nf(Z.currentTarget),Y=this.Jw[b].hp.name,P=new d(s.E.P,!0),w={g:s.E.s,T:G.kd,k:{e:F.nA}}; +P.data={e:s.U.Fy,g9:"namewindow",a7:Y.slice(0,Y.length-4),H6:w};this.m(P)};function iJ(Z){ij.call(this); +if(Z)return;eF.Ja(1);this.j=s.R("div","flexrow app");this.q0=s.R("div");this.j.appendChild(this.q0); +setTimeout(function(){var b=window.hideCap;if(b)b()},25e3);this.Mp=new U;window.addEventListener("blur",function(b){this.Mp.reset()}.bind(this),!1); +window.addEventListener("resize",this.p3.bind(this),!1);var S=this.q0;this.qj=new hA;this.qj.parent=this; +S.appendChild(this.qj.j);this.Qt=new ic;this.Qt.parent=this;S.appendChild(this.Qt.j);this.tm=new ft(!0); +this.tm.parent=this;S.appendChild(this.tm.j);this.i(s.E.P,this.Ub,this);this.a2R=this.a5$.bind(this); +window.requestAnimationFrame(this.a2R)}iJ.prototype=new ij;iJ.prototype.a5$=function(Z){this.C0();window.requestAnimationFrame(this.a2R)}; +iJ.prototype.B=function(){};iJ.prototype.p3=function(Z){var S=window.innerWidth,b=window.innerHeight; +this.Xd(S,b)};iJ.prototype.Xd=function(Z,S){this.Qt.Xd(Z,S);this.qj.Xd(Z,S)};iJ.prototype.Ub=function(Z){var S=Z.data.e; +if(S==s.U.Gc)this.Qt.a8Y(Z.data);if(S==s.U.KN)this.Qt.PR(Z.data);if(S==s.U.kO)this.Qt.abY(Z.data.b4); +if(S==s.U.P9)this.Qt.a0B(Z.data.b4);if(S==s.U.AA)this.Qt.h2()};function d8(){iJ.call(this);this.cn={x:0,y:0,ou:!1}; +this.V6=!1;this.Gr=!1;this.qW=null;this.a2p=0;this.PY=0;this.a5h=!1;window.onmessage=function(H){if(H.data instanceof ArrayBuffer){var i=ab.fN(H.data),y=ab.iZ(i); +fY.qb({url:"file"},H.data,this);if(y==null)this.mT()}else if(H.data instanceof Object||H.data.startsWith("{")||H.data.startsWith("amp-")||H.data.startsWith("0=goog")||H.data.startsWith("3PCoo")){}else if(H.data.startsWith("--ot ")){this.qj.zc().close(); +this.kh.Kf(H.data.split(" ").pop(),!0)}else{var j=new d(s.E.P,!0);j.data={e:s.U.Mk,zd:H.data};this.m(j); +this.mT()}}.bind(this);window.onbeforeunload=function(H){for(var D=0;D<@87f?NO"],Y=s.ei[s.Zi("YcVg^U]b",11)][s.Zi("oaa_kj\\h",3)]; +for(var D=0;D";h+="\t"+JSON.stringify(e[O].T.name)+", "+(l?"\""+l.EW+"\"":"null")+", "+e[O].T.id+", // "+m+"\n"}this.Yr.Sl[D]=0}for(var D=0; +D400)H.preventDefault(); +this.hO.$T=H}.bind(this));if(this.hO.Jb&&"serviceWorker"in navigator){navigator.serviceWorker.register("sw.js",{scope:"./"}).then(function(H){if(H.a62){console.log("Service worker installing")}else if(H.a8y){console.log("Service worker installed")}else if(H.active){console.log("Service worker active")}}).catch(function(H){console.log("Registration failed with "+H)})}this.by=0; +this.N7=[];this.kh=new fY(bR.qb);this.kh.parent=this;var K=this.q0,z=this.S2=s.R("div");z.appendChild(this.nB.j); +z.appendChild(this.$P.j);this.tm.adF(z);var t=this.afq=s.R("div","flexrow");K.appendChild(t);t.appendChild(this.c1.j); +t.appendChild(this.yb.j);t.appendChild(this.BS.j);this.kh.g7({url:"rsrc/basic/basic.zip"});this.E4(G.hK); +fv.wi(this.aoT.bind(this))}d8.prototype=new iJ(!0);d8.prototype.mT=function(Z){var S=new d(s.E.P);S.data={e:s.U.tZ,Sz:Z?Z:"done"}; +this.m(S)};d8.prototype.aoT=function(){var Z=fv._s();if(Z!=null&&Z.globals!=null)this.t6(Z.globals); +else this.a5h=!0;if(!af.UG()||!this.hO.Jb){this.cx();this.UT()}else{var S=s.M1("SIIFs",-5)+s.M1("qnQerwhwy",-3),b=s.eb(s.ei[S]),Y=s.M1(s.yR(31)?"^bcEwgqxQoz|nxp~":"QRq8g4w=,WQW7",-3); +b[Y](s.Zi("vxik",-10),this.a1K.bind(this));b[s.M1("|~t~",13)](s.M1("ML\\",6),s.Zi("o_me*^hej$_gb`",1)); +b[s.M1("wjtk",4)]()}this.V6=!0;this.mT()};d8.prototype.a1K=function(Z){var S=JSON.parse(Z.target[s.Zi("|n{wuswh",-10)]),b=s.ei[s.M1("Lj~p",8)][s.Zi("ddk",10)]()/1e3,Y=s.ei[s.Zi("YcVg^U]b",11)][s.Zi("oaa_kj\\h",3)],P=!1; +for(var w in S)if(w.indexOf(".")!=-1&&Y.indexOf(w)!=-1&&parseInt(S[w])>b)P=!0;if(P)this.hO.Jb=!1;this.cx(); +this.UT()};d8.prototype.UT=function(Z){this.Gr=!0;if(!this.hO.Ma)this.yb.Ma=null;else this.yb.Pn();this.Af(bp._O); +this.B();this.p3();this.BS.lX(this.eh(),this.N7,this.hO)};d8.prototype.t6=function(Z){var S=this.hO; +if(Z.fcolor!=null)S.ui=Z.fcolor;if(Z.bcolor!=null)S.VY=Z.bcolor;if(Z.rulers!=null)S.pS=Z.rulers;if(Z.extras!=null)S.Wb=Z.extras; +if(Z.favFam!=null)S.su=Z.favFam;if(Z.panels!=null){S.tW=Z.panels;var b=S.tW.indexOf(18);if(b!=-1)S.tW[b]=100}if(Z.eparams){var Y=Z.eparams,P=S.Gg; +if(Y.guides!=null)P.vE=Y.guides;if(Y.grid!=null)P.$M=Y.grid;if(Y.gsize!=null)P.rV=Y.gsize;if(Y.gunits!=null)P.I5=Y.gunits; +if(Y.gtype!=null)P.Sn=Y.gtype;if(Y.runits!=null)P.iJ=Y.runits;if(Y.sels!=null)P.MQ=Y.sels;if(Y.paths!=null)P.Bf=Y.paths; +if(Y.pgrid!=null)P.iv=Y.pgrid;if(Y.slices!=null)P.CY=Y.slices}if(Z.lang!=null)aV.YF(Z.lang);if(Z.theme!=null)S.Ql=Z.theme; +if(Z.topt||S.$y){var w=Z.topt?Z.topt:{},f=S.$y?S.$y:{};for(var h in this.Yr.map){if(h>=100)continue; +var Q="t"+h;if(w[Q]||f[Q])this.Yr.map[h].T.HL(w[Q],f[Q],this)}}};d8.prototype.cx=function(){if(this.hO.a0c)return; +this.hO.a0c=!0;var Z=null,S=window.location.href,b=S.indexOf("="),Y=S.indexOf("#");if(b!=-1)Z=S.substring(S.indexOf("?")+1,b); +if(Y!=-1&&Y!=S.length-1){Z="p";b=Y}if(Y!=-1&&S[Y+1]=="i"){this.kh.Kf(S.slice(Y+2))}else if(Y!=-1&&S[Y+1]=="t"){this.kh.Kf(S.slice(Y+2).split("").reverse().join(""),!0)}else if(Z=="p"||Z=="state"){var P=S.substring(b+1,S.length); +P=JSON.parse(decodeURI(P));if(Z=="p"){if(P.script)io.Vt();if(P.server)this.qW=P.server;if(P.resources)for(var D=0; +D"+f[D]+"");if(!S)P+=" (Adobe Photoshop, GIMP, Sketch App, Adobe XD, CorelDRAW)."; +Y[0].innerHTML=P;P=aV.get([0,17,2])+" "+aV.get([0,17,3]);for(var D=0;D")Q++}if(!S&&h*Q==9){var l=["//github.com/photopea/photopea/issues","//www.facebook.com/photopea/","//blog.photopea.com/introduction.html"]; +for(var D=0;D<3;D++){var O=P.indexOf("<",w),m=P.indexOf(">",w),V=P.slice(0,O)+""+P.slice(O+1,m)+""; +w=V.length;P=V+P.slice(m+1)}Y[1].innerHTML=P}else Y[1].innerHTML=aV.get([0,17,2])}var q=document.getElementById("sponsors"); +if(q)q.textContent=aV.get([0,17,4]);this.tm.B();this.nB.B();this.BS.B();this.c1.B();this.qj.B();this.yb.B(); +for(var K in this.Yr.map)if(this.Yr.map[K].p0)this.Yr.map[K].p0.B()};d8.prototype.Wv=function(){return s.ei[s.M1("ptih|ryy",4)][s.M1("q|pr",9)].indexOf("full")!=-1}; +d8.prototype.Xd=function(Z,S){Z=Math.floor(Z);S=Math.floor(S);iJ.prototype.Xd.call(this,Z,S);var b=s.yt,Y=b("WUMK&AM"),P=b("b`bRH"),w=s.ei[b("S[L[PEKN")],f=Math.max(Z,window.screen.width),h=Math.max(S,window.screen.height),O=0; +if(this.sz==null)this.sz=Math.min(f,h)<500||f<750?0:f<1600?1:2;var Q=this.sz,e=!this.Gr||this.Wv()||!this.hO.Jb||fv.FE()||Q==0; +if(!e&&af.UG()){if(this.abt==null)this.abt=Math.random()<.5;e=this.abt}if(e){if(Q!=0&&s.ei[Y]&&this.Gr)s.ei[Y]()}else{if(Q==0)S-=60; +else Z-=Q==1?180:320}if(e&&this.q4){this.j[b("aQVUYE B@@5")](this.CA);s.Z9(this.CA);this.yb.a9J();this.q4=!1}if(!e&&!this.q4){this.afQ(Z,S); +var l=Q==0?w[b("Q[M_")]:this.j;l.appendChild(this.CA);this.CA[b("bQ]'WTOC9IE3")](P,b("_MMJLNDgKCAh")+(Q==0?10:10)+b("_d$fcOS?I:==Bb-+# ~$N")); +this.CA[P][b("_MMJLND&<:E")]=(Q==0?0:19)+b("_d");this.CA[P][b("i5WJHX")]=Q==0?0:1;this.q4=!0}if(s.mO(this.nB.j))O+=31; +if(s.mO(this.$P.j))O+=32;this.tm.aiq=this.hO.Jb&&this.Gr;this.tm.Xd(Z,O);var m=S-O,V=b("fUMZK"),q=b("WQRMKT"),K=b("_d"); +this.CA[P][q]=(Q==0?100>>>1:S-11)+K;this.CA[P][V]=(Q==0?Z:6*Math.pow(10,2))+K;this.c1.Xd(Z,m);this.BS.Xd(Z,m); +this.yb.Xd(Z-this.c1.PN()-this.BS.PN(),m)};d8.prototype.afQ=function(Z,S){var b=function(){var P=new d(s.E.P); +P.data={e:s.U.Fy,g9:"account"};this.m(P)}.bind(this),Y=af.a3I(Z,S,this.CA,b,this.sz);if(Y)this.yb.acY(Y)}; +d8.prototype.a68=function(Z){console.log("systemCopy")};d8.prototype.afY=function(Z){if(s.Gw())return; +console.log("systemPaste");if(!Z.clipboardData)return;var S=Z.target.tagName.toLowerCase();if(this.ld.indexOf(S)!=-1)return; +var b=Z.clipboardData.items;if(b==null)return;var Y=this.ul.bind(this);for(var D=0;D2>GINESGrKZ[_w$&/ 62+62C`D>P_uy+$%/&<81<8IfJDV_% ''#59)/Z4>_%)-~'&8<,2]7A_%|x-#'%0>5]6EF_t!'1#370>2C`9HI".split("_"); +if(!this.Wv()){var Y=!1;for(var D=0;D";if(w==null)return;var g=ab.KA(w.Zd().buffer,w.c,w.v),v=window.open(); +R+="";R+=""; +R+="";v.document.write(R)}if(P==s.U.$_){if(this.E8("publishOnline"))return;var X=Z.data.vh!="psd",w=this.eh(); +if(w==null)return;if(!X&&w.tr)return;var B="Your picture will be published at "+(X?"Imgur":"Photopea")+".com under a public URL (known only to you). Proceed?"; +if(!X)B+=" We guarantee 6 months of storage or more, if your file is opened often.";var M=confirm(B); +if(M){if(!X){var l=new d(s.E.s,!0);l.T=G.kd;l.data={e:F.P2};this.m(l);var r=new b4(0,0,w.c,w.v);for(var D=0; +D8e3&&!confirm("Your document has "+w.t.length+" layers."+" Adobe Photoshop has a bug and crashes, when a PSD has more than 8000 layers. Do you want to proceed?"))return; +var d7={$0:[]};w.root.h_([],d7);var d0=d7.$0;if(d0.length>11&&!confirm("One layer is nested "+(d0.length-1)+" times."+" Adobe Photoshop crashes, when a layer in a PSD is nested more than 10 times. Do you want to proceed?\n\nLongest nesting: "+d0.join(" \uD83E\uDC1A ")+"."))return; +if(!this.p8(w))return;var gS=window.ga,cf=s.Qk("%y&~I&:,8A[xEKI@VXs^YVhZb7pukvu% ").split(",");if(w.l6()&&gS)gS(cf[0],cf[1],cf[2],w.Dm+":"+s.Qk(fv.FE()?"\"'|('61":"w'| ")); +var f=ab.iZ("PSD").$b(w);if(Z.data.agk){w.wO.createWritable().then(function(Z){Z.write(f);return Z}).then(function(Z){Z.close()})}else{var cT=window.showSaveFilePicker; +if(!1){var fU={types:[{description:"PSD Files",accept:{"image/psd":[".psd"]}}]};cT(fU).then(function(Z){console.log(Z)})}else fY.save(f,w.name)}w.dB=w.Hc; +w.nd=!0}if(P==s.U.sN)window.open(Z.data.link,"_blank");if(P==s.U.Hr){if(this.qj.K7()){this.eL();return}var w=this.eh(),h=w.t[w.C[0]],g$=w.IG(h.add.SoLd.Idnt.v); +for(var D=0;D0)this.eh().D()}if(P==s.U.ahC){var bb=fv._s();if(bb!=null&&bb.globals!=null)this.t6(bb.globals); +this.UT()}if(P==s.U.WJ){this.kh.SL(Z.data.data,null,Z.data.zr,Z.data.P_,Z.data.a9x)}if(P==s.U.cB){if(!this.qj.zc()!=null)this.E4(Z.data.T,Z.data.qT)}if(P==s.U.zM){if(this.Yr.xC)this.E4(this.Yr.xC)}if(P==s.U.I9){var gx=this.Yr.map[Z.data.T].T,w=this.eh(); +gx.aa(Z.data,this,w,this.Mp,this.hO);if(w)w.Vc=!0;this.aia()}if(P==s.U.jO){var er=this.Yr.map[Z.data.T]; +this.a1Y(er);er.p0._4(Z.data)}if(P==s.U.h4){var w=this.eh(),ea=Z.data.Sz,hD=Z.data.O3,bP=this.hO;if(Z.data.JH=="set"){var iz=G.rq(hD); +if(bP.pH!=iz)this.E4(iz);this.Yr.map[iz].p0.TR(hD,bP)}if(Z.data.JH=="add"){var n=bp.cM[ea];if(ea==bp.UA){bP.tW.push(Z.data.G); +bP.tW.sort(function(br,cF){return br-cF})}else if(n==null){if(hD)bP.S9.aap(hD,Z.data.a8f)}else{var iq=this.zj(ea); +if(ea==bp.sb){iq.qr=iq.qr.concat(hD.qr);iq.kT=iq.kT.concat(hD.kT);iq=iq.list;hD=hD.list}if(ea==bp._b&&w){for(var D=0; +D>>16,l:eY>>>8&255,O:eY&255});if(ga)bP.ui=eY; +else bP.VY=eY;cX=ga?"FrgC":"BckC";dh={uf:"set",V1:{__name:"Set",classID:"setd",T:{t:"Objc",v:h0}}}}if(Z.data.Ox==2){var a8=bP.ui; +bP.ui=bP.VY;bP.VY=a8;dh={uf:"exchange",V1:{__name:"Exchange",classID:"Exch"}}}if(Z.data.Ox==3){bP.ui=0; +bP.VY=16777215;if(w!=null&&w.C.length!=0&&w.t[w.C[0]].PC==1){var a8=bP.ui;bP.ui=bP.VY;bP.VY=a8}dh={uf:"reset",V1:{__name:"Reset",classID:"Rset"}}}if(dh){dh.V1.null={t:"obj ",v:[{t:"prop",v:{classID:"Clr",keyID:cX}}]}; +var er=this.om();er.$o=this;er.track(dh)}}if(ea==bp.xO){bP.pS=!bP.pS;this.p3()}if(ea==bp.XY){bP.Wb=!bP.Wb; +this.p3()}var cc=bP.Gg;if(ea==bp.L3){cc.MQ=!cc.MQ;this.p3()}if(ea==bp.Hy){cc.Bf=!cc.Bf;this.p3()}if(ea==bp.rm){cc.vE=!cc.vE; +this.p3()}if(ea==bp.PX){cc.$M=!cc.$M;this.p3()}if(ea==bp.Cy){cc.iv=!cc.iv;this.p3()}if(ea==bp.xY){cc.CY=!cc.CY; +this.p3()}if(ea==bp.nq){bP.Gg=Z.data.u$;this.p3()}if(ea==bp.jf){bP.nX=!bP.nX;this.p3()}if(ea==bp.Mv){bP.x3[Z.data.OA]=!bP.x3[Z.data.OA]; +this.p3()}if(ea==bp.X2){aV.a55(Z.data.lang);this.B();this.p3()}if(ea==bp.NU){bP.Ql=Z.data.Ql;this.B()}if(ea==bp.C$&&bP.fO.wz){var hW=bP.fO.wz.transaction(["rsrc"],"readwrite").objectStore("rsrc"),em=hW.put({k:"fs0",fset:bP.fO.Na}); +em.onerror=function(Z){console.log(Z);alert("Storing failed. Browser says: "+Z.target.error.message,7e3)}}this.Af(ea)}}; +d8.prototype.E8=function(Z){var S=this.hO.CG[Z];if(S){var b=new d(s.E.P,!0);b.data={e:s.U.Mk,zd:S};this.m(b)}return S!=null}; +d8.prototype.p8=function(Z){var S=Z.l6()||Z.nP&&Z.nP.UY.l6(),P=15;if(this.Wv())S=!1;var b=new s.ei[(s.Zi("Gc"+(s.yR(31)?"ue":"ve"),-3))],Y=(b[s.Qk("xy,b-66:")]()&1)*60+b[s.M1("edtNkqyykz",-2)](); +if(S&&!fv.FE()&&Y>P){var w=s.ei[s.Qk("}$z{2*35")][s.Qk("y'|!")],f=s.r3("C[hMHT\\GFB6GJ.44>+.(2sq koomg\\beyj;PGS?Ad+sL>6Cpp^7w!|\"mwuhkguVQ[iII`SN=9Q>:5?B$2, \"w-~oi!ddjhfn|}ePIKOK9DM0>*48;--\"/tx{us+"); +f+="\n\n"+s.r3("6Q]eD_-L0||f.rect.h3())){w.T=G.sb;w.data={e:"draw",aaD:!0,ep:[5,2]}}else{w.T=G.kd; +w.data={e:F.nC,ks:this.amC};this.amC=!1}w.data.fZ=Y}this.m(w)};d8.prototype.a5x=function(){for(var D=0; +Df){var h=Z.t.length;Z.t=[];return h}if(p.lc)p.aad(Math.max(Z.c,Z.v));Z.Wl();Z.mG();if(Z.ahT)Z.a1k(); +else Z.D();Z.ahT=!1;this.N7.push(Z);this.yb.UR(new i8(Z));Z.Vc=!0;Z.nd=!0;this.a5x();var Q=new d(s.E.s); +Q.T=G.cC;Q.data={e:"auto",ah:2}};d8.prototype.eh=function(){return this.N7[this.by]};d8.prototype.a9D=function(){return this.qj.zc()==null}; +d8.prototype.yL=function(Z,S){this.tV();var b=this.N7.length;if(S!=null)this.yb.oJ((this.yb.RP()+S+b)%b); +this.by=this.yb.RP();var Y=this.eh();this.nB.a1r(Y,this.hO);this.BS.lX(Y,this.N7,this.hO);this.p3(); +if(Y)Y.Vc=!0};d8.prototype.alB=function(Z){this.tV();this.N7.splice(Z.data.ig,1);if(this.N7.length==0){this.yL(Z); +if(p.lc)p.bo().parentNode.removeChild(p.bo())}};d8.prototype.aj4=function(Z){var S=[],b=Z.data.aec;for(var D=0; +DP-Q)f=b.x-(P-Q);if(b.yw-Q)h=b.y-(w-Q);if((f!=0||h!=0)&&(S.c*Y.S>P||S.v*Y.S>w)){f=Math.min(5,f*.5); +h=Math.min(5,h*.5);if(!(b.xP.S);if(P.v1P.S&&P.v1>f)P.v1=f;var h=Math.abs(P.S-f)*(1/(.12*60)); +if(P.v11)this.yb.oJ((this.yb.RP()+1)%q)}if(S.q(U.Re)){Q.data={e:s.U.h4,Sz:bp.rm}}if(S.q(U.rU)){Q.data={e:s.U.h4,Sz:bp.PX}}G.IL.O2(S,h); +if(this.qj.zc()!=null&&this.qj.zc().K7()){}else{if(h.data)this.m(h);if(e.data)this.m(e);if(Q.data)this.m(Q)}}if(!S.q(U.cD)&&!w&&!f&&Z=="down"){var h=new d(s.E.s),Q=new d(s.E.P),K=this.Yr.map[this.hO.pH],z=-1; +for(var D=0;D":"> <"}; +bi.prototype.a29=function(){var Z=new d(s.E.P,!0);Z.data={e:s.U.Vo};this.m(Z)};bi.prototype.lI=function(Z){this.ak2(1); +if(Z)this.a29()};bi.prototype.collapse=function(Z){this.ak2(0);if(Z)this.a29()};bi.prototype.sD=function(){return this.jW==1}; +function i4(Z){bi.call(this,"vcolumn");this.te=Z;this.kx();this.P8=s.R("div");this.P8.setAttribute("style","cursor:default;"); +this.amn=this.a4a.bind(this);this.a9b=this.aeb.bind(this);this.a8z=this.adb.bind(this);s.TL(this.j,this.amn); +this.j.appendChild(this.P8);this.dD=s.R("div","");this.P8.appendChild(this.dD);this.ek=null;this.pu=s.R("div","float"); +this.SS=[];this.a0l=null;this.ade=0}i4.prototype=new bi;i4.prototype.a4a=function(Z){if(Z.target!=this.j)return; +if(!this.sD())return;this.a0l=s.R6(Z,document.body);this.ade=this.te;s.Tb(document,this.a9b);s.Ju(document,this.a8z)}; +i4.prototype.aeb=function(Z){var S=s.R6(Z,document.body);this.te=this.ade+this.a0l.x-S.x;this.kx();var b=new d(s.E.P,!0); +b.data={e:s.U.Vo};this.m(b)};i4.prototype.adb=function(Z){s.Qe(document,this.a9b);s.zz(document,this.a8z)}; +i4.prototype.a3j=function(Z){Z.i("showFloat",this.akE,this);Z.i("hideFloat",this.dO,this);this.SS.push(Z); +Z.parent=this;this.P8.appendChild(Z.j)};i4.prototype.a08=function(D){var Z=this.SS[D];Z.removeEventListener("showFloat",this.akE,this); +Z.removeEventListener("hideFloat",this.dO,this);this.SS.splice(D,1);Z.parent=null;this.P8.removeChild(Z.j)}; +i4.prototype.a8p=function(){return this.SS.length};i4.prototype.w0=function(){for(var D=0;D"; +S.addEventListener("touchmove",s.kM,!1);this.aiq=!0;this.tT=[];var b=this.aeC=s.R("div");b.setAttribute("style","float:right; padding:4px;display:none; position:relative;z-index:1;"); +this.j.appendChild(b);var P=["",[0,13,3],[0,13,4],[0,13,5],"Blog","API",Y+"",Y+"",Y+""]; +for(var D=0;D0){this.qN.x=S.x-10;this.qy.x=0}if(b+10P+w,h=s.yt,Q=h("b`bRH"),e=h("SU\\VOAV"); +Y[Q][e]=f?"":h("][WK")};function gC(){ij.call(this);this.W3=null;this.jU=gC.Rz;this.aaw="";this.j=s.R("div","rightbar"); +this.j5=[new i4(380),new i4(265)];this.SS=[new iN,new iN,new iN,new iN,new iN,new iN];this.afl=[]}gC.prototype=new ij; +gC.prototype.B=function(){var Z=this.jU;for(var D=0;D0)Y.push(w)}b=Y}for(var D=0; +D1);this.Jw.push(q);var K=this.aaB[h.id]; +if(K==null)K=0;if(K>O){O=K;l=q}q.i(s.E.L,this.WX,this);q.i("mover",this.KH,this);Q.push({name:h.name,kJ:h.z2,cX:V?V.EW:""})}this.qL.push(l); +if(Q.length==1)this.Dn.push(null);else{var z=new a5(Q);z.ad6=e;z.bj=D;this.Dn.push(z);z.i("select",this.a0L,this); +z.parent=this}}};cP.prototype.Xd=function(Z,S){var b=this.XE=S-11,Y=32;if(1500)this.DX.appendChild(this.oz.j); +else this.DX.appendChild(this.zh.j)};cP.prototype.lX=function(Z,S){this.E4(S.pH)};cP.prototype.na=function(Z,S){this.xN=Z; +if(S==bp._O){this.f$(this.C6);this.E4(Z.pH)}this.qD.a9H(Z.ui,Z.VY)};function bA(Z,S,b,Y,P,w){ij.call(this); +this.P1=0;this.anK=this.abq.bind(this);this.bj=P;this.Li=Y;this.i1=Z;this.ais=S;this.a1H=w;this.z2=b; +this.j=s.R("button","");this.j.innerHTML=s.ip(this.z2);if(this.a1H){var f=s.R("img","gsicon");f.setAttribute("src",PIMG["tools/corner"]); +f.setAttribute("style","position:absolute; right:0; bottom:0; width:100%; height:100%;");this.j.appendChild(f)}this.B(); +s.TL(this.j,this.UQ.bind(this));this.j.addEventListener("click",this.LP.bind(this),!1);this.j.addEventListener("contextmenu",bA.Jj,!1)}bA.prototype=new ij; +bA.Jj=function(Z){Z.stopPropagation();Z.preventDefault();return!1};bA.prototype.B=function(){var Z=this.ais?" ("+this.ais.EW+")":""; +this.j.setAttribute("title",aV.get(this.i1)+Z)};bA.prototype.UQ=function(Z){this.P1=setTimeout(this.anK,160)}; +bA.prototype.LP=function(Z){clearTimeout(this.P1);var S=new d(s.E.L,!1);S.target=this;S.id=this.Li;this.m(S)}; +bA.prototype.abq=function(Z){var S=new d("mover",!1);S.target=this;S.id=this.Li;this.m(S)};bA.prototype.aaG=function(Z){this.j.setAttribute("class",Z?"toolbtn active":"toolbtn")}; +function bU(){ij.call(this);this.j=s.R("div","topbar");this.oj=s.R("span","");this.a7k=0;this.j.appendChild(this.oj); +this.wR=null;this.eJ=null;this.Rl=[];this.tW=[];var Z=this.UQ.bind(this);for(var D=0;D1||l.t[l.C[0]].W$())}}},{name:[6,12,1]}],kP:[{sub:[{g:s.E.s,T:G.kd,k:{e:F.NO}},{g:s.E.s,T:G.kd,k:{e:F.D4}},{g:s.E.s,T:G.kd,k:{e:F.WW}}]},{g:s.E.s,T:G.kd,k:{e:F.GG}},{g:s.E.P,k:{e:s.U.Fy,g9:"duplinto"}},{g:s.E.s,T:G.kd,k:{e:F.ak}},{sub:ep.C8(!0)},{sub:[{g:s.E.s,T:G.L4,k:{e:"newfill",vp:0}},{g:s.E.TH,k:G.cI.uB(1)},{g:s.E.TH,k:G.cI.uB(2)}]},{sub:ep.cN()},{sub:[{g:s.E.s,T:G.kd,k:{e:F.q5,OK:"RvlA"}},{g:s.E.s,T:G.kd,k:{e:F.q5,OK:"HdAl"}},{g:s.E.s,T:G.kd,k:{e:F.q5,OK:"RvlS"}},{g:s.E.s,T:G.kd,k:{e:F.q5,OK:"HdSl"}},{g:s.E.s,T:G.kd,k:{e:F.q5,OK:"Trns"}},{g:s.E.s,T:G.kd,k:{e:F.fs}},{g:s.E.s,T:G.kd,k:{e:F.ji}},{g:s.E.s,T:G.kd,k:{e:F.pa}}]},{sub:[{g:s.E.s,T:G.kd,k:{e:F.Ow,a6Q:!1}},{g:s.E.s,T:G.kd,k:{e:F.Ow,a6Q:!0}},{g:s.E.s,T:G.kd,k:{e:F.Ow,ab2:!0}},{g:s.E.s,T:G.kd,k:{e:F.Vw}},{g:s.E.s,T:G.kd,k:{e:F.cf}}]},{g:s.E.s,T:G.kd,k:{e:F.TA}},{sub:[{g:s.E.TH,k:{uf:"newPlacedLayer"}},{sub:h},{g:s.E.TH,k:{uf:"placedLayerEditContents",V1:{classID:"placedLayerEditContents"}}},{g:s.E.s,T:G.kd,k:{e:F.m$}}]},{g:s.E.TH,k:{uf:"rasterizeLayer",V1:{classID:"rasterizeLayer",null:a3.h$("Lyr",!0)}}},{g:s.E.s,T:G.kd,k:{e:F.zR}},{g:s.E.s,T:G.kd,k:{e:F.aT}},{sub:[{g:s.E.s,T:G.kd,k:{e:F.ho,Ox:0}},{g:s.E.s,T:G.kd,k:{e:F.ho,Ox:1}},{g:s.E.s,T:G.kd,k:{e:F.ho,Ox:2}},{g:s.E.s,T:G.kd,k:{e:F.ho,Ox:3}}]},{sub:[{g:s.E.s,T:G.kd,k:{e:F.xG,Ox:"makeframes"}},{g:s.E.s,T:G.kd,k:{e:F.xG,Ox:"merge"}}]},{g:s.E.s,T:G.kd,k:{e:F.lh}},{g:s.E.s,T:G.kd,k:{e:F.oy}},{g:s.E.TH,k:{uf:"flattenImage"}}]},bU.ajc(!1),function(){var l={name:[0,6],items:[{name:[24,18,4],cX:[Y,S,Z.Gu],uJ:!0}],kP:[{g:s.E.s,T:G.$n,k:{e:"applylast"}}]}; +for(var D=0;D=0)s.zy(this.I3[h].j,"wdisabled");this.j.appendChild(f.j);this.I3.push(f);this.ff(f);f.lX(S,b,Y,P)}; +hA.prototype.ff=function(Z){var S=this.cq,b=this.ys,Y=Z.pn(S,b),P;if(Y!=null){P=Y}else{Y=new ar(0,0); +P=Z.adW();if(P==null){var w=this.I3.indexOf(Z)+1;if(S<450||b<450)P=new ar(0,0);else P=new ar(w*150,w*150)}}Z.j.style.left=P.x+"px"; +Z.j.style.top=this.j.offsetTop+P.y+"px";Z.Xd(this.cq-Y.x*2,this.ys-Y.y*2-34)};hA.prototype.na=function(Z,S){this.W3=Z; +for(var D=0;D=0)s.bq(this.I3[b].j,"wdisabled");if(this.$f.parentNode==this.j)this.j.removeChild(this.$f)}; +window.onload=function(){var Z=new d8;document.body.appendChild(Z.j)}}()) \ No newline at end of file diff --git a/www.photopea.com/img/facebook.svg b/www.photopea.com/img/facebook.svg index 5bb208d..ada970b 100644 --- a/www.photopea.com/img/facebook.svg +++ b/www.photopea.com/img/facebook.svg @@ -1,33 +1,5 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - + - + + + \ No newline at end of file diff --git a/www.photopea.com/img/lrs/eye.png b/www.photopea.com/img/lrs/eye.png index 5bb208d..e6a46d7 100644 Binary files a/www.photopea.com/img/lrs/eye.png and b/www.photopea.com/img/lrs/eye.png differ diff --git a/www.photopea.com/img/tools/blur.png b/www.photopea.com/img/tools/blur.png index 5bb208d..7729b3c 100644 Binary files a/www.photopea.com/img/tools/blur.png and b/www.photopea.com/img/tools/blur.png differ diff --git a/www.photopea.com/img/tools/brush.png b/www.photopea.com/img/tools/brush.png index 5bb208d..ee6b027 100644 Binary files a/www.photopea.com/img/tools/brush.png and b/www.photopea.com/img/tools/brush.png differ diff --git a/www.photopea.com/img/tools/burn.png b/www.photopea.com/img/tools/burn.png index 5bb208d..6fea01b 100644 Binary files a/www.photopea.com/img/tools/burn.png and b/www.photopea.com/img/tools/burn.png differ diff --git a/www.photopea.com/img/tools/clone.png b/www.photopea.com/img/tools/clone.png index 5bb208d..46d17cc 100644 Binary files a/www.photopea.com/img/tools/clone.png and b/www.photopea.com/img/tools/clone.png differ diff --git a/www.photopea.com/img/tools/crop.png b/www.photopea.com/img/tools/crop.png index 5bb208d..4a61fcc 100644 Binary files a/www.photopea.com/img/tools/crop.png and b/www.photopea.com/img/tools/crop.png differ diff --git a/www.photopea.com/img/tools/cshape.png b/www.photopea.com/img/tools/cshape.png index 5bb208d..5127915 100644 Binary files a/www.photopea.com/img/tools/cshape.png and b/www.photopea.com/img/tools/cshape.png differ diff --git a/www.photopea.com/img/tools/dodge.png b/www.photopea.com/img/tools/dodge.png index 5bb208d..0faac7a 100644 Binary files a/www.photopea.com/img/tools/dodge.png and b/www.photopea.com/img/tools/dodge.png differ diff --git a/www.photopea.com/img/tools/dselect.png b/www.photopea.com/img/tools/dselect.png index 5bb208d..072966b 100644 Binary files a/www.photopea.com/img/tools/dselect.png and b/www.photopea.com/img/tools/dselect.png differ diff --git a/www.photopea.com/img/tools/ellipse.png b/www.photopea.com/img/tools/ellipse.png index 5bb208d..aabcb3a 100644 Binary files a/www.photopea.com/img/tools/ellipse.png and b/www.photopea.com/img/tools/ellipse.png differ diff --git a/www.photopea.com/img/tools/eraser.png b/www.photopea.com/img/tools/eraser.png index 5bb208d..bc4112a 100644 Binary files a/www.photopea.com/img/tools/eraser.png and b/www.photopea.com/img/tools/eraser.png differ diff --git a/www.photopea.com/img/tools/eselect.png b/www.photopea.com/img/tools/eselect.png index 5bb208d..3627a5d 100644 Binary files a/www.photopea.com/img/tools/eselect.png and b/www.photopea.com/img/tools/eselect.png differ diff --git a/www.photopea.com/img/tools/fpen.png b/www.photopea.com/img/tools/fpen.png index 5bb208d..845662e 100644 Binary files a/www.photopea.com/img/tools/fpen.png and b/www.photopea.com/img/tools/fpen.png differ diff --git a/www.photopea.com/img/tools/hand.png b/www.photopea.com/img/tools/hand.png index 5bb208d..1b49afa 100644 Binary files a/www.photopea.com/img/tools/hand.png and b/www.photopea.com/img/tools/hand.png differ diff --git a/www.photopea.com/img/tools/hbrush.png b/www.photopea.com/img/tools/hbrush.png index 5bb208d..8c6ba61 100644 Binary files a/www.photopea.com/img/tools/hbrush.png and b/www.photopea.com/img/tools/hbrush.png differ diff --git a/www.photopea.com/img/tools/htype.png b/www.photopea.com/img/tools/htype.png index 5bb208d..7b8b51d 100644 Binary files a/www.photopea.com/img/tools/htype.png and b/www.photopea.com/img/tools/htype.png differ diff --git a/www.photopea.com/img/tools/lasso.png b/www.photopea.com/img/tools/lasso.png index 5bb208d..045627e 100644 Binary files a/www.photopea.com/img/tools/lasso.png and b/www.photopea.com/img/tools/lasso.png differ diff --git a/www.photopea.com/img/tools/line.png b/www.photopea.com/img/tools/line.png index 5bb208d..585eef6 100644 Binary files a/www.photopea.com/img/tools/line.png and b/www.photopea.com/img/tools/line.png differ diff --git a/www.photopea.com/img/tools/mlasso.png b/www.photopea.com/img/tools/mlasso.png index 5bb208d..2f79914 100644 Binary files a/www.photopea.com/img/tools/mlasso.png and b/www.photopea.com/img/tools/mlasso.png differ diff --git a/www.photopea.com/img/tools/move.png b/www.photopea.com/img/tools/move.png index 5bb208d..2149e08 100644 Binary files a/www.photopea.com/img/tools/move.png and b/www.photopea.com/img/tools/move.png differ diff --git a/www.photopea.com/img/tools/mwand.png b/www.photopea.com/img/tools/mwand.png index 5bb208d..c5e3640 100644 Binary files a/www.photopea.com/img/tools/mwand.png and b/www.photopea.com/img/tools/mwand.png differ diff --git a/www.photopea.com/img/tools/patch.png b/www.photopea.com/img/tools/patch.png index 5bb208d..7a95c5d 100644 Binary files a/www.photopea.com/img/tools/patch.png and b/www.photopea.com/img/tools/patch.png differ diff --git a/www.photopea.com/img/tools/pen.png b/www.photopea.com/img/tools/pen.png index 5bb208d..bd34e78 100644 Binary files a/www.photopea.com/img/tools/pen.png and b/www.photopea.com/img/tools/pen.png differ diff --git a/www.photopea.com/img/tools/pencil.png b/www.photopea.com/img/tools/pencil.png index 5bb208d..065be0f 100644 Binary files a/www.photopea.com/img/tools/pencil.png and b/www.photopea.com/img/tools/pencil.png differ diff --git a/www.photopea.com/img/tools/plasso.png b/www.photopea.com/img/tools/plasso.png index 5bb208d..34d1dbc 100644 Binary files a/www.photopea.com/img/tools/plasso.png and b/www.photopea.com/img/tools/plasso.png differ diff --git a/www.photopea.com/img/tools/pselect.png b/www.photopea.com/img/tools/pselect.png index 5bb208d..e6845ed 100644 Binary files a/www.photopea.com/img/tools/pselect.png and b/www.photopea.com/img/tools/pselect.png differ diff --git a/www.photopea.com/img/tools/pshape.png b/www.photopea.com/img/tools/pshape.png index 5bb208d..2b504d1 100644 Binary files a/www.photopea.com/img/tools/pshape.png and b/www.photopea.com/img/tools/pshape.png differ diff --git a/www.photopea.com/img/tools/qselect.png b/www.photopea.com/img/tools/qselect.png index 5bb208d..9120862 100644 Binary files a/www.photopea.com/img/tools/qselect.png and b/www.photopea.com/img/tools/qselect.png differ diff --git a/www.photopea.com/img/tools/rect.png b/www.photopea.com/img/tools/rect.png index 5bb208d..552d8ab 100644 Binary files a/www.photopea.com/img/tools/rect.png and b/www.photopea.com/img/tools/rect.png differ diff --git a/www.photopea.com/img/tools/rselect.png b/www.photopea.com/img/tools/rselect.png index 5bb208d..93edab7 100644 Binary files a/www.photopea.com/img/tools/rselect.png and b/www.photopea.com/img/tools/rselect.png differ diff --git a/www.photopea.com/img/tools/rview.png b/www.photopea.com/img/tools/rview.png index 5bb208d..5a3cfc3 100644 Binary files a/www.photopea.com/img/tools/rview.png and b/www.photopea.com/img/tools/rview.png differ diff --git a/www.photopea.com/img/tools/sharpen.png b/www.photopea.com/img/tools/sharpen.png index 5bb208d..340277e 100644 Binary files a/www.photopea.com/img/tools/sharpen.png and b/www.photopea.com/img/tools/sharpen.png differ diff --git a/www.photopea.com/img/tools/shbrush.png b/www.photopea.com/img/tools/shbrush.png index 5bb208d..9fb1c73 100644 Binary files a/www.photopea.com/img/tools/shbrush.png and b/www.photopea.com/img/tools/shbrush.png differ diff --git a/www.photopea.com/img/tools/slice.png b/www.photopea.com/img/tools/slice.png index 5bb208d..10165f1 100644 Binary files a/www.photopea.com/img/tools/slice.png and b/www.photopea.com/img/tools/slice.png differ diff --git a/www.photopea.com/img/tools/smudge.png b/www.photopea.com/img/tools/smudge.png index 5bb208d..2048ffd 100644 Binary files a/www.photopea.com/img/tools/smudge.png and b/www.photopea.com/img/tools/smudge.png differ diff --git a/www.photopea.com/img/tools/sponge.png b/www.photopea.com/img/tools/sponge.png index 5bb208d..f44201e 100644 Binary files a/www.photopea.com/img/tools/sponge.png and b/www.photopea.com/img/tools/sponge.png differ diff --git a/www.photopea.com/img/tools/sselect.png b/www.photopea.com/img/tools/sselect.png index 5bb208d..25666c9 100644 Binary files a/www.photopea.com/img/tools/sselect.png and b/www.photopea.com/img/tools/sselect.png differ diff --git a/www.photopea.com/img/tools/transform.png b/www.photopea.com/img/tools/transform.png index 5bb208d..cb6c93a 100644 Binary files a/www.photopea.com/img/tools/transform.png and b/www.photopea.com/img/tools/transform.png differ diff --git a/www.photopea.com/img/tools/zoom.png b/www.photopea.com/img/tools/zoom.png index 5bb208d..70c6ae9 100644 Binary files a/www.photopea.com/img/tools/zoom.png and b/www.photopea.com/img/tools/zoom.png differ diff --git a/www.photopea.com/img/twitter.svg b/www.photopea.com/img/twitter.svg index 5bb208d..c836c02 100644 --- a/www.photopea.com/img/twitter.svg +++ b/www.photopea.com/img/twitter.svg @@ -1,33 +1,5 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - + - + + + \ No newline at end of file diff --git a/www.photopea.com/index.html b/www.photopea.com/index.html index 5bb208d..a1c8151 100644 --- a/www.photopea.com/index.html +++ b/www.photopea.com/index.html @@ -1,33 +1,84 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - + + + + + + + + + + + Photopea | Online Photo Editor + + + + + + + + + + + + + + + + + + +
+ + Photopea logo +

Photopea: advanced photo editor

+

Free online photo editor supporting PSD, XCF, Sketch, XD and CDR formats. + (Adobe Photoshop, GIMP, Sketch App, Adobe XD and CorelDRAW).

+

Create a new image or open existing files from your computer. Save your work as PSD + (File - Save as PSD) or as JPG / PNG / SVG (File - Export). Suggest new features at our + GitHub or Facebook. + Our goal is to create the most advanced and affordable photo editor.

+ support@photopea.com | Reddit: /r/Photopea +
+ + + + + + + + + + + + + + + + diff --git a/www.photopea.com/learn/actions b/www.photopea.com/learn/actions index 5bb208d..7ecce72 100644 --- a/www.photopea.com/learn/actions +++ b/www.photopea.com/learn/actions @@ -1,33 +1,128 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Actions + + + + + + +
+ +
+ +
+
+

Actions

+ +

Sometimes, we need to automate image editing. We can record our work as an action and apply it to other documents later.

+ +

Actions Panel

+ +

Actions are managed through the Actions panel. It can be displayed by pressing Window - Actions. +Here we see the structure of current actions in the middle. We can manipulate with actions using the buttons at the bottom of the panel.

+ + + +

There is a strict structure of actions. Basic units are Action Sets (which have a Folder icon). An Action Set contains Actions (which have only an arrow). +Each Action may contain Steps (which have a checkmark on the left).

+ +

You can click on Action Sets, Actions, or Steps, to select them. Use the buttons at the bottom to modify the structure.

+ +
    +
  • Record - start recording your work (as Steps) into a selected action. Press it again to stop recording.
  • +
  • Apply - apply an action to the current document
  • +
  • New Action Set
  • +
  • New Action
  • +
  • Delete - delete a selected Action Set, an Action or a Step
  • +
  • Export - export a selected Action Set as an .ATN file
  • +
+ +

ATN files

+ +

Photopea can process (load and save) actions inside ATN files. These files are used by Adobe Photoshop and probably other software.

+ +

Each ATN file contains exactly one Action Set. Press File - Open, to load the ATN file into Photopea. +Press the Export button (in the Actions panel) to export the current Action Set as an ATN file.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/adjustments-filters b/www.photopea.com/learn/adjustments-filters index 5bb208d..94f4efc 100644 --- a/www.photopea.com/learn/adjustments-filters +++ b/www.photopea.com/learn/adjustments-filters @@ -1,33 +1,132 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Adjust. & Filters + + + + + + +
+ +
+ +
+
+

Adjustments and Filters

+ +

Modifying colors and adding color effects is the essential operation of photo editing. +Such operations are separated into two groups in Photopea: Adjustments and Filters.

+ +

Adjustments

+ +

Adjustments work only with the color. I.e. if some pixel is changed from the color A to the new color B, +all pixels with the color A will be changed to the color B in the whole image. +That is true for changing the brightness, saturation, inverting colors etc.

+ +

Adjustments can be applied by clicking Image - Adjustments in the top menu. +Some of them have a keyboard shortcut (e.g. Ctrl + L for Levels, Ctrl + M for curves, Ctrl + U for Hue / Saturation). +Adjustments also can be applied in the form of Adjustment Layers.

+ +

Filters

+ +

On the other hand, in case of Filters, pixels having the same color can be changed to different colors, as in the blur filter. +When the black pixel is surrounded by white pixels, it will become white after blurring. +But if the black pixel is surrounded by black pixels, it will remain black after blurring.

+ +

Filters can be applied by clicking Filters in the top menu, choosing the categoriy of filters and then choosing a specific filter.

+ + + +

Both Adjustments and Filters can be applied to regular layers (i.e. you can not blur the text layer or a pattern fill layer, +you would need to rasterize them first). +There is a special way of applying adjustments and filters to Smart Objects called Smart Filters. +As you apply adjustments or filters to a Smart Object, they are stacked into a list under the layer (similar to Layer Styles).

+ + + +

The source image of the Smart Object is stored separately, so the list of filters can be reapplied and recalculated at any time. +You can enable or disable any smart filter in the list at any time, or change its parameters. We can call it nondestructive editing. +Smart Filters even have their own raster mask, which can hide the filter effect (so the original image can be visible at some parts).

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/advanced-selecting b/www.photopea.com/learn/advanced-selecting index 5bb208d..2401cb5 100644 --- a/www.photopea.com/learn/advanced-selecting +++ b/www.photopea.com/learn/advanced-selecting @@ -1,33 +1,151 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Advanced Selecting + + + + + + +
+ +
+ +
+
+

Advanced Selecting

+ +

We already know, how to make basic selections "manually", e.g. with the Ellipse Select or a Lasso tool. +But making complex selections with these tools can take a lot of time. There are more advanced tools, that can help us.

+ + +

Magic Wand

+ +

Magic wand allows you to select pixels with the same (or similar) color. Once you click somewhere with the Magic Wand, +the pixel under the mouse will be selected, as well as all other pixels, that have a color similar to that pixel.

+ +

There is a Contiguous mode option (in the top menu). When it is on, the Magic Wand will select only those similar pixels, +that are connected to the source pixel (i.e. it will select the whole area, that has the same color, but not other areas, which are separated from this area). +When this option is disabled, the Magic Wand will select all similar pixels from the whole image, even if they are not conencted to the source pixel.

+ +

Here you can see the result of clicking on the pixel (marked by the white cross) with the Contiguous mode enabled and disabled.

+ + + +

There is also a Tolerance parameter in the top menu, which defines how much similar colors you want to select +(larger values produce "wider" selections).

+ + +

Quick Selection

+ +

This is probably the most advanced selecting tool, that can really save your time. +For many people, this is the only selection tool they ever use.

+ +

Quick Selection works like a brush, you can choose the brush tip diameter in the top menu. +Then, draw strokes over the area, that you want to select. It adds each stroke to a selection, and it also gradually expands it +into the surrounding area, selecting the related parts (similarly to a Magic Wand).

+ +

Sometimes, the tool may go beyond the area, that you want to select, and select much greater part. +Switch to the Subtract mode in the top menu (or hold the Alt key) and you can remove the unwanted parts in the same way.

+ +

There is a hidden layer inside the Quick Selection tool. As you draw strokes with the New or Union mode, the tool draws into that layer with the white color. +When you draw with the Subtract mode, the strokes are drawn using the black color. +This layer is used as a guide for the tool: white areas must always be inside the selection, black areas must not be in the selection, +and the remaining area will be smartly deduced from this, by analyzing the actual image. +The more white and black strokes you specify, the more information the tool has for making a good selection.

+ +

The New mode makes the tool forget all previously specified strokes and start over with an empty hidden layer.

+ +

Color Range

+ +

This tool allows us select a specific color from the image. Unlike the Magic Wand, which either fully selects or fully ignores the area, +Color range can create partial selections, depending on how much of that color is present in the area.

+ +

Start the tool by pressing Select - Color Range. Next, click on the color (in the image), that you want to select. +The Color Range window shows you the preview of the selection: the brightness corresponds to the degree of selection of each pixel. +E.g. if you click on the red t-shirt in the image, this t-shirt should be white in the preview, and other parts, that are not red, should be black in the preview. +The Fuzziness parameter lets you add also all similar colors to the selection, or select just the exact color that you clicked on.

+ + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/animations b/www.photopea.com/learn/animations index 5bb208d..33d6aeb 100644 --- a/www.photopea.com/learn/animations +++ b/www.photopea.com/learn/animations @@ -1,33 +1,143 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Animations + + + + + + +
+ +
+ +
+
+

Animations

+ +

Animated images (GIF, APNG, WEBP), are very popular. +An animation has several static images - frames, and the information, for how long each frame should be displayed (before going to the next frame). +Photopea can open, edit and save animations.

+ +

Animations in Photopea

+ +

Photopea can make an animation from layers of the document by showing a different layer in each frame. +To define a new frame, the layer name should start with _a_. It can be a regular layer, a folder of layers, or any other layer.

+ +

When you export such document as a GIF, PNG or WEBP, Photopea detects all layers starting with _a_. +The first such layer is shown in the first frame (others starting with _a_ are hidden). +The second such layer is shown in the second frame, etc.

+ +

Example: we have five layers: background, _a_dog, _a_cat, _a_tree, watermark. +The GIF will have three frames (3 layers start with _a_). +background and watermark will be in all frames. +Try it here!

+ + + +

When you open an animation (GIF, APNG, WEBP) in Photopea, Photopea will turn every frame into a layer with a proper name. +So when you edit an animation (delete frames, reorder frames, resize ...), there is no need to change layer names.

+ +

Delay

+ +

A layer which starts with _a_ makes a new frame, which will be shown for 50 ms by default. +To set your own delay, put , and a number to the end of the layer name. E.g. _a_dog,500 will be displayed for half a second.

+ +

Merge frames

+ +

Let's say we have 3 frames of one animation and 3 frames of another, i.e. six layer starting with _a_. +The resulting GIF will have six frames. Can we make these two animations play simultaneously "in parallel"?

+ +

We need to turn it into 3 frame layers, where each layer contains images from both animations. +We can do it manually: merge each two layers into one using Layer - Merge Layers.

+ + + +

We can do it automatically. Put each animation in a folder and press Layer - Animation - Merge.

+ + + +

Photopea will find all folders, and merge their frames together. +Alternatively, you can select only folders you want to merge (in Layers Panel) before pressing Layer - Animation - Merge.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/brush-tools b/www.photopea.com/learn/brush-tools index 5bb208d..f4c9d0b 100644 --- a/www.photopea.com/learn/brush-tools +++ b/www.photopea.com/learn/brush-tools @@ -1,33 +1,164 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Brush Tools + + + + + + +
+ +
+ +
+
+

Brush Tools

+ +

Brush tools are all tools, which use a "brush track". You usually draw strokes on some layer and a brush tool edits pixels along your strokes. +It can be a Brush, an Eraser, a Smudge tool etc. When there is a selection, the tool edits only pixels within this selection.

+ +

Each brush tool uses a specific brush, which is the first item in the top menu.

+ + + +

A brush has a track shape (e.g. a circle, a square or a more complex pattern) +and behaviour (it can change the shape while you draw, e.g. change the track size). +Photopea has a default collection of brushes, but you can import your own brushes in the ABR format into Photopea using File - Open.

+ +

Every brush tool usually draws a stroke by drawing many brush shapes (e.g. circles) next to one another, +along the movement of your mouse or other pointing device.

+ + + +

It means, that there are actually no "lines", just copies of the same shape, that are tightly +squeezed next to each other, which create a look of a continuous line.

+ +

There are two kinds of brush shapes:

+ +
    +
  • Circular - generated as a circle, can have arbitrary size
  • +
  • Pattern - made with a raster image. They get pixelated, when the size is too large
  • +
+ +

Each brush has a Size property, which measn "the thickness of the line". +Circular brushes have a Hardness property in addition, which generates a soft edge of the circle.

+ +

Brush panel

+ +

More brush options are available in a brush panel. You can open it using Window - Brush. +Here are several sections of properties. You can see the result of your brush settings on the bottom of it.

+ +

At the top of the brush panel, there is a gallery of predefined brushes. Choosing one of them will replace your current brush settings.

+ + + +

Here is a brief description of each section of the brush panel. We recommend to play with settings to discover them by yourself.

+ +
    +
  • Tip Shape - parameters of a static brush +
      +
    • Angle - rotates the shape
    • +
    • Roundness - squeezes the shape
    • +
    • Spacing - spacing between consequent "shapes" of a stroke. Set it to 25% or less to make a "continuous" line.
    • +
    +
  • +
  • Tip dynamics - allows you to use random values of Size, Angle and Roundness along the stroke
  • +
  • Scatter - lets you put move each shape to the random place near the original position. You can make an effect of "fallen leaves"
  • +
  • Color Dynamics - lets you change the color of each shape randomly along the stroke
  • +
+ +

Brush Presets

+ +

Photopea supports loading custom brushes in a form of .ABR files. Open such file with File - Open, and new brushes will be added to a list of brushes.

+ +

You can make a new Pattern brush from a current layer using Edit - Define New - Brush.

+ +

Any current brush (with current parameters: Size, Hardness, Tip Dynamics ...) can be saved as a new brush through a Brush button and a tiny arrow. +Here, you can also open an .ABR file, or export brushes as an .ABR file.

+ + + + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/bt-advanced b/www.photopea.com/learn/bt-advanced index 5bb208d..2b49cb3 100644 --- a/www.photopea.com/learn/bt-advanced +++ b/www.photopea.com/learn/bt-advanced @@ -1,33 +1,124 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Advanced Tools + + + + + + +
+ +
+ +
+
+

Advanced Tools

+ +

These tools perform advanced effects on the layer.

+ +

+Blur and Sharpen

+ +

These tools simply blur or sharpen the content of the layer under the stroke. You can change the Strength of the effect at the top menu.

+ +

+Dodge and Burn

+ +

Dodge makes the colors lighter, while Burn makes the colors darker. +You can choose the range, to which the effect should be applied (Shadows / Midtones / Highlights) and the strength (Exposure).

+ +

Smudge

+ +

The Smudge tool is probably the most advanced these tools. +It is the analogy of moving your finger across the wet paint on the painting. +You can spread colors to other areas, make object longer or shorter, or move the border between two objects.

+ + + +

Sponge

+ +

The Sponge tool can be used to saturate or desaturate parts of the layer (make pixels more "alive").

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/bt-basic b/www.photopea.com/learn/bt-basic index 5bb208d..b4644e1 100644 --- a/www.photopea.com/learn/bt-basic +++ b/www.photopea.com/learn/bt-basic @@ -1,33 +1,124 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Basic Tools + + + + + + +
+ +
+ +
+
+

Basic Tools

+ +

In previous chapter, we learned, that each brush tool creates some stroke. This stroke can be combined with an existing layer in many ways.

+ +

Brush

+ +

Brush tool is a basic artistic tool. It lets us draw strokes with a foreground color onto an existing layer. +At the top menu, we can choose the blend mode and the opacity of our strokes.

+ +

Pencil

+ +

Pencil is very similar to the Brush tool, but it creates sharp edges. +Below, you can see the zoomed-in line drawn with the Brush (on the left) and with the Pencil (on the right).

+ + + +

Eraser

+ +

Eraser tool erases the pixels from an existing layer. We can change the opacity at the top menu, +so the pixels will remain partially visible.

+ +

Clone Stamp

+ +

Clone stamp lets us copy the content from one part of the layer into another part. +First, we hold the Alt key and click on the layer, to choose the source of cloning. Then we simply draw strokes in another part, +which are filled with the content from the source part. Decrease the Hardness of a brush, so that new strokes have smooth edges, +to make a smooth transition between the old and the new content.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/bt-smart b/www.photopea.com/learn/bt-smart index 5bb208d..d6a8a14 100644 --- a/www.photopea.com/learn/bt-smart +++ b/www.photopea.com/learn/bt-smart @@ -1,33 +1,138 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Smart Tools + + + + + + +
+ +
+ +
+
+

Smart Tools

+ +

These tools use artificial intelligence and can save you a lot of time.

+ + + +

Spot Healing Brush

+ +

Spot Healing brush lets you remove objects and unwanted artifacts from pictures. +Simply draw over an unwanted area, just like you do with a Brush tool, and release the mouse. +After that, the area, that you drew over, will be "forgotten" and replaced with some appropriate content, that surrounds the area.

+ +

For example, when you have a sandy beach and there is a stone in the middle, +you draw over that stone and it will be replaced with sand. +If you have a field with yellow flowers and a single red flower, you draw over the red flower and it will be replaced by a yellow flower. +You can "heal" the skin, remove scratches from old photographs etc.

+ +

You would have to use Clone Stamp for several minutes to achieve a similar result. +Spot Healing Brush usually takes 1 to 5 seconds. In extreme cases, it may take up to 10 seconds to fill the area +(when the area, more than 50% of the image area should be healed).

+ +

Below, you can see the original image, the spot, that is being healed, +the result from Photopea and the result from Adobe Photoshop. +We believe, that Photopea produces better results, than Adobe Photoshop (but it also takes more time).

+ + + + + +

Healing Brush

+ +

Using a Healing brush is the same as using Clone Stamp. The only difference is, that the cloned content is adapted to the surrounding after releasing the mouse.

+ +

Patch

+ +

With a patch tool, you first have to create a selection over an area that you want to be replaced. +Then, you can drag that selection to another place, to choose the source of cloning. +And again, the area is adapted after releasing the mouse.

+ +

With the Spot Healing Brush, you only choose an area that should be healed. For next two tools, you have to choose both that area, +and the source, from which the new image content should be taken (similar to a Clone Stamp).

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/color-spaces b/www.photopea.com/learn/color-spaces index 5bb208d..ee40f49 100644 --- a/www.photopea.com/learn/color-spaces +++ b/www.photopea.com/learn/color-spaces @@ -1,33 +1,197 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Color Spaces + + + + + + +
+ +
+ +
+
+

Color Spaces

+ +

Have you ever walked into a TV store, with many TVs showing the same video? And the video looked a bit different +(brighter, more yellow-ish, various contrast) on each TV? +

+ +

Capturing devices (digital cameras, scanners) and displaying devices (monitors, printers) have various technical properties. +Color Spaces provide the ability to make colors look always the same, no matter what capturing or displaying device has been used.

+ +

Absolute colors

+ +

To compare, which object is heavier in a real world, we need to give each object a number: weight (measure it). +Two objects have the same weight, if that number is the same for both of them. +There are many units of weight (grams, pounds, ounces), which can be converted, one unit to another.

+ +

+To compare colors in a real world, each color should be given a number, too. +Two colors are the same, if that number is the same for both of them. +There are two popular units (color spaces), that are used in practice: CIELAB +and CIEXYZ.

+ +

+While Grams (unit of weight) consist of one number (e.g. 150 grams), CIELAB (unit of color) consists of three numbers (e.g. CIELAB 0.5, 0.7, 0.1). +These numbers are called channels or components. +

+ +

Let's say we have a square hole in a wall, and there is an apple on the other side, with a blue cloth behind it. +We take a picture of it, print it, and put that printed picture behind a second hole in a wall (illuminated by a proper light). +We also display the same picture on an LCD monitor, which we put behind a third hole.

+ +

If the digital camera can store real colors into correct CIELAB values, and both the printer and the monitor can correctly reproduce any CIELAB values, +we should not be able to distinguish (with our eyes), which hole contains a real apple, which one is the monitor, and which one is the ink on a paper.

+ + + +

Device-specific colors

+ +

First monitors created colors by combining three lights, usually referred to as Red, Green and Blue (RGB) +(note, that "Red" in terms of color is ambiguous, just like "Heavy" in terms of weight; one would need to specify a CIELAB value to be precise). +It was natural to store a color digitally as three numbers: intensities of Red, Green and Blue for that specific monitor. +Such color always looked the same on all monitors of that specific brand. But these values had no relation to CIELAB.

+ +

More monitor manufacturers appeared, each of them using materials with different physical properties. +The RGB color value for one monitor looked different on another brand of monitor. +Finally, a proper system with three components was created, called Standard RGB, or sRGB. +There is an exact formula, how to convert between sRGB and CIELAB, so each sRGB color actually corresponds to a real-world (unambiguous) CIELAB color.

+ +

All images were stored in sRGB color space. Each monitor offered many settings, which allowed people to "calibrate" the monitor, +until it displayed sRGB values correctly.

+ +

There was the same problem with printers. They usually create colors by mixing four inks, referred to as Cyan, Magenta, Yellow and Black (CMYK). +A specific ratio of these inks, that was printed by one printer, could look different on another printer having inks with different chemical properties. +Some printers could even use five or more inks. Some printers could produce colors, that other printers could not produce.

+ +

Color Profiles

+ +

Let's say, that an absolute CIELAB color [0.3, 0.8, 0.1] can be displayed with RGB signals [224,107,158] on a monitor A, and with RGB signals [231,99,161] on a monitor B. +We can say, that each monitor has its own color space, and it can convert any value from CIELAB into its own space. +Instead of storing a color digitally as CIELAB, we can store it as any set of numbers, as long as we provide a mechanism, +how to convert these numbers into CIELAB. +

+ +

All problems with device-specific colors have been solved by ICC profiles. +An ICC profile (for a specific color space X) is a set of instructions, how to convert values from the color space X into CIELAB, and back. +These instructions are stored in a special file: ICC file (e.g. "Canon_printer_123.icc"). +Since the ICC profile describes the conversion between the space X and CIELAB, it fully describes the color space X.

+ +

*** Analogy: We could create a "weight space" of "bukalas". A "weight profile" would say, that "one bukala is 1200 grams". +It lets us convert between "bukalas" and grams, so it fully describes what a "bukala" is.

+ +

This means, that each digital image (JPG, PNG, PDF) has to be equippeed with an ICC profile +(so that we are able to convert its color values into CIELAB), +and each printer has to be equipped with an ICC profile (so it can convert absolute CIELAB colors into its own four values of ink).

+ + + +

Without ICC profiles, each camera would probably store colors in its own color space. Each printer and monitor would have to be equipped with +special configurations for images of each model of the camera, and update these configurations, as new cameras appear on the market. +I.e. each image-displaying device would have to be aware of all existing image-capturing devices, and make special configurations for their images.

+ +

With ICC profiles, we only specify, how to convert between "our own" device-specific colors, and "common" CIELAB colors. +When each party can supply such ICC profile, the result is the same, as if we used the CIELAB space everywhere.

+ +

Usually, the printing software can detect the ICC profile of digital images, and convert them into the printers profile automatically. +Also, an image viewer converts colors of the image into CIELAB (using the ICC profile), and CIELAB to sRGB, +while a graphics driver takes sRGB colors and converts them into a color space of the monitor (using the ICC profile supplied by the manufacturer of the monitor). +We don't deal with any ICC files in practice, the computer (software) takes care of them automatically.

+ +

When we have an image without an ICC profile, "guessing" its color space is very dangerous. +It is like having some numbers specifying weights, and guessing, if they are grams or ounces.

+ +

Also, just saying, that an image (file) is in RGB, or in CMYK, makes no sense. The value (255,0,0) could be Red, as well as Green. +Unless the color space is specified (with an ICC file), we can not be sure, what color is meant by the values inside a file.

+ +

The sRGB space is very popular for storing digital images. Authors (of images) usually only specify, that the image is in sRGB, +without attaching a specific ICC file to it. Converting sRGB to CIELAB is very simple, and the formula +is usually built into a graphic software.

+ +

sRGB is also used on the Web: when we specify #ff00ff; or rgb(255,0,255) in CSS, +browsers expect these values to be in sRGB space.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/creating-selections b/www.photopea.com/learn/creating-selections index 5bb208d..c0b6f43 100644 --- a/www.photopea.com/learn/creating-selections +++ b/www.photopea.com/learn/creating-selections @@ -1,33 +1,154 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Make Selections + + + + + + +
+ +
+ +
+
+

Creating Selections

+ +

There are many ways to create selections. Designers often need to select thousands or even millions of pixels. +Creating the necessary selection may take a lot of time. It is very useful to learn about all the tools, to be able to create selections effectively.

+ +

The basic operation is selecting all pixels (Select - All or Ctrl + A). +Another useful operation is to create a selection according to the transparency of some layer. +Hold the Ctrl key and click on the thumbnail of a layer to create such selection.

+ +

+ Rectangle Select, Ellipse Select

+ +

These tools allow you to create rectangular selections (or ellipse selections). Simply click and drag the mouse to create the selection.

+ +

Lasso

+ +

Lasso tool allows you to draw selections by hand. Simply click and drag the mouse around the object, that you want to select. +It can be useful to zoom in, to be more precise.

+ +

Polygonal Lasso

+ +

Polygonal lasso allows you to draw a polygonal selection. Simply click on the image to add the new corner of a polygon. +Press Delete to remove the last corner. Double-click (or hit Enter) to finish the selection.

+ +

Magnetic Lasso

+ +

Magnetic lasso is a smart tool for making selections. It is very similar to the standard lasso, but it "sticks" to edges of objects.

+ +

Click anywhere to add the first point, then move the mouse along the edge to draw the selection. Control points will be added along the selection. +Magnetic lasso tries to find the most appropriate path from the last control point to the current position of the mouse. +Press Delete to remove the last control point, or click to add the control point manually (to force Magnetic lasso to go in a specific way). +Double-click (or hit Enter) to finish the selection.

+ + +

Combining selections

+ +

When you create a new selection, it can either replace the old one, or it can be combined with the old one. +Each selection tool has several parameters in the top menu, which define the way, how two selections are combined. +There is the default replace mode (to replace the old selection), union mode (to connect two selections together), +subtract mode (to remove the new selection from the old one), intersect mode (to select only pixels, that are in both selections) +and XOR mode, which corresponds to the union, while subtracting the intersection.

+ + + +

These modes allow you to create selections in multiple steps. E.g. selecting the main area with lasso tools, +then adding and subtracting small pieces to make it perfect.

+ +

Selection tools also have a feather parameter, which will apply feather right after the selection is finished. +Many designers create all selections with a small blur, to avoid sharp edges between selected and unselected areas.

+ +

When any selection tool is active, you can press the mouse inside the current selection and drag it to move that selection. +So e.g. if you made an elliptical selection of the correct size, but you missed its position by several pixels, +just click and drag it to the new place. This is possible with the replace mode only (e.g. if you had the subtract mode, +clicking and dragging inside an existing selection would draw a new ellipse, that would be removed from the current selection).

+ + + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/free-transform b/www.photopea.com/learn/free-transform index 5bb208d..40b9458 100644 --- a/www.photopea.com/learn/free-transform +++ b/www.photopea.com/learn/free-transform @@ -1,33 +1,168 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Free Transform + + + + + + +
+ +
+ +
+
+

Layer Transformation

+ + +

We already know, how to add and delete layers, how to move them or change their opacity. +Another essential operations is scaling (making the object bigger or smaller) or rotation.

+ +

Free Transform

+ +

Free Transform is the basic tool for doing transformations. It works as any other regular tool, but it is not present in the toolbar. +You can enable it by clicking Edit - Free Transform, or Alt + Ctrl + T.

+ +

When you enable Free Transform, the transformation will be applied to the layers, that are currently selected, +i.e. to the same layers (or their parts), which would be moved by the Move tool at that moment. +As you enable it, the transformation rectangle will appear around the transformed content. +It has four control points on corners, four control points on sides and the rotation center at the middle.

+ + + +

Press and drag inside the rectangle to move it. Press and drag outside the rectangle to rotate it. +Press and drag its corners to change its size. Press and drag its sides to scale it horizontally or vertically. +When the Ctrl key is down, press and drag the side to skew the content. +

+ +

Besides moving the rectangle, you can set transformation parameters directly in the top menu. Following parameters are available.

+ + + +
    +
  • X, Y: the position of the object
  • +
  • W, H: Width and Height. Add "%" or "px" for the value in percent or in pixels
  • +
  • Angle: the rotation of the object (in degrees)
  • +
  • Skew X, Y: the skew of the object
  • +
+ +

When the Free Transform is enabled, the environment is locked and you can not do anything else. +Once you finish the transforming, confirm it or cancel it using buttons in the top menu. +You can also confirm it with the Enter key, or cancel it with the Escape key.

+ +

Common transforms

+ +

When you need to do a "common" transform (such as rotating 90 degrees, or "mirror" the image left-to-right), you can do it much faster. +Press Edit - Transform - ... and choose one of predefined transformations.

+ +

Perspective transform

+ +

Scaling, rotating and skewing the content may be not enough. Imagine, that you need to put your image on a flat surface, +that is viewed from the side. The edge, that is near, must be longer, and the edge, that is far, must be shorter.

+ + + +

You can do it with the perspective transform. Just hold Ctrl key and drag corners: you will be able to move each corner separately, to achieve the 3D effect.

+ +

Warping

+ +

Perspective transform may let us do a 3D transformation of an image, but it is still not enough in some cases. +Sometimes, we may want to place an image on the surface, which is not flat (a cylinder or a ball). +In these cases, we would like to "bend" the image into a more interesting shape.

+ +

Warp allows us to bend the rectangular area using 16 control points. +There are four control points for the location of corners, each corner has two control points +for the direction of edges near that corner (8 more points) +and there are four control points for the center of the image.

+ + + +

When the Free Transform is on, there will be a "Warp" button in the top panel. +Click it to switch between a standard editing mode and a warp editing mode. +There are also several predefined shapes, such as Arch or Flag, so you don't have to move points manually.

+ + + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/guides-grid-snapping b/www.photopea.com/learn/guides-grid-snapping index 5bb208d..70f6bdf 100644 --- a/www.photopea.com/learn/guides-grid-snapping +++ b/www.photopea.com/learn/guides-grid-snapping @@ -1,33 +1,154 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Guides & Snapping + + + + + + +
+ +
+ +
+
+

Guides, Grid and Snapping

+ +

Precise position of image elements can be very important. The basic tool, which can help us +align image elements, are rulers. Rulers can be enabled in View - Rulers. +But there are several other ways how to align elements precisely.

+ + +

Guides

+ +

There can be multiple guides in a PSD document. A guide is a horizontal or a vertical line, +which is displayed over the document and can help you align elements.

+ + + +

To add or delete a guide, select the Move tool and enable rulers. To add a guide, click on the ruler +and drag the mouse into the document. To delete a guide, click on it and drag it onto the ruler.

+ +

To move existing guides, click on them with a Move tool and drag them to a new location.

+ +

Grid

+ +

Designers often need to place some elements regularly, with an equal distance between them. +Instead of adding many guides with the same spaces between them, we can use the grid. +A regular grid will be displayed over your document, which can help you align other elements.

+ + + +

Pixel Grid

+ +

The Pixel Grid draws a grid with one pixel gap. It is visible only after zooming in close enough. +When an image area has a constant color, the Pixel Grid helps you see the borders between pixels (can be useful for pixel art).

+ +

Guides, Grid or Pixel Grid can be enabled or disabled using View - Show - Guides, Grid or Pixel Grid. +There is the main switch: View - Extras, which can disable them all at once. +The size of the grid can be changed in Edit - Preferences. Note, that guides are related +to a specific document and can be different in each document, while the same grid is displayed over all documents.

+ + + + +

Snapping

+ +

Placing elements precisely on the guide (or on the grid) can be hard. We may need to zoom in +and move the object several times, until it is on the right spot.

+ +

Snapping can solve this problem. Whenever your object is near the guide (e.g. closer than 5 pixels), +it is "snapped" to that guide, i.e. its location is set to the location of that guide. +You don't have to be so precise, Photopea finds the nearest guide and moves the object for you.

+ +

Snapping can be enabled or disabled using View - Snap. You can snap to different things, such as guides, +grid, document bounds etc. (take a look into View - Snap To). But with snapping, you are less flexible, e.g. +when you want to place an object close to the guide, but not exactly on it. +It is useful to disable snapping in such cases.

+ +

Snapping can be used with all tools, where you would expect it: +Move tool, Free Transform, Crop tool, selections, tools for editing vector graphics etc.

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/image-size b/www.photopea.com/learn/image-size index 5bb208d..81cf042 100644 --- a/www.photopea.com/learn/image-size +++ b/www.photopea.com/learn/image-size @@ -1,33 +1,130 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Image size + + + + + + +
+ +
+ +
+
+

Image size

+ +

All (PSD) documents, even those with vector-only graphics, have a specific document size (the resolution in pixels). +Higher resolution will give you a better precision, but it also makes image files larger. +You can change the document resolution in several ways.

+ +

Scaling the image

+ +

Photopea allows you to make the resolution lower or larger and scale the content of the document +according to the new resolution. You can do it by choosing Image - Image Size and entering a new size. +You can also enter a new DPI value there.

+ + + +

You can also rotate or flip the image using Image - Transform - Rotate etc.

+ +

Cropping the image

+ +

Another way of changing the resolution is by cropping the image. It will preserve the resolution and the quality of the content, +but it will change the "window", through which you can see the content or its part. The basic way to do it is through +Image - Canvas Size.

+ +

Crop tool

+ +

The crop tool allows you to define the "viewing window" manually. Choose the Crop tool and draw a rectangle over the document. +You can drag the rectangle to move it across the document, or drag the corner to change its size. +You can also rotate the rectangle by dragging it near the edge, which allows you cropping the image using a different angle.

+ +

Once your cropping rectangle is ready, you can confirm or cancel the cropping in the top menu.

+ + + + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/index.html b/www.photopea.com/learn/index.html index 5bb208d..a0b327f 100644 --- a/www.photopea.com/learn/index.html +++ b/www.photopea.com/learn/index.html @@ -1,33 +1,120 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Introduction + + + + + + +
+ +
+ +
+
+

Introduction

+ +

Photopea is an advanced image editor, which can work with both raster and vector graphics. +You can use it for simple tasks, such as resizing images, as well as complex tasks, such as designing webpages, +creating illustrations, processing photographs and more.

+ +

This website will teach you how to use Photopea step by step. We will start with basic tasks +and gradually progress to more complex features. The chapters (on the left) have been organized, +such that each chapter uses only the knowledge from previous chapters, so you can learn effectively and efficiently.

+ +

Colors

+

Right now, Photopea works with the sRGB color space (the basic color space for the web), with the 8-bit color depth. +All exported files use sRGB, too.

+ +

Starting and using Photopea

+ +

Photopea editor works in a web browser. It can be started by going to www.Photopea.com. +Photopea can run on any device (desktop, laptop, tablet, phone or any other computer), but for the best comfort, +we recommend having a big screen, a precise pointing device (a mouse or a stylus) and a keyboard.

+ +

Photopea runs completely in your device, just like Sketch or Photoshop do. It does not upload any of your files to the internet. +You can load Photopea.com, disconnect from the internet and keep using it completely offline. +None of your files ever leaves your computer.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/layer-comps b/www.photopea.com/learn/layer-comps index 5bb208d..989205c 100644 --- a/www.photopea.com/learn/layer-comps +++ b/www.photopea.com/learn/layer-comps @@ -1,33 +1,162 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Layer Comps + + + + + + +
+ +
+ +
+
+

Layer Comps

+ +

Imagine, that you want to have three versions of your project. +The first version should have a red background and some buttons at the top. +The second version should have a green background and the same buttons on the bottom. +The third version should have a blue background and the same buttons on the side. +Each background and each button is in a separate layer. +

+ +

One way to do it is to prepare the first version and put it all into a new folder. +Then, you can duplicate the whole folder of layers and prepare the second version +(rearrange buttons, hide the red background and unhide the blue background). +Then you can duplicate one more time and prepare the third version.

+ +

Such approach has many disadvantages. If you decide to edit one of buttons, you would have to +edit all three copies of it. Duplicate content also makes PSD files larger.

+ +

What is Layer Comp?

+ +

The layer comp is an object, which stores "the state" of a PSD document. +Precisely, it stores the visibility, the position and the appearance +(opacity, blend mode, layer style) of each layer.

+ +

To solve the previous task, we could arrange layers in all three ways and create a Layer Comp for +each arrangement. We can switch between layer comps later. Switching layer comps +performs the change of visibility, position and a style to a previously stored value in a signle click.

+ +

Each layer comp has the name and three flags: Visibility, Position and Appearance. +Each flag can be enabled or disabled. When some layer comp is activated, the change will be +performed according to these flags.

+ +

For example, you are making a collage with animals. You want to be able make only birds visible. +Also, you want to be able to make only brown animals visible. +Splitting animals into three folders Birds, Brown and the Rest is not possible (because some birds +are brown). You can create layer comps Birds and Brown, and enable just the Visibility flag on these comps. +Later, if you move animals around and switch to Birds, only the visibility of layers will be changed, +while the position (an the style) will be preserved.

+ +

Layer Comps Panel

+ +

Management of Layer Comps is available through the Layer Comps panel. You can open that panel +using Windows - Layer Comps.

+ + + +

At the top, there is the Last Document State, which stores the last document state. +Each item has the Apply button on the left. The button contains a checkmark when that layer comp is applied, +or the dash otherwise. You can switch between layer comps (or the last document state) by clicking this button. +

+ +

You can select layer comps in the panel by clicking on their names, without actually applying them. +Once a layer comp is selected, you can delete it by clicking the bin button, or update it by clicking the update button. +You can also create a new Layer Comp by clicking the New button.

+ +

You can rename any layer comp by double-clicking its name, typing a new name and hitting Enter. +Each item also has three buttons, which you can use to switch the Visibility, Position and Appearance flags. +

+ +

When you apply a specific layer comp and then start editing the document, +the current state (created by the Layer Comp) +will become the Last Document State and all your changes will be performed within that Last Document State. +If you want to make changes to some Layer Comp, edit the document first (inside the Last Document State), +then select the comp in the panel and press the Update button.

+ + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/layer-manipulation b/www.photopea.com/learn/layer-manipulation index 5bb208d..2243dd0 100644 --- a/www.photopea.com/learn/layer-manipulation +++ b/www.photopea.com/learn/layer-manipulation @@ -1,33 +1,124 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Layer Editing + + + + + + +
+ +
+ +
+
+

Layer Manipulation

+ +

Photopea offers you many ways to manipulate layers. You can move them, rotate, bend etc.

+ +

Move Tool

+ +

The Move tool is the basic tool for moving layers and their parts. It is the first tool in the toolbar. +It can be enabled temporarily by pressing Ctrl key (after releasing Ctrl, you will return to your previous tool). +By default, it will move all layers, that are currently selected (in the Layers panel). +Note, that it is enough to select just the folder, to move all its content.

+ +

If you select just the mask of the layer, and that mask is not linked to the main content, the Move tool will move the mask only. +Similarly, you can move only the main content, without moving the mask.

+ +

When the Move tool is active, you can move object also with cursor keys ("arrows") on your keyboard. +One keypress will move the content by one pixel. If you hold Shift, content will be moved in ten pixel steps.

+ +

The Move tool has the auto-select feature, which can be enabled in the top menu, or temporarily by holding Ctrl key. +With auto-select enabled, you can press anywhere in the image, and Photopea will automatically detect the closest layer under your cursor, +and make it selected (in the Layers panel). This way, you don't have to select layrs manually in the Layers panel, but it is enough to click on them. +Of course, if some layer is completely covered by another layer, you can not select it this way.

+ +

Aligning objects

+ +

Sometimes you want to align two or more layers together (e.g. so they all have centers at the same point, +or to get their upper edge to the same height). Just select multiple layers and use one of six buttons +in the top menu of the Move tool, to align these layers.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/layer-styles b/www.photopea.com/learn/layer-styles index 5bb208d..da57794 100644 --- a/www.photopea.com/learn/layer-styles +++ b/www.photopea.com/learn/layer-styles @@ -1,33 +1,139 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Layer Styles + + + + + + +
+ +
+ +
+
+

Layer Styles

+ +

Designers often need to add some "common" effect to an image, such as stroke, drop shadow or outer glow. +Creating such effects manually (e.g. drawing the stroke with a Brush tool) can be hard. +And once you change the image, the effect has to be redrawn manually again.

+ +

Photopea can add such effects automatically for you through Layer Styles (also called Layer Effects). +Each layer (a regular layer, a text layer, even a folder) can have a list of styles attached to it. +Each style has a large set of parameters (e.g. for a Stroke, it is the thickness, the color, the opacity etc.). +These styles are redrawn automatically, when the layer is modified. You can also change their parameters or disable them at any time. +Styles do not modify the content of the layer, but they are added automatically to the final image.

+ +

When a layer has styles applied to it, you can see the list of its styles in the Layers panel, right under that layer. +The list of styles can be folded and unfolded using the arrow on the right side. +Each applied style can be enabled or disabled using the eye icon.

+ + + + +

Add Styles

+

Styles are added and managed inside the Layer Styles window. Double-click the layer to see that window, +or right-click the layer and choose Blending Options.

+ + + +

You can see all available layer styles (effects) in the left part of the Layer Styles window. +Click the checkbox of each style to enable it (or to disable it). When you click the name of that style, +style parameters will be opened in the center.

+ +

Once you are done with editing layer styles, you can confirm your changes by clicking the OK button in the right part of the window.

+ +

Delete Styles

+ +

To delete styles, right-click the layer and choose Layer Style - Clear, or drag-and-drop a style item to the garbage icon (bottom right corner of the Layers panel).

+ +

Load and save Styles

+ +

Photopea lets you load and save styles. Click "Define New" to add a current style to a style gallery. +Click the style thumbnail (under the "Define New" button) to open a style gallery. Now, you can select a style, that you want to apply to a layer. +You can also click the little arrow next to a gallery, and export current styles (or open existing styles) as .ASL file.

+ + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/layers b/www.photopea.com/learn/layers index 5bb208d..68863c3 100644 --- a/www.photopea.com/learn/layers +++ b/www.photopea.com/learn/layers @@ -1,33 +1,186 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Layers + + + + + + +
+ +
+ +
+
+

Layers

+ +

Each PSD document consists of layers. The layer represents some part of the image. +It is usually an area filled with transparent, partially transparent or opaque pixels.

+ +

Layers are rendered one on top of another, to create the final image. +You usually edit just one layer at a time. Changing (moving, rotating, drawing into) one layer has no effect on other layers.

+ + + +

Layers panel

+ +

Layers panel is the main place for working with the layer structure of the document. You can find it in the sidebar on the right. +It cotnains the list of all layers and their thumbnails. +Layers at the bottom of the list are the layers "in the back", while layers at the top are the layers "in the front".

+ +

When we have many layers, we need to choose one, wich we want to work with. +A layer can be selected simply by clicking on it (on its name or on its thumbnail) in the Layers panel.

+ +

Sometimes we need to select multiple layers at the same time. E.g. if we want to rotate all of them by the same angle, or delete them all at once. +When one or more layers are selected, hold the Ctrl key and click on other layers, to add them to the selection, +or click on already selected layers (while still holding Ctrl) to unselect them.

+ +

Folders of layers

+ +

When we have hundreds or even thousands of layers in our document, working with them in the Layers panel can be very hard. +We would need to scroll the list for a long time to find a specific layer. But there is a solution.

+ +

Photopea (as well as many other image editors) allows you to create folders of layers. You can put related layers +inside one folder. Folders can contain other folders. The folder can be folded and unfolded, just like the folder in your computer.

+ + + +

When you select a folder (e.g. by clicking on it), all its content is also selected (even though it is not highlighted in the panel). +By moving / rotating / deleting one folder, you also move / rotate / delete all the content of that folder.

+ +

Basic layer properties

+ +

There are several basic properties of the layer, that you can change in the Layers panel. +The main property is the visibility, which you can switch by clicking the eye icon of a layer (or a folder). +When some layer is selected, you can edit the blend mode +and the opacity of that layer at the top of the Layers panel.

+ + + +

Each layer can be locked in several ways:

+
    +
  • Transparency - the transparency is locked (you can paint only into non-empty areas)
  • +
  • Pixels - pixel data is locked (you can not paint into the layer)
  • +
  • Position - position is locked (you can not move the layer, rotate it, etc.)
  • +
  • All - all previous locks at once
  • +
+ + +

Each layer has the name, which can help you understand the sturcture of large documents. +Double-click the name of the layer, then you can enter a new name. After you type a new name, +press Enter to confirm it, or Escape to return to the previous name.

+ + +

Changing the structure

+ +

You can drag and drop layers inside the Layers panel. This way, you can reorder layers (e.g. put the layers from the back to the front), +place layers into folders (or take them out of folders), put a folder into another folder etc. +By selecting multiple layers (folders), you can drag all of them at the same time.

+ +

You can find several basic buttons at the bottom of the Layers panel.

+ + + +

The garbage bin button lets you delete all selected layers. +The New Layer button will add a new empty layer on top of the current layer (the one that is selected). +The New Folder button will add a new empty folder on top of the current layer. The last button creates the raster mask on the current layer. +Similar options are also available by clicking the Layer button in the menu at the top, or by right-clicking a specific layer in the Layers panel.

+ +

Another useful operation is duplicating the layer (right-click - Duplicate, or Ctrl+J). +You can also duplicate layers between different documents (right-click - Duplicate into). +Another convinient way to duplicate layers is to drag them to "another panel" with a Move tool. +Choose a Move tool, click on the layer (in the workspace), +drag it over the label of another document and wait until documents are switched. +Now, you can move the layer iside this second document and release the mouse. +

+ + + +

Merging multiple layers into a single layer is also useful (right-click - Merge down or Merge layers).

+ + + + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/masks b/www.photopea.com/learn/masks index 5bb208d..0273d10 100644 --- a/www.photopea.com/learn/masks +++ b/www.photopea.com/learn/masks @@ -1,33 +1,153 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Masks + + + + + + +
+ +
+ +
+
+

Masks

+ +

We already know layers. They are building blocks of our document. +Sometimes, we need to hide a part of the layer (so it is not shown in the result), without deleting the actual pixel data. +In Photopea (and many other editors), it can be done with masks.

+ +

We can think of a layer mask as an extra image, attached to the layer. It has the same size +as that layer (so each pixel of the mask has a corresponding pixel in the layer). The mask does not have colors - +it can be black and white only. The black color means, that corresponding pixels of the layer are hidden, while the white color means, +that corresponding pixels of the layer are shown. Precisely, masks can have many shades of gray, +and produce many levels of transparency.

+ + + +

Working with masks

+ +

There are raster masks and vector masks (the difference will be explained later). +Each layer can have at most one raster mask and at most one vector mask. Folders can also have masks +(in that case, the mask is applied to the whole content of the folder). +We can add a new mask to the active layer using Layer - Raster Mask - Add (or Layer - Vector Mask - Add). +Masks can be deleted through Layer - Raster Mask - Delete (or Layer - Vector Mask - Delete).

+ +

Thumbnails of new masks will appear next to the thumbnail of the layer.

+ + + +

We can enable or disable each mask. When the mask is disabled, it has no effect on the image. +It can be enabled again at any time. Right-click the thumbnail of the mask and choose Enable / Disable, +or simply click the thumbnail of the mask with the Shift key pressed.

+ +

Any change to the layer (e.g. drawing with a Brush tool, rotation etc.) can be applied to the mask, too. +Click the main thumbnail, or the thumbnail of the mask, to choose, what you want to edit.

+ +

Masks can be linked to the main content of the layer. It means, that when you move the main content, the mask is moved too, and if you move the mask, +the main content is also moved. The link is represented by the chain icon on the left side of the thumbnail of the mask (each mask has its own link). +Click the chain icon to link or unlink the mask.

+ +

Properties of the mask

+ +

When you select a mask and open the Properties panel in the sidebar (or double-click the thumbnail of the mask), +you can see some properties of the mask. The Density specifies the "opacity" of the mask (100% corresponds to a regular masking, +0% corresponds to no mask, values in between can be useful too). The next property is Feather, which adds a blur to the mask +(i.e. it removes sharp edges between white and black areas of the mask). +Note, that these properties do not change the actual content of the mask. +They are used automatically, when the mask is applied to the image.

+ +

Raster and Vector masks

+ +

There are two kinds of masks: raster masks and vector masks. The difference is in the way how each kind is created and represented.

+ +

The raster mask is a simple grayscale image, that consists of pixels. Each tool, that can be applied to a regular layer (e.g. Brush, Eraser, Smudge, fill of the selection etc.) +can also be applied to the raster mask, with the only difference, that all colors will become shades of gray.

+ +

The vector mask consists of vector shapes, that are made of Bézier curves. You create it and work with it as with a vector object +(by editing Bézier curves). These vector shapes are internally converted to a grayscale image and applied to the layer automatically. +You can learn more in the chapter about vector graphics.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/moving-selected-data b/www.photopea.com/learn/moving-selected-data index 5bb208d..f799a2a 100644 --- a/www.photopea.com/learn/moving-selected-data +++ b/www.photopea.com/learn/moving-selected-data @@ -1,33 +1,121 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Move Selected Data + + + + + + +
+ +
+ +
+
+

Moving Selected Data

+ +

Once you have a selection, and a regular layer is active in the Layers panel, you can work with it in many ways. +You can copy (Edit - Copy or Ctrl + C) or cut (Edit - Cut or Ctrl + X) the selected area. +After you paste it with Edit - Paste or Ctrl + V (you can even paste it into another document), it will be inserted as a new layer.

+ +

When you move a layer (with the Move tool) without any selection, the whole layer is moved. +But when you move it with some selection present, the behavior is more interesting.

+ +

As you start moving the selected area of the layer, this area is cut (or copied, if you hold the Alt key) out of the layer and moved along the mouse cursor. +It behaves as a separate temporary layer inside a layer. As soon as you deselect, the moved area is combined with the rest of the layer.

+ + + +

This is one of the fastest ways to manipulate parts of a layer. You can switch temporarily from any selection tool +to the Move tool just by pressing the Ctrl key, so no clicking in the Toolbar is required. +Everything happens within a single layer, so you don't have to click into the Layers panel. +Using mouse is not required at all, because once the Move tool is on (after pressing Ctrl), +you can move objects with cursor keys on the keyboard.

+ +

You can even apply Free Transform to the selected part of the layer. The part will be cut out and transformed, +and will remain separated after the transformation (still within the single layer), until you deselect it.

+ +

Note, that all these operations can also be performed on raster masks.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/navigation b/www.photopea.com/learn/navigation index 5bb208d..a6185d1 100644 --- a/www.photopea.com/learn/navigation +++ b/www.photopea.com/learn/navigation @@ -1,33 +1,149 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Navigation + + + + + + +
+ +
+ +
+
+

Navigation

+ +

We already know, how to open and save files in Photopea. The next step is viewing the image and its parts comfortably and +moving between different areas of the image.

+ +

Zoom tool

+ +

The Zoom tool allows you to zoom in and zoom out at different places of the image. +Just select the tool (in the toolbar on the left) and click on the image. +You can switch between zooming in and zooming out in the top panel, or by pressing the Alt key on the keyboard. +You can also click and drag to the right to zoom in, or drag to the left to zoom out.

+ +

There is a quick mode for the Zoom tool. By pressing Ctrl + Spacebar, you will switch to the Zoom tool, which you can use in a regular way. +E.g. you can add or release Alt to switch between zooming in and zooming out. After releasing the keyboard keys, you will return back to the previous tool. +It is one of the fastest ways to zoom.

+ +

Hand tool

+ +

The Hand tool allows you to move the view to different parts of the image. Choose the Hand tool in the toolbar, then click and drag on the image to +navigate to other places.

+ +

There is a quick mode for the Hand tool. Press the Spacebar to switch temporarily to the Hand tool. +Then release the Spacebar to go back to the previous tool.

+ +

Rotate View tool

+ +

This tool allows you to rotate the view of a document. You can find it right under the Hand tool. +Click and drag the document to rotate it around the center of the screen. Click Reset at the top to go back to 0°.

+ + +

Zooming and scrolling is also possible with a mouse wheel. Turn the mouse wheel to scroll vertically, or add Ctrl to scroll horizontally. +Hold the Alt key to zoom with the mouse wheel instead of scrolling.

+ +

Rulers

+ +

You can enable Rulers in Photopea (View - Rulers, or Ctrl + R), which will help you navigate inside the document +and to estimate the size of objects.

+ + +

History of actions

+ +

Your work in Photopea is represented as a sequence of actions, that are applied to a document. +Each action performs some change to the document, and creates a new state of the document. +This list of actions is shown in the History panel. New actions will appear at the bottom of the list.

+ +

Photopea allows you to withdraw your editing and return to previous states. +Clicking the name of an action in the History panel will get you back to the previous state. +Also, you can move forward in the history by clicking last actions (at the bottom of the list).

+ +

Another way to return to previous or future states is by choosing Edit - Step Forward (Shift + Ctrl + Z) or Edit - Step Backward (Alt + Ctrl + Z). +You can also use Edit - Undo / Redo (Ctrl + Z) to switch between last two states (it does not allow you to go "deeper" in the history). +

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/opening-saving b/www.photopea.com/learn/opening-saving index 5bb208d..cd2d27b 100644 --- a/www.photopea.com/learn/opening-saving +++ b/www.photopea.com/learn/opening-saving @@ -1,33 +1,145 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Open and Save + + + + + + +
+ +
+ +
+
+

Opening and Saving files

+ +

Digital graphics is stored as a raster image, or a vector image. +There are many formats for saving and distributing various types of graphics. +Let's mention PNG and JPG, which contain a single-layer rectangular raster image (a grid of pixels).

+ +

Image editors use their own file formats, that contain raster and vector graphics, and additional information, +which can be useful for changing the image in the future. For example, when we add a text into an image and save it as a PNG, +letters would become pixels and such text would be hard to change +(we would have to guess the font name, character size, the original image behind the letters would be lost).

+ +

Photopea uses the PSD format as the main format +for storing image documents with an additional information. It was designed for the use in Adobe Photoshop and became very popular since then. +All files, that you open in Photopea (such as PNG, JPG, Sketch) are converted to PSD (when they are not PSDs already). When you finish editing, +the result can be saved from the PSD to other formats.

+ +

Photopea also supports many kinds of resources, that can be used for editing the image. +You can load your own brushes, gradients, fonts and more, the same way you open images.

+ +

Opening files

+

There are several ways of opening files. The standard way is through the Open dialog (File - Open). +You can also paste images (from the system clipboard) simply by pressing Ctrl + V. +Another way is to open files by dragging them from your local system and dropping them into the Photopea environment inside a web browser.

+ +

When you have no documents opened, dropped files will be opened in a regular way. +When some documents are already open in Photopea, you can drop new document into the main area of the current document. +The new file will be inserted into the current document as a new layer (a Smart Object layer).

+ +

When some documents are opened, you can drop new files into the top bar of the main area (which contains the list of opened documents). +Then, new files will be opened separately.

+ + + +

There is an experimental feature, which allows you take pictures using the camera of your device right inside Photopea. Press File - Take a picture to take a picture.

+ +

Saving files

+ +

You can save your work as a PSD file (to preserve the whole structure of the document) using File - Save as PSD. +You can also save your file for the distribution on the web (through JPG, PNG, SVG, PDF and other formats) using File - Export As - PNG, JPG etc.

+ +

The Save for Web window lets you choose the output format. You can also enter the resolution of the output image. +Now, you can already use Photopea to resize images (File - Open, File - Export As - JPG, enter the new size and Save).

+ +

When a document was opened from your device, the File - Save option will not work +(Photopea is just a website, and it can not rewrite files in your device). You have to use File - Save as PSD instead. +But if you opened your file from Google Drive, or as a Smart Object, or from a server (using the API), +File - Save will save your file to a correct destination.

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/other b/www.photopea.com/learn/other index 5bb208d..8b5b851 100644 --- a/www.photopea.com/learn/other +++ b/www.photopea.com/learn/other @@ -1,33 +1,101 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Other + + + + + + +
+ +
+ +
+
+

Other

+ +

This section describes other tools.

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/other-layers b/www.photopea.com/learn/other-layers index 5bb208d..d733dac 100644 --- a/www.photopea.com/learn/other-layers +++ b/www.photopea.com/learn/other-layers @@ -1,33 +1,170 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Other Layers + + + + + + +
+ +
+ +
+
+

Other Layers

+ +

Fill Layers

+ +

There are two types of fill layers: solid color fill, gradient fill and pattern fill. +A fill layer has a parameter (e.g. the gradient) and it will produce a full-width rectangle, +that is filled with the corresponding color, the gradient or the pattern.

+ + + +

Of course, there are many ways how to produce a layer filled with the color the gradient or the pattern. +E.g. you can create an empty layer and use the Brush tool to paint it with the color. +Fill layers have several advantages. They have a special thumbnail, which helps you see the purpose of the layer. +Fill parameters (the color, the gradient or the pattern) can be easily modified. When you change the size of the canvas, +the content of fill layers is regenerated automatically to fill the new canvas.

+ +

Press Layer - New Fill Layer in the top menu to add a new fill layer. Parameters of the fill can be changed in the Properties panel +(the panel will show up after double-clicking the thumbnail of the fill layer).

+ +

Adjustment layers

+ +

Adjustment layers are the special kind of layers. They do not contain any image data, but they perform +a color adjustment to the content below them.

+ +

Imagine that you have a photo and you want to make it black and white (grayscale). +Photopea gives you many ways to change the actual pixels of the photo layer, to make them grayscale. +But with adjustment layers, you can make the photo look back and white, without actually cahnging pixels of the photo layer.

+ +

You could simply add a Hue / Saturation adjustment layer on top of the photo layer, and set the Saturation parameter to zero.

+ + + +

Press Layer - New Adjustment Layer in the top menu to add a new adjustment layer. Parameters of the adjustment can be changed in the Properties panel +(the panel will show up after double-clicking the thumbnail of the adjustment layer).

+ +

Just like any other layers, fill layers and adjustment layers can have their own blend mode, opacity, masks etc. +The mask of an adjustment layer will cause, that the adjustment will be performed only to those areas of the content below, which are white inside the mask.

+ +

Rasterizing layers

+ +

Each layer must have some pixel data, that will be used for combining the layer with other layers, to create the final image. +But these pixel data can be generated in many different ways.

+ +

We can separate layers inside PSD files into two different groups: direct ("regular") raster layers and undirect raster layers. +For direct raster layers, the pixel information is the only information we have. +For undirect raster layers, the pixel information is generated from some other information.

+ +

Undirect layers are e.g. Smart Objects (their pixels are generated from the source image + position + transformation), +fill layers (pixels generated from the fill parameters), text layers (pixels generated from some text and its parameters). +We can not do pixel-specific operations on these layers (e.g. draw into them with a Brush, or blur a part of the layer with a Blur tool).

+ +

To convert an undirect layer into a regular raster layer, we have to rasterize it +(right-click - Rasterize, or Layer - Rasterize). Smart objects will lose the link to the source image, text layers will lose the text information, +only pixel data will remain.

+ +

Clipping Masks

+ +

In PSD files, any layer can have the clipping mask option enabled. +When it is on for some layer L, then the transparency of the layer below (let's call it K) will be used as the mask for the layer L. +In other words, botk K and L will be drawn, but only the transparency of K will be used.

+ +

Here we can see a text layer containing Photopea, and the photo of grass on top of it. Normally, the layer with grass would cover +the whole text. But since the grass is a clipping mask, the transparency of the text layer is used for both layers.

+ + + +

You can have many clipping masks, one on top of another, to create a chain of clipping masks. +In such case, the transparency of the first layer below them will be used for all layers in the chain.

+ +

Clipping Mask can be enabled or disabled for any layer by right-clicking and choosing Clipping mask, +or in the top menu: Layer - Clipping Mask, or by pressing Alt + Ctrl + G.

+ + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/refine-edge b/www.photopea.com/learn/refine-edge index 5bb208d..e1f8cd8 100644 --- a/www.photopea.com/learn/refine-edge +++ b/www.photopea.com/learn/refine-edge @@ -1,33 +1,184 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Refine Edge + + + + + + +
+ +
+ +
+
+

Refine Edge

+ +

Natural images (photographs) may contain parts, that are very hard to select. +We can have partially transparent objects (a glass of water) or objects with a complex shape (trees, hair, fur). +Their colors are mixed with other colors in the background.

+ +

Refine Edge Tool

+ +

Photopea offers the Refine Edge Tool, which can help you with selecting complex shapes. You can start it by choosing Select - Refine Edge, +or by clicking the "Refine Edge" button in the top panel of any selection tool.

+ +

Your goal is to make a Trimap: mark the whole image with trhee colors:

+

    +
  • Your object (Foreground) with White (fully visible in the result)
  • +
  • Background with Black (deleted in the result)
  • +
  • Uncertain areas with Grey
  • +
+ +

After you do so, Photopea will deduce the transparency of the Grey area (part of it will be added to the Foreground, the rest to the Background).

+ + + +

The workspace consists of two sides. You can paint the Trimap on the left, and you will see the result on the right. +Choose the brush size and the color (White, Grey or Black) in the top left corner and paint over the image. +The result is updated after you release the mouse.

+ +

You can Zoom to a specific place with a Mouse Wheel, or by pressing Ctrl + Plus (or Minus) on your keyboard. You can move the image while holding a Spacebar.

+ + + +

If you start Refine Edge with no selection, the whole Trimap is Black (so just add Grey and White).

+ +

If you start Refine Edge with a selection, the tool will generate a Trimap for you (selected area as White, the rest as Black). +Then, just paint with Grey over the areas, that are not selected perfectly (edges of the object).

+ +

You can auto-generate the Grey area as a border of the initial selection (between black and white). Simply change the Border value in the top menu.

+ +

There are three modes, how the result can be used:

+
    +
  • New Layer: selected object will be inserted as a new layer
  • +
  • Raster Mask: the current layer will get a raster mask, that corresponds to the result
  • +
  • Selection: the new selection will be created, that corresponds to the result
  • +
+ +

Once the selection looks well, choose the Mode and confirm it by hitting OK in the top right corner.

+ + + +

When Masks (and Selections) are useless

+ +

There is a red object on a blue background, which is out of focus (so it is very blurry). +The edge of such object looks like a red-to-blue gradient. +We want to cut out this red object (which is not blue, not purple, but only red, with partial transparency). +

+ + + +

Let's try to solve it with a mask. Make a new mask and draw a white-to-black gradient into it. +The left side is fully red, the right side is transparent, but the center is half-transparent purple. +You can even see some blue color on the right half. +

+ + + +

If we try to make a selection and copy-paste it into a new layer, we would have the same problem. +We need to copy only the red color out of purple pixels. How can we do it?

+ +

In the Refine Edge tool, you mark the Background with Black, Foreground with White, and unknown areas with Grey. +Then, Photopea deduces a new transparency for each Grey pixel. But it also deduces a new color for each Grey pixel.

+ +

Let's apply Refine Edge to our image. Fill it all with Grey, draw a White line on the left, and a Black line on the right.

+ + + +

The new image has a correct transparency (100% on the left, 0% on the right), but it is also completely red. +There is no blue or purple color in it.

+ +

If we save such result as a Mask or Selection, only the transparency is saved. New color information (deduced by Refine Edge) will be lost. +Always save the result as a New Layer for the best results.

+ +

This is not just an extreme case. This happens everytime when there is a pixel containing both a Foreground and a Background. +E.g. when there is yellow hair on a black background, many pixels are yellow-ish (contain some hair and some background). +Even if you made the best mask in the world, yellow-ish pixels would become semi-transparent, but would remain yellow-ish instead of being fully yellow, +giving hair a yellow-ish outline. +

+ + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/scripts b/www.photopea.com/learn/scripts index 5bb208d..94ee9f1 100644 --- a/www.photopea.com/learn/scripts +++ b/www.photopea.com/learn/scripts @@ -1,33 +1,175 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Scripts + + + + + + +
+ +
+ +
+
+

Scripts

+ +

In some cases, it is very useful to automate image editing. +For example, we may need to have 30 copies of the layer, and place them all into a regular grid, 5 times 6, and gradually decrease their opacity. +Or if we need to rotate by 90 degrees each layer, that contains "rotate" in its name.

+ +

Photopea can execute scripts written in Javascript. It is very useful to know programming and the syntax of Javascript, +however, even beginners can make simple scripts, which will do the job. You can learn how to write scripts from available demos.

+ +

Use the Script window (File - Script) to work with scripts. Here you can type (or paste) a new script, +and then click Run to execute it. Several demos are available in the top of the Script window. +Scripts can be also executed through the Photopea API.

+ +

There is a Save button for saving scripts (they will stay even after closing Photopea). +The list of saved scripts is at the bottom of the Script window. +Photopea saves these files in a Local Storage, which can be managed through Edit - Local Storage.

+ + + +

Document Model

+ +

Scripts allow you to access the content of the document through Javascript code. +Instead of describing a new Document model, Photopea provides an interface similar to +Adobe's scripting interface. +It means, that the same scripts, that you wrote previously for Adobe Photoshop, could be used in Photopea to do the same task.

+ +

There is a global object app, which represents the application. app.activeDocument lets you access the active document. +A document has properties (width, height, layers, currentLayer, ...) +and methods (resizeImage(), resizeCanvas(), ...). +A layer also has properties (name, visible, opacity, ...) +and methods (rotate(), translate(), ...). You can learn more in the official reference or in demos. +Note, that many properties are read-only, you can not rewrite them directly (e.g. the width of the document - you must call resizeCanvas()). +

+ +

If your script creates files in a filesystem (e.g. Document.exportDocument()), +Photopea will offer you a ZIP archive with newly created files, after the script finishes.

+ +

+Photopea extends the model of Photoshop by adding several new functions: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
App.open(url, as, asSmart)Loads an image from URL. Set asSmart to true to paste an image into a current document as a smart object. + as is ignored.
App.echoToOE(string)Sends a string to an outer environment (See Live Messaging API).
App.UIModify the "viewing state". Has methods: zoomIn(), zoomOut(), fitTheArea(), pixelToPixel().
Document.sourceread / write: a string, that identifies the document. + Initially, it is the URL for files loaded from a server, or "local,X,NAME" for other files.
Document.nameread / write: a String to be displayed as a "label" of a document. Setting name does not add a step into History.
Document.saveToOE("png")Converts the document into a binary file and sends the file to an outer environment + (See Live Messaging API).
+ JPG and WEBP can have a quallity (0 to 1) after the colon (e.g. "jpg:0.8"). + PSD can have a "true" after the colon: "psd:true", to produce minified PSDs (up to 4x smaller, but take 4x longer to generate). +
Layer.selectedBoolean: is layer selected ("highlighted") - read only
+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/selections b/www.photopea.com/learn/selections index 5bb208d..eefade8 100644 --- a/www.photopea.com/learn/selections +++ b/www.photopea.com/learn/selections @@ -1,33 +1,145 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Selections + + + + + + +
+ +
+ +
+
+

Selections

+ +

In this part, we will focus at regular layers with raster images (pixel data). +There are many tools to edit pixel data (Brush, Eraser, adjustments, filters). But we often don't want to edit the whole layer, but just some part of it.

+ +

The selection defines a set of pixels, that are "selected" and can be edited by tools. Precisely, it is a "map" over the whole image, +which gives each pixel the value between 0 % and 100 %. This value says, how much color of the pixel can be changed, and how much should be preserved. +Selections are not bound to layers (as masks), but there is just one selection for the whole document, which is used for every layer that you work with.

+ +

For example, Photopea has the Fill operation (Edit - Fill). By default, it will fill the whole layer with a foreground color. +Once you have a selection, it will fill only the selected area with that color.

+ +

While masks are visualized with the white and the black color (in their thumbnails), selections are visualized +right in the main area of the document with the contour, that is drawn between selected and unselected areas. +We can say, that operations are applied inside the selection, and not outside of it. +Here you can see an example of the selection, and the result, when you draw on top of it with a Brush tool.

+ + + +

Working with Selections

+ +

Once you have a selection, there are several basic operations for changing it. +The basic operation is inverting the selection - it will select unselected pixels and unselect selected pixels (available in Select - Inverse).

+ +

You can expand the selection by several pixels +(i.e. add pixels close to the selection into the selection), contract it by several pixels (the opposite operation to expanding), +or feather - apply a blur to the selection, to make a smooth transition between 0 % areas and 100 % areas. +All this is available at Select - Modify - Expand / Contract / Feather.

+ +

You can move the selection by clicking inside it and dragging it (with any Selection tool, e.g. with a Lasso tool). +You can transform the selection (e.g. rotate it, or make it larger, while having the same shape) using Select - Transform Selection. +

+ + + +

Deselection (removing the selection) is possible through Select - Deselect (or Ctrl + D).

+ +

Quick Mask Mode

+ +

There is a special button at the end of a toolbar, which enables a Quick Mask Mode (you can also press Q). +When you press it, the current selection is converted into a quick mask (a special red image), which is on top of all other layers. +All editing, that you do (e.g. painting or erasing), is applied to that quick mask (document layers are not editable). +It allows you to edit the selection with regular pixel editing tools.

+ + + +

When you are done editing the quick mask, press the same button again, to turn it back into a selection. +When you save your document as a PSD, which is in a Quick Mask mode, it remains in a Quick Mask mode after opening it again.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/slices b/www.photopea.com/learn/slices index 5bb208d..13101bd 100644 --- a/www.photopea.com/learn/slices +++ b/www.photopea.com/learn/slices @@ -1,33 +1,135 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Slices + + + + + + +
+ +
+ +
+
+

Slices

+ +

Slices define rectangular areas on top of our document. +We can export such document with a single click, and each slice becomes a separate image file, such as PNG or JPG.

+ +

Multiple slices (rectangles) can be present in a document. +With at least one slice, Photopea will display slices on top of the document (just like guides or the grid are displayed). +We can hide them by pressing View - Slices.

+ +

+Photopea automatically adds auto slices (displayed in grey), to make sure each part of the document belongs to exactly one slice. +Auto slices are updated while we create or move our own slices (displayed in blue). +

+ + + +

Here is a document with two slices (labeled as 3 and 4). Three auto slices were added by Photopea.

+ +

Slice Tool

+ +

New slices can be added with a Slice tool. Simply press the mouse at any point in the document, drag the mouse, and release it, to draw a rectangle. +The mouse is usually snapped to document boundaries, guides, grid, or to other slices, depending on the current settings.

+ +

Slice Select Tool

+ +

Slice Select Tool allows us select a slice by clicking on it (or select multiple by holding Shift). +Then, we can move selected slices with a mouse or cursor keys, or delete them with a Delete key.

+ +

Selected slices have little squares on their corners and edges. +We can click them to resize slices. The mouse also snaps to guides or other slices while resizing.

+ +

Export Slices

+ +

When there is at least one slice in a document, and we try to expor it as PNG, JPG or GIF (File - Export As - PNG ...), +Photopea will export a ZIP archive. The archive contains an image for each slice in the document. +It also contains a HTML file, which can be used as a website for our project.

+ + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/smart-objects b/www.photopea.com/learn/smart-objects index 5bb208d..c10fb07 100644 --- a/www.photopea.com/learn/smart-objects +++ b/www.photopea.com/learn/smart-objects @@ -1,33 +1,137 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Smart Objects + + + + + + +
+ +
+ +
+
+

Smart Objects

+ +

Designers often need to place several copies of the same object into the document +(e.g. when you want to add multiple snowflakes on the sky). It can be done by creating the first object and then duplicating it +(and moving copies to the right place).

+ +

There is a disadvantage in such approach. When you need to modify the object, you will need to modify each copy of the object separately.

+ +

Single Source

+ +

PSD format offers a better solution for dealing with many copies of the same object. +The single source of the image data is created in the background (e.g. the PNG image of the snowflake), and each snowflake layer is linked to +this single source. Once the source is changed, all layers, that are linked to it, are automatically updated. +Such layers are called Smart Objects. A Smart Object is a type of a layer.

+ +

Smart Objects may be linked to the same source, but they don't have to look completely the same. +Smart Objects can have different positions and transformations (rotation, scale etc.). +And since they are different layers, they can have different opacity and the layer style.

+ +

Smart Objects have another advantage. When you have a regular layer, 100 x 100 pixels, and you scale it down to 10 x 10 pixels, +and then back to 100 x 100 pixels, some image information will be lost. +The Smart Object would have the image information (100 x 100 px image) stored in the background, so after scaling it down and up again, +the new image can be recalculated from the source, which never lost any data. It allows us to do nondestructive editing.

+ +

Working with smart objects

+ +

You can convert any layer (or several layers) to a Smart Object by selecting them and right-click - Convert to Smart Object. +Selected layers will be removed and inserted into a new PSD file, which will become the source of a new Smart Object, that will be added to the document.

+ +

Smart Object layers have a little sign in the bottom-right corner of the thumbnail.

+ + + +

Double-click the thumbnail of the smart object to edit its source. It will be opened as a separate document. +When you finish editing the source, press File - Save. All Smart Objects, that are linked to that source, will be updated in the original document. +Duplicating the smart object would create new Smart Objects, that are still linked to the same source.

+ +

Let's return to our initial case. We can solve it by drawing a snowflake and converting it to the Smart Object. +Then, we can duplicate that Smart Object and move copies to different places on the sky. Once we need to change the snowflake, +we simply double-click any thumbnail of a snowflake, change the source and save it. All snowflakes will be updated.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/text b/www.photopea.com/learn/text index 5bb208d..712d403 100644 --- a/www.photopea.com/learn/text +++ b/www.photopea.com/learn/text @@ -1,33 +1,154 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Text + + + + + + +
+ +
+ +
+
+

Text

+ +

Putting text into images is an essential operation of image editing. +Photopea offers a rich set of tools for working with text. +Text is stored in PSD documents inside Type Layers, which have a thumbnail with a capital letter T on it.

+ + + +

There are three kinds of Type layers:

+
    +
  • Point text - defined by the point of origin. The text starts at that point and continues on a single line until the line break (Enter).
  • +
  • Paragraph text - defined by the rectangle. Paragraphs are broken automatically into multiple lines to fill the rectangle.
  • +
  • Text on a curve - defined by a curve, letters are arranged along the curve.
  • +
+ + + +

Creating a Type layer

+ +

The Type tool is used for working with Type layers: .

+ + + +

To create a Point text, choose a Type tool and click (press and release) the mouse at some place, which will become the origin.

+ +

To create a Paragraph text, press the mouse and drag it to draw a rectangle, then release the mouse. +After creating the new Type layer, you can start typing.

+

+If you click inside a path, the rectangle will be made around that path, +and the text will be constrained by a curve of that path. +

+ + +

To create a text on a curve, select a curve first (in Paths panel, or a shape layer / vector mask), and click on its contour.

+ +

There will be two new symbols (points) on a curve: An X symbol and an O symbol. The text is placed between them. Use the Path Select tool to move these points, +or to switch text rendering to the opposite side of the curve.

+ + + +

Editing a Type layer

+ +

There are two important actions when editing type layers: Entering the layer and Escaping the layer. +To Enter a type layer, just click on it with a Type tool (newly created layers are entered automatically). After entering the layer, the environment is locked +and you can edit the layer (and nothing else). To do something else (e.g. edit another type layer), you must escape the current layer first. +

+ +

To escape the type layer, you must confirm or cancel your changes using buttons in the top menu. +Escaping and canceling changes is also possible with the Escape key on the keyboard.

+ + + +

When you have entered a type layer, many ways of editing are possible. +You can select any text with a mouse, delete it, add a new text, copy and paste etc. When it is a Paragraph text, you can also +change the size of the rectangle by moving its corners. +You can move the mouse outside the text, press and drag it, to move the type layer.

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/text-layers b/www.photopea.com/learn/text-layers index 5bb208d..d6e5516 100644 --- a/www.photopea.com/learn/text-layers +++ b/www.photopea.com/learn/text-layers @@ -1,33 +1,100 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Introduction + + + + + + +
+ +
+ +
+
+
+Warning: file_get_contents(pages/text-layers.html): failed to open stream: No such file or directory in /var/www/vhosts/photopea.com/httpdocs/learn/index.php on line 125
+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/text-style b/www.photopea.com/learn/text-style index 5bb208d..f5bcadb 100644 --- a/www.photopea.com/learn/text-style +++ b/www.photopea.com/learn/text-style @@ -1,33 +1,132 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Text Style + + + + + + +
+ +
+ +
+
+ +

Text Style

+ +

There are two kinds of style parameters: Character Style (e.g. text size, color, ...), which can be different for each character, +and Paragraph Style (e.g. text aligning, margin etc.), which is shared by the whole paragraph.

+ +

Character properties can be found in the Character panel (Window - Character), while Paragraph properties can be found in the Paragraph panel (Window - Paragraph). +Some basic Character and Paragraph properties can be found also in the top menu of a Type tool.

+ + + +

When the type layer is selected (in the Layers panel), you can change the style (e.g. the font family or aligning) of the whole layer. +Another option is to enter the layer and select a specific part of the text. As you change the style, it will be applied only to the selected part of the text.

+ +

Align

+ +

Aligning of a Paragraph text layer is computed with respect to the sides of the rectangle. +Aligning of a Point text layer is computed according to the point of origin. Below, we can see a Point and a Paragraph text with the same three paragraphs. +The first paragraph is aligned to the left, the second is aligned to the right, and the third is aligned to the center.

+ + + +

Writing directions

+ +

When you use e.g. latin and arabic words in the same text, they direction of writing is detected automatically, +just as in any other text editor. But there is so-called base direction, which is necessary for the correct rendering +of bidirectional text and punctuations. You can change the base direction in the Paragraph window.

+ +

Custom fonts

+

Photopea has a huge database of royalty-free fonts. If you are using a free font, there is almost a 100% chance, that it is already available in PP.

+ +

For all other fonts, Photopea allows you to open them (TTF or OTF files) the same way you open any other file (File - Open, or drag-and-drop). +They will be added to the end of the font list and used, when some type layer needs them.

+ + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/vector-graphics b/www.photopea.com/learn/vector-graphics index 5bb208d..1f6832e 100644 --- a/www.photopea.com/learn/vector-graphics +++ b/www.photopea.com/learn/vector-graphics @@ -1,33 +1,131 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Vector Graphics + + + + + + +
+ +
+ +
+
+

Vector Graphics

+ +

Photopea has a rich set of tools to work with vector graphics. Vector graphics can be stored in Paths, Vector Masks or Shape Layers.

+ +

Paths

+

Just like a list of layers, a document may contain a list of paths. They can be viewed in a Paths panel (Window - Paths). +In this panel, you can select paths, delete paths, create new, rename them, etc.

+ +

There is a special path called Work Path. By default, all vector graphics are stored into this path. +When it is empty, it is not shown in a Path panel.

+ + + +

Vector Masks

+

Any layer can have a vector mask. Just as a raster mask, vector mask defines, which part of the layer should be visible and which should be hidden. +Raster and vector masks can be enabled, disabled or edited at any time without changed the actual content of the layer.

+ +

Shape Layers

+

A Shape is a layer containing only the vector shape with a Color fill, a Gradient fill or a Pattern fill. +In fact, it is just a Fill Layer with a vector mask.

+ +

Below is a standard layer with a vector mask and a shape layer is beneath it.

+ + +

Paths Panel

+ +

As we said before, Paths panel displays a list of paths of the document. +Also, if any Shape layers or vector masks are selected, it will show you them as paths at the end of the list. +So the panel allows you to work with all three formats of vector graphics. +However, these paths can not be renamed or deleted here, as they belong to layers. +

+ +

You can add or delete paths by clicking the buttons at the bottom of the panel. +You can hold Ctrl and click on the thumbnail of the path, to turn it into a selction.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/vg-creating b/www.photopea.com/learn/vg-creating index 5bb208d..2bb5aa7 100644 --- a/www.photopea.com/learn/vg-creating +++ b/www.photopea.com/learn/vg-creating @@ -1,33 +1,155 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Creating Shapes + + + + + + +
+ +
+ +
+
+ +

Creating shapes

+ +

Photopea offers several tools for creating vector graphics: Pen, Free Pen, Rectangle, Ellipse, Polygon etc.. +Each tool has one of three modes, which you can switch in the top menu.

+ + +
    +
  • Path - adds new elements into a current path (current Shape layer, Vector Mask, or into a current path, selected in Paths panel)
  • +
  • Shape - creates a new Shape layer
  • +
  • Pixels - the result is rasterized immediately, then combined with a current raster layer
  • +
+ +

When you choose the Path mode, you can also choose the boolean operation, that will be used for new elements.

+ +

Pen

+ +

This tool allows you to create paths knot - by - knot. Press the mouse in the image area to add a knot. +Then drag and release to add handles, or release immediately to keep handles collapsed. +Clicking again on the first knot in the path will close the path. Try This Game to learn how to use the Pen tool.

+ +

If there is one knot already selected, the new knot is added right after that knot (into the same path). +Otherwise, the new path is started, and the knot becomes the first knot in the new path.

+ +

The regular usage is to click to start a new path, then keep clicking to add more knots +(since each new knot is selected after adding, so the next knot is added right after it). +But you can also select some knot manually (with Direct Select) and new knots will be added after it (into an existing path).

+ +

Free Pen

+ +

Click with mouse and draw some shape. Then, release the mouse. Your stroke will be converted into a smooth vector curve. +Change the Tolerance value to make a curve smoother.

+ +

+ + + +Specific shapes

+ +

Click and drag with a mouse to draw a path with the specific geometric shape. Hold Shift to keep the proportions of the new path.

+ +

+Custom shape

+ +

With this tool, you can add a complex shape from the current gallery of shapes. +You can import your own collections of shapes in a CSH format using File - Open.

+ +

+ +Parametric Shape

+

This tool can draw other exotic shapes, which require some parameters. You can draw a Polygon, a Star, a Spiral and possibly many other shapes in the future. +Each shape has several parameters, which allow you to customize the shape.

+ +

Text to Shape

+ +

You can convert any text layer into a vector shape layer by right-clicking it (in Layers panel) and pressing Convert to Shape. +Each character will become a path with knots, which you can modify manually (e.g. rotate each character by a random angle).

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/vg-manipulation b/www.photopea.com/learn/vg-manipulation index 5bb208d..4566117 100644 --- a/www.photopea.com/learn/vg-manipulation +++ b/www.photopea.com/learn/vg-manipulation @@ -1,33 +1,138 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Editing Shapes + + + + + + +
+ +
+ +
+
+ +

Shape manipulation

+ +

To work with a shape, first, we should select the shape in the Layers panel. We can either click on the thumbnail of a vector mask, or a thumbnail of a Shape layer. +We will see the outlines of paths after that.

+ +

Path select

+ +

Path select allows us to manupulate paths within a shape. Click on the path to select it, or hold Shift to select multiple paths.

+ +

When one or more paths are selected, we can:

+ +

    +
  • move them with a mouse or cursor keys
  • +
  • delete them by pressing Delete
  • +
  • Cut / Copy / Paste paths using Edit - Cut / Copy / Paste (or Ctrl + X / C / V), even between different layers or different PSDs
  • +
  • apply Free Transform (Edit - Free Transform)
  • +
+ +

We can also change the boolean operation (Subtract, Intersect ...) of each path in the top menu, or reorder paths with the Up and Down button. +The drop-down menu also contains the Merge option, which will merge all paths into a single path. +In case of the Shape layer, the top menu allows us to change the fill and the stroke of the shape.

+ + + +

Direct select

+ +

Direct select allows us to manupulate knots within a shape. Click on the outline of the path to see the knots. +Then click on a knot, or hold Shift to select multiple knots. We can even select separate knots from different paths.

+ +

When one or more knots are selected, we can:

+ +

    +
  • move them with a mouse or cursor keys
  • +
  • delete them by pressing Delete
  • +
  • move the anchor or handles of a knot
  • +
+ +

Double-clicking the handle will collapse it. When a handle is collapsed, double-clicking the anchor will give it back. +Otherwise, double-clicking the anchor will convert the Linked (Smooth) knot to Unlinked (Corner) knot and vice versa.

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/vg-structure b/www.photopea.com/learn/vg-structure index 5bb208d..3b3d0b4 100644 --- a/www.photopea.com/learn/vg-structure +++ b/www.photopea.com/learn/vg-structure @@ -1,33 +1,150 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - The Structure + + + + + + +
+ +
+ +
+
+ +

The structure

+ +

The content of a vector mask (or a shape layer) is called a Shape. The Shape consists of several Paths. +A Path consists of multiple Knots. Each knot consists of three points: the anchor and two handles.

+ +

Here we see a shape consisting of four paths. The path on the right consists of five knots. The knot consists of an anchor (in the middle) and two handles.

+ + +

Path

+ +

There can be several paths within a shape. Paths have a fixed order (the first, the second, the third ...). +Each path has some boolean operation, which defines, how the path (e.g. the fourth path) is combined with the content under it (i.e. paths 1, 2 and 3). +Boolean operations are Union, Subtract, Intersect and Exclude.

+ +

Here we see four shapes with two paths in each shape. The second path (the ellipse) has different boolean operations.

+ + +

When all paths have the Union operation, their order is not important. But e.g. when some path has a Subtract operation, reordering paths may produce a different result.

+ +

Paths can be open or closed. Open path means, that the first and the last knot are connected with a straight line (ignoring the adjacent handles).

+ +

Knots

+ +

A path consists of a sequence of knots. Each two consecutive knots are connected with a curve segment, that is shaped by adjacent handles. +A knot can be linked / smooth (both handles are located in a line with the anchor) or unlinked / corner (handles have arbitrary locations). +A linked knot guarantees the smooth curve, while an unlinked knot usually creates a corner.

+ +

A linked knot is visualised with a circle anchor, while an unlinked one has a square anchor.

+ + + +

The handle of the knot is collapsed, when it is located at the location of the anchor point. +When all knots in a path have collapsed handles, then the path consists only of straight line segments (i.e. it is a polygon).

+ +

The Look

+ +

While vector masks simply hide the portion of a layer, Shape Layers have more interesting properties. +Each Shape Layer has a Fill and a Stroke value. Fill and Stroke can have one of four values: None, Color, Gradient and Pattern. +Combine different values of Fill and Stroke to create various styles. Have a look at possible combinations.

+ + + +

Stroke can have many parameters: Line thickness, position: Inside, Center, Outside, corner shape, gaps (dashed line) etc. +When your shape contains just a single open path, the first and the last knot will not be connected inside a stroke.

+ +

Change the look

+

When any vector tool is enabled (e.g. a Pen tool or a Rectangle tool), the top menu shows the Fill and the Stroke parameters of a current shape layer. +You can change these parameters there. +

+ + + +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/vg-vectorize b/www.photopea.com/learn/vg-vectorize index 5bb208d..a3e2658 100644 --- a/www.photopea.com/learn/vg-vectorize +++ b/www.photopea.com/learn/vg-vectorize @@ -1,33 +1,123 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Vectorize Bitmap + + + + + + +
+ +
+ +
+
+ +

Vectorize Bitmap

+ +

Sometimes, we may have a raster image (JPG, PNG ...), which used to be a vector image. +The original vector image can be recreated by hand, but it may take a lot of time. +Photopea can do it automatically, it is called bitmap vectorization or bitmap tracing.

+ + +

After we open our raster image (or select the right layer in a layered image), +press Image - Vectorize Bitmap. We will see a special Vectorizer window.

+ + + + + +

We can see the original image on the left and the vector image on the right. We can move both images with a mouse, or zoom in / out with a mouse wheel. +We can also set two parameters: +

    +
  • Number of colors
  • +
  • Noise reduction
  • +
+The need of the noise reduction is detected automatically for each image and we recommend not to change that setting. +Once we are satisfied with the vector output, hit OK. +Our original raster layer will be replaced with corresponding vector layers, +ready for an additional vector editing, or for the export as vector graphics: SVG or PDF.

+ +
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/learn/workspace b/www.photopea.com/learn/workspace index 5bb208d..274459c 100644 --- a/www.photopea.com/learn/workspace +++ b/www.photopea.com/learn/workspace @@ -1,33 +1,148 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + Photopea - Workspace + + + + + + +
+ +
+ +
+
+

Workspace

+ + + +

The workspace of Photopea is very similar to other image editors. It consists of the +Toolbar on the left, the Sidebar on the right, the Working area in the middle and the Top menu at the top.

+ +

Toolbar

+ +

The toolbar contains all available tools. You can switch tools by clicking on their icons in the toolbar. Only one tool can be active at a time. +Icons with a little arrow in the corner (e.g. Lasso tool) contain the whole group of related tools. +Click and hold a tool button to see the menu with more tools in that group.

+ + + +

Keep your mouse above a tool icon for a moment to see the name of that tool. Some tools have capital letters attached to them (e.g. B for Brush tool). +You can also switch tools by pressing corresponding keys on your keyboard.

+ +

There is the foreground and the background color at the bottom of the toolbar. +It is a simple palette of two colors, which are used by some tools. You can swap them with the X button, +or reset to default values (black and white) with a D button.

+ +

Sidebar

+ +

The sidebar consists of two vertical columns. Each column can be folded and unfolded by clicking the thick line at the top of the column.

+ + + +

These columns contain panels (Layers, History, Paragraph ...), that you may need during your work. +When the column is unfolded, you can see multiple panels, that are inside. +When the column is folded, you can show and hide a specific panel by clicking the corresponding button in the column.

+ +

If you don't know where a specific panel is located, press Window - name of that panel.

+ +

Main Area

+ +

Photopea allows you to open multiple documents (e.g. JPG images) at the same time. +The list of opened documents is shown in the bar at the top of the main area.

+ + + +

Here you can switch between documents and choose the one that you want to work with. You can also close +documents by pressing the cross next to the document name. Below that bar, in the middle of the workspace, +is the actual content of your document. It is the active area, whree you can draw, move objects etc.

+ +

Top Menu

+ +

The top menu consists of two parts the first part (File, Edit, Image ...) is the main menu of Photopea. It is always the same.

+ +

The second part (below the main menu) contains parameters of the current tool. It has a different content for each tool. +For example, for the Brush tool, it contains the opacity of the brush, while for the Type tool, it contains the size of characters.

+
+ +

Comments

+

Do you need help? Ask us at our Reddit!

+ +
+ +
+
+ + +
+ diff --git a/www.photopea.com/manifest.json b/www.photopea.com/manifest.json index 5bb208d..3478b62 100644 --- a/www.photopea.com/manifest.json +++ b/www.photopea.com/manifest.json @@ -1,33 +1,39 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - +{ + "name": "Photopea", + "short_name": "Photopea", + "display": "standalone", + "icons": [ + { "src": "promo/icon512.png", "type": "image/png", "sizes": "512x512" }, + { "src": "promo/maskable512.png", "type": "image/png", "sizes": "512x512", "purpose":"maskable" } + ], + "start_url": "/?utm_source=homescreen", + "background_color":"#0f171d", + "theme_color": "#474747", + "file_handlers": [ + { "action": "/", "accept": { "image/psd": [ ".psd" ] } }, + { "action": "/", "accept": { "image/psb": [ ".psb" ] } }, + { "action": "/", "accept": { "image/xcf": [ ".xcf" ] } }, + { "action": "/", "accept": { "image/sketch": [ ".sketch" ] } }, + { "action": "/", "accept": { "image/xd" : [ ".xd" ] } }, + { "action": "/", "accept": { "image/pxd": [ ".pxd" ] } }, + { "action": "/", "accept": { "image/cdr": [ ".cdr" ] } }, + { "action": "/", "accept": { "image/ai" : [ ".ai" ] } }, + { "action": "/", "accept": { "image/eps": [ ".eps" ] } }, + + { "action": "/", "accept": { "image/png": [ ".png" ] } }, + { "action": "/", "accept": { "image/jpg": [ ".jpg" ] } }, + { "action": "/", "accept": { "image/webp": [ ".webp" ] } }, + { "action": "/", "accept": { "image/bmp": [ ".bmp" ] } }, + { "action": "/", "accept": { "image/x-icon": [ ".ico" ] } }, + { "action": "/", "accept": { "image/gif": [ ".gif" ] } }, + { "action": "/", "accept": { "image/jpeg": [ ".jpeg" ] } }, + { "action": "/", "accept": { "image/tiff": [ ".tif" ] } }, + { "action": "/", "accept": { "image/jpx": [ ".jpx" ] } }, + { "action": "/", "accept": { "image/jp2": [ ".jp2" ] } }, + { "action": "/", "accept": { "image/svg+xml": [ ".svg" ] } }, + { "action": "/", "accept": { "image/pdf": [ ".pdf" ] } }, + { "action": "/", "accept": { "image/x-tga": [ ".tga" ] } }, + { "action": "/", "accept": { "image/psd": [ ".psd" ] } } + + ] +} \ No newline at end of file diff --git a/www.photopea.com/plugins/templates.css b/www.photopea.com/plugins/templates.css index 5bb208d..664cbe0 100644 --- a/www.photopea.com/plugins/templates.css +++ b/www.photopea.com/plugins/templates.css @@ -1,33 +1,44 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - + + + body { background-color:#333333; font-family:"Open Sans"; color:#a5a5a5; padding:0; margin:0; font-size:14px; } + + #cont { background-color:#1d1d1d; padding: 30px 0 0 30px; width:100%; } + + a { text-decoration: inherit; color: inherit; } + + .title { display:block; color:white; } + .item { position:relative; display:inline-block; margin:0 20px 20px 0; cursor:pointer; } + .item img { width:100%; } + .cat { margin:16px; padding:2px 0px; margin-left:30px; cursor:pointer; } + .top { margin-left:7px; } + .blue, .clickable:hover { border-bottom: 3px solid #00eeff; margin-bottom:-3px; } + .back { display:inline-block; background-color:rgba(0,0,0,0.5); cursor:pointer; padding:6px 1em; margin: 0.6em 0; font-size:1.5em; } + .count { float:right; } + .cat_title {font-size:1.6em; display:inline-block; margin:1.2em 0 1.2em 0;} + .t1 {font-size:2em; margin-bottom:0.4em; } + .t2 {font-size:1.2em;} + #cats { padding:10px 24px; min-width:180px; color:white; } + #search { font-size:1.3em; margin-bottom: 30px; } + #kwds { font-size:1.0em; background-color: black; border:none; color:white; padding:3px; margin-left:1em; } + + .post_big { padding:24px; } + + .scrollable { + overflow-y: scroll; + /* for Firefox: */ + scrollbar-color: #222222 #1d1d1d; + scrollbar-width: thin; + } + .scrollable::-webkit-scrollbar { + width: 8px; + background: #1d1d1d; + } + .scrollable::-webkit-scrollbar-thumb { + background: rgba(255,255,255,0.5); + border-radius: 6px; + margin:4px; + } + .flexrow { + display:flex; + flex-flow:row; + } \ No newline at end of file diff --git a/www.photopea.com/plugins/templates.html b/www.photopea.com/plugins/templates.html index 5bb208d..d0b1b64 100644 --- a/www.photopea.com/plugins/templates.html +++ b/www.photopea.com/plugins/templates.html @@ -1,33 +1,101 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - + + - + + + + + + + + + + + + + + +
+
+ +
+ +
+
+ + diff --git a/www.photopea.com/plugins/templates.js b/www.photopea.com/plugins/templates.js index 5bb208d..e48f2dd 100644 --- a/www.photopea.com/plugins/templates.js +++ b/www.photopea.com/plugins/templates.js @@ -1,33 +1,126 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - + + function makeView(tps,out,twds,wds,curc,cit) { + var list = tps.list, cts=tps.categories; + if(cit==-1) { + for(var i=0; i< Back"); + var tpl = list[cit]; + makeItem(tps,cit,cts,out, true); + } + } + + function toID(str) { return str.toLowerCase().replace(/\s+/g, "-")+".html"; } + function makeItem(tps, ind,cts,lst, big) { + var tpl = tps.list[ind]; + var rst = window.innerWidth-(245+30); //console.log(iw); + var num = 1; while(rst/num>300) num++; + var cc = Math.floor(rst/num); //console.log(cc); + var isz = cc-26; //console.log(isz); + + var tit = tpl[7]; + var lim = ~~(isz/9); //console.log(tpl); + + lst.push("
"); + + var iurl = tpl[3]//(Math.random()<0.5?"wide.png":"tall.png"); + //* + if(big) isz=rst/2; + var wi = (isz+"px"); + var hi = ((isz*0.67)+"px"); + lst.push("
"); // ict */ + + //var wi = big?"50%":(isz+"px"); + //lst.push("
"); // ict + var aurl = "https://www.Photopea.com#t"+tpl[2].split("").reverse().join(""); + //lst.push(""); + lst.push("
"); // ict + lst.push("
"); // cmt + + lst.push("" + escapeHtml((tit.length"); + + lst.push(""+"By "+tps.authors[tpl[0]] + " in " + cts["c"+tpl[4]]+""); + + if(big) { + lst.push("

"+escapeHtml(tpl[8])+"

"); + lst.push("

"); + lst.push("Open"); + lst.push("  Open Separately"); + lst.push("

"); + lst.push(""+"👁 "+tpl[5]+"×  ⭳ "+tpl[6]+"×"+""); + } + else { + //var p = makeNode("span"); p.textContent = tpl[5]+"/"+tpl[6]; //ict.appendChild(p); + //p.setAttribute("style","display:inline-block; right:4px; bottom:8px; padding:0px 4px; position:absolute; background:white;"); + } + lst.push("
"); // cmt + lst.push("
"); + } + + function escapeHtml(unsafe) { + return unsafe + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); + } + + function getCatCounts(tps) { + var list = tps.list, cts=tps.categories; + var ccnt = JSON.parse(JSON.stringify(cts)); + for(var cat in ccnt) ccnt[cat]=0; + for(var i=0; iCATEGORIES"); + for(var cat in cts) { + if(ccnt[cat]==0) continue; + var cw = parseInt(cat.slice(1)), isTop = (cw%10)==0; //console.log(cw); + out.push("
"); + out.push(cts[cat]); + out.push(""+ccnt[cat]+""); + out.push("
"); + } + } + + + function cost(v) { + var age = (Date.now()*0.001 - v[1]) / (60*60*24); + var cst = v[6] / age; + var ext = 20*Math.pow(2,-age*0.5); + //console.log(age,cst,ext) + + return cst+ext; + /* + var ts = Math.max(0, v[1]-1134028003); + var x = v[6]; + var y = 1; + var z = Math.max(1,Math.abs(x)); + return getBaseLog(10, z) + (y*ts/45000); // 45000 + */ + } + function getBaseLog(x, y) { return Math.log(y) / Math.log(x); } + + \ No newline at end of file diff --git a/www.photopea.com/promo/fb.png b/www.photopea.com/promo/fb.png index 5bb208d..4b515f9 100644 Binary files a/www.photopea.com/promo/fb.png and b/www.photopea.com/promo/fb.png differ diff --git a/www.photopea.com/promo/gp.png b/www.photopea.com/promo/gp.png index 5bb208d..b50005c 100644 Binary files a/www.photopea.com/promo/gp.png and b/www.photopea.com/promo/gp.png differ diff --git a/www.photopea.com/promo/icon512.png b/www.photopea.com/promo/icon512.png index 5bb208d..b7571dd 100644 Binary files a/www.photopea.com/promo/icon512.png and b/www.photopea.com/promo/icon512.png differ diff --git a/www.photopea.com/promo/screens/scr6.png b/www.photopea.com/promo/screens/scr6.png index 5bb208d..4b5c722 100644 Binary files a/www.photopea.com/promo/screens/scr6.png and b/www.photopea.com/promo/screens/scr6.png differ diff --git a/www.photopea.com/promo/thumb256.png b/www.photopea.com/promo/thumb256.png index 5bb208d..27b7b2d 100644 Binary files a/www.photopea.com/promo/thumb256.png and b/www.photopea.com/promo/thumb256.png differ diff --git a/www.photopea.com/promo/tw.png b/www.photopea.com/promo/tw.png index 5bb208d..d650778 100644 Binary files a/www.photopea.com/promo/tw.png and b/www.photopea.com/promo/tw.png differ diff --git a/www.photopea.com/rsrc/fonts/fonts.png b/www.photopea.com/rsrc/fonts/fonts.png index 5bb208d..1ee23bf 100644 Binary files a/www.photopea.com/rsrc/fonts/fonts.png and b/www.photopea.com/rsrc/fonts/fonts.png differ diff --git a/www.photopea.com/style/all.css b/www.photopea.com/style/all.css index 5bb208d..1052be7 100644 --- a/www.photopea.com/style/all.css +++ b/www.photopea.com/style/all.css @@ -1,33 +1,1154 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - - + + + *{ + border-style: solid; + border-width: 0; + border-color: var(--brdr); + column-rule-style:solid; + column-rule-color: var(--bg-panel); + } + + body, button, input, textarea, select { font-family: "Open Sans", Sans-Serif; } + + .autoscale + { + width : var(--img20); + height: var(--img20); + } + + .listitem { + border-bottom-width: 1px; + padding: 0.2em; + } + + .gsicon { + filter: invert( var(--gs-invert) ) drop-shadow(0 var(--sh-dy) 0 var(--sh-clr)); + -webkit-user-drag: none; + user-drag: none; + -moz-user-drag: none; + } + + .svggallery { + text-shadow:none; + line-height:0; + } + .svggallery svg { + margin:0 4px 4px 0; + cursor: pointer; + } + + .colorpicker .fitem .flabel, .numlist .flabel { + display: inline-block; + min-width : 17px; + margin-left:15px; + } + + body, input, select, button { + font-size: 13px; + } + + body, button{ + margin:0; + padding: 0; + background-color: var(--bg-color); + + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + + cursor: default; + overflow-x: hidden; + /*overflow: hidden;*/ + } + .app , button { + text-shadow: 0 var(--sh-dy) 0 var(--sh-clr); + } + + .app { + background-color: var(--bg-color); + color: var(--text-color); + position:relative; + } + + .intro { + box-shadow: 0px 40px 70px rgba(0,0,0,0.35); + border-radius:20px; + color: #e6e6e6; + text-shadow: none; + line-height:1.7em; + } + + .intro .labelitem { + padding: 0.15em 0.3em; + } + + .intro button { + color: #e6e6e6; + font-size: 1em; + margin: 0 0em 0 0; + cursor: pointer; + text-shadow: none; + background-color:rgba(255,255,255,0); + padding: 0.15em 0.4em; + border-radius: 0.4em; + } + .intro button:hover { + background-color:rgba(0,0,0,0.35); + } + + + + hr { + border: 0; + height: 1px; + + background: var(--bg-panel); + } + + .disabled + { + opacity:0.5; + pointer-events: none; + } + + .bordered + { + border: 1px solid rgba(0,0,0,0.33); + } + + .padded + { + padding:0.5em; + } + + .marged + { + margin:0.5em; + } + + .flexrow + { + display:flex; + flex-flow:row; + } + + .cell + { + display:table-cell; + vertical-align:top; + } + + .form + { + line-height:2.3em; + } + .form .fitem { + margin-right: 6px; + } + + .vlist .fitem + { + display:block; + } + + .sbar{ + border-left-width: 1px; + position:relative; + } + + .sbar .top { + color: #e0e0e0; + background-color: #252525; /*#413d39;*/ + font-weight: bold; + font-size:0.8em; + text-align: center; + padding: 0px 2px; + cursor:pointer; + height:11px; + } + + .toolbar{ + border-right-width:1px; + } + .toolbar hr{ + margin:2px 0; + } + + .toolbar .tools { + padding:2px; + display: inline-flex; + flex-flow: column wrap; + } + + .toolbar .tools .toolbtn { + border-radius:3px; + margin:2px 3px 1px 3px; + padding:4px 4px; + } + .toolbar .tools button { position:relative; } + + .toolbar .tools button img + { + width:var(--img20); + height:var(--img20); + /*width:20px; + height:20px;*/ + vertical-align:middle; + } + .toolbar .scont { + margin: 3px 0 -6px 0; + } + .toolbar .switch + { + margin: 0 1px 0 1px; + width: 15px; + height: 16px; + display:inline-block; + padding: 0px; + text-align:center; + border-width: 1px; + border-radius: 4px; + font-size: 12px; + background-color:var(--bg-color); + overflow:hidden; + } + + + + .rightbar { + display:flex; + flex-flow: row; + } + .rightbar .block{ + /*min-width: 18em;*/ + } + .rightbar .collapsed{ + width:3em; + } + .rightbar .collapsed button { + display: block; + margin:0.3em; + } + + .rightbar .float + { + position:absolute; + right: 105%; + /*border-width: 1px;*/ + box-shadow: 0px 8px 40px rgba(0,0,0,0.35); + background-color: var(--bg-color); + } + + .mainblock + { + background-color: var(--bg-canvas); + border-bottom-width:0 !important; + } + .mainblock canvas { display:block; } + + .alertcont + { + position:absolute; + width:50%; + left:25%; + max-width:700px; + /*pointer-events:none;*/ + z-index: 10; + margin-top:1em; + } + + .alertpanel + { + font-size: 1.4em; + margin-bottom:1em; + background-color:#ffffff; + color: #000000; + padding:0.4em; + border-radius:0.5em; + text-align:center; + text-shadow:none; + box-shadow: rgba(0,0,0,0.5) 0 0 1em; + } + .tpanel { /* temporary panel */ + transition: all 0.2s cubic-bezier(0.240, 0.575, 0.665, 1.565); + transform: scale(0.6); + opacity:0; + } + + + .panelblock + { + /*border-top-width:1px;*/ + border-bottom-width:1px; + border-bottom-color: var(--bg-panel); + } + + .highlight + { + box-shadow: inset 0 0 10px #33aaff !important; + } + + .block .panelhead + { + /*background: linear-gradient(to bottom, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0) 100%);*/ + background-color: var(--bg-panel); + /*box-shadow: inset 0px -10px 16px rgba(0,0,0,0.08);*/ + padding-top: 3px; + /*border-bottom-width: 1px;*/ + /*height:1.6em;*/ + } + .block .panelhead .label { + pointer-events: none; + } + + + .block .panelhead div + { + font-weight: bold; + padding:0.1em 0.4em 0.2em 0.4em; + display:inline-block; + border-right-width: 1px; + border-right-color: var(--brdrDrk); + + border-top-width: 1px; + border-top-color: var(--brdrLgt); + } + + .block .panelhead .active + { + background-color: var(--bg-color); + } + + .block .panelhead div .cross + { + background-image: var(--icon_cross); + filter: invert( var(--icon_cross_invrt) ); + background-repeat: no-repeat; + background-position: center; + background-size: cover; /* Generic*/ + margin: 0.2em 0.2em 0 0.8em; + display:inline-block; + width: 0.8em; + height: 0.8em; + cursor: pointer; + } + + + .block .pbody .fitem + { + margin-right: 6px; + } + + + .scrollable + { + overflow-x: hidden; + overflow-y: scroll; + /* for Firefox: */ + scrollbar-color: var(--brdrDrk) rgba(0,0,0, var(--alphaDark) ); + scrollbar-width: thin; + } + + + .scrollable::-webkit-scrollbar { + width: 10px; + background: rgba(0,0,0, var(--alphaDark) ); + } + .scrollable::-webkit-scrollbar-thumb { + background: var(--brdrDrk); + margin:2px; + } + + .selected + { + background-color: rgba(0,0,0, var(--alphaDark) ); + } + + + + + + + + + + + + .lpbody { + /*width: 21em;*/ + } + + .lphead, .lpfoot + { + padding:2px; + } + .lpineck { + /*font-size: 12px;*/ + } + + .lphead { + border-bottom-width: 1px; + margin-bottom:-1px; + } + .block .pbody .lphead .fitem button { + margin-right:0; + } + + .lpfoot + { + border-top-width: 1px; + text-align:right; + height:22px; + } + .lpfoot img + { + width:15px; + height:15px; + } + .lpfoot button { padding-bottom:0; } + + .layeritem + { + margin-top: -1px; + border-top-width: 1px; + cursor: pointer; + } + + + .styleitem .head + { + border: none; + height:22px; + } + + + .layeritem .artb + { + /*border-right-width: 3px;*/ + border-bottom-width: 2px; + border-top-width: 2px; + /*box-shadow: inset 0 0 4px var(--bg-panel);*/ + /*background-color: var(--bg-panel);*/ + } + .layeritem .artb.selected + { + /*background-color: var(--brdr);*/ + } + + + + .layeritem .headL div, .layeritem .headR div, .styleitem .head div + { + display:inline-block; + height:100%; + background-repeat: no-repeat; + background-position: center; + } + + .layeritem .head div, .styleitem .head + { + overflow:hidden; + white-space: nowrap; + } + + .head .headL + { + height:100%; + width:100%; + display:inline-block; + } + + .head { position:relative; } + .head .headR + { + position:absolute; + right:0; + display:inline-block; + height:100%; + } + + .head div { + vertical-align:top; /* a bug in Safari */ + } + + .head .label + { + padding: 0 7px; + line-height: 27px; + /*max-width: 140px;*/ + } + .head textarea + { + + } + + .head .eye + { + width: 28px; + background-image: var(--icon_eye);/*url("../img/lrs/eye.png");*/ + filter: invert( var(--icon_eye_invrt) ); + /*background-size: 15px 15px;*/ + } + .head .cmark + { + width: 22px; + background-image: var(--icon_checkmark);/*url("../img/lrs/eye.png");*/ + filter: invert( var(--icon_checkmark_invrt) ); + /*background-size: 15px 15px;*/ + } + + + .head .open + { + background-image: var(--icon_arrow_down); + filter: invert( var(--icon_arrow_down_invrt) ); + background-size: 15px 15px; + width:15px; + } + + .head .closed + { + background-image: var(--icon_arrow_right); + filter: invert( var(--icon_arrow_right_invrt) ); + background-size: 15px 15px; + width:15px; + } + + .head .chain + { + width:8px; + background-image: var(--icon_chain); + filter: invert( var(--icon_chain_invrt) ); + background-size: 18px 18px; + } + + .head .clipp + { + width:1em; + background-image: var(--icon_clipping); + filter: invert( var(--icon_clipping_invrt) ); + background-size: 11px 11px; + } + + .head .link + { + width:1.5em; + background-image: var(--icon_link); + filter: invert( var(--icon_link_invrt) ); + background-size: 15px 15px; + } + + .head .lock + { + width:1.5em; + background-image: var(--icon_lock); + filter: invert( var(--icon_lock_invrt) ); + background-size: 14px 14px; + } + + .head .lrfx + { + width:1.5em; + background-image: var(--icon_fx); + filter: invert( var(--icon_fx_invrt) ); + background-size: 15px 15px; + } + + .head .arfx + { + width:1em; + border-left-width:1px; + } + + .head .folder + { + width:1.7em; + background-image: var(--icon_folder); + filter: invert( var(--icon_folder_invrt) ); + background-size: 15px 15px; + } + .head canvas + { + border:1px solid black; + margin:3px; + } + + .head .active canvas + { + outline: 2px dashed var(--text-color); + outline-offset:0px; + /*border: 1px dashed var(--text-color); + margin: 3px;*/ + } + + + + + + + + + + + + + + + + + .hpbody .listitem { cursor: pointer; padding:0.3em; } + + .topbar{ + /* + border-bottom-width: 1px; + border-bottom-color: var(--brdrDrk); + */ + /*height:32px;*/ + } + + .topbar button { + padding-left:6px; + padding-right:6px; + margin:4px; + } + + .topbar .bbtn { + margin: 3px 4px 2px 4px; + } + + + .contextpanel{ + background-color: #fff; + min-width : 10em; + box-shadow: 0px 0px 20px rgba(0,0,0,0.2); + color: #000000; + text-shadow: none; + } + + .contextpanel .check { + display: inline-block; + width:15px; + } + + .contextpanel .thumb + { + width : var(--img20); + height: var(--img20); + vertical-align: middle; + margin: -0.6em 0.8em -0.5em -0.5em; + filter: invert( 0.2 ); + } + + .contextpanel hr{ + margin:0.25em 0; + background: #bebebe; + } + + .contextpanel div { + padding: 0.5em 1em 0.5em 0.7em; + } + + .contextpanel .enab + { + /*cursor:pointer;*/ + } + + .contextpanel .enab:hover, .contextpanel .active { + /*color:#fff;*/ + background-color: rgba(190,230,255,1); + } + + .contextpanel .disab { + color:#bbb; + pointer-events: none; + } + + .contextpanel .right + { + float:right; + margin-left:2em; + opacity:0.7; + } + + .fitem { + display:inline-block; + } + + input, textarea, .labelitem { + margin: 2px; + padding: 3px; + box-sizing: border-box; + } + input, textarea { + background-color: var(--bg-input); + color: var(--text-color); + border-radius: 3px; + } + textarea { vertical-align:top; } + + + input[type='range'] + { + vertical-align:middle; + height: 1.6em; + padding: 0; + /*background-color: #000000;*/ + /*box-shadow: inset 0 0 60px rgba(0,0,0,0.5)*/ + } + .rangecont + { + /*background-color: var(--bg-input);*/ + /*background-color:rgba(0,0,0,0.1);*/ + background-color: var(--bg-color); + padding-top: 0.2em; + padding-bottom: 0.3em; + } + + .mbox input { + margin-left: 0.7em; + } + + + .tinput input + { + width:8em; + } + + .brushbutton img, .gradientbutton img .contourbutton img{ + display: inline-block; + } + + .brushbutton { + + } + + .contourbutton { + line-height:2.1em; + + } + + + .ddmenu { + display:inline-block; + } + + .multicheck .slabel { + margin-right: 1em; + } + + .colorsample { + cursor:pointer; + width:2.2em; + height: 1.5em; + display:inline-block; + border-width: 3px; + margin-bottom:-0.65em + } + + .cswatch .colorsample { + width:1.3em; height:1.3em; + margin-right: 0.1em; + border-width: 1px; + margin-bottom:-0.3em; + } + + + + .angleinput input { width:3em; } + + + /*button img, button canvas, button svg, .mbox img*/ + .fitem img, .fitem canvas, .fitem svg { + vertical-align: middle; + } + + .fillbutton canvas { + vertical-align:middle; + border-radius: 3px; + cursor:pointer; + } + + button, select { + padding: 2px 5px 3px 5px; + border-radius:3px; + color: var(--text-color); + -webkit-appearance: none; + } + + button { + text-align:center; + white-space: nowrap; + background-color: rgba(0,0,0,0); + } + + select { + margin-left:2px; + padding-right: 17px; + + background-image: + linear-gradient(45deg, transparent 50%, var(--text-color) 50%), + linear-gradient(135deg, var(--text-color) 50%, transparent 50%); + background-position: + calc(100% - 9px) calc(10px), + calc(100% - 4px) calc(10px); + background-size: + 5px 5px, + 5px 5px; + background-repeat: no-repeat; + } + + .active, button:hover { + background-color: rgba(0,0,0, var(--alphaDark) ); + } + .bactive, .bactive:hover { + background-color: var(--bg-input); + } + .bbtn { + /*padding-left:5px; + padding-right:5px;*/ + background-color: var(--bg-bbtn); + + border-top-width: 1px; + border-top-color: var(--brdrLgt); + border-bottom-width: 1px; + border-bottom-color: var(--brdrDrk); + overflow:hidden; + } + .bbtn:hover { + background-color: var(--bg-bbtnOver); + } + + .spread { + width: 100%; + } + + .nopadding { + margin: 0; + padding: 0; + } + + + + .imageset + { + /*overflow-y: scroll;*/ + background-color: rgba(0,0,0, var(--alphaDark) ); + } + + .imageset .image + { + border-right: 1px solid rgba(0,0,0,0.2); + border-bottom: 1px solid rgba(0,0,0,0.2); + cursor: pointer; + float:left; + } + + .imageset .active + { + background-color: rgba(0,0,0,0.15); + } + + input[type='checkbox'] + { + margin-right: 0.3em; + vertical-align:middle; + background-color: var(--bg-input); /**/ + background-color: white; + opacity:0.8; + } + /* + input[type="checkbox"] + label:before { + border: 1px solid #333; + content: ""; + display: inline-block; + font: 12px sans-serif; + font-weight:bold; + height: 12px; + margin-right:4px; + padding: 0; + vertical-align: middle; + width: 12px; + background: #fff; + color: #333; +} +input[type="checkbox"]:checked + label:before { content: "\2713"; } +*/ + + + .rangedropinput button + { + margin:0; + padding:0.3em 0.1em; + } + + .rangedropinput input + { + margin-right:0; + } + + .trangeinput input[type='text'] + { + margin-left:0; + margin-right:0; + width:32%; + text-align:right; + } + .trangeinput label + { + display:inline-block; + width:66%; + } + .trangeinput input[type='range'] + { + margin-top: -10px; + } + + + + .cbox + { + padding:0em 0; + } + + + .fontitem + { + padding:3px 6px; + border-radius:0.3em; + } + .fontitem:hover { + /*background-color: rgba(255,255,255, 0.6);*/ + box-shadow: inset 0 0 0.2em rgba(0,0,0,1); /*bottom internal shadow*/ + } + .fontitem .label + { + display:inline-block; width:9em; overflow:hidden; white-space: nowrap; + } + .fontitem .thumb + { + display:inline-block; width:120px; height:20px; margin-left:0.5em; + background: url(../rsrc/fonts/fonts.png); + } + + .fontitem .star { + display: inline-block; + background-position: center; + background-repeat: no-repeat; + background-image: var(--icon_cshape); + filter: invert( var(--icon_cshape_invrt) ); + background-size: var(--img20) var(--img20); + width: 20px; height: 20px; + vertical-align: top; + margin-right:4px; + } + + + + + .window + { + position:absolute; + z-index: 10; + background-color: var(--bg-color); + /*border: 1px solid;*/ + min-width : 3em; + min-height: 2em; + top: 150px; + left: 150px; + box-shadow: 0px 8px 40px rgba(0,0,0,0.2); + } + + .wdisabled { + pointer-events: none; + } + + .window .vmargin + { + margin:0.5em 0; + } + + .window .whead + { + font-size: 1.3em; + color: #ffffff; + background: linear-gradient(to bottom, #595959 0%,#626262 3%,#575757 7%,#3c3c3c 90%,#3a3a3a 97%,#2e2e2e 100%); + /*background: linear-gradient(to bottom, #59574e 0%,#626055 3%,#59574f 7%,#403f3a 90%,#41403b 97%,#383734 100%);*/ + background-size: auto 100%; + } + + .window .whead .wname + { + display: inline-block; + padding: 0.3em 0.5em; + text-shadow: 0 -1px 0 rgba(0,0,0,0.45); + font-weight: bold; + } + + .window .whead .cross + { + width:0.8em; + height:0.8em; + display:inline-block; + background-size: cover; + font-size: 1.3em; + margin: 0.3em; + position:absolute; right:0; + /*float : right;*/ + cursor: pointer; + } + + + .window .wide + { + font-size: 1.2em; + display: block; + } + + .window .cbox{ + margin-left:0.4em; + } + + .window .cbox, .window .angleinput { + display:inline-block; + } + + .window .body + { + padding: 1em; + /*line-height:1.6em;*/ + } + + .window .body .form .block + { + padding:1em; + border: 0.1em solid rgba(0,0,0,0.33); + } + + + .window .hbar > .fitem + { + margin-right: 1em; + } + + + + + .window .imgcont + { + /*width:512px; + height:512px;*/ + /*background-color: rgba(0,0,0,0.1);*/ + text-shadow:none; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAAXNSR0IB2cksfwAAAAZQTFRF////yMjIXOIDQgAAABJJREFUeJxjYPjPgBXhEB7uAABycQ/xMT/uAgAAAABJRU5ErkJggg==); + } + + /* + .window .body .form .tinput .label, .window .body .form .ddmenu .label + { + display:inline-block; + min-width:4em; + } + */ + + .window .flabel + { + display:inline-block; + min-width:4em; + } + .label12 .flabel + { + display:inline-block; + min-width:12em; + } + + .window .noalign .flabel + { + min-width:0; + } + .window .noalign .fitem + { + margin-right:1em; + } + + .window h2 { + margin-bottom: 0.2em; + } + + table { + border-width:2px; + font-size: 1.2em; + text-align: center; + border-collapse: collapse; + margin: 6px 0 6px 0; + } + + table .left { + text-align:left; + width: 240px; + } + + table td, table th { + width:140px; + margin:0; + padding: 3px 10px; + border-width:1px 2px; + } + + table th { font-size: 1.3em; border-bottom-width: 2px; background-color:rgba(0,0,0, var(--alphaDark) ); } + table .lastrow { font-weight:bold; } + + + table .yes, table .no { font-weight: bold; font-size:1.6em; } + + table .yes { background-color: rgba(0,255,0,0.2); } + + + + + + + + + .confbar + { + border-top-width: 1px; + border-top-color: var(--brdr); + line-height:2.5em; + } + + .toolconf + { + display:flex; + flex-flow: row; + } + + .confbar .toolicon + { + width : var(--img20); + height: var(--img20); + margin: 5px 12px -4px 12px; + display: absolute; + } + + .confbar .body + { + + } + + .confbar .fitem { + margin-right: 0.35em; + } + + .confbar .body > .fitem + { + margin-right: 1.2em; + } + + .floatcont + { + padding:0.5em; + background-color:var(--bg-color); + border-width: 1px; + /*box-shadow: 0px 8px 40px rgba(0,0,0,0.35);*/ + } + \ No newline at end of file diff --git a/www.photopea.com/templates/index.html b/www.photopea.com/templates/index.html index 5bb208d..6dd4f14 100644 --- a/www.photopea.com/templates/index.html +++ b/www.photopea.com/templates/index.html @@ -1,33 +1,46 @@ - - -404 Not Found - - - -

Not Found

-The requested document was not found on this server. -

-


-
-Web Server at photopea.com -
- - - + + + + + + + PSD Templates + + + + + + +
+ +