@wordpress/global-styles-ui 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +788 -0
- package/README.md +48 -0
- package/build/background-panel.js +62 -0
- package/build/background-panel.js.map +7 -0
- package/build/block-preview-panel.js +90 -0
- package/build/block-preview-panel.js.map +7 -0
- package/build/color-indicator-wrapper.js +55 -0
- package/build/color-indicator-wrapper.js.map +7 -0
- package/build/color-palette-panel.js +123 -0
- package/build/color-palette-panel.js.map +7 -0
- package/build/color-preview.js +94 -0
- package/build/color-preview.js.map +7 -0
- package/build/color-variations.js +41 -0
- package/build/color-variations.js.map +7 -0
- package/build/confirm-reset-shadow-dialog.js +55 -0
- package/build/confirm-reset-shadow-dialog.js.map +7 -0
- package/build/context.js +37 -0
- package/build/context.js.map +7 -0
- package/build/dimensions-panel.js +89 -0
- package/build/dimensions-panel.js.map +7 -0
- package/build/font-families.js +114 -0
- package/build/font-families.js.map +7 -0
- package/build/font-family-item.js +48 -0
- package/build/font-family-item.js.map +7 -0
- package/build/font-library-modal/collection-font-variant.js +75 -0
- package/build/font-library-modal/collection-font-variant.js.map +7 -0
- package/build/font-library-modal/context.js +386 -0
- package/build/font-library-modal/context.js.map +7 -0
- package/build/font-library-modal/font-card.js +81 -0
- package/build/font-library-modal/font-card.js.map +7 -0
- package/build/font-library-modal/font-collection.js +510 -0
- package/build/font-library-modal/font-collection.js.map +7 -0
- package/build/font-library-modal/font-demo.js +111 -0
- package/build/font-library-modal/font-demo.js.map +7 -0
- package/build/font-library-modal/google-fonts-confirm-dialog.js +58 -0
- package/build/font-library-modal/google-fonts-confirm-dialog.js.map +7 -0
- package/build/font-library-modal/index.js +110 -0
- package/build/font-library-modal/index.js.map +7 -0
- package/build/font-library-modal/installed-fonts.js +453 -0
- package/build/font-library-modal/installed-fonts.js.map +7 -0
- package/build/font-library-modal/lib/inflate.js +2628 -0
- package/build/font-library-modal/lib/inflate.js.map +7 -0
- package/build/font-library-modal/lib/lib-font.browser.d.js +33 -0
- package/build/font-library-modal/lib/lib-font.browser.d.js.map +7 -0
- package/build/font-library-modal/lib/lib-font.browser.js +3788 -0
- package/build/font-library-modal/lib/lib-font.browser.js.map +7 -0
- package/build/font-library-modal/lib/unbrotli.js +3678 -0
- package/build/font-library-modal/lib/unbrotli.js.map +7 -0
- package/build/font-library-modal/library-font-details.js +63 -0
- package/build/font-library-modal/library-font-details.js.map +7 -0
- package/build/font-library-modal/library-font-variant.js +81 -0
- package/build/font-library-modal/library-font-variant.js.map +7 -0
- package/build/font-library-modal/resolvers.js +115 -0
- package/build/font-library-modal/resolvers.js.map +7 -0
- package/build/font-library-modal/types.js +17 -0
- package/build/font-library-modal/types.js.map +7 -0
- package/build/font-library-modal/upload-fonts.js +207 -0
- package/build/font-library-modal/upload-fonts.js.map +7 -0
- package/build/font-library-modal/utils/constants.js +49 -0
- package/build/font-library-modal/utils/constants.js.map +7 -0
- package/build/font-library-modal/utils/filter-fonts.js +39 -0
- package/build/font-library-modal/utils/filter-fonts.js.map +7 -0
- package/build/font-library-modal/utils/fonts-outline.js +51 -0
- package/build/font-library-modal/utils/fonts-outline.js.map +7 -0
- package/build/font-library-modal/utils/index.js +274 -0
- package/build/font-library-modal/utils/index.js.map +7 -0
- package/build/font-library-modal/utils/make-families-from-faces.js +45 -0
- package/build/font-library-modal/utils/make-families-from-faces.js.map +7 -0
- package/build/font-library-modal/utils/preview-styles.js +119 -0
- package/build/font-library-modal/utils/preview-styles.js.map +7 -0
- package/build/font-library-modal/utils/set-immutably.js +40 -0
- package/build/font-library-modal/utils/set-immutably.js.map +7 -0
- package/build/font-library-modal/utils/sort-font-faces.js +59 -0
- package/build/font-library-modal/utils/sort-font-faces.js.map +7 -0
- package/build/font-library-modal/utils/toggleFont.js +67 -0
- package/build/font-library-modal/utils/toggleFont.js.map +7 -0
- package/build/font-sizes/confirm-delete-font-size-dialog.js +60 -0
- package/build/font-sizes/confirm-delete-font-size-dialog.js.map +7 -0
- package/build/font-sizes/confirm-reset-font-sizes-dialog.js +55 -0
- package/build/font-sizes/confirm-reset-font-sizes-dialog.js.map +7 -0
- package/build/font-sizes/font-size-preview.js +50 -0
- package/build/font-sizes/font-size-preview.js.map +7 -0
- package/build/font-sizes/font-size.js +261 -0
- package/build/font-sizes/font-size.js.map +7 -0
- package/build/font-sizes/font-sizes-count.js +40 -0
- package/build/font-sizes/font-sizes-count.js.map +7 -0
- package/build/font-sizes/font-sizes.js +215 -0
- package/build/font-sizes/font-sizes.js.map +7 -0
- package/build/font-sizes/rename-font-size-dialog.js +96 -0
- package/build/font-sizes/rename-font-size-dialog.js.map +7 -0
- package/build/global-styles-ui.js +213 -0
- package/build/global-styles-ui.js.map +7 -0
- package/build/gradients-palette-panel.js +133 -0
- package/build/gradients-palette-panel.js.map +7 -0
- package/build/highlighted-colors.js +57 -0
- package/build/highlighted-colors.js.map +7 -0
- package/build/hooks.js +176 -0
- package/build/hooks.js.map +7 -0
- package/build/icon-with-current-color.js +56 -0
- package/build/icon-with-current-color.js.map +7 -0
- package/build/index.js +51 -0
- package/build/index.js.map +7 -0
- package/build/lock-unlock.js +35 -0
- package/build/lock-unlock.js.map +7 -0
- package/build/navigation-button.js +52 -0
- package/build/navigation-button.js.map +7 -0
- package/build/pagination/index.js +133 -0
- package/build/pagination/index.js.map +7 -0
- package/build/palette.js +93 -0
- package/build/palette.js.map +7 -0
- package/build/preset-colors.js +40 -0
- package/build/preset-colors.js.map +7 -0
- package/build/preview-colors.js +86 -0
- package/build/preview-colors.js.map +7 -0
- package/build/preview-hooks.js +60 -0
- package/build/preview-hooks.js.map +7 -0
- package/build/preview-styles.js +219 -0
- package/build/preview-styles.js.map +7 -0
- package/build/preview-typography.js +72 -0
- package/build/preview-typography.js.map +7 -0
- package/build/preview-wrapper.js +102 -0
- package/build/preview-wrapper.js.map +7 -0
- package/build/provider.js +54 -0
- package/build/provider.js.map +7 -0
- package/build/root-menu.js +72 -0
- package/build/root-menu.js.map +7 -0
- package/build/screen-background.js +58 -0
- package/build/screen-background.js.map +7 -0
- package/build/screen-block-list.js +160 -0
- package/build/screen-block-list.js.map +7 -0
- package/build/screen-block.js +316 -0
- package/build/screen-block.js.map +7 -0
- package/build/screen-color-palette.js +64 -0
- package/build/screen-color-palette.js.map +7 -0
- package/build/screen-colors.js +85 -0
- package/build/screen-colors.js.map +7 -0
- package/build/screen-css.js +68 -0
- package/build/screen-css.js.map +7 -0
- package/build/screen-header.js +61 -0
- package/build/screen-header.js.map +7 -0
- package/build/screen-layout.js +54 -0
- package/build/screen-layout.js.map +7 -0
- package/build/screen-revisions/index.js +147 -0
- package/build/screen-revisions/index.js.map +7 -0
- package/build/screen-revisions/revisions-buttons.js +198 -0
- package/build/screen-revisions/revisions-buttons.js.map +7 -0
- package/build/screen-revisions/types.js +17 -0
- package/build/screen-revisions/types.js.map +7 -0
- package/build/screen-revisions/use-global-styles-revisions.js +163 -0
- package/build/screen-revisions/use-global-styles-revisions.js.map +7 -0
- package/build/screen-root.js +134 -0
- package/build/screen-root.js.map +7 -0
- package/build/screen-shadows.js +49 -0
- package/build/screen-shadows.js.map +7 -0
- package/build/screen-style-variations.js +52 -0
- package/build/screen-style-variations.js.map +7 -0
- package/build/screen-typography-element.js +167 -0
- package/build/screen-typography-element.js.map +7 -0
- package/build/screen-typography.js +65 -0
- package/build/screen-typography.js.map +7 -0
- package/build/shadow-utils.js +125 -0
- package/build/shadow-utils.js.map +7 -0
- package/build/shadows-edit-panel.js +503 -0
- package/build/shadows-edit-panel.js.map +7 -0
- package/build/shadows-panel.js +203 -0
- package/build/shadows-panel.js.map +7 -0
- package/build/size-control/index.js +86 -0
- package/build/size-control/index.js.map +7 -0
- package/build/style-variations-container.js +130 -0
- package/build/style-variations-container.js.map +7 -0
- package/build/style-variations-content.js +52 -0
- package/build/style-variations-content.js.map +7 -0
- package/build/style-variations.js +41 -0
- package/build/style-variations.js.map +7 -0
- package/build/subtitle.js +33 -0
- package/build/subtitle.js.map +7 -0
- package/build/typography-elements.js +117 -0
- package/build/typography-elements.js.map +7 -0
- package/build/typography-example.js +79 -0
- package/build/typography-example.js.map +7 -0
- package/build/typography-panel.js +64 -0
- package/build/typography-panel.js.map +7 -0
- package/build/typography-preview.js +70 -0
- package/build/typography-preview.js.map +7 -0
- package/build/typography-variations.js +41 -0
- package/build/typography-variations.js.map +7 -0
- package/build/utils.js +210 -0
- package/build/utils.js.map +7 -0
- package/build/variations/variation.js +116 -0
- package/build/variations/variation.js.map +7 -0
- package/build/variations/variations-color.js +64 -0
- package/build/variations/variations-color.js.map +7 -0
- package/build/variations/variations-panel.js +69 -0
- package/build/variations/variations-panel.js.map +7 -0
- package/build/variations/variations-typography.js +80 -0
- package/build/variations/variations-typography.js.map +7 -0
- package/build/with-global-styles-provider.js +48 -0
- package/build/with-global-styles-provider.js.map +7 -0
- package/build-module/background-panel.js +38 -0
- package/build-module/background-panel.js.map +7 -0
- package/build-module/block-preview-panel.js +70 -0
- package/build-module/block-preview-panel.js.map +7 -0
- package/build-module/color-indicator-wrapper.js +25 -0
- package/build-module/color-indicator-wrapper.js.map +7 -0
- package/build-module/color-palette-panel.js +97 -0
- package/build-module/color-palette-panel.js.map +7 -0
- package/build-module/color-preview.js +70 -0
- package/build-module/color-preview.js.map +7 -0
- package/build-module/color-variations.js +7 -0
- package/build-module/color-variations.js.map +7 -0
- package/build-module/confirm-reset-shadow-dialog.js +35 -0
- package/build-module/confirm-reset-shadow-dialog.js.map +7 -0
- package/build-module/context.js +13 -0
- package/build-module/context.js.map +7 -0
- package/build-module/dimensions-panel.js +69 -0
- package/build-module/dimensions-panel.js.map +7 -0
- package/build-module/font-families.js +92 -0
- package/build-module/font-families.js.map +7 -0
- package/build-module/font-family-item.js +32 -0
- package/build-module/font-family-item.js.map +7 -0
- package/build-module/font-library-modal/collection-font-variant.js +45 -0
- package/build-module/font-library-modal/collection-font-variant.js.map +7 -0
- package/build-module/font-library-modal/context.js +382 -0
- package/build-module/font-library-modal/context.js.map +7 -0
- package/build-module/font-library-modal/font-card.js +57 -0
- package/build-module/font-library-modal/font-card.js.map +7 -0
- package/build-module/font-library-modal/font-collection.js +510 -0
- package/build-module/font-library-modal/font-collection.js.map +7 -0
- package/build-module/font-library-modal/font-demo.js +94 -0
- package/build-module/font-library-modal/font-demo.js.map +7 -0
- package/build-module/font-library-modal/google-fonts-confirm-dialog.js +45 -0
- package/build-module/font-library-modal/google-fonts-confirm-dialog.js.map +7 -0
- package/build-module/font-library-modal/index.js +83 -0
- package/build-module/font-library-modal/index.js.map +7 -0
- package/build-module/font-library-modal/installed-fonts.js +442 -0
- package/build-module/font-library-modal/installed-fonts.js.map +7 -0
- package/build-module/font-library-modal/lib/inflate.js +2636 -0
- package/build-module/font-library-modal/lib/inflate.js.map +7 -0
- package/build-module/font-library-modal/lib/lib-font.browser.d.js +9 -0
- package/build-module/font-library-modal/lib/lib-font.browser.d.js.map +7 -0
- package/build-module/font-library-modal/lib/lib-font.browser.js +3754 -0
- package/build-module/font-library-modal/lib/lib-font.browser.js.map +7 -0
- package/build-module/font-library-modal/lib/unbrotli.js +3686 -0
- package/build-module/font-library-modal/lib/unbrotli.js.map +7 -0
- package/build-module/font-library-modal/library-font-details.js +36 -0
- package/build-module/font-library-modal/library-font-details.js.map +7 -0
- package/build-module/font-library-modal/library-font-variant.js +51 -0
- package/build-module/font-library-modal/library-font-variant.js.map +7 -0
- package/build-module/font-library-modal/resolvers.js +76 -0
- package/build-module/font-library-modal/resolvers.js.map +7 -0
- package/build-module/font-library-modal/types.js +1 -0
- package/build-module/font-library-modal/types.js.map +7 -0
- package/build-module/font-library-modal/upload-fonts.js +187 -0
- package/build-module/font-library-modal/upload-fonts.js.map +7 -0
- package/build-module/font-library-modal/utils/constants.js +23 -0
- package/build-module/font-library-modal/utils/constants.js.map +7 -0
- package/build-module/font-library-modal/utils/filter-fonts.js +19 -0
- package/build-module/font-library-modal/utils/filter-fonts.js.map +7 -0
- package/build-module/font-library-modal/utils/fonts-outline.js +26 -0
- package/build-module/font-library-modal/utils/fonts-outline.js.map +7 -0
- package/build-module/font-library-modal/utils/index.js +238 -0
- package/build-module/font-library-modal/utils/index.js.map +7 -0
- package/build-module/font-library-modal/utils/make-families-from-faces.js +25 -0
- package/build-module/font-library-modal/utils/make-families-from-faces.js.map +7 -0
- package/build-module/font-library-modal/utils/preview-styles.js +92 -0
- package/build-module/font-library-modal/utils/preview-styles.js.map +7 -0
- package/build-module/font-library-modal/utils/set-immutably.js +16 -0
- package/build-module/font-library-modal/utils/set-immutably.js.map +7 -0
- package/build-module/font-library-modal/utils/sort-font-faces.js +35 -0
- package/build-module/font-library-modal/utils/sort-font-faces.js.map +7 -0
- package/build-module/font-library-modal/utils/toggleFont.js +43 -0
- package/build-module/font-library-modal/utils/toggleFont.js.map +7 -0
- package/build-module/font-sizes/confirm-delete-font-size-dialog.js +40 -0
- package/build-module/font-sizes/confirm-delete-font-size-dialog.js.map +7 -0
- package/build-module/font-sizes/confirm-reset-font-sizes-dialog.js +35 -0
- package/build-module/font-sizes/confirm-reset-font-sizes-dialog.js.map +7 -0
- package/build-module/font-sizes/font-size-preview.js +30 -0
- package/build-module/font-sizes/font-size-preview.js.map +7 -0
- package/build-module/font-sizes/font-size.js +241 -0
- package/build-module/font-sizes/font-size.js.map +7 -0
- package/build-module/font-sizes/font-sizes-count.js +25 -0
- package/build-module/font-sizes/font-sizes-count.js.map +7 -0
- package/build-module/font-sizes/font-sizes.js +200 -0
- package/build-module/font-sizes/font-sizes.js.map +7 -0
- package/build-module/font-sizes/rename-font-size-dialog.js +82 -0
- package/build-module/font-sizes/rename-font-size-dialog.js.map +7 -0
- package/build-module/global-styles-ui.js +182 -0
- package/build-module/global-styles-ui.js.map +7 -0
- package/build-module/gradients-palette-panel.js +118 -0
- package/build-module/gradients-palette-panel.js.map +7 -0
- package/build-module/highlighted-colors.js +37 -0
- package/build-module/highlighted-colors.js.map +7 -0
- package/build-module/hooks.js +144 -0
- package/build-module/hooks.js.map +7 -0
- package/build-module/icon-with-current-color.js +22 -0
- package/build-module/icon-with-current-color.js.map +7 -0
- package/build-module/index.js +13 -0
- package/build-module/index.js.map +7 -0
- package/build-module/lock-unlock.js +10 -0
- package/build-module/lock-unlock.js.map +7 -0
- package/build-module/navigation-button.js +32 -0
- package/build-module/navigation-button.js.map +7 -0
- package/build-module/pagination/index.js +107 -0
- package/build-module/pagination/index.js.map +7 -0
- package/build-module/palette.js +70 -0
- package/build-module/palette.js.map +7 -0
- package/build-module/preset-colors.js +20 -0
- package/build-module/preset-colors.js.map +7 -0
- package/build-module/preview-colors.js +59 -0
- package/build-module/preview-colors.js.map +7 -0
- package/build-module/preview-hooks.js +36 -0
- package/build-module/preview-hooks.js.map +7 -0
- package/build-module/preview-styles.js +193 -0
- package/build-module/preview-styles.js.map +7 -0
- package/build-module/preview-typography.js +42 -0
- package/build-module/preview-typography.js.map +7 -0
- package/build-module/preview-wrapper.js +86 -0
- package/build-module/preview-wrapper.js.map +7 -0
- package/build-module/provider.js +30 -0
- package/build-module/provider.js.map +7 -0
- package/build-module/root-menu.js +58 -0
- package/build-module/root-menu.js.map +7 -0
- package/build-module/screen-background.js +28 -0
- package/build-module/screen-background.js.map +7 -0
- package/build-module/screen-block-list.js +150 -0
- package/build-module/screen-block-list.js.map +7 -0
- package/build-module/screen-block.js +293 -0
- package/build-module/screen-block.js.map +7 -0
- package/build-module/screen-color-palette.js +34 -0
- package/build-module/screen-color-palette.js.map +7 -0
- package/build-module/screen-colors.js +55 -0
- package/build-module/screen-colors.js.map +7 -0
- package/build-module/screen-css.js +48 -0
- package/build-module/screen-css.js.map +7 -0
- package/build-module/screen-header.js +44 -0
- package/build-module/screen-header.js.map +7 -0
- package/build-module/screen-layout.js +24 -0
- package/build-module/screen-layout.js.map +7 -0
- package/build-module/screen-revisions/index.js +121 -0
- package/build-module/screen-revisions/index.js.map +7 -0
- package/build-module/screen-revisions/revisions-buttons.js +178 -0
- package/build-module/screen-revisions/revisions-buttons.js.map +7 -0
- package/build-module/screen-revisions/types.js +1 -0
- package/build-module/screen-revisions/types.js.map +7 -0
- package/build-module/screen-revisions/use-global-styles-revisions.js +145 -0
- package/build-module/screen-revisions/use-global-styles-revisions.js.map +7 -0
- package/build-module/screen-root.js +114 -0
- package/build-module/screen-root.js.map +7 -0
- package/build-module/screen-shadows.js +14 -0
- package/build-module/screen-shadows.js.map +7 -0
- package/build-module/screen-style-variations.js +32 -0
- package/build-module/screen-style-variations.js.map +7 -0
- package/build-module/screen-typography-element.js +141 -0
- package/build-module/screen-typography-element.js.map +7 -0
- package/build-module/screen-typography.js +35 -0
- package/build-module/screen-typography.js.map +7 -0
- package/build-module/shadow-utils.js +98 -0
- package/build-module/shadow-utils.js.map +7 -0
- package/build-module/shadows-edit-panel.js +502 -0
- package/build-module/shadows-edit-panel.js.map +7 -0
- package/build-module/shadows-panel.js +182 -0
- package/build-module/shadows-panel.js.map +7 -0
- package/build-module/size-control/index.js +72 -0
- package/build-module/size-control/index.js.map +7 -0
- package/build-module/style-variations-container.js +100 -0
- package/build-module/style-variations-container.js.map +7 -0
- package/build-module/style-variations-content.js +18 -0
- package/build-module/style-variations-content.js.map +7 -0
- package/build-module/style-variations.js +7 -0
- package/build-module/style-variations.js.map +7 -0
- package/build-module/subtitle.js +9 -0
- package/build-module/subtitle.js.map +7 -0
- package/build-module/typography-elements.js +102 -0
- package/build-module/typography-elements.js.map +7 -0
- package/build-module/typography-example.js +59 -0
- package/build-module/typography-example.js.map +7 -0
- package/build-module/typography-panel.js +44 -0
- package/build-module/typography-panel.js.map +7 -0
- package/build-module/typography-preview.js +50 -0
- package/build-module/typography-preview.js.map +7 -0
- package/build-module/typography-variations.js +7 -0
- package/build-module/typography-variations.js.map +7 -0
- package/build-module/utils.js +179 -0
- package/build-module/utils.js.map +7 -0
- package/build-module/variations/variation.js +86 -0
- package/build-module/variations/variation.js.map +7 -0
- package/build-module/variations/variations-color.js +37 -0
- package/build-module/variations/variations-color.js.map +7 -0
- package/build-module/variations/variations-panel.js +44 -0
- package/build-module/variations/variations-panel.js.map +7 -0
- package/build-module/variations/variations-typography.js +53 -0
- package/build-module/variations/variations-typography.js.map +7 -0
- package/build-module/with-global-styles-provider.js +24 -0
- package/build-module/with-global-styles-provider.js.map +7 -0
- package/build-style/style-rtl.css +717 -0
- package/build-style/style.css +718 -0
- package/build-types/background-panel.d.ts +10 -0
- package/build-types/background-panel.d.ts.map +1 -0
- package/build-types/block-preview-panel.d.ts +7 -0
- package/build-types/block-preview-panel.d.ts.map +1 -0
- package/build-types/color-indicator-wrapper.d.ts +7 -0
- package/build-types/color-indicator-wrapper.d.ts.map +1 -0
- package/build-types/color-palette-panel.d.ts +6 -0
- package/build-types/color-palette-panel.d.ts.map +1 -0
- package/build-types/color-preview.d.ts +2 -0
- package/build-types/color-preview.d.ts.map +1 -0
- package/build-types/color-variations.d.ts +27 -0
- package/build-types/color-variations.d.ts.map +1 -0
- package/build-types/confirm-reset-shadow-dialog.d.ts +10 -0
- package/build-types/confirm-reset-shadow-dialog.d.ts.map +1 -0
- package/build-types/context.d.ts +10 -0
- package/build-types/context.d.ts.map +1 -0
- package/build-types/dimensions-panel.d.ts +2 -0
- package/build-types/dimensions-panel.d.ts.map +1 -0
- package/build-types/font-families.d.ts +4 -0
- package/build-types/font-families.d.ts.map +1 -0
- package/build-types/font-family-item.d.ts +7 -0
- package/build-types/font-family-item.d.ts.map +1 -0
- package/build-types/font-library-modal/collection-font-variant.d.ts +4 -0
- package/build-types/font-library-modal/collection-font-variant.d.ts.map +1 -0
- package/build-types/font-library-modal/context.d.ts +7 -0
- package/build-types/font-library-modal/context.d.ts.map +1 -0
- package/build-types/font-library-modal/font-card.d.ts +9 -0
- package/build-types/font-library-modal/font-card.d.ts.map +1 -0
- package/build-types/font-library-modal/font-collection.d.ts +5 -0
- package/build-types/font-library-modal/font-collection.d.ts.map +1 -0
- package/build-types/font-library-modal/font-demo.d.ts +4 -0
- package/build-types/font-library-modal/font-demo.d.ts.map +1 -0
- package/build-types/font-library-modal/google-fonts-confirm-dialog.d.ts +3 -0
- package/build-types/font-library-modal/google-fonts-confirm-dialog.d.ts.map +1 -0
- package/build-types/font-library-modal/index.d.ts +6 -0
- package/build-types/font-library-modal/index.d.ts.map +1 -0
- package/build-types/font-library-modal/installed-fonts.d.ts +3 -0
- package/build-types/font-library-modal/installed-fonts.d.ts.map +1 -0
- package/build-types/font-library-modal/library-font-details.d.ts +6 -0
- package/build-types/font-library-modal/library-font-details.d.ts.map +1 -0
- package/build-types/font-library-modal/library-font-variant.d.ts +7 -0
- package/build-types/font-library-modal/library-font-variant.d.ts.map +1 -0
- package/build-types/font-library-modal/resolvers.d.ts +43 -0
- package/build-types/font-library-modal/resolvers.d.ts.map +1 -0
- package/build-types/font-library-modal/types.d.ts +133 -0
- package/build-types/font-library-modal/types.d.ts.map +1 -0
- package/build-types/font-library-modal/upload-fonts.d.ts +3 -0
- package/build-types/font-library-modal/upload-fonts.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/constants.d.ts +4 -0
- package/build-types/font-library-modal/utils/constants.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/filter-fonts.d.ts +25 -0
- package/build-types/font-library-modal/utils/filter-fonts.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/fonts-outline.d.ts +7 -0
- package/build-types/font-library-modal/utils/fonts-outline.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/index.d.ts +21 -0
- package/build-types/font-library-modal/utils/index.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/make-families-from-faces.d.ts +6 -0
- package/build-types/font-library-modal/utils/make-families-from-faces.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/preview-styles.d.ts +13 -0
- package/build-types/font-library-modal/utils/preview-styles.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/set-immutably.d.ts +13 -0
- package/build-types/font-library-modal/utils/set-immutably.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/sort-font-faces.d.ts +6 -0
- package/build-types/font-library-modal/utils/sort-font-faces.d.ts.map +1 -0
- package/build-types/font-library-modal/utils/toggleFont.d.ts +38 -0
- package/build-types/font-library-modal/utils/toggleFont.d.ts.map +1 -0
- package/build-types/font-sizes/confirm-delete-font-size-dialog.d.ts +10 -0
- package/build-types/font-sizes/confirm-delete-font-size-dialog.d.ts.map +1 -0
- package/build-types/font-sizes/confirm-reset-font-sizes-dialog.d.ts +10 -0
- package/build-types/font-sizes/confirm-reset-font-sizes-dialog.d.ts.map +1 -0
- package/build-types/font-sizes/font-size-preview.d.ts +7 -0
- package/build-types/font-sizes/font-size-preview.d.ts.map +1 -0
- package/build-types/font-sizes/font-size.d.ts +4 -0
- package/build-types/font-sizes/font-size.d.ts.map +1 -0
- package/build-types/font-sizes/font-sizes-count.d.ts +3 -0
- package/build-types/font-sizes/font-sizes-count.d.ts.map +1 -0
- package/build-types/font-sizes/font-sizes.d.ts +3 -0
- package/build-types/font-sizes/font-sizes.d.ts.map +1 -0
- package/build-types/font-sizes/rename-font-size-dialog.d.ts +9 -0
- package/build-types/font-sizes/rename-font-size-dialog.d.ts.map +1 -0
- package/build-types/global-styles-ui.d.ts +26 -0
- package/build-types/global-styles-ui.d.ts.map +1 -0
- package/build-types/gradients-palette-panel.d.ts +6 -0
- package/build-types/gradients-palette-panel.d.ts.map +1 -0
- package/build-types/highlighted-colors.d.ts +7 -0
- package/build-types/highlighted-colors.d.ts.map +1 -0
- package/build-types/hooks.d.ts +46 -0
- package/build-types/hooks.d.ts.map +1 -0
- package/build-types/icon-with-current-color.d.ts +9 -0
- package/build-types/icon-with-current-color.d.ts.map +1 -0
- package/build-types/index.d.ts +6 -0
- package/build-types/index.d.ts.map +1 -0
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/build-types/navigation-button.d.ts +10 -0
- package/build-types/navigation-button.d.ts.map +1 -0
- package/build-types/pagination/index.d.ts +13 -0
- package/build-types/pagination/index.d.ts.map +1 -0
- package/build-types/palette.d.ts +6 -0
- package/build-types/palette.d.ts.map +1 -0
- package/build-types/preset-colors.d.ts +2 -0
- package/build-types/preset-colors.d.ts.map +1 -0
- package/build-types/preview-colors.d.ts +8 -0
- package/build-types/preview-colors.d.ts.map +1 -0
- package/build-types/preview-hooks.d.ts +9 -0
- package/build-types/preview-hooks.d.ts.map +1 -0
- package/build-types/preview-styles.d.ts +9 -0
- package/build-types/preview-styles.d.ts.map +1 -0
- package/build-types/preview-typography.d.ts +8 -0
- package/build-types/preview-typography.d.ts.map +1 -0
- package/build-types/preview-wrapper.d.ts +15 -0
- package/build-types/preview-wrapper.d.ts.map +1 -0
- package/build-types/provider.d.ts +15 -0
- package/build-types/provider.d.ts.map +1 -0
- package/build-types/root-menu.d.ts +3 -0
- package/build-types/root-menu.d.ts.map +1 -0
- package/build-types/screen-background.d.ts +3 -0
- package/build-types/screen-background.d.ts.map +1 -0
- package/build-types/screen-block-list.d.ts +4 -0
- package/build-types/screen-block-list.d.ts.map +1 -0
- package/build-types/screen-block.d.ts +7 -0
- package/build-types/screen-block.d.ts.map +1 -0
- package/build-types/screen-color-palette.d.ts +5 -0
- package/build-types/screen-color-palette.d.ts.map +1 -0
- package/build-types/screen-colors.d.ts +3 -0
- package/build-types/screen-colors.d.ts.map +1 -0
- package/build-types/screen-css.d.ts +3 -0
- package/build-types/screen-css.d.ts.map +1 -0
- package/build-types/screen-header.d.ts +8 -0
- package/build-types/screen-header.d.ts.map +1 -0
- package/build-types/screen-layout.d.ts +3 -0
- package/build-types/screen-layout.d.ts.map +1 -0
- package/build-types/screen-revisions/index.d.ts +6 -0
- package/build-types/screen-revisions/index.d.ts.map +1 -0
- package/build-types/screen-revisions/revisions-buttons.d.ts +23 -0
- package/build-types/screen-revisions/revisions-buttons.d.ts.map +1 -0
- package/build-types/screen-revisions/types.d.ts +17 -0
- package/build-types/screen-revisions/types.d.ts.map +1 -0
- package/build-types/screen-revisions/use-global-styles-revisions.d.ts +17 -0
- package/build-types/screen-revisions/use-global-styles-revisions.d.ts.map +1 -0
- package/build-types/screen-root.d.ts +3 -0
- package/build-types/screen-root.d.ts.map +1 -0
- package/build-types/screen-shadows.d.ts +3 -0
- package/build-types/screen-shadows.d.ts.map +1 -0
- package/build-types/screen-style-variations.d.ts +3 -0
- package/build-types/screen-style-variations.d.ts.map +1 -0
- package/build-types/screen-typography-element.d.ts +28 -0
- package/build-types/screen-typography-element.d.ts.map +1 -0
- package/build-types/screen-typography.d.ts +3 -0
- package/build-types/screen-typography.d.ts.map +1 -0
- package/build-types/shadow-utils.d.ts +126 -0
- package/build-types/shadow-utils.d.ts.map +1 -0
- package/build-types/shadows-edit-panel.d.ts +2 -0
- package/build-types/shadows-edit-panel.d.ts.map +1 -0
- package/build-types/shadows-panel.d.ts +3 -0
- package/build-types/shadows-panel.d.ts.map +1 -0
- package/build-types/size-control/index.d.ts +11 -0
- package/build-types/size-control/index.d.ts.map +1 -0
- package/build-types/stories/index.story.d.ts +6 -0
- package/build-types/stories/index.story.d.ts.map +1 -0
- package/build-types/style-variations-container.d.ts +6 -0
- package/build-types/style-variations-container.d.ts.map +1 -0
- package/build-types/style-variations-content.d.ts +2 -0
- package/build-types/style-variations-content.d.ts.map +1 -0
- package/build-types/style-variations.d.ts +25 -0
- package/build-types/style-variations.d.ts.map +1 -0
- package/build-types/subtitle.d.ts +7 -0
- package/build-types/subtitle.d.ts.map +1 -0
- package/build-types/test/shadow-utils.spec.d.ts +2 -0
- package/build-types/test/shadow-utils.spec.d.ts.map +1 -0
- package/build-types/test/utils.spec.d.ts +2 -0
- package/build-types/test/utils.spec.d.ts.map +1 -0
- package/build-types/typography-elements.d.ts +3 -0
- package/build-types/typography-elements.d.ts.map +1 -0
- package/build-types/typography-example.d.ts +7 -0
- package/build-types/typography-example.d.ts.map +1 -0
- package/build-types/typography-panel.d.ts +7 -0
- package/build-types/typography-panel.d.ts.map +1 -0
- package/build-types/typography-preview.d.ts +8 -0
- package/build-types/typography-preview.d.ts.map +1 -0
- package/build-types/typography-variations.d.ts +27 -0
- package/build-types/typography-variations.d.ts.map +1 -0
- package/build-types/utils.d.ts +63 -0
- package/build-types/utils.d.ts.map +1 -0
- package/build-types/variations/variation.d.ts +10 -0
- package/build-types/variations/variation.d.ts.map +1 -0
- package/build-types/variations/variations-color.d.ts +7 -0
- package/build-types/variations/variations-color.d.ts.map +1 -0
- package/build-types/variations/variations-panel.d.ts +13 -0
- package/build-types/variations/variations-panel.d.ts.map +1 -0
- package/build-types/variations/variations-typography.d.ts +7 -0
- package/build-types/variations/variations-typography.d.ts.map +1 -0
- package/build-types/with-global-styles-provider.d.ts +20 -0
- package/build-types/with-global-styles-provider.d.ts.map +1 -0
- package/package.json +67 -0
- package/src/README.md +99 -0
- package/src/background-panel.tsx +56 -0
- package/src/block-preview-panel.tsx +91 -0
- package/src/color-indicator-wrapper.tsx +34 -0
- package/src/color-palette-panel.tsx +111 -0
- package/src/color-preview.tsx +78 -0
- package/src/color-variations.tsx +35 -0
- package/src/confirm-reset-shadow-dialog.tsx +45 -0
- package/src/context.ts +21 -0
- package/src/dimensions-panel.tsx +85 -0
- package/src/font-families.tsx +127 -0
- package/src/font-family-item.tsx +52 -0
- package/src/font-library-modal/collection-font-variant.tsx +52 -0
- package/src/font-library-modal/context.tsx +591 -0
- package/src/font-library-modal/font-card.tsx +77 -0
- package/src/font-library-modal/font-collection.tsx +592 -0
- package/src/font-library-modal/font-demo.tsx +123 -0
- package/src/font-library-modal/google-fonts-confirm-dialog.tsx +57 -0
- package/src/font-library-modal/index.tsx +110 -0
- package/src/font-library-modal/installed-fonts.tsx +547 -0
- package/src/font-library-modal/lib/inflate.js +4112 -0
- package/src/font-library-modal/lib/lib-font.browser.d.ts +11 -0
- package/src/font-library-modal/lib/lib-font.browser.js +3861 -0
- package/src/font-library-modal/lib/unbrotli.js +2706 -0
- package/src/font-library-modal/library-font-details.tsx +46 -0
- package/src/font-library-modal/library-font-variant.tsx +67 -0
- package/src/font-library-modal/resolvers.tsx +100 -0
- package/src/font-library-modal/style.scss +222 -0
- package/src/font-library-modal/types.ts +176 -0
- package/src/font-library-modal/upload-fonts.tsx +269 -0
- package/src/font-library-modal/utils/constants.ts +23 -0
- package/src/font-library-modal/utils/filter-fonts.ts +47 -0
- package/src/font-library-modal/utils/fonts-outline.ts +33 -0
- package/src/font-library-modal/utils/index.ts +368 -0
- package/src/font-library-modal/utils/make-families-from-faces.ts +34 -0
- package/src/font-library-modal/utils/preview-styles.ts +167 -0
- package/src/font-library-modal/utils/set-immutably.ts +37 -0
- package/src/font-library-modal/utils/sort-font-faces.ts +46 -0
- package/src/font-library-modal/utils/toggleFont.ts +109 -0
- package/src/font-sizes/confirm-delete-font-size-dialog.tsx +51 -0
- package/src/font-sizes/confirm-reset-font-sizes-dialog.tsx +45 -0
- package/src/font-sizes/font-size-preview.tsx +47 -0
- package/src/font-sizes/font-size.tsx +289 -0
- package/src/font-sizes/font-sizes-count.tsx +37 -0
- package/src/font-sizes/font-sizes.tsx +265 -0
- package/src/font-sizes/rename-font-size-dialog.tsx +83 -0
- package/src/global-styles-ui.tsx +292 -0
- package/src/gradients-palette-panel.tsx +126 -0
- package/src/highlighted-colors.tsx +44 -0
- package/src/hooks.ts +251 -0
- package/src/icon-with-current-color.tsx +31 -0
- package/src/index.ts +7 -0
- package/src/lock-unlock.ts +10 -0
- package/src/navigation-button.tsx +53 -0
- package/src/pagination/index.tsx +107 -0
- package/src/pagination/style.scss +7 -0
- package/src/palette.tsx +101 -0
- package/src/preset-colors.tsx +18 -0
- package/src/preview-colors.tsx +68 -0
- package/src/preview-hooks.tsx +58 -0
- package/src/preview-styles.tsx +196 -0
- package/src/preview-typography.tsx +49 -0
- package/src/preview-wrapper.tsx +137 -0
- package/src/provider.tsx +54 -0
- package/src/root-menu.tsx +87 -0
- package/src/screen-background.tsx +37 -0
- package/src/screen-block-list.tsx +198 -0
- package/src/screen-block.tsx +370 -0
- package/src/screen-color-palette.tsx +47 -0
- package/src/screen-colors.tsx +67 -0
- package/src/screen-css.tsx +56 -0
- package/src/screen-header.tsx +56 -0
- package/src/screen-layout.tsx +34 -0
- package/src/screen-revisions/index.tsx +158 -0
- package/src/screen-revisions/revisions-buttons.tsx +259 -0
- package/src/screen-revisions/style.scss +194 -0
- package/src/screen-revisions/types.ts +18 -0
- package/src/screen-revisions/use-global-styles-revisions.tsx +204 -0
- package/src/screen-root.tsx +146 -0
- package/src/screen-shadows.tsx +13 -0
- package/src/screen-style-variations.tsx +36 -0
- package/src/screen-typography-element.tsx +127 -0
- package/src/screen-typography.tsx +41 -0
- package/src/shadow-utils.ts +167 -0
- package/src/shadows-edit-panel.tsx +559 -0
- package/src/shadows-panel.tsx +207 -0
- package/src/size-control/index.tsx +97 -0
- package/src/size-control/style.scss +7 -0
- package/src/stories/index.story.js +410 -0
- package/src/style-variations-container.tsx +153 -0
- package/src/style-variations-content.tsx +24 -0
- package/src/style-variations.tsx +33 -0
- package/src/style.scss +287 -0
- package/src/subtitle.tsx +17 -0
- package/src/test/shadow-utils.spec.js +251 -0
- package/src/test/utils.spec.js +59 -0
- package/src/typography-elements.tsx +113 -0
- package/src/typography-example.tsx +78 -0
- package/src/typography-panel.tsx +56 -0
- package/src/typography-preview.tsx +61 -0
- package/src/typography-variations.tsx +35 -0
- package/src/utils.ts +301 -0
- package/src/variations/style.scss +43 -0
- package/src/variations/variation.tsx +113 -0
- package/src/variations/variations-color.tsx +54 -0
- package/src/variations/variations-panel.tsx +79 -0
- package/src/variations/variations-typography.tsx +65 -0
- package/src/with-global-styles-provider.tsx +44 -0
- package/tsconfig.json +26 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/font-library-modal/lib/unbrotli.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Credits:\n *\n * lib-font\n * https://github.com/Pomax/lib-font\n * https://github.com/Pomax/lib-font/blob/master/lib/unbrotli.js\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2020 pomax@nihongoresources.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/* eslint eslint-comments/no-unlimited-disable: 0 */\n/* eslint-disable */\n( function ( f ) {\n\tif ( typeof exports === 'object' && typeof module !== 'undefined' ) {\n\t\tmodule.exports = f();\n\t} else if ( typeof define === 'function' && define.amd ) {\n\t\tdefine( [], f );\n\t} else {\n\t\tvar g;\n\t\tif ( typeof window !== 'undefined' ) {\n\t\t\tg = window;\n\t\t} else if ( typeof global !== 'undefined' ) {\n\t\t\tg = global;\n\t\t} else if ( typeof self !== 'undefined' ) {\n\t\t\tg = self;\n\t\t} else {\n\t\t\tg = this;\n\t\t}\n\t\tg.unbrotli = f();\n\t}\n} )( function () {\n\tvar define, module, exports;\n\treturn ( function () {\n\t\tfunction r( e, n, t ) {\n\t\t\tfunction o( i, f ) {\n\t\t\t\tif ( ! n[ i ] ) {\n\t\t\t\t\tif ( ! e[ i ] ) {\n\t\t\t\t\t\tvar c = 'function' == typeof require && require;\n\t\t\t\t\t\tif ( ! f && c ) return c( i, ! 0 );\n\t\t\t\t\t\tif ( u ) return u( i, ! 0 );\n\t\t\t\t\t\tvar a = new Error( \"Cannot find module '\" + i + \"'\" );\n\t\t\t\t\t\tthrow ( ( a.code = 'MODULE_NOT_FOUND' ), a );\n\t\t\t\t\t}\n\t\t\t\t\tvar p = ( n[ i ] = { exports: {} } );\n\t\t\t\t\te[ i ][ 0 ].call(\n\t\t\t\t\t\tp.exports,\n\t\t\t\t\t\tfunction ( r ) {\n\t\t\t\t\t\t\tvar n = e[ i ][ 1 ][ r ];\n\t\t\t\t\t\t\treturn o( n || r );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tp,\n\t\t\t\t\t\tp.exports,\n\t\t\t\t\t\tr,\n\t\t\t\t\t\te,\n\t\t\t\t\t\tn,\n\t\t\t\t\t\tt\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn n[ i ].exports;\n\t\t\t}\n\t\t\tfor (\n\t\t\t\tvar u = 'function' == typeof require && require, i = 0;\n\t\t\t\ti < t.length;\n\t\t\t\ti++\n\t\t\t)\n\t\t\t\to( t[ i ] );\n\t\t\treturn o;\n\t\t}\n\t\treturn r;\n\t} )()(\n\t\t{\n\t\t\t1: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\t/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Bit reading helpers\n*/\n\n\t\t\t\t\tvar BROTLI_READ_SIZE = 4096;\n\t\t\t\t\tvar BROTLI_IBUF_SIZE = 2 * BROTLI_READ_SIZE + 32;\n\t\t\t\t\tvar BROTLI_IBUF_MASK = 2 * BROTLI_READ_SIZE - 1;\n\n\t\t\t\t\tvar kBitMask = new Uint32Array( [\n\t\t\t\t\t\t0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095,\n\t\t\t\t\t\t8191, 16383, 32767, 65535, 131071, 262143, 524287,\n\t\t\t\t\t\t1048575, 2097151, 4194303, 8388607, 16777215,\n\t\t\t\t\t] );\n\n\t\t\t\t\t/* Input byte buffer, consist of a ringbuffer and a \"slack\" region where */\n\t\t\t\t\t/* bytes from the start of the ringbuffer are copied. */\n\t\t\t\t\tfunction BrotliBitReader( input ) {\n\t\t\t\t\t\tthis.buf_ = new Uint8Array( BROTLI_IBUF_SIZE );\n\t\t\t\t\t\tthis.input_ = input; /* input callback */\n\n\t\t\t\t\t\tthis.reset();\n\t\t\t\t\t}\n\n\t\t\t\t\tBrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;\n\t\t\t\t\tBrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;\n\n\t\t\t\t\tBrotliBitReader.prototype.reset = function () {\n\t\t\t\t\t\tthis.buf_ptr_ = 0; /* next input will write here */\n\t\t\t\t\t\tthis.val_ = 0; /* pre-fetched bits */\n\t\t\t\t\t\tthis.pos_ = 0; /* byte position in stream */\n\t\t\t\t\t\tthis.bit_pos_ = 0; /* current bit-reading position in val_ */\n\t\t\t\t\t\tthis.bit_end_pos_ = 0; /* bit-reading end position from LSB of val_ */\n\t\t\t\t\t\tthis.eos_ = 0; /* input stream is finished */\n\n\t\t\t\t\t\tthis.readMoreInput();\n\t\t\t\t\t\tfor ( var i = 0; i < 4; i++ ) {\n\t\t\t\t\t\t\tthis.val_ |= this.buf_[ this.pos_ ] << ( 8 * i );\n\t\t\t\t\t\t\t++this.pos_;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn this.bit_end_pos_ > 0;\n\t\t\t\t\t};\n\n\t\t\t\t\t/* Fills up the input ringbuffer by calling the input callback.\n\n Does nothing if there are at least 32 bytes present after current position.\n\n Returns 0 if either:\n - the input callback returned an error, or\n - there is no more input and the position is past the end of the stream.\n\n After encountering the end of the input stream, 32 additional zero bytes are\n copied to the ringbuffer, therefore it is safe to call this function after\n every 32 bytes of input is read.\n*/\n\t\t\t\t\tBrotliBitReader.prototype.readMoreInput = function () {\n\t\t\t\t\t\tif ( this.bit_end_pos_ > 256 ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else if ( this.eos_ ) {\n\t\t\t\t\t\t\tif ( this.bit_pos_ > this.bit_end_pos_ )\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t'Unexpected end of input ' +\n\t\t\t\t\t\t\t\t\t\tthis.bit_pos_ +\n\t\t\t\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t\t\t\tthis.bit_end_pos_\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar dst = this.buf_ptr_;\n\t\t\t\t\t\t\tvar bytes_read = this.input_.read(\n\t\t\t\t\t\t\t\tthis.buf_,\n\t\t\t\t\t\t\t\tdst,\n\t\t\t\t\t\t\t\tBROTLI_READ_SIZE\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( bytes_read < 0 ) {\n\t\t\t\t\t\t\t\tthrow new Error( 'Unexpected end of input' );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( bytes_read < BROTLI_READ_SIZE ) {\n\t\t\t\t\t\t\t\tthis.eos_ = 1;\n\t\t\t\t\t\t\t\t/* Store 32 bytes of zero after the stream end. */\n\t\t\t\t\t\t\t\tfor ( var p = 0; p < 32; p++ )\n\t\t\t\t\t\t\t\t\tthis.buf_[ dst + bytes_read + p ] = 0;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( dst === 0 ) {\n\t\t\t\t\t\t\t\t/* Copy the head of the ringbuffer to the slack region. */\n\t\t\t\t\t\t\t\tfor ( var p = 0; p < 32; p++ )\n\t\t\t\t\t\t\t\t\tthis.buf_[ ( BROTLI_READ_SIZE << 1 ) + p ] =\n\t\t\t\t\t\t\t\t\t\tthis.buf_[ p ];\n\n\t\t\t\t\t\t\t\tthis.buf_ptr_ = BROTLI_READ_SIZE;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.buf_ptr_ = 0;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.bit_end_pos_ += bytes_read << 3;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\t/* Guarantees that there are at least 24 bits in the buffer. */\n\t\t\t\t\tBrotliBitReader.prototype.fillBitWindow = function () {\n\t\t\t\t\t\twhile ( this.bit_pos_ >= 8 ) {\n\t\t\t\t\t\t\tthis.val_ >>>= 8;\n\t\t\t\t\t\t\tthis.val_ |=\n\t\t\t\t\t\t\t\tthis.buf_[ this.pos_ & BROTLI_IBUF_MASK ] << 24;\n\t\t\t\t\t\t\t++this.pos_;\n\t\t\t\t\t\t\tthis.bit_pos_ = ( this.bit_pos_ - 8 ) >>> 0;\n\t\t\t\t\t\t\tthis.bit_end_pos_ = ( this.bit_end_pos_ - 8 ) >>> 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\t/* Reads the specified number of bits from Read Buffer. */\n\t\t\t\t\tBrotliBitReader.prototype.readBits = function ( n_bits ) {\n\t\t\t\t\t\tif ( 32 - this.bit_pos_ < n_bits ) {\n\t\t\t\t\t\t\tthis.fillBitWindow();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar val =\n\t\t\t\t\t\t\t( this.val_ >>> this.bit_pos_ ) &\n\t\t\t\t\t\t\tkBitMask[ n_bits ];\n\t\t\t\t\t\tthis.bit_pos_ += n_bits;\n\t\t\t\t\t\treturn val;\n\t\t\t\t\t};\n\n\t\t\t\t\tmodule.exports = BrotliBitReader;\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t],\n\t\t\t2: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\t/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Lookup table to map the previous two bytes to a context id.\n\n There are four different context modeling modes defined here:\n CONTEXT_LSB6: context id is the least significant 6 bits of the last byte,\n CONTEXT_MSB6: context id is the most significant 6 bits of the last byte,\n CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text,\n CONTEXT_SIGNED: second-order context model tuned for signed integers.\n\n The context id for the UTF8 context model is calculated as follows. If p1\n and p2 are the previous two bytes, we calcualte the context as\n\n context = kContextLookup[p1] | kContextLookup[p2 + 256].\n\n If the previous two bytes are ASCII characters (i.e. < 128), this will be\n equivalent to\n\n context = 4 * context1(p1) + context2(p2),\n\n where context1 is based on the previous byte in the following way:\n\n 0 : non-ASCII control\n 1 : \\t, \\n, \\r\n 2 : space\n 3 : other punctuation\n 4 : \" '\n 5 : %\n 6 : ( < [ {\n 7 : ) > ] }\n 8 : , ; :\n 9 : .\n 10 : =\n 11 : number\n 12 : upper-case vowel\n 13 : upper-case consonant\n 14 : lower-case vowel\n 15 : lower-case consonant\n\n and context2 is based on the second last byte:\n\n 0 : control, space\n 1 : punctuation\n 2 : upper-case letter, number\n 3 : lower-case letter\n\n If the last byte is ASCII, and the second last byte is not (in a valid UTF8\n stream it will be a continuation byte, value between 128 and 191), the\n context is the same as if the second last byte was an ASCII control or space.\n\n If the last byte is a UTF8 lead byte (value >= 192), then the next byte will\n be a continuation byte and the context id is 2 or 3 depending on the LSB of\n the last byte and to a lesser extent on the second last byte if it is ASCII.\n\n If the last byte is a UTF8 continuation byte, the second last byte can be:\n - continuation byte: the next byte is probably ASCII or lead byte (assuming\n 4-byte UTF8 characters are rare) and the context id is 0 or 1.\n - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1\n - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3\n\n The possible value combinations of the previous two bytes, the range of\n context ids and the type of the next byte is summarized in the table below:\n\n |--------\\-----------------------------------------------------------------|\n | \\ Last byte |\n | Second \\---------------------------------------------------------------|\n | last byte \\ ASCII | cont. byte | lead byte |\n | \\ (0-127) | (128-191) | (192-) |\n |=============|===================|=====================|==================|\n | ASCII | next: ASCII/lead | not valid | next: cont. |\n | (0-127) | context: 4 - 63 | | context: 2 - 3 |\n |-------------|-------------------|---------------------|------------------|\n | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. |\n | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 |\n |-------------|-------------------|---------------------|------------------|\n | lead byte | not valid | next: ASCII/lead | not valid |\n | (192-207) | | context: 0 - 1 | |\n |-------------|-------------------|---------------------|------------------|\n | lead byte | not valid | next: cont. | not valid |\n | (208-) | | context: 2 - 3 | |\n |-------------|-------------------|---------------------|------------------|\n\n The context id for the signed context mode is calculated as:\n\n context = (kContextLookup[512 + p1] << 3) | kContextLookup[512 + p2].\n\n For any context modeling modes, the context ids can be calculated by |-ing\n together two lookups from one table using context model dependent offsets:\n\n context = kContextLookup[offset1 + p1] | kContextLookup[offset2 + p2].\n\n where offset1 and offset2 are dependent on the context mode.\n*/\n\n\t\t\t\t\tvar CONTEXT_LSB6 = 0;\n\t\t\t\t\tvar CONTEXT_MSB6 = 1;\n\t\t\t\t\tvar CONTEXT_UTF8 = 2;\n\t\t\t\t\tvar CONTEXT_SIGNED = 3;\n\n\t\t\t\t\t/* Common context lookup table for all context modes. */\n\t\t\t\t\texports.lookup = new Uint8Array( [\n\t\t\t\t\t\t/* CONTEXT_UTF8, last byte. */\n\t\t\t\t\t\t/* ASCII range. */\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 12, 16, 12,\n\t\t\t\t\t\t12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12, 44, 44,\n\t\t\t\t\t\t44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,\n\t\t\t\t\t\t12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52,\n\t\t\t\t\t\t52, 48, 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24,\n\t\t\t\t\t\t12, 28, 12, 12, 12, 56, 60, 60, 60, 56, 60, 60, 60, 56,\n\t\t\t\t\t\t60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, 60, 60,\n\t\t\t\t\t\t60, 60, 60, 24, 12, 28, 12, 0,\n\t\t\t\t\t\t/* UTF8 continuation byte range. */\n\t\t\t\t\t\t0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,\n\t\t\t\t\t\t1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n\t\t\t\t\t\t0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,\n\t\t\t\t\t\t1, 0, 1, 0, 1, 0, 1 /* UTF8 lead byte range. */, 2, 3,\n\t\t\t\t\t\t2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2,\n\t\t\t\t\t\t3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n\t\t\t\t\t\t2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2,\n\t\t\t\t\t\t3, 2, 3, 2, 3 /* CONTEXT_UTF8 second last byte. */,\n\t\t\t\t\t\t/* ASCII range. */\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,\n\t\t\t\t\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n\t\t\t\t\t\t2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n\t\t\t\t\t\t2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,\n\t\t\t\t\t\t1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n\t\t\t\t\t\t3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,\n\t\t\t\t\t\t/* UTF8 continuation byte range. */\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0 /* UTF8 lead byte range. */, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,\n\t\t\t\t\t\t2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n\t\t\t\t\t\t2, 2, 2, 2, 2 /* CONTEXT_SIGNED, second last byte. */,\n\t\t\t\t\t\t0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,\n\t\t\t\t\t\t2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n\t\t\t\t\t\t2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n\t\t\t\t\t\t2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n\t\t\t\t\t\t3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n\t\t\t\t\t\t3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n\t\t\t\t\t\t3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,\n\t\t\t\t\t\t4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n\t\t\t\t\t\t4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n\t\t\t\t\t\t4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n\t\t\t\t\t\t4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n\t\t\t\t\t\t5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n\t\t\t\t\t\t5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,\n\t\t\t\t\t\t6, 6, 6, 6, 6, 6, 6, 6, 7,\n\t\t\t\t\t\t/* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16,\n\t\t\t\t\t\t16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n\t\t\t\t\t\t16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n\t\t\t\t\t\t16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n\t\t\t\t\t\t16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n\t\t\t\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n\t\t\t\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n\t\t\t\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n\t\t\t\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 32, 32, 32,\n\t\t\t\t\t\t32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n\t\t\t\t\t\t32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n\t\t\t\t\t\t32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n\t\t\t\t\t\t32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n\t\t\t\t\t\t32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n\t\t\t\t\t\t40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n\t\t\t\t\t\t40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n\t\t\t\t\t\t40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 48, 48, 48,\n\t\t\t\t\t\t48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56,\n\t\t\t\t\t\t/* CONTEXT_LSB6, last byte. */\n\t\t\t\t\t\t0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n\t\t\t\t\t\t16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,\n\t\t\t\t\t\t30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,\n\t\t\t\t\t\t44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,\n\t\t\t\t\t\t58, 59, 60, 61, 62, 63, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n\t\t\t\t\t\t10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\n\t\t\t\t\t\t24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,\n\t\t\t\t\t\t38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,\n\t\t\t\t\t\t52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 1, 2,\n\t\t\t\t\t\t3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,\n\t\t\t\t\t\t19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,\n\t\t\t\t\t\t33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,\n\t\t\t\t\t\t47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,\n\t\t\t\t\t\t61, 62, 63, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n\t\t\t\t\t\t13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,\n\t\t\t\t\t\t27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,\n\t\t\t\t\t\t41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,\n\t\t\t\t\t\t55, 56, 57, 58, 59, 60, 61, 62, 63,\n\t\t\t\t\t\t/* CONTEXT_MSB6, last byte. */\n\t\t\t\t\t\t0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4,\n\t\t\t\t\t\t4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9,\n\t\t\t\t\t\t9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12,\n\t\t\t\t\t\t13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16,\n\t\t\t\t\t\t16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19,\n\t\t\t\t\t\t20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23,\n\t\t\t\t\t\t23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26,\n\t\t\t\t\t\t27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30,\n\t\t\t\t\t\t30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 33,\n\t\t\t\t\t\t34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 37, 37,\n\t\t\t\t\t\t37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40,\n\t\t\t\t\t\t41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43, 44, 44,\n\t\t\t\t\t\t44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47,\n\t\t\t\t\t\t48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51,\n\t\t\t\t\t\t51, 51, 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54,\n\t\t\t\t\t\t55, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 58,\n\t\t\t\t\t\t58, 58, 59, 59, 59, 59, 60, 60, 60, 60, 61, 61, 61, 61,\n\t\t\t\t\t\t62, 62, 62, 62, 63, 63, 63, 63,\n\t\t\t\t\t\t/* CONTEXT_{M,L}SB6, second last byte, */\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t\t\t\t] );\n\n\t\t\t\t\texports.lookupOffsets = new Uint16Array( [\n\t\t\t\t\t\t/* CONTEXT_LSB6 */\n\t\t\t\t\t\t1024, 1536 /* CONTEXT_MSB6 */, 1280,\n\t\t\t\t\t\t1536 /* CONTEXT_UTF8 */, 0, 256 /* CONTEXT_SIGNED */,\n\t\t\t\t\t\t768, 512,\n\t\t\t\t\t] );\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t],\n\t\t\t3: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\t/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n\t\t\t\t\tvar BrotliInput = require( './streams' ).BrotliInput;\n\t\t\t\t\tvar BrotliOutput = require( './streams' ).BrotliOutput;\n\t\t\t\t\tvar BrotliBitReader = require( './bit_reader' );\n\t\t\t\t\tvar BrotliDictionary = require( './dictionary' );\n\t\t\t\t\tvar HuffmanCode = require( './huffman' ).HuffmanCode;\n\t\t\t\t\tvar BrotliBuildHuffmanTable =\n\t\t\t\t\t\trequire( './huffman' ).BrotliBuildHuffmanTable;\n\t\t\t\t\tvar Context = require( './context' );\n\t\t\t\t\tvar Prefix = require( './prefix' );\n\t\t\t\t\tvar Transform = require( './transform' );\n\n\t\t\t\t\tvar kDefaultCodeLength = 8;\n\t\t\t\t\tvar kCodeLengthRepeatCode = 16;\n\t\t\t\t\tvar kNumLiteralCodes = 256;\n\t\t\t\t\tvar kNumInsertAndCopyCodes = 704;\n\t\t\t\t\tvar kNumBlockLengthCodes = 26;\n\t\t\t\t\tvar kLiteralContextBits = 6;\n\t\t\t\t\tvar kDistanceContextBits = 2;\n\n\t\t\t\t\tvar HUFFMAN_TABLE_BITS = 8;\n\t\t\t\t\tvar HUFFMAN_TABLE_MASK = 0xff;\n\t\t\t\t\t/* Maximum possible Huffman table size for an alphabet size of 704, max code\n\t\t\t\t\t * length 15 and root table bits 8. */\n\t\t\t\t\tvar HUFFMAN_MAX_TABLE_SIZE = 1080;\n\n\t\t\t\t\tvar CODE_LENGTH_CODES = 18;\n\t\t\t\t\tvar kCodeLengthCodeOrder = new Uint8Array( [\n\t\t\t\t\t\t1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13,\n\t\t\t\t\t\t14, 15,\n\t\t\t\t\t] );\n\n\t\t\t\t\tvar NUM_DISTANCE_SHORT_CODES = 16;\n\t\t\t\t\tvar kDistanceShortCodeIndexOffset = new Uint8Array( [\n\t\t\t\t\t\t3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,\n\t\t\t\t\t] );\n\n\t\t\t\t\tvar kDistanceShortCodeValueOffset = new Int8Array( [\n\t\t\t\t\t\t0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3,\n\t\t\t\t\t] );\n\n\t\t\t\t\tvar kMaxHuffmanTableSize = new Uint16Array( [\n\t\t\t\t\t\t256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694,\n\t\t\t\t\t\t726, 758, 790, 822, 854, 886, 920, 952, 984, 1016, 1048,\n\t\t\t\t\t\t1080,\n\t\t\t\t\t] );\n\n\t\t\t\t\tfunction DecodeWindowBits( br ) {\n\t\t\t\t\t\tvar n;\n\t\t\t\t\t\tif ( br.readBits( 1 ) === 0 ) {\n\t\t\t\t\t\t\treturn 16;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tn = br.readBits( 3 );\n\t\t\t\t\t\tif ( n > 0 ) {\n\t\t\t\t\t\t\treturn 17 + n;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tn = br.readBits( 3 );\n\t\t\t\t\t\tif ( n > 0 ) {\n\t\t\t\t\t\t\treturn 8 + n;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn 17;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */\n\t\t\t\t\tfunction DecodeVarLenUint8( br ) {\n\t\t\t\t\t\tif ( br.readBits( 1 ) ) {\n\t\t\t\t\t\t\tvar nbits = br.readBits( 3 );\n\t\t\t\t\t\t\tif ( nbits === 0 ) {\n\t\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn br.readBits( nbits ) + ( 1 << nbits );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction MetaBlockLength() {\n\t\t\t\t\t\tthis.meta_block_length = 0;\n\t\t\t\t\t\tthis.input_end = 0;\n\t\t\t\t\t\tthis.is_uncompressed = 0;\n\t\t\t\t\t\tthis.is_metadata = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction DecodeMetaBlockLength( br ) {\n\t\t\t\t\t\tvar out = new MetaBlockLength();\n\t\t\t\t\t\tvar size_nibbles;\n\t\t\t\t\t\tvar size_bytes;\n\t\t\t\t\t\tvar i;\n\n\t\t\t\t\t\tout.input_end = br.readBits( 1 );\n\t\t\t\t\t\tif ( out.input_end && br.readBits( 1 ) ) {\n\t\t\t\t\t\t\treturn out;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsize_nibbles = br.readBits( 2 ) + 4;\n\t\t\t\t\t\tif ( size_nibbles === 7 ) {\n\t\t\t\t\t\t\tout.is_metadata = true;\n\n\t\t\t\t\t\t\tif ( br.readBits( 1 ) !== 0 )\n\t\t\t\t\t\t\t\tthrow new Error( 'Invalid reserved bit' );\n\n\t\t\t\t\t\t\tsize_bytes = br.readBits( 2 );\n\t\t\t\t\t\t\tif ( size_bytes === 0 ) return out;\n\n\t\t\t\t\t\t\tfor ( i = 0; i < size_bytes; i++ ) {\n\t\t\t\t\t\t\t\tvar next_byte = br.readBits( 8 );\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\ti + 1 === size_bytes &&\n\t\t\t\t\t\t\t\t\tsize_bytes > 1 &&\n\t\t\t\t\t\t\t\t\tnext_byte === 0\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\tthrow new Error( 'Invalid size byte' );\n\n\t\t\t\t\t\t\t\tout.meta_block_length |= next_byte << ( i * 8 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor ( i = 0; i < size_nibbles; ++i ) {\n\t\t\t\t\t\t\t\tvar next_nibble = br.readBits( 4 );\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\ti + 1 === size_nibbles &&\n\t\t\t\t\t\t\t\t\tsize_nibbles > 4 &&\n\t\t\t\t\t\t\t\t\tnext_nibble === 0\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\tthrow new Error( 'Invalid size nibble' );\n\n\t\t\t\t\t\t\t\tout.meta_block_length |=\n\t\t\t\t\t\t\t\t\tnext_nibble << ( i * 4 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t++out.meta_block_length;\n\n\t\t\t\t\t\tif ( ! out.input_end && ! out.is_metadata ) {\n\t\t\t\t\t\t\tout.is_uncompressed = br.readBits( 1 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn out;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Decodes the next Huffman code from bit-stream. */\n\t\t\t\t\tfunction ReadSymbol( table, index, br ) {\n\t\t\t\t\t\tvar start_index = index;\n\n\t\t\t\t\t\tvar nbits;\n\t\t\t\t\t\tbr.fillBitWindow();\n\t\t\t\t\t\tindex +=\n\t\t\t\t\t\t\t( br.val_ >>> br.bit_pos_ ) & HUFFMAN_TABLE_MASK;\n\t\t\t\t\t\tnbits = table[ index ].bits - HUFFMAN_TABLE_BITS;\n\t\t\t\t\t\tif ( nbits > 0 ) {\n\t\t\t\t\t\t\tbr.bit_pos_ += HUFFMAN_TABLE_BITS;\n\t\t\t\t\t\t\tindex += table[ index ].value;\n\t\t\t\t\t\t\tindex +=\n\t\t\t\t\t\t\t\t( br.val_ >>> br.bit_pos_ ) &\n\t\t\t\t\t\t\t\t( ( 1 << nbits ) - 1 );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbr.bit_pos_ += table[ index ].bits;\n\t\t\t\t\t\treturn table[ index ].value;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction ReadHuffmanCodeLengths(\n\t\t\t\t\t\tcode_length_code_lengths,\n\t\t\t\t\t\tnum_symbols,\n\t\t\t\t\t\tcode_lengths,\n\t\t\t\t\t\tbr\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar symbol = 0;\n\t\t\t\t\t\tvar prev_code_len = kDefaultCodeLength;\n\t\t\t\t\t\tvar repeat = 0;\n\t\t\t\t\t\tvar repeat_code_len = 0;\n\t\t\t\t\t\tvar space = 32768;\n\n\t\t\t\t\t\tvar table = [];\n\t\t\t\t\t\tfor ( var i = 0; i < 32; i++ )\n\t\t\t\t\t\t\ttable.push( new HuffmanCode( 0, 0 ) );\n\n\t\t\t\t\t\tBrotliBuildHuffmanTable(\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t5,\n\t\t\t\t\t\t\tcode_length_code_lengths,\n\t\t\t\t\t\t\tCODE_LENGTH_CODES\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\twhile ( symbol < num_symbols && space > 0 ) {\n\t\t\t\t\t\t\tvar p = 0;\n\t\t\t\t\t\t\tvar code_len;\n\n\t\t\t\t\t\t\tbr.readMoreInput();\n\t\t\t\t\t\t\tbr.fillBitWindow();\n\t\t\t\t\t\t\tp += ( br.val_ >>> br.bit_pos_ ) & 31;\n\t\t\t\t\t\t\tbr.bit_pos_ += table[ p ].bits;\n\t\t\t\t\t\t\tcode_len = table[ p ].value & 0xff;\n\t\t\t\t\t\t\tif ( code_len < kCodeLengthRepeatCode ) {\n\t\t\t\t\t\t\t\trepeat = 0;\n\t\t\t\t\t\t\t\tcode_lengths[ symbol++ ] = code_len;\n\t\t\t\t\t\t\t\tif ( code_len !== 0 ) {\n\t\t\t\t\t\t\t\t\tprev_code_len = code_len;\n\t\t\t\t\t\t\t\t\tspace -= 32768 >> code_len;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar extra_bits = code_len - 14;\n\t\t\t\t\t\t\t\tvar old_repeat;\n\t\t\t\t\t\t\t\tvar repeat_delta;\n\t\t\t\t\t\t\t\tvar new_len = 0;\n\t\t\t\t\t\t\t\tif ( code_len === kCodeLengthRepeatCode ) {\n\t\t\t\t\t\t\t\t\tnew_len = prev_code_len;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( repeat_code_len !== new_len ) {\n\t\t\t\t\t\t\t\t\trepeat = 0;\n\t\t\t\t\t\t\t\t\trepeat_code_len = new_len;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\told_repeat = repeat;\n\t\t\t\t\t\t\t\tif ( repeat > 0 ) {\n\t\t\t\t\t\t\t\t\trepeat -= 2;\n\t\t\t\t\t\t\t\t\trepeat <<= extra_bits;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trepeat += br.readBits( extra_bits ) + 3;\n\t\t\t\t\t\t\t\trepeat_delta = repeat - old_repeat;\n\t\t\t\t\t\t\t\tif ( symbol + repeat_delta > num_symbols ) {\n\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t'[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tfor ( var x = 0; x < repeat_delta; x++ )\n\t\t\t\t\t\t\t\t\tcode_lengths[ symbol + x ] =\n\t\t\t\t\t\t\t\t\t\trepeat_code_len;\n\n\t\t\t\t\t\t\t\tsymbol += repeat_delta;\n\n\t\t\t\t\t\t\t\tif ( repeat_code_len !== 0 ) {\n\t\t\t\t\t\t\t\t\tspace -=\n\t\t\t\t\t\t\t\t\t\trepeat_delta <<\n\t\t\t\t\t\t\t\t\t\t( 15 - repeat_code_len );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( space !== 0 ) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'[ReadHuffmanCodeLengths] space = ' + space\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor ( ; symbol < num_symbols; symbol++ )\n\t\t\t\t\t\t\tcode_lengths[ symbol ] = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction ReadHuffmanCode(\n\t\t\t\t\t\talphabet_size,\n\t\t\t\t\t\ttables,\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tbr\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar table_size = 0;\n\t\t\t\t\t\tvar simple_code_or_skip;\n\t\t\t\t\t\tvar code_lengths = new Uint8Array( alphabet_size );\n\n\t\t\t\t\t\tbr.readMoreInput();\n\n\t\t\t\t\t\t/* simple_code_or_skip is used as follows:\n 1 for simple code;\n 0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */\n\t\t\t\t\t\tsimple_code_or_skip = br.readBits( 2 );\n\t\t\t\t\t\tif ( simple_code_or_skip === 1 ) {\n\t\t\t\t\t\t\t/* Read symbols, codes & code lengths directly. */\n\t\t\t\t\t\t\tvar i;\n\t\t\t\t\t\t\tvar max_bits_counter = alphabet_size - 1;\n\t\t\t\t\t\t\tvar max_bits = 0;\n\t\t\t\t\t\t\tvar symbols = new Int32Array( 4 );\n\t\t\t\t\t\t\tvar num_symbols = br.readBits( 2 ) + 1;\n\t\t\t\t\t\t\twhile ( max_bits_counter ) {\n\t\t\t\t\t\t\t\tmax_bits_counter >>= 1;\n\t\t\t\t\t\t\t\t++max_bits;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfor ( i = 0; i < num_symbols; ++i ) {\n\t\t\t\t\t\t\t\tsymbols[ i ] =\n\t\t\t\t\t\t\t\t\tbr.readBits( max_bits ) % alphabet_size;\n\t\t\t\t\t\t\t\tcode_lengths[ symbols[ i ] ] = 2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcode_lengths[ symbols[ 0 ] ] = 1;\n\t\t\t\t\t\t\tswitch ( num_symbols ) {\n\t\t\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tsymbols[ 0 ] === symbols[ 1 ] ||\n\t\t\t\t\t\t\t\t\t\tsymbols[ 0 ] === symbols[ 2 ] ||\n\t\t\t\t\t\t\t\t\t\tsymbols[ 1 ] === symbols[ 2 ]\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'[ReadHuffmanCode] invalid symbols'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\t\tif ( symbols[ 0 ] === symbols[ 1 ] ) {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'[ReadHuffmanCode] invalid symbols'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcode_lengths[ symbols[ 1 ] ] = 1;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 4:\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tsymbols[ 0 ] === symbols[ 1 ] ||\n\t\t\t\t\t\t\t\t\t\tsymbols[ 0 ] === symbols[ 2 ] ||\n\t\t\t\t\t\t\t\t\t\tsymbols[ 0 ] === symbols[ 3 ] ||\n\t\t\t\t\t\t\t\t\t\tsymbols[ 1 ] === symbols[ 2 ] ||\n\t\t\t\t\t\t\t\t\t\tsymbols[ 1 ] === symbols[ 3 ] ||\n\t\t\t\t\t\t\t\t\t\tsymbols[ 2 ] === symbols[ 3 ]\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'[ReadHuffmanCode] invalid symbols'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif ( br.readBits( 1 ) ) {\n\t\t\t\t\t\t\t\t\t\tcode_lengths[ symbols[ 2 ] ] = 3;\n\t\t\t\t\t\t\t\t\t\tcode_lengths[ symbols[ 3 ] ] = 3;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tcode_lengths[ symbols[ 0 ] ] = 2;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t/* Decode Huffman-coded code lengths. */\n\t\t\t\t\t\t\tvar i;\n\t\t\t\t\t\t\tvar code_length_code_lengths = new Uint8Array(\n\t\t\t\t\t\t\t\tCODE_LENGTH_CODES\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tvar space = 32;\n\t\t\t\t\t\t\tvar num_codes = 0;\n\t\t\t\t\t\t\t/* Static Huffman code for the code length code lengths */\n\t\t\t\t\t\t\tvar huff = [\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 0 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 4 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 3 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 3, 2 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 0 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 4 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 3 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 4, 1 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 0 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 4 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 3 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 3, 2 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 0 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 4 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 2, 3 ),\n\t\t\t\t\t\t\t\tnew HuffmanCode( 4, 5 ),\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\t\ti = simple_code_or_skip;\n\t\t\t\t\t\t\t\ti < CODE_LENGTH_CODES && space > 0;\n\t\t\t\t\t\t\t\t++i\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tvar code_len_idx = kCodeLengthCodeOrder[ i ];\n\t\t\t\t\t\t\t\tvar p = 0;\n\t\t\t\t\t\t\t\tvar v;\n\t\t\t\t\t\t\t\tbr.fillBitWindow();\n\t\t\t\t\t\t\t\tp += ( br.val_ >>> br.bit_pos_ ) & 15;\n\t\t\t\t\t\t\t\tbr.bit_pos_ += huff[ p ].bits;\n\t\t\t\t\t\t\t\tv = huff[ p ].value;\n\t\t\t\t\t\t\t\tcode_length_code_lengths[ code_len_idx ] = v;\n\t\t\t\t\t\t\t\tif ( v !== 0 ) {\n\t\t\t\t\t\t\t\t\tspace -= 32 >> v;\n\t\t\t\t\t\t\t\t\t++num_codes;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( ! ( num_codes === 1 || space === 0 ) )\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t'[ReadHuffmanCode] invalid num_codes or space'\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tReadHuffmanCodeLengths(\n\t\t\t\t\t\t\t\tcode_length_code_lengths,\n\t\t\t\t\t\t\t\talphabet_size,\n\t\t\t\t\t\t\t\tcode_lengths,\n\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttable_size = BrotliBuildHuffmanTable(\n\t\t\t\t\t\t\ttables,\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tHUFFMAN_TABLE_BITS,\n\t\t\t\t\t\t\tcode_lengths,\n\t\t\t\t\t\t\talphabet_size\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( table_size === 0 ) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'[ReadHuffmanCode] BuildHuffmanTable failed: '\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn table_size;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction ReadBlockLength( table, index, br ) {\n\t\t\t\t\t\tvar code;\n\t\t\t\t\t\tvar nbits;\n\t\t\t\t\t\tcode = ReadSymbol( table, index, br );\n\t\t\t\t\t\tnbits = Prefix.kBlockLengthPrefixCode[ code ].nbits;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tPrefix.kBlockLengthPrefixCode[ code ].offset +\n\t\t\t\t\t\t\tbr.readBits( nbits )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction TranslateShortCodes( code, ringbuffer, index ) {\n\t\t\t\t\t\tvar val;\n\t\t\t\t\t\tif ( code < NUM_DISTANCE_SHORT_CODES ) {\n\t\t\t\t\t\t\tindex += kDistanceShortCodeIndexOffset[ code ];\n\t\t\t\t\t\t\tindex &= 3;\n\t\t\t\t\t\t\tval =\n\t\t\t\t\t\t\t\tringbuffer[ index ] +\n\t\t\t\t\t\t\t\tkDistanceShortCodeValueOffset[ code ];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tval = code - NUM_DISTANCE_SHORT_CODES + 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn val;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction MoveToFront( v, index ) {\n\t\t\t\t\t\tvar value = v[ index ];\n\t\t\t\t\t\tvar i = index;\n\t\t\t\t\t\tfor ( ; i; --i ) v[ i ] = v[ i - 1 ];\n\t\t\t\t\t\tv[ 0 ] = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction InverseMoveToFrontTransform( v, v_len ) {\n\t\t\t\t\t\tvar mtf = new Uint8Array( 256 );\n\t\t\t\t\t\tvar i;\n\t\t\t\t\t\tfor ( i = 0; i < 256; ++i ) {\n\t\t\t\t\t\t\tmtf[ i ] = i;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor ( i = 0; i < v_len; ++i ) {\n\t\t\t\t\t\t\tvar index = v[ i ];\n\t\t\t\t\t\t\tv[ i ] = mtf[ index ];\n\t\t\t\t\t\t\tif ( index ) MoveToFront( mtf, index );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Contains a collection of huffman trees with the same alphabet size. */\n\t\t\t\t\tfunction HuffmanTreeGroup( alphabet_size, num_htrees ) {\n\t\t\t\t\t\tthis.alphabet_size = alphabet_size;\n\t\t\t\t\t\tthis.num_htrees = num_htrees;\n\t\t\t\t\t\tthis.codes = new Array(\n\t\t\t\t\t\t\tnum_htrees +\n\t\t\t\t\t\t\t\tnum_htrees *\n\t\t\t\t\t\t\t\t\tkMaxHuffmanTableSize[\n\t\t\t\t\t\t\t\t\t\t( alphabet_size + 31 ) >>> 5\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.htrees = new Uint32Array( num_htrees );\n\t\t\t\t\t}\n\n\t\t\t\t\tHuffmanTreeGroup.prototype.decode = function ( br ) {\n\t\t\t\t\t\tvar i;\n\t\t\t\t\t\tvar table_size;\n\t\t\t\t\t\tvar next = 0;\n\t\t\t\t\t\tfor ( i = 0; i < this.num_htrees; ++i ) {\n\t\t\t\t\t\t\tthis.htrees[ i ] = next;\n\t\t\t\t\t\t\ttable_size = ReadHuffmanCode(\n\t\t\t\t\t\t\t\tthis.alphabet_size,\n\t\t\t\t\t\t\t\tthis.codes,\n\t\t\t\t\t\t\t\tnext,\n\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tnext += table_size;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tfunction DecodeContextMap( context_map_size, br ) {\n\t\t\t\t\t\tvar out = { num_htrees: null, context_map: null };\n\t\t\t\t\t\tvar use_rle_for_zeros;\n\t\t\t\t\t\tvar max_run_length_prefix = 0;\n\t\t\t\t\t\tvar table;\n\t\t\t\t\t\tvar i;\n\n\t\t\t\t\t\tbr.readMoreInput();\n\t\t\t\t\t\tvar num_htrees = ( out.num_htrees =\n\t\t\t\t\t\t\tDecodeVarLenUint8( br ) + 1 );\n\n\t\t\t\t\t\tvar context_map = ( out.context_map = new Uint8Array(\n\t\t\t\t\t\t\tcontext_map_size\n\t\t\t\t\t\t) );\n\t\t\t\t\t\tif ( num_htrees <= 1 ) {\n\t\t\t\t\t\t\treturn out;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tuse_rle_for_zeros = br.readBits( 1 );\n\t\t\t\t\t\tif ( use_rle_for_zeros ) {\n\t\t\t\t\t\t\tmax_run_length_prefix = br.readBits( 4 ) + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttable = [];\n\t\t\t\t\t\tfor ( i = 0; i < HUFFMAN_MAX_TABLE_SIZE; i++ ) {\n\t\t\t\t\t\t\ttable[ i ] = new HuffmanCode( 0, 0 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tReadHuffmanCode(\n\t\t\t\t\t\t\tnum_htrees + max_run_length_prefix,\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tfor ( i = 0; i < context_map_size; ) {\n\t\t\t\t\t\t\tvar code;\n\n\t\t\t\t\t\t\tbr.readMoreInput();\n\t\t\t\t\t\t\tcode = ReadSymbol( table, 0, br );\n\t\t\t\t\t\t\tif ( code === 0 ) {\n\t\t\t\t\t\t\t\tcontext_map[ i ] = 0;\n\t\t\t\t\t\t\t\t++i;\n\t\t\t\t\t\t\t} else if ( code <= max_run_length_prefix ) {\n\t\t\t\t\t\t\t\tvar reps =\n\t\t\t\t\t\t\t\t\t1 + ( 1 << code ) + br.readBits( code );\n\t\t\t\t\t\t\t\twhile ( --reps ) {\n\t\t\t\t\t\t\t\t\tif ( i >= context_map_size ) {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'[DecodeContextMap] i >= context_map_size'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcontext_map[ i ] = 0;\n\t\t\t\t\t\t\t\t\t++i;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcontext_map[ i ] = code - max_run_length_prefix;\n\t\t\t\t\t\t\t\t++i;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( br.readBits( 1 ) ) {\n\t\t\t\t\t\t\tInverseMoveToFrontTransform(\n\t\t\t\t\t\t\t\tcontext_map,\n\t\t\t\t\t\t\t\tcontext_map_size\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn out;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction DecodeBlockType(\n\t\t\t\t\t\tmax_block_type,\n\t\t\t\t\t\ttrees,\n\t\t\t\t\t\ttree_type,\n\t\t\t\t\t\tblock_types,\n\t\t\t\t\t\tringbuffers,\n\t\t\t\t\t\tindexes,\n\t\t\t\t\t\tbr\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar ringbuffer = tree_type * 2;\n\t\t\t\t\t\tvar index = tree_type;\n\t\t\t\t\t\tvar type_code = ReadSymbol(\n\t\t\t\t\t\t\ttrees,\n\t\t\t\t\t\t\ttree_type * HUFFMAN_MAX_TABLE_SIZE,\n\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t);\n\t\t\t\t\t\tvar block_type;\n\t\t\t\t\t\tif ( type_code === 0 ) {\n\t\t\t\t\t\t\tblock_type =\n\t\t\t\t\t\t\t\tringbuffers[\n\t\t\t\t\t\t\t\t\tringbuffer + ( indexes[ index ] & 1 )\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t} else if ( type_code === 1 ) {\n\t\t\t\t\t\t\tblock_type =\n\t\t\t\t\t\t\t\tringbuffers[\n\t\t\t\t\t\t\t\t\tringbuffer +\n\t\t\t\t\t\t\t\t\t\t( ( indexes[ index ] - 1 ) & 1 )\n\t\t\t\t\t\t\t\t] + 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tblock_type = type_code - 2;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( block_type >= max_block_type ) {\n\t\t\t\t\t\t\tblock_type -= max_block_type;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblock_types[ tree_type ] = block_type;\n\t\t\t\t\t\tringbuffers[ ringbuffer + ( indexes[ index ] & 1 ) ] =\n\t\t\t\t\t\t\tblock_type;\n\t\t\t\t\t\t++indexes[ index ];\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction CopyUncompressedBlockToOutput(\n\t\t\t\t\t\toutput,\n\t\t\t\t\t\tlen,\n\t\t\t\t\t\tpos,\n\t\t\t\t\t\tringbuffer,\n\t\t\t\t\t\tringbuffer_mask,\n\t\t\t\t\t\tbr\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar rb_size = ringbuffer_mask + 1;\n\t\t\t\t\t\tvar rb_pos = pos & ringbuffer_mask;\n\t\t\t\t\t\tvar br_pos = br.pos_ & BrotliBitReader.IBUF_MASK;\n\t\t\t\t\t\tvar nbytes;\n\n\t\t\t\t\t\t/* For short lengths copy byte-by-byte */\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tlen < 8 ||\n\t\t\t\t\t\t\tbr.bit_pos_ + ( len << 3 ) < br.bit_end_pos_\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\twhile ( len-- > 0 ) {\n\t\t\t\t\t\t\t\tbr.readMoreInput();\n\t\t\t\t\t\t\t\tringbuffer[ rb_pos++ ] = br.readBits( 8 );\n\t\t\t\t\t\t\t\tif ( rb_pos === rb_size ) {\n\t\t\t\t\t\t\t\t\toutput.write( ringbuffer, rb_size );\n\t\t\t\t\t\t\t\t\trb_pos = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( br.bit_end_pos_ < 32 ) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* Copy remaining 0-4 bytes from br.val_ to ringbuffer. */\n\t\t\t\t\t\twhile ( br.bit_pos_ < 32 ) {\n\t\t\t\t\t\t\tringbuffer[ rb_pos ] = br.val_ >>> br.bit_pos_;\n\t\t\t\t\t\t\tbr.bit_pos_ += 8;\n\t\t\t\t\t\t\t++rb_pos;\n\t\t\t\t\t\t\t--len;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* Copy remaining bytes from br.buf_ to ringbuffer. */\n\t\t\t\t\t\tnbytes = ( br.bit_end_pos_ - br.bit_pos_ ) >> 3;\n\t\t\t\t\t\tif ( br_pos + nbytes > BrotliBitReader.IBUF_MASK ) {\n\t\t\t\t\t\t\tvar tail = BrotliBitReader.IBUF_MASK + 1 - br_pos;\n\t\t\t\t\t\t\tfor ( var x = 0; x < tail; x++ )\n\t\t\t\t\t\t\t\tringbuffer[ rb_pos + x ] =\n\t\t\t\t\t\t\t\t\tbr.buf_[ br_pos + x ];\n\n\t\t\t\t\t\t\tnbytes -= tail;\n\t\t\t\t\t\t\trb_pos += tail;\n\t\t\t\t\t\t\tlen -= tail;\n\t\t\t\t\t\t\tbr_pos = 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor ( var x = 0; x < nbytes; x++ )\n\t\t\t\t\t\t\tringbuffer[ rb_pos + x ] = br.buf_[ br_pos + x ];\n\n\t\t\t\t\t\trb_pos += nbytes;\n\t\t\t\t\t\tlen -= nbytes;\n\n\t\t\t\t\t\t/* If we wrote past the logical end of the ringbuffer, copy the tail of the\n ringbuffer to its beginning and flush the ringbuffer to the output. */\n\t\t\t\t\t\tif ( rb_pos >= rb_size ) {\n\t\t\t\t\t\t\toutput.write( ringbuffer, rb_size );\n\t\t\t\t\t\t\trb_pos -= rb_size;\n\t\t\t\t\t\t\tfor ( var x = 0; x < rb_pos; x++ )\n\t\t\t\t\t\t\t\tringbuffer[ x ] = ringbuffer[ rb_size + x ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* If we have more to copy than the remaining size of the ringbuffer, then we\n first fill the ringbuffer from the input and then flush the ringbuffer to\n the output */\n\t\t\t\t\t\twhile ( rb_pos + len >= rb_size ) {\n\t\t\t\t\t\t\tnbytes = rb_size - rb_pos;\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tbr.input_.read( ringbuffer, rb_pos, nbytes ) <\n\t\t\t\t\t\t\t\tnbytes\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t'[CopyUncompressedBlockToOutput] not enough bytes'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toutput.write( ringbuffer, rb_size );\n\t\t\t\t\t\t\tlen -= nbytes;\n\t\t\t\t\t\t\trb_pos = 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* Copy straight from the input onto the ringbuffer. The ringbuffer will be\n flushed to the output at a later time. */\n\t\t\t\t\t\tif ( br.input_.read( ringbuffer, rb_pos, len ) < len ) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'[CopyUncompressedBlockToOutput] not enough bytes'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* Restore the state of the bit reader. */\n\t\t\t\t\t\tbr.reset();\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Advances the bit reader position to the next byte boundary and verifies\n that any skipped bits are set to zero. */\n\t\t\t\t\tfunction JumpToByteBoundary( br ) {\n\t\t\t\t\t\tvar new_bit_pos = ( br.bit_pos_ + 7 ) & ~7;\n\t\t\t\t\t\tvar pad_bits = br.readBits( new_bit_pos - br.bit_pos_ );\n\t\t\t\t\t\treturn pad_bits == 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction BrotliDecompressedSize( buffer ) {\n\t\t\t\t\t\tvar input = new BrotliInput( buffer );\n\t\t\t\t\t\tvar br = new BrotliBitReader( input );\n\t\t\t\t\t\tDecodeWindowBits( br );\n\t\t\t\t\t\tvar out = DecodeMetaBlockLength( br );\n\t\t\t\t\t\treturn out.meta_block_length;\n\t\t\t\t\t}\n\n\t\t\t\t\texports.BrotliDecompressedSize = BrotliDecompressedSize;\n\n\t\t\t\t\tfunction BrotliDecompressBuffer( buffer, output_size ) {\n\t\t\t\t\t\tvar input = new BrotliInput( buffer );\n\n\t\t\t\t\t\tif ( output_size == null ) {\n\t\t\t\t\t\t\toutput_size = BrotliDecompressedSize( buffer );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar output_buffer = new Uint8Array( output_size );\n\t\t\t\t\t\tvar output = new BrotliOutput( output_buffer );\n\n\t\t\t\t\t\tBrotliDecompress( input, output );\n\n\t\t\t\t\t\tif ( output.pos < output.buffer.length ) {\n\t\t\t\t\t\t\toutput.buffer = output.buffer.subarray(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\toutput.pos\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn output.buffer;\n\t\t\t\t\t}\n\n\t\t\t\t\texports.BrotliDecompressBuffer = BrotliDecompressBuffer;\n\n\t\t\t\t\tfunction BrotliDecompress( input, output ) {\n\t\t\t\t\t\tvar i;\n\t\t\t\t\t\tvar pos = 0;\n\t\t\t\t\t\tvar input_end = 0;\n\t\t\t\t\t\tvar window_bits = 0;\n\t\t\t\t\t\tvar max_backward_distance;\n\t\t\t\t\t\tvar max_distance = 0;\n\t\t\t\t\t\tvar ringbuffer_size;\n\t\t\t\t\t\tvar ringbuffer_mask;\n\t\t\t\t\t\tvar ringbuffer;\n\t\t\t\t\t\tvar ringbuffer_end;\n\t\t\t\t\t\t/* This ring buffer holds a few past copy distances that will be used by */\n\t\t\t\t\t\t/* some special distance codes. */\n\t\t\t\t\t\tvar dist_rb = [ 16, 15, 11, 4 ];\n\t\t\t\t\t\tvar dist_rb_idx = 0;\n\t\t\t\t\t\t/* The previous 2 bytes used for context. */\n\t\t\t\t\t\tvar prev_byte1 = 0;\n\t\t\t\t\t\tvar prev_byte2 = 0;\n\t\t\t\t\t\tvar hgroup = [\n\t\t\t\t\t\t\tnew HuffmanTreeGroup( 0, 0 ),\n\t\t\t\t\t\t\tnew HuffmanTreeGroup( 0, 0 ),\n\t\t\t\t\t\t\tnew HuffmanTreeGroup( 0, 0 ),\n\t\t\t\t\t\t];\n\t\t\t\t\t\tvar block_type_trees;\n\t\t\t\t\t\tvar block_len_trees;\n\t\t\t\t\t\tvar br;\n\n\t\t\t\t\t\t/* We need the slack region for the following reasons:\n - always doing two 8-byte copies for fast backward copying\n - transforms\n - flushing the input ringbuffer when decoding uncompressed blocks */\n\t\t\t\t\t\tvar kRingBufferWriteAheadSlack =\n\t\t\t\t\t\t\t128 + BrotliBitReader.READ_SIZE;\n\n\t\t\t\t\t\tbr = new BrotliBitReader( input );\n\n\t\t\t\t\t\t/* Decode window size. */\n\t\t\t\t\t\twindow_bits = DecodeWindowBits( br );\n\t\t\t\t\t\tmax_backward_distance = ( 1 << window_bits ) - 16;\n\n\t\t\t\t\t\tringbuffer_size = 1 << window_bits;\n\t\t\t\t\t\tringbuffer_mask = ringbuffer_size - 1;\n\t\t\t\t\t\tringbuffer = new Uint8Array(\n\t\t\t\t\t\t\tringbuffer_size +\n\t\t\t\t\t\t\t\tkRingBufferWriteAheadSlack +\n\t\t\t\t\t\t\t\tBrotliDictionary.maxDictionaryWordLength\n\t\t\t\t\t\t);\n\t\t\t\t\t\tringbuffer_end = ringbuffer_size;\n\n\t\t\t\t\t\tblock_type_trees = [];\n\t\t\t\t\t\tblock_len_trees = [];\n\t\t\t\t\t\tfor ( var x = 0; x < 3 * HUFFMAN_MAX_TABLE_SIZE; x++ ) {\n\t\t\t\t\t\t\tblock_type_trees[ x ] = new HuffmanCode( 0, 0 );\n\t\t\t\t\t\t\tblock_len_trees[ x ] = new HuffmanCode( 0, 0 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twhile ( ! input_end ) {\n\t\t\t\t\t\t\tvar meta_block_remaining_len = 0;\n\t\t\t\t\t\t\tvar is_uncompressed;\n\t\t\t\t\t\t\tvar block_length = [ 1 << 28, 1 << 28, 1 << 28 ];\n\t\t\t\t\t\t\tvar block_type = [ 0 ];\n\t\t\t\t\t\t\tvar num_block_types = [ 1, 1, 1 ];\n\t\t\t\t\t\t\tvar block_type_rb = [ 0, 1, 0, 1, 0, 1 ];\n\t\t\t\t\t\t\tvar block_type_rb_index = [ 0 ];\n\t\t\t\t\t\t\tvar distance_postfix_bits;\n\t\t\t\t\t\t\tvar num_direct_distance_codes;\n\t\t\t\t\t\t\tvar distance_postfix_mask;\n\t\t\t\t\t\t\tvar num_distance_codes;\n\t\t\t\t\t\t\tvar context_map = null;\n\t\t\t\t\t\t\tvar context_modes = null;\n\t\t\t\t\t\t\tvar num_literal_htrees;\n\t\t\t\t\t\t\tvar dist_context_map = null;\n\t\t\t\t\t\t\tvar num_dist_htrees;\n\t\t\t\t\t\t\tvar context_offset = 0;\n\t\t\t\t\t\t\tvar context_map_slice = null;\n\t\t\t\t\t\t\tvar literal_htree_index = 0;\n\t\t\t\t\t\t\tvar dist_context_offset = 0;\n\t\t\t\t\t\t\tvar dist_context_map_slice = null;\n\t\t\t\t\t\t\tvar dist_htree_index = 0;\n\t\t\t\t\t\t\tvar context_lookup_offset1 = 0;\n\t\t\t\t\t\t\tvar context_lookup_offset2 = 0;\n\t\t\t\t\t\t\tvar context_mode;\n\t\t\t\t\t\t\tvar htree_command;\n\n\t\t\t\t\t\t\tfor ( i = 0; i < 3; ++i ) {\n\t\t\t\t\t\t\t\thgroup[ i ].codes = null;\n\t\t\t\t\t\t\t\thgroup[ i ].htrees = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbr.readMoreInput();\n\n\t\t\t\t\t\t\tvar _out = DecodeMetaBlockLength( br );\n\t\t\t\t\t\t\tmeta_block_remaining_len = _out.meta_block_length;\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpos + meta_block_remaining_len >\n\t\t\t\t\t\t\t\toutput.buffer.length\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t/* We need to grow the output buffer to fit the additional data. */\n\t\t\t\t\t\t\t\tvar tmp = new Uint8Array(\n\t\t\t\t\t\t\t\t\tpos + meta_block_remaining_len\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\ttmp.set( output.buffer );\n\t\t\t\t\t\t\t\toutput.buffer = tmp;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinput_end = _out.input_end;\n\t\t\t\t\t\t\tis_uncompressed = _out.is_uncompressed;\n\n\t\t\t\t\t\t\tif ( _out.is_metadata ) {\n\t\t\t\t\t\t\t\tJumpToByteBoundary( br );\n\n\t\t\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\t\tmeta_block_remaining_len > 0;\n\t\t\t\t\t\t\t\t\t--meta_block_remaining_len\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tbr.readMoreInput();\n\t\t\t\t\t\t\t\t\t/* Read one byte and ignore it. */\n\t\t\t\t\t\t\t\t\tbr.readBits( 8 );\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( meta_block_remaining_len === 0 ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( is_uncompressed ) {\n\t\t\t\t\t\t\t\tbr.bit_pos_ = ( br.bit_pos_ + 7 ) & ~7;\n\t\t\t\t\t\t\t\tCopyUncompressedBlockToOutput(\n\t\t\t\t\t\t\t\t\toutput,\n\t\t\t\t\t\t\t\t\tmeta_block_remaining_len,\n\t\t\t\t\t\t\t\t\tpos,\n\t\t\t\t\t\t\t\t\tringbuffer,\n\t\t\t\t\t\t\t\t\tringbuffer_mask,\n\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tpos += meta_block_remaining_len;\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfor ( i = 0; i < 3; ++i ) {\n\t\t\t\t\t\t\t\tnum_block_types[ i ] =\n\t\t\t\t\t\t\t\t\tDecodeVarLenUint8( br ) + 1;\n\t\t\t\t\t\t\t\tif ( num_block_types[ i ] >= 2 ) {\n\t\t\t\t\t\t\t\t\tReadHuffmanCode(\n\t\t\t\t\t\t\t\t\t\tnum_block_types[ i ] + 2,\n\t\t\t\t\t\t\t\t\t\tblock_type_trees,\n\t\t\t\t\t\t\t\t\t\ti * HUFFMAN_MAX_TABLE_SIZE,\n\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tReadHuffmanCode(\n\t\t\t\t\t\t\t\t\t\tkNumBlockLengthCodes,\n\t\t\t\t\t\t\t\t\t\tblock_len_trees,\n\t\t\t\t\t\t\t\t\t\ti * HUFFMAN_MAX_TABLE_SIZE,\n\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tblock_length[ i ] = ReadBlockLength(\n\t\t\t\t\t\t\t\t\t\tblock_len_trees,\n\t\t\t\t\t\t\t\t\t\ti * HUFFMAN_MAX_TABLE_SIZE,\n\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tblock_type_rb_index[ i ] = 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbr.readMoreInput();\n\n\t\t\t\t\t\t\tdistance_postfix_bits = br.readBits( 2 );\n\t\t\t\t\t\t\tnum_direct_distance_codes =\n\t\t\t\t\t\t\t\tNUM_DISTANCE_SHORT_CODES +\n\t\t\t\t\t\t\t\t( br.readBits( 4 ) << distance_postfix_bits );\n\t\t\t\t\t\t\tdistance_postfix_mask =\n\t\t\t\t\t\t\t\t( 1 << distance_postfix_bits ) - 1;\n\t\t\t\t\t\t\tnum_distance_codes =\n\t\t\t\t\t\t\t\tnum_direct_distance_codes +\n\t\t\t\t\t\t\t\t( 48 << distance_postfix_bits );\n\t\t\t\t\t\t\tcontext_modes = new Uint8Array(\n\t\t\t\t\t\t\t\tnum_block_types[ 0 ]\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tfor ( i = 0; i < num_block_types[ 0 ]; ++i ) {\n\t\t\t\t\t\t\t\tbr.readMoreInput();\n\t\t\t\t\t\t\t\tcontext_modes[ i ] = br.readBits( 2 ) << 1;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tvar _o1 = DecodeContextMap(\n\t\t\t\t\t\t\t\tnum_block_types[ 0 ] << kLiteralContextBits,\n\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tnum_literal_htrees = _o1.num_htrees;\n\t\t\t\t\t\t\tcontext_map = _o1.context_map;\n\n\t\t\t\t\t\t\tvar _o2 = DecodeContextMap(\n\t\t\t\t\t\t\t\tnum_block_types[ 2 ] << kDistanceContextBits,\n\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tnum_dist_htrees = _o2.num_htrees;\n\t\t\t\t\t\t\tdist_context_map = _o2.context_map;\n\n\t\t\t\t\t\t\thgroup[ 0 ] = new HuffmanTreeGroup(\n\t\t\t\t\t\t\t\tkNumLiteralCodes,\n\t\t\t\t\t\t\t\tnum_literal_htrees\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\thgroup[ 1 ] = new HuffmanTreeGroup(\n\t\t\t\t\t\t\t\tkNumInsertAndCopyCodes,\n\t\t\t\t\t\t\t\tnum_block_types[ 1 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\thgroup[ 2 ] = new HuffmanTreeGroup(\n\t\t\t\t\t\t\t\tnum_distance_codes,\n\t\t\t\t\t\t\t\tnum_dist_htrees\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tfor ( i = 0; i < 3; ++i ) {\n\t\t\t\t\t\t\t\thgroup[ i ].decode( br );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tcontext_map_slice = 0;\n\t\t\t\t\t\t\tdist_context_map_slice = 0;\n\t\t\t\t\t\t\tcontext_mode = context_modes[ block_type[ 0 ] ];\n\t\t\t\t\t\t\tcontext_lookup_offset1 =\n\t\t\t\t\t\t\t\tContext.lookupOffsets[ context_mode ];\n\t\t\t\t\t\t\tcontext_lookup_offset2 =\n\t\t\t\t\t\t\t\tContext.lookupOffsets[ context_mode + 1 ];\n\t\t\t\t\t\t\thtree_command = hgroup[ 1 ].htrees[ 0 ];\n\n\t\t\t\t\t\t\twhile ( meta_block_remaining_len > 0 ) {\n\t\t\t\t\t\t\t\tvar cmd_code;\n\t\t\t\t\t\t\t\tvar range_idx;\n\t\t\t\t\t\t\t\tvar insert_code;\n\t\t\t\t\t\t\t\tvar copy_code;\n\t\t\t\t\t\t\t\tvar insert_length;\n\t\t\t\t\t\t\t\tvar copy_length;\n\t\t\t\t\t\t\t\tvar distance_code;\n\t\t\t\t\t\t\t\tvar distance;\n\t\t\t\t\t\t\t\tvar context;\n\t\t\t\t\t\t\t\tvar j;\n\t\t\t\t\t\t\t\tvar copy_dst;\n\n\t\t\t\t\t\t\t\tbr.readMoreInput();\n\n\t\t\t\t\t\t\t\tif ( block_length[ 1 ] === 0 ) {\n\t\t\t\t\t\t\t\t\tDecodeBlockType(\n\t\t\t\t\t\t\t\t\t\tnum_block_types[ 1 ],\n\t\t\t\t\t\t\t\t\t\tblock_type_trees,\n\t\t\t\t\t\t\t\t\t\t1,\n\t\t\t\t\t\t\t\t\t\tblock_type,\n\t\t\t\t\t\t\t\t\t\tblock_type_rb,\n\t\t\t\t\t\t\t\t\t\tblock_type_rb_index,\n\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tblock_length[ 1 ] = ReadBlockLength(\n\t\t\t\t\t\t\t\t\t\tblock_len_trees,\n\t\t\t\t\t\t\t\t\t\tHUFFMAN_MAX_TABLE_SIZE,\n\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\thtree_command =\n\t\t\t\t\t\t\t\t\t\thgroup[ 1 ].htrees[ block_type[ 1 ] ];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t--block_length[ 1 ];\n\t\t\t\t\t\t\t\tcmd_code = ReadSymbol(\n\t\t\t\t\t\t\t\t\thgroup[ 1 ].codes,\n\t\t\t\t\t\t\t\t\thtree_command,\n\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\trange_idx = cmd_code >> 6;\n\t\t\t\t\t\t\t\tif ( range_idx >= 2 ) {\n\t\t\t\t\t\t\t\t\trange_idx -= 2;\n\t\t\t\t\t\t\t\t\tdistance_code = -1;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdistance_code = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tinsert_code =\n\t\t\t\t\t\t\t\t\tPrefix.kInsertRangeLut[ range_idx ] +\n\t\t\t\t\t\t\t\t\t( ( cmd_code >> 3 ) & 7 );\n\t\t\t\t\t\t\t\tcopy_code =\n\t\t\t\t\t\t\t\t\tPrefix.kCopyRangeLut[ range_idx ] +\n\t\t\t\t\t\t\t\t\t( cmd_code & 7 );\n\t\t\t\t\t\t\t\tinsert_length =\n\t\t\t\t\t\t\t\t\tPrefix.kInsertLengthPrefixCode[\n\t\t\t\t\t\t\t\t\t\tinsert_code\n\t\t\t\t\t\t\t\t\t].offset +\n\t\t\t\t\t\t\t\t\tbr.readBits(\n\t\t\t\t\t\t\t\t\t\tPrefix.kInsertLengthPrefixCode[\n\t\t\t\t\t\t\t\t\t\t\tinsert_code\n\t\t\t\t\t\t\t\t\t\t].nbits\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tcopy_length =\n\t\t\t\t\t\t\t\t\tPrefix.kCopyLengthPrefixCode[ copy_code ]\n\t\t\t\t\t\t\t\t\t\t.offset +\n\t\t\t\t\t\t\t\t\tbr.readBits(\n\t\t\t\t\t\t\t\t\t\tPrefix.kCopyLengthPrefixCode[\n\t\t\t\t\t\t\t\t\t\t\tcopy_code\n\t\t\t\t\t\t\t\t\t\t].nbits\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tprev_byte1 =\n\t\t\t\t\t\t\t\t\tringbuffer[ ( pos - 1 ) & ringbuffer_mask ];\n\t\t\t\t\t\t\t\tprev_byte2 =\n\t\t\t\t\t\t\t\t\tringbuffer[ ( pos - 2 ) & ringbuffer_mask ];\n\t\t\t\t\t\t\t\tfor ( j = 0; j < insert_length; ++j ) {\n\t\t\t\t\t\t\t\t\tbr.readMoreInput();\n\n\t\t\t\t\t\t\t\t\tif ( block_length[ 0 ] === 0 ) {\n\t\t\t\t\t\t\t\t\t\tDecodeBlockType(\n\t\t\t\t\t\t\t\t\t\t\tnum_block_types[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\tblock_type_trees,\n\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\tblock_type,\n\t\t\t\t\t\t\t\t\t\t\tblock_type_rb,\n\t\t\t\t\t\t\t\t\t\t\tblock_type_rb_index,\n\t\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tblock_length[ 0 ] = ReadBlockLength(\n\t\t\t\t\t\t\t\t\t\t\tblock_len_trees,\n\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcontext_offset =\n\t\t\t\t\t\t\t\t\t\t\tblock_type[ 0 ] <<\n\t\t\t\t\t\t\t\t\t\t\tkLiteralContextBits;\n\t\t\t\t\t\t\t\t\t\tcontext_map_slice = context_offset;\n\t\t\t\t\t\t\t\t\t\tcontext_mode =\n\t\t\t\t\t\t\t\t\t\t\tcontext_modes[ block_type[ 0 ] ];\n\t\t\t\t\t\t\t\t\t\tcontext_lookup_offset1 =\n\t\t\t\t\t\t\t\t\t\t\tContext.lookupOffsets[\n\t\t\t\t\t\t\t\t\t\t\t\tcontext_mode\n\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\tcontext_lookup_offset2 =\n\t\t\t\t\t\t\t\t\t\t\tContext.lookupOffsets[\n\t\t\t\t\t\t\t\t\t\t\t\tcontext_mode + 1\n\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcontext =\n\t\t\t\t\t\t\t\t\t\tContext.lookup[\n\t\t\t\t\t\t\t\t\t\t\tcontext_lookup_offset1 + prev_byte1\n\t\t\t\t\t\t\t\t\t\t] |\n\t\t\t\t\t\t\t\t\t\tContext.lookup[\n\t\t\t\t\t\t\t\t\t\t\tcontext_lookup_offset2 + prev_byte2\n\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\tliteral_htree_index =\n\t\t\t\t\t\t\t\t\t\tcontext_map[\n\t\t\t\t\t\t\t\t\t\t\tcontext_map_slice + context\n\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t--block_length[ 0 ];\n\t\t\t\t\t\t\t\t\tprev_byte2 = prev_byte1;\n\t\t\t\t\t\t\t\t\tprev_byte1 = ReadSymbol(\n\t\t\t\t\t\t\t\t\t\thgroup[ 0 ].codes,\n\t\t\t\t\t\t\t\t\t\thgroup[ 0 ].htrees[\n\t\t\t\t\t\t\t\t\t\t\tliteral_htree_index\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tringbuffer[ pos & ringbuffer_mask ] =\n\t\t\t\t\t\t\t\t\t\tprev_byte1;\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t( pos & ringbuffer_mask ) ===\n\t\t\t\t\t\t\t\t\t\tringbuffer_mask\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\toutput.write(\n\t\t\t\t\t\t\t\t\t\t\tringbuffer,\n\t\t\t\t\t\t\t\t\t\t\tringbuffer_size\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t++pos;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmeta_block_remaining_len -= insert_length;\n\t\t\t\t\t\t\t\tif ( meta_block_remaining_len <= 0 ) break;\n\n\t\t\t\t\t\t\t\tif ( distance_code < 0 ) {\n\t\t\t\t\t\t\t\t\tvar context;\n\n\t\t\t\t\t\t\t\t\tbr.readMoreInput();\n\t\t\t\t\t\t\t\t\tif ( block_length[ 2 ] === 0 ) {\n\t\t\t\t\t\t\t\t\t\tDecodeBlockType(\n\t\t\t\t\t\t\t\t\t\t\tnum_block_types[ 2 ],\n\t\t\t\t\t\t\t\t\t\t\tblock_type_trees,\n\t\t\t\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t\t\t\t\tblock_type,\n\t\t\t\t\t\t\t\t\t\t\tblock_type_rb,\n\t\t\t\t\t\t\t\t\t\t\tblock_type_rb_index,\n\t\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tblock_length[ 2 ] = ReadBlockLength(\n\t\t\t\t\t\t\t\t\t\t\tblock_len_trees,\n\t\t\t\t\t\t\t\t\t\t\t2 * HUFFMAN_MAX_TABLE_SIZE,\n\t\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tdist_context_offset =\n\t\t\t\t\t\t\t\t\t\t\tblock_type[ 2 ] <<\n\t\t\t\t\t\t\t\t\t\t\tkDistanceContextBits;\n\t\t\t\t\t\t\t\t\t\tdist_context_map_slice =\n\t\t\t\t\t\t\t\t\t\t\tdist_context_offset;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t--block_length[ 2 ];\n\t\t\t\t\t\t\t\t\tcontext =\n\t\t\t\t\t\t\t\t\t\t( copy_length > 4\n\t\t\t\t\t\t\t\t\t\t\t? 3\n\t\t\t\t\t\t\t\t\t\t\t: copy_length - 2 ) & 0xff;\n\t\t\t\t\t\t\t\t\tdist_htree_index =\n\t\t\t\t\t\t\t\t\t\tdist_context_map[\n\t\t\t\t\t\t\t\t\t\t\tdist_context_map_slice + context\n\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\tdistance_code = ReadSymbol(\n\t\t\t\t\t\t\t\t\t\thgroup[ 2 ].codes,\n\t\t\t\t\t\t\t\t\t\thgroup[ 2 ].htrees[ dist_htree_index ],\n\t\t\t\t\t\t\t\t\t\tbr\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tdistance_code >=\n\t\t\t\t\t\t\t\t\t\tnum_direct_distance_codes\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tvar nbits;\n\t\t\t\t\t\t\t\t\t\tvar postfix;\n\t\t\t\t\t\t\t\t\t\tvar offset;\n\t\t\t\t\t\t\t\t\t\tdistance_code -=\n\t\t\t\t\t\t\t\t\t\t\tnum_direct_distance_codes;\n\t\t\t\t\t\t\t\t\t\tpostfix =\n\t\t\t\t\t\t\t\t\t\t\tdistance_code &\n\t\t\t\t\t\t\t\t\t\t\tdistance_postfix_mask;\n\t\t\t\t\t\t\t\t\t\tdistance_code >>= distance_postfix_bits;\n\t\t\t\t\t\t\t\t\t\tnbits = ( distance_code >> 1 ) + 1;\n\t\t\t\t\t\t\t\t\t\toffset =\n\t\t\t\t\t\t\t\t\t\t\t( ( 2 + ( distance_code & 1 ) ) <<\n\t\t\t\t\t\t\t\t\t\t\t\tnbits ) -\n\t\t\t\t\t\t\t\t\t\t\t4;\n\t\t\t\t\t\t\t\t\t\tdistance_code =\n\t\t\t\t\t\t\t\t\t\t\tnum_direct_distance_codes +\n\t\t\t\t\t\t\t\t\t\t\t( ( offset +\n\t\t\t\t\t\t\t\t\t\t\t\tbr.readBits( nbits ) ) <<\n\t\t\t\t\t\t\t\t\t\t\t\tdistance_postfix_bits ) +\n\t\t\t\t\t\t\t\t\t\t\tpostfix;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t/* Convert the distance code to the actual distance by possibly looking */\n\t\t\t\t\t\t\t\t/* up past distnaces from the ringbuffer. */\n\t\t\t\t\t\t\t\tdistance = TranslateShortCodes(\n\t\t\t\t\t\t\t\t\tdistance_code,\n\t\t\t\t\t\t\t\t\tdist_rb,\n\t\t\t\t\t\t\t\t\tdist_rb_idx\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( distance < 0 ) {\n\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t'[BrotliDecompress] invalid distance'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tpos < max_backward_distance &&\n\t\t\t\t\t\t\t\t\tmax_distance !== max_backward_distance\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tmax_distance = pos;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tmax_distance = max_backward_distance;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tcopy_dst = pos & ringbuffer_mask;\n\n\t\t\t\t\t\t\t\tif ( distance > max_distance ) {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tcopy_length >=\n\t\t\t\t\t\t\t\t\t\t\tBrotliDictionary.minDictionaryWordLength &&\n\t\t\t\t\t\t\t\t\t\tcopy_length <=\n\t\t\t\t\t\t\t\t\t\t\tBrotliDictionary.maxDictionaryWordLength\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tvar offset =\n\t\t\t\t\t\t\t\t\t\t\tBrotliDictionary.offsetsByLength[\n\t\t\t\t\t\t\t\t\t\t\t\tcopy_length\n\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\tvar word_id =\n\t\t\t\t\t\t\t\t\t\t\tdistance - max_distance - 1;\n\t\t\t\t\t\t\t\t\t\tvar shift =\n\t\t\t\t\t\t\t\t\t\t\tBrotliDictionary.sizeBitsByLength[\n\t\t\t\t\t\t\t\t\t\t\t\tcopy_length\n\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\tvar mask = ( 1 << shift ) - 1;\n\t\t\t\t\t\t\t\t\t\tvar word_idx = word_id & mask;\n\t\t\t\t\t\t\t\t\t\tvar transform_idx = word_id >> shift;\n\t\t\t\t\t\t\t\t\t\toffset += word_idx * copy_length;\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\ttransform_idx <\n\t\t\t\t\t\t\t\t\t\t\tTransform.kNumTransforms\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tvar len =\n\t\t\t\t\t\t\t\t\t\t\t\tTransform.transformDictionaryWord(\n\t\t\t\t\t\t\t\t\t\t\t\t\tringbuffer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcopy_dst,\n\t\t\t\t\t\t\t\t\t\t\t\t\toffset,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcopy_length,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransform_idx\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tcopy_dst += len;\n\t\t\t\t\t\t\t\t\t\t\tpos += len;\n\t\t\t\t\t\t\t\t\t\t\tmeta_block_remaining_len -= len;\n\t\t\t\t\t\t\t\t\t\t\tif ( copy_dst >= ringbuffer_end ) {\n\t\t\t\t\t\t\t\t\t\t\t\toutput.write(\n\t\t\t\t\t\t\t\t\t\t\t\t\tringbuffer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tringbuffer_size\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar _x = 0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t_x <\n\t\t\t\t\t\t\t\t\t\t\t\t\tcopy_dst - ringbuffer_end;\n\t\t\t\t\t\t\t\t\t\t\t\t\t_x++\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\tringbuffer[ _x ] =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tringbuffer[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tringbuffer_end + _x\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t\t'Invalid backward reference. pos: ' +\n\t\t\t\t\t\t\t\t\t\t\t\t\tpos +\n\t\t\t\t\t\t\t\t\t\t\t\t\t' distance: ' +\n\t\t\t\t\t\t\t\t\t\t\t\t\tdistance +\n\t\t\t\t\t\t\t\t\t\t\t\t\t' len: ' +\n\t\t\t\t\t\t\t\t\t\t\t\t\tcopy_length +\n\t\t\t\t\t\t\t\t\t\t\t\t\t' bytes left: ' +\n\t\t\t\t\t\t\t\t\t\t\t\t\tmeta_block_remaining_len\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'Invalid backward reference. pos: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tpos +\n\t\t\t\t\t\t\t\t\t\t\t\t' distance: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tdistance +\n\t\t\t\t\t\t\t\t\t\t\t\t' len: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tcopy_length +\n\t\t\t\t\t\t\t\t\t\t\t\t' bytes left: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tmeta_block_remaining_len\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif ( distance_code > 0 ) {\n\t\t\t\t\t\t\t\t\t\tdist_rb[ dist_rb_idx & 3 ] = distance;\n\t\t\t\t\t\t\t\t\t\t++dist_rb_idx;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tcopy_length > meta_block_remaining_len\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'Invalid backward reference. pos: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tpos +\n\t\t\t\t\t\t\t\t\t\t\t\t' distance: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tdistance +\n\t\t\t\t\t\t\t\t\t\t\t\t' len: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tcopy_length +\n\t\t\t\t\t\t\t\t\t\t\t\t' bytes left: ' +\n\t\t\t\t\t\t\t\t\t\t\t\tmeta_block_remaining_len\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tfor ( j = 0; j < copy_length; ++j ) {\n\t\t\t\t\t\t\t\t\t\tringbuffer[ pos & ringbuffer_mask ] =\n\t\t\t\t\t\t\t\t\t\t\tringbuffer[\n\t\t\t\t\t\t\t\t\t\t\t\t( pos - distance ) &\n\t\t\t\t\t\t\t\t\t\t\t\t\tringbuffer_mask\n\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t( pos & ringbuffer_mask ) ===\n\t\t\t\t\t\t\t\t\t\t\tringbuffer_mask\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\toutput.write(\n\t\t\t\t\t\t\t\t\t\t\t\tringbuffer,\n\t\t\t\t\t\t\t\t\t\t\t\tringbuffer_size\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t++pos;\n\t\t\t\t\t\t\t\t\t\t--meta_block_remaining_len;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t/* When we get here, we must have inserted at least one literal and */\n\t\t\t\t\t\t\t\t/* made a copy of at least length two, therefore accessing the last 2 */\n\t\t\t\t\t\t\t\t/* bytes is valid. */\n\t\t\t\t\t\t\t\tprev_byte1 =\n\t\t\t\t\t\t\t\t\tringbuffer[ ( pos - 1 ) & ringbuffer_mask ];\n\t\t\t\t\t\t\t\tprev_byte2 =\n\t\t\t\t\t\t\t\t\tringbuffer[ ( pos - 2 ) & ringbuffer_mask ];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t/* Protect pos from overflow, wrap it around at every GB of input data */\n\t\t\t\t\t\t\tpos &= 0x3fffffff;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\toutput.write( ringbuffer, pos & ringbuffer_mask );\n\t\t\t\t\t}\n\n\t\t\t\t\texports.BrotliDecompress = BrotliDecompress;\n\n\t\t\t\t\tBrotliDictionary.init();\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t'./bit_reader': 1,\n\t\t\t\t\t'./context': 2,\n\t\t\t\t\t'./dictionary': 6,\n\t\t\t\t\t'./huffman': 7,\n\t\t\t\t\t'./prefix': 9,\n\t\t\t\t\t'./streams': 10,\n\t\t\t\t\t'./transform': 11,\n\t\t\t\t},\n\t\t\t],\n\t\t\t4: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\tvar base64 = require( 'base64-js' );\n\t\t\t\t\t//var fs = require('fs');\n\n\t\t\t\t\t/**\n\t\t\t\t\t * The normal dictionary-data.js is quite large, which makes it\n\t\t\t\t\t * unsuitable for browser usage. In order to make it smaller,\n\t\t\t\t\t * we read dictionary.bin, which is a compressed version of\n\t\t\t\t\t * the dictionary, and on initial load, Brotli decompresses\n\t\t\t\t\t * it's own dictionary. \uD83D\uDE1C\n\t\t\t\t\t */\n\t\t\t\t\texports.init = function () {\n\t\t\t\t\t\tvar BrotliDecompressBuffer =\n\t\t\t\t\t\t\trequire( './decode' ).BrotliDecompressBuffer;\n\t\t\t\t\t\tvar compressed = base64.toByteArray(\n\t\t\t\t\t\t\trequire( './dictionary.bin.js' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn BrotliDecompressBuffer( compressed );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{ './decode': 3, './dictionary.bin.js': 5, 'base64-js': 8 },\n\t\t\t],\n\t\t\t5: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\tmodule.exports =\n\t\t\t\t\t\t'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';\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t],\n\t\t\t6: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\t/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Collection of static dictionary words.\n*/\n\n\t\t\t\t\tvar data = require( './dictionary-browser' );\n\t\t\t\t\texports.init = function () {\n\t\t\t\t\t\texports.dictionary = data.init();\n\t\t\t\t\t};\n\n\t\t\t\t\texports.offsetsByLength = new Uint32Array( [\n\t\t\t\t\t\t0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248,\n\t\t\t\t\t\t63488, 74752, 87040, 93696, 100864, 104704, 106752,\n\t\t\t\t\t\t108928, 113536, 115968, 118528, 119872, 121280, 122016,\n\t\t\t\t\t] );\n\n\t\t\t\t\texports.sizeBitsByLength = new Uint8Array( [\n\t\t\t\t\t\t0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, 9, 9, 8,\n\t\t\t\t\t\t7, 7, 8, 7, 7, 6, 6, 5, 5,\n\t\t\t\t\t] );\n\n\t\t\t\t\texports.minDictionaryWordLength = 4;\n\t\t\t\t\texports.maxDictionaryWordLength = 24;\n\t\t\t\t},\n\t\t\t\t{ './dictionary-browser': 4 },\n\t\t\t],\n\t\t\t7: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\tfunction HuffmanCode( bits, value ) {\n\t\t\t\t\t\tthis.bits =\n\t\t\t\t\t\t\tbits; /* number of bits used for this symbol */\n\t\t\t\t\t\tthis.value = value; /* symbol value or table offset */\n\t\t\t\t\t}\n\n\t\t\t\t\texports.HuffmanCode = HuffmanCode;\n\n\t\t\t\t\tvar MAX_LENGTH = 15;\n\n\t\t\t\t\t/* Returns reverse(reverse(key, len) + 1, len), where reverse(key, len) is the\n bit-wise reversal of the len least significant bits of key. */\n\t\t\t\t\tfunction GetNextKey( key, len ) {\n\t\t\t\t\t\tvar step = 1 << ( len - 1 );\n\t\t\t\t\t\twhile ( key & step ) {\n\t\t\t\t\t\t\tstep >>= 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn ( key & ( step - 1 ) ) + step;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Stores code in table[0], table[step], table[2*step], ..., table[end] */\n\t\t\t\t\t/* Assumes that end is an integer multiple of step */\n\t\t\t\t\tfunction ReplicateValue( table, i, step, end, code ) {\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tend -= step;\n\t\t\t\t\t\t\ttable[ i + end ] = new HuffmanCode(\n\t\t\t\t\t\t\t\tcode.bits,\n\t\t\t\t\t\t\t\tcode.value\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} while ( end > 0 );\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Returns the table width of the next 2nd level table. count is the histogram\n of bit lengths for the remaining symbols, len is the code length of the next\n processed symbol */\n\t\t\t\t\tfunction NextTableBitSize( count, len, root_bits ) {\n\t\t\t\t\t\tvar left = 1 << ( len - root_bits );\n\t\t\t\t\t\twhile ( len < MAX_LENGTH ) {\n\t\t\t\t\t\t\tleft -= count[ len ];\n\t\t\t\t\t\t\tif ( left <= 0 ) break;\n\t\t\t\t\t\t\t++len;\n\t\t\t\t\t\t\tleft <<= 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn len - root_bits;\n\t\t\t\t\t}\n\n\t\t\t\t\texports.BrotliBuildHuffmanTable = function (\n\t\t\t\t\t\troot_table,\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\troot_bits,\n\t\t\t\t\t\tcode_lengths,\n\t\t\t\t\t\tcode_lengths_size\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar start_table = table;\n\t\t\t\t\t\tvar code; /* current table entry */\n\t\t\t\t\t\tvar len; /* current code length */\n\t\t\t\t\t\tvar symbol; /* symbol index in original or sorted table */\n\t\t\t\t\t\tvar key; /* reversed prefix code */\n\t\t\t\t\t\tvar step; /* step size to replicate values in current table */\n\t\t\t\t\t\tvar low; /* low bits for current root entry */\n\t\t\t\t\t\tvar mask; /* mask for low bits */\n\t\t\t\t\t\tvar table_bits; /* key length of current table */\n\t\t\t\t\t\tvar table_size; /* size of current table */\n\t\t\t\t\t\tvar total_size; /* sum of root table size and 2nd level table sizes */\n\t\t\t\t\t\tvar sorted; /* symbols sorted by code length */\n\t\t\t\t\t\tvar count = new Int32Array(\n\t\t\t\t\t\t\tMAX_LENGTH + 1\n\t\t\t\t\t\t); /* number of codes of each length */\n\t\t\t\t\t\tvar offset = new Int32Array(\n\t\t\t\t\t\t\tMAX_LENGTH + 1\n\t\t\t\t\t\t); /* offsets in sorted table for each length */\n\n\t\t\t\t\t\tsorted = new Int32Array( code_lengths_size );\n\n\t\t\t\t\t\t/* build histogram of code lengths */\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tsymbol = 0;\n\t\t\t\t\t\t\tsymbol < code_lengths_size;\n\t\t\t\t\t\t\tsymbol++\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcount[ code_lengths[ symbol ] ]++;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* generate offsets into sorted symbol table by code length */\n\t\t\t\t\t\toffset[ 1 ] = 0;\n\t\t\t\t\t\tfor ( len = 1; len < MAX_LENGTH; len++ ) {\n\t\t\t\t\t\t\toffset[ len + 1 ] = offset[ len ] + count[ len ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* sort symbols by length, by symbol order within each length */\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tsymbol = 0;\n\t\t\t\t\t\t\tsymbol < code_lengths_size;\n\t\t\t\t\t\t\tsymbol++\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif ( code_lengths[ symbol ] !== 0 ) {\n\t\t\t\t\t\t\t\tsorted[ offset[ code_lengths[ symbol ] ]++ ] =\n\t\t\t\t\t\t\t\t\tsymbol;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttable_bits = root_bits;\n\t\t\t\t\t\ttable_size = 1 << table_bits;\n\t\t\t\t\t\ttotal_size = table_size;\n\n\t\t\t\t\t\t/* special case code with only one value */\n\t\t\t\t\t\tif ( offset[ MAX_LENGTH ] === 1 ) {\n\t\t\t\t\t\t\tfor ( key = 0; key < total_size; ++key ) {\n\t\t\t\t\t\t\t\troot_table[ table + key ] = new HuffmanCode(\n\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\tsorted[ 0 ] & 0xffff\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn total_size;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* fill in root table */\n\t\t\t\t\t\tkey = 0;\n\t\t\t\t\t\tsymbol = 0;\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tlen = 1, step = 2;\n\t\t\t\t\t\t\tlen <= root_bits;\n\t\t\t\t\t\t\t++len, step <<= 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tfor ( ; count[ len ] > 0; --count[ len ] ) {\n\t\t\t\t\t\t\t\tcode = new HuffmanCode(\n\t\t\t\t\t\t\t\t\tlen & 0xff,\n\t\t\t\t\t\t\t\t\tsorted[ symbol++ ] & 0xffff\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tReplicateValue(\n\t\t\t\t\t\t\t\t\troot_table,\n\t\t\t\t\t\t\t\t\ttable + key,\n\t\t\t\t\t\t\t\t\tstep,\n\t\t\t\t\t\t\t\t\ttable_size,\n\t\t\t\t\t\t\t\t\tcode\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tkey = GetNextKey( key, len );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* fill in 2nd level tables and add pointers to root table */\n\t\t\t\t\t\tmask = total_size - 1;\n\t\t\t\t\t\tlow = -1;\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tlen = root_bits + 1, step = 2;\n\t\t\t\t\t\t\tlen <= MAX_LENGTH;\n\t\t\t\t\t\t\t++len, step <<= 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tfor ( ; count[ len ] > 0; --count[ len ] ) {\n\t\t\t\t\t\t\t\tif ( ( key & mask ) !== low ) {\n\t\t\t\t\t\t\t\t\ttable += table_size;\n\t\t\t\t\t\t\t\t\ttable_bits = NextTableBitSize(\n\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\tlen,\n\t\t\t\t\t\t\t\t\t\troot_bits\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\ttable_size = 1 << table_bits;\n\t\t\t\t\t\t\t\t\ttotal_size += table_size;\n\t\t\t\t\t\t\t\t\tlow = key & mask;\n\t\t\t\t\t\t\t\t\troot_table[ start_table + low ] =\n\t\t\t\t\t\t\t\t\t\tnew HuffmanCode(\n\t\t\t\t\t\t\t\t\t\t\t( table_bits + root_bits ) & 0xff,\n\t\t\t\t\t\t\t\t\t\t\t( table - start_table - low ) &\n\t\t\t\t\t\t\t\t\t\t\t\t0xffff\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcode = new HuffmanCode(\n\t\t\t\t\t\t\t\t\t( len - root_bits ) & 0xff,\n\t\t\t\t\t\t\t\t\tsorted[ symbol++ ] & 0xffff\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tReplicateValue(\n\t\t\t\t\t\t\t\t\troot_table,\n\t\t\t\t\t\t\t\t\ttable + ( key >> root_bits ),\n\t\t\t\t\t\t\t\t\tstep,\n\t\t\t\t\t\t\t\t\ttable_size,\n\t\t\t\t\t\t\t\t\tcode\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tkey = GetNextKey( key, len );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn total_size;\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t],\n\t\t\t8: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\t'use strict';\n\n\t\t\t\t\texports.byteLength = byteLength;\n\t\t\t\t\texports.toByteArray = toByteArray;\n\t\t\t\t\texports.fromByteArray = fromByteArray;\n\n\t\t\t\t\tvar lookup = [];\n\t\t\t\t\tvar revLookup = [];\n\t\t\t\t\tvar Arr =\n\t\t\t\t\t\ttypeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\n\t\t\t\t\tvar code =\n\t\t\t\t\t\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t\t\t\t\tfor ( var i = 0, len = code.length; i < len; ++i ) {\n\t\t\t\t\t\tlookup[ i ] = code[ i ];\n\t\t\t\t\t\trevLookup[ code.charCodeAt( i ) ] = i;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support decoding URL-safe base64 strings, as Node.js does.\n\t\t\t\t\t// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\t\t\t\t\trevLookup[ '-'.charCodeAt( 0 ) ] = 62;\n\t\t\t\t\trevLookup[ '_'.charCodeAt( 0 ) ] = 63;\n\n\t\t\t\t\tfunction getLens( b64 ) {\n\t\t\t\t\t\tvar len = b64.length;\n\n\t\t\t\t\t\tif ( len % 4 > 0 ) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'Invalid string. Length must be a multiple of 4'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Trim off extra bytes after placeholder bytes are found\n\t\t\t\t\t\t// See: https://github.com/beatgammit/base64-js/issues/42\n\t\t\t\t\t\tvar validLen = b64.indexOf( '=' );\n\t\t\t\t\t\tif ( validLen === -1 ) validLen = len;\n\n\t\t\t\t\t\tvar placeHoldersLen =\n\t\t\t\t\t\t\tvalidLen === len ? 0 : 4 - ( validLen % 4 );\n\n\t\t\t\t\t\treturn [ validLen, placeHoldersLen ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// base64 is 4/3 + up to two characters of the original data\n\t\t\t\t\tfunction byteLength( b64 ) {\n\t\t\t\t\t\tvar lens = getLens( b64 );\n\t\t\t\t\t\tvar validLen = lens[ 0 ];\n\t\t\t\t\t\tvar placeHoldersLen = lens[ 1 ];\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t( ( validLen + placeHoldersLen ) * 3 ) / 4 -\n\t\t\t\t\t\t\tplaceHoldersLen\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction _byteLength( b64, validLen, placeHoldersLen ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t( ( validLen + placeHoldersLen ) * 3 ) / 4 -\n\t\t\t\t\t\t\tplaceHoldersLen\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction toByteArray( b64 ) {\n\t\t\t\t\t\tvar tmp;\n\t\t\t\t\t\tvar lens = getLens( b64 );\n\t\t\t\t\t\tvar validLen = lens[ 0 ];\n\t\t\t\t\t\tvar placeHoldersLen = lens[ 1 ];\n\n\t\t\t\t\t\tvar arr = new Arr(\n\t\t\t\t\t\t\t_byteLength( b64, validLen, placeHoldersLen )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tvar curByte = 0;\n\n\t\t\t\t\t\t// if there are placeholders, only get up to the last complete 4 chars\n\t\t\t\t\t\tvar len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n\n\t\t\t\t\t\tfor ( var i = 0; i < len; i += 4 ) {\n\t\t\t\t\t\t\ttmp =\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i ) ] << 18 ) |\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i + 1 ) ] << 12 ) |\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i + 2 ) ] << 6 ) |\n\t\t\t\t\t\t\t\trevLookup[ b64.charCodeAt( i + 3 ) ];\n\t\t\t\t\t\t\tarr[ curByte++ ] = ( tmp >> 16 ) & 0xff;\n\t\t\t\t\t\t\tarr[ curByte++ ] = ( tmp >> 8 ) & 0xff;\n\t\t\t\t\t\t\tarr[ curByte++ ] = tmp & 0xff;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( placeHoldersLen === 2 ) {\n\t\t\t\t\t\t\ttmp =\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i ) ] << 2 ) |\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i + 1 ) ] >> 4 );\n\t\t\t\t\t\t\tarr[ curByte++ ] = tmp & 0xff;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( placeHoldersLen === 1 ) {\n\t\t\t\t\t\t\ttmp =\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i ) ] << 10 ) |\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i + 1 ) ] << 4 ) |\n\t\t\t\t\t\t\t\t( revLookup[ b64.charCodeAt( i + 2 ) ] >> 2 );\n\t\t\t\t\t\t\tarr[ curByte++ ] = ( tmp >> 8 ) & 0xff;\n\t\t\t\t\t\t\tarr[ curByte++ ] = tmp & 0xff;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn arr;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction tripletToBase64( num ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tlookup[ ( num >> 18 ) & 0x3f ] +\n\t\t\t\t\t\t\tlookup[ ( num >> 12 ) & 0x3f ] +\n\t\t\t\t\t\t\tlookup[ ( num >> 6 ) & 0x3f ] +\n\t\t\t\t\t\t\tlookup[ num & 0x3f ]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction encodeChunk( uint8, start, end ) {\n\t\t\t\t\t\tvar tmp;\n\t\t\t\t\t\tvar output = [];\n\t\t\t\t\t\tfor ( var i = start; i < end; i += 3 ) {\n\t\t\t\t\t\t\ttmp =\n\t\t\t\t\t\t\t\t( ( uint8[ i ] << 16 ) & 0xff0000 ) +\n\t\t\t\t\t\t\t\t( ( uint8[ i + 1 ] << 8 ) & 0xff00 ) +\n\t\t\t\t\t\t\t\t( uint8[ i + 2 ] & 0xff );\n\t\t\t\t\t\t\toutput.push( tripletToBase64( tmp ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn output.join( '' );\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction fromByteArray( uint8 ) {\n\t\t\t\t\t\tvar tmp;\n\t\t\t\t\t\tvar len = uint8.length;\n\t\t\t\t\t\tvar extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\t\t\t\t\t\tvar parts = [];\n\t\t\t\t\t\tvar maxChunkLength = 16383; // must be multiple of 3\n\n\t\t\t\t\t\t// go through the array every three bytes, we'll deal with trailing stuff later\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar i = 0, len2 = len - extraBytes;\n\t\t\t\t\t\t\ti < len2;\n\t\t\t\t\t\t\ti += maxChunkLength\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tparts.push(\n\t\t\t\t\t\t\t\tencodeChunk(\n\t\t\t\t\t\t\t\t\tuint8,\n\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\ti + maxChunkLength > len2\n\t\t\t\t\t\t\t\t\t\t? len2\n\t\t\t\t\t\t\t\t\t\t: i + maxChunkLength\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// pad the end with zeros, but make sure to not forget the extra bytes\n\t\t\t\t\t\tif ( extraBytes === 1 ) {\n\t\t\t\t\t\t\ttmp = uint8[ len - 1 ];\n\t\t\t\t\t\t\tparts.push(\n\t\t\t\t\t\t\t\tlookup[ tmp >> 2 ] +\n\t\t\t\t\t\t\t\t\tlookup[ ( tmp << 4 ) & 0x3f ] +\n\t\t\t\t\t\t\t\t\t'=='\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( extraBytes === 2 ) {\n\t\t\t\t\t\t\ttmp = ( uint8[ len - 2 ] << 8 ) + uint8[ len - 1 ];\n\t\t\t\t\t\t\tparts.push(\n\t\t\t\t\t\t\t\tlookup[ tmp >> 10 ] +\n\t\t\t\t\t\t\t\t\tlookup[ ( tmp >> 4 ) & 0x3f ] +\n\t\t\t\t\t\t\t\t\tlookup[ ( tmp << 2 ) & 0x3f ] +\n\t\t\t\t\t\t\t\t\t'='\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn parts.join( '' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t],\n\t\t\t9: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\t/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Lookup tables to map prefix codes to value ranges. This is used during\n decoding of the block lengths, literal insertion lengths and copy lengths.\n*/\n\n\t\t\t\t\t/* Represents the range of values belonging to a prefix code: */\n\t\t\t\t\t/* [offset, offset + 2^nbits) */\n\t\t\t\t\tfunction PrefixCodeRange( offset, nbits ) {\n\t\t\t\t\t\tthis.offset = offset;\n\t\t\t\t\t\tthis.nbits = nbits;\n\t\t\t\t\t}\n\n\t\t\t\t\texports.kBlockLengthPrefixCode = [\n\t\t\t\t\t\tnew PrefixCodeRange( 1, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 5, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 9, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 13, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 17, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 25, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 33, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 41, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 49, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 65, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 81, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 97, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 113, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 145, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 177, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 209, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 241, 6 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 305, 6 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 369, 7 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 497, 8 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 753, 9 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 1265, 10 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 2289, 11 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 4337, 12 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 8433, 13 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 16625, 24 ),\n\t\t\t\t\t];\n\n\t\t\t\t\texports.kInsertLengthPrefixCode = [\n\t\t\t\t\t\tnew PrefixCodeRange( 0, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 1, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 2, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 3, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 4, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 5, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 6, 1 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 8, 1 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 10, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 14, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 18, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 26, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 34, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 50, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 66, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 98, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 130, 6 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 194, 7 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 322, 8 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 578, 9 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 1090, 10 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 2114, 12 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 6210, 14 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 22594, 24 ),\n\t\t\t\t\t];\n\n\t\t\t\t\texports.kCopyLengthPrefixCode = [\n\t\t\t\t\t\tnew PrefixCodeRange( 2, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 3, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 4, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 5, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 6, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 7, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 8, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 9, 0 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 10, 1 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 12, 1 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 14, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 18, 2 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 22, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 30, 3 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 38, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 54, 4 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 70, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 102, 5 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 134, 6 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 198, 7 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 326, 8 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 582, 9 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 1094, 10 ),\n\t\t\t\t\t\tnew PrefixCodeRange( 2118, 24 ),\n\t\t\t\t\t];\n\n\t\t\t\t\texports.kInsertRangeLut = [ 0, 0, 8, 8, 0, 16, 8, 16, 16 ];\n\n\t\t\t\t\texports.kCopyRangeLut = [ 0, 8, 0, 8, 16, 0, 16, 8, 16 ];\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t],\n\t\t\t10: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\tfunction BrotliInput( buffer ) {\n\t\t\t\t\t\tthis.buffer = buffer;\n\t\t\t\t\t\tthis.pos = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tBrotliInput.prototype.read = function ( buf, i, count ) {\n\t\t\t\t\t\tif ( this.pos + count > this.buffer.length ) {\n\t\t\t\t\t\t\tcount = this.buffer.length - this.pos;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor ( var p = 0; p < count; p++ )\n\t\t\t\t\t\t\tbuf[ i + p ] = this.buffer[ this.pos + p ];\n\n\t\t\t\t\t\tthis.pos += count;\n\t\t\t\t\t\treturn count;\n\t\t\t\t\t};\n\n\t\t\t\t\texports.BrotliInput = BrotliInput;\n\n\t\t\t\t\tfunction BrotliOutput( buf ) {\n\t\t\t\t\t\tthis.buffer = buf;\n\t\t\t\t\t\tthis.pos = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tBrotliOutput.prototype.write = function ( buf, count ) {\n\t\t\t\t\t\tif ( this.pos + count > this.buffer.length )\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'Output buffer is not large enough'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tthis.buffer.set( buf.subarray( 0, count ), this.pos );\n\t\t\t\t\t\tthis.pos += count;\n\t\t\t\t\t\treturn count;\n\t\t\t\t\t};\n\n\t\t\t\t\texports.BrotliOutput = BrotliOutput;\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t],\n\t\t\t11: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\t/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Transformations on dictionary words.\n*/\n\n\t\t\t\t\tvar BrotliDictionary = require( './dictionary' );\n\n\t\t\t\t\tvar kIdentity = 0;\n\t\t\t\t\tvar kOmitLast1 = 1;\n\t\t\t\t\tvar kOmitLast2 = 2;\n\t\t\t\t\tvar kOmitLast3 = 3;\n\t\t\t\t\tvar kOmitLast4 = 4;\n\t\t\t\t\tvar kOmitLast5 = 5;\n\t\t\t\t\tvar kOmitLast6 = 6;\n\t\t\t\t\tvar kOmitLast7 = 7;\n\t\t\t\t\tvar kOmitLast8 = 8;\n\t\t\t\t\tvar kOmitLast9 = 9;\n\t\t\t\t\tvar kUppercaseFirst = 10;\n\t\t\t\t\tvar kUppercaseAll = 11;\n\t\t\t\t\tvar kOmitFirst1 = 12;\n\t\t\t\t\tvar kOmitFirst2 = 13;\n\t\t\t\t\tvar kOmitFirst3 = 14;\n\t\t\t\t\tvar kOmitFirst4 = 15;\n\t\t\t\t\tvar kOmitFirst5 = 16;\n\t\t\t\t\tvar kOmitFirst6 = 17;\n\t\t\t\t\tvar kOmitFirst7 = 18;\n\t\t\t\t\tvar kOmitFirst8 = 19;\n\t\t\t\t\tvar kOmitFirst9 = 20;\n\n\t\t\t\t\tfunction Transform( prefix, transform, suffix ) {\n\t\t\t\t\t\tthis.prefix = new Uint8Array( prefix.length );\n\t\t\t\t\t\tthis.transform = transform;\n\t\t\t\t\t\tthis.suffix = new Uint8Array( suffix.length );\n\n\t\t\t\t\t\tfor ( var i = 0; i < prefix.length; i++ )\n\t\t\t\t\t\t\tthis.prefix[ i ] = prefix.charCodeAt( i );\n\n\t\t\t\t\t\tfor ( var i = 0; i < suffix.length; i++ )\n\t\t\t\t\t\t\tthis.suffix[ i ] = suffix.charCodeAt( i );\n\t\t\t\t\t}\n\n\t\t\t\t\tvar kTransforms = [\n\t\t\t\t\t\tnew Transform( '', kIdentity, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' ' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst1, '' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' the ' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, '' ),\n\t\t\t\t\t\tnew Transform( 's ', kIdentity, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' of ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' and ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst2, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast1, '' ),\n\t\t\t\t\t\tnew Transform( ', ', kIdentity, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ', ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' in ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' to ' ),\n\t\t\t\t\t\tnew Transform( 'e ', kIdentity, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '\"' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '.' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '\">' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '\\n' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast3, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ']' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' for ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst3, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast2, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' a ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' that ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '. ' ),\n\t\t\t\t\t\tnew Transform( '.', kIdentity, '' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, ', ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst4, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' with ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, \"'\" ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' from ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' by ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst5, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst6, '' ),\n\t\t\t\t\t\tnew Transform( ' the ', kIdentity, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast4, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '. The ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' on ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' as ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' is ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast7, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast1, 'ing ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '\\n\\t' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ':' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, '. ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'ed ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst9, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitFirst7, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast6, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '(' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, ', ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast8, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' at ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'ly ' ),\n\t\t\t\t\t\tnew Transform( ' the ', kIdentity, ' of ' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast5, '' ),\n\t\t\t\t\t\tnew Transform( '', kOmitLast9, '' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, ', ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, '\"' ),\n\t\t\t\t\t\tnew Transform( '.', kIdentity, '(' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, '\">' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '=\"' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, '.' ),\n\t\t\t\t\t\tnew Transform( '.com/', kIdentity, '' ),\n\t\t\t\t\t\tnew Transform( ' the ', kIdentity, ' of the ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, \"'\" ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, '. This ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ',' ),\n\t\t\t\t\t\tnew Transform( '.', kIdentity, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, '(' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, '.' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, ' not ' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, '=\"' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'er ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseAll, ' ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'al ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseAll, '' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, \"='\" ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, '\"' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, '. ' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, '(' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'ful ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, '. ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'ive ' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'less ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, \"'\" ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'est ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, '.' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, '\">' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, \"='\" ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, ',' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'ize ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, '.' ),\n\t\t\t\t\t\tnew Transform( '\\xc2\\xa0', kIdentity, '' ),\n\t\t\t\t\t\tnew Transform( ' ', kIdentity, ',' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, '=\"' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, '=\"' ),\n\t\t\t\t\t\tnew Transform( '', kIdentity, 'ous ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, ', ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseFirst, \"='\" ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, ',' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseAll, '=\"' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseAll, ', ' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, ',' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, '(' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, '. ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseAll, '.' ),\n\t\t\t\t\t\tnew Transform( '', kUppercaseAll, \"='\" ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseAll, '. ' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, '=\"' ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseAll, \"='\" ),\n\t\t\t\t\t\tnew Transform( ' ', kUppercaseFirst, \"='\" ),\n\t\t\t\t\t];\n\n\t\t\t\t\texports.kTransforms = kTransforms;\n\t\t\t\t\texports.kNumTransforms = kTransforms.length;\n\n\t\t\t\t\tfunction ToUpperCase( p, i ) {\n\t\t\t\t\t\tif ( p[ i ] < 0xc0 ) {\n\t\t\t\t\t\t\tif ( p[ i ] >= 97 && p[ i ] <= 122 ) {\n\t\t\t\t\t\t\t\tp[ i ] ^= 32;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* An overly simplified uppercasing model for utf-8. */\n\t\t\t\t\t\tif ( p[ i ] < 0xe0 ) {\n\t\t\t\t\t\t\tp[ i + 1 ] ^= 32;\n\t\t\t\t\t\t\treturn 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* An arbitrary transform for three byte characters. */\n\t\t\t\t\t\tp[ i + 2 ] ^= 5;\n\t\t\t\t\t\treturn 3;\n\t\t\t\t\t}\n\n\t\t\t\t\texports.transformDictionaryWord = function (\n\t\t\t\t\t\tdst,\n\t\t\t\t\t\tidx,\n\t\t\t\t\t\tword,\n\t\t\t\t\t\tlen,\n\t\t\t\t\t\ttransform\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar prefix = kTransforms[ transform ].prefix;\n\t\t\t\t\t\tvar suffix = kTransforms[ transform ].suffix;\n\t\t\t\t\t\tvar t = kTransforms[ transform ].transform;\n\t\t\t\t\t\tvar skip =\n\t\t\t\t\t\t\tt < kOmitFirst1 ? 0 : t - ( kOmitFirst1 - 1 );\n\t\t\t\t\t\tvar i = 0;\n\t\t\t\t\t\tvar start_idx = idx;\n\t\t\t\t\t\tvar uppercase;\n\n\t\t\t\t\t\tif ( skip > len ) {\n\t\t\t\t\t\t\tskip = len;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar prefix_pos = 0;\n\t\t\t\t\t\twhile ( prefix_pos < prefix.length ) {\n\t\t\t\t\t\t\tdst[ idx++ ] = prefix[ prefix_pos++ ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tword += skip;\n\t\t\t\t\t\tlen -= skip;\n\n\t\t\t\t\t\tif ( t <= kOmitLast9 ) {\n\t\t\t\t\t\t\tlen -= t;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\t\t\tdst[ idx++ ] =\n\t\t\t\t\t\t\t\tBrotliDictionary.dictionary[ word + i ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tuppercase = idx - len;\n\n\t\t\t\t\t\tif ( t === kUppercaseFirst ) {\n\t\t\t\t\t\t\tToUpperCase( dst, uppercase );\n\t\t\t\t\t\t} else if ( t === kUppercaseAll ) {\n\t\t\t\t\t\t\twhile ( len > 0 ) {\n\t\t\t\t\t\t\t\tvar step = ToUpperCase( dst, uppercase );\n\t\t\t\t\t\t\t\tuppercase += step;\n\t\t\t\t\t\t\t\tlen -= step;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar suffix_pos = 0;\n\t\t\t\t\t\twhile ( suffix_pos < suffix.length ) {\n\t\t\t\t\t\t\tdst[ idx++ ] = suffix[ suffix_pos++ ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn idx - start_idx;\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{ './dictionary': 6 },\n\t\t\t],\n\t\t\t12: [\n\t\t\t\tfunction ( require, module, exports ) {\n\t\t\t\t\tmodule.exports =\n\t\t\t\t\t\trequire( './dec/decode' ).BrotliDecompressBuffer;\n\t\t\t\t},\n\t\t\t\t{ './dec/decode': 3 },\n\t\t\t],\n\t\t},\n\t\t{},\n\t\t[ 12 ]\n\t)( 12 );\n} );\n/* eslint-enable */\n"],
|
|
5
|
+
"mappings": "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gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAClD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA;AAAA,gBAE5B;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAA+B;AAAA,gBAAG;AAAA,gBACpD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA;AAAA,gBAEZ;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA;AAAA,gBAEvC;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAA+B;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACpD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACZ;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA;AAAA,gBAExB;AAAA,gBACA;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACrD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA;AAAA,gBAEhD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAClD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACnD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACrD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAClD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA;AAAA,gBAEhC;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAClD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBACpD;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA,gBAAI;AAAA;AAAA,gBAE5B;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBAAG;AAAA,gBACtD;AAAA,gBAAG;AAAA,gB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",
|
|
6
|
+
"names": ["define", "module", "exports", "i", "r", "n", "require", "len", "len2"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import {
|
|
3
|
+
__experimentalVStack as VStack,
|
|
4
|
+
__experimentalSpacer as Spacer
|
|
5
|
+
} from "@wordpress/components";
|
|
6
|
+
import LibraryFontVariant from "./library-font-variant";
|
|
7
|
+
import { sortFontFaces } from "./utils/sort-font-faces";
|
|
8
|
+
function LibraryFontDetails({ font }) {
|
|
9
|
+
const fontFaces = font.fontFace && font.fontFace.length ? sortFontFaces(font.fontFace) : [
|
|
10
|
+
{
|
|
11
|
+
fontFamily: font.fontFamily,
|
|
12
|
+
fontStyle: "normal",
|
|
13
|
+
fontWeight: "400"
|
|
14
|
+
}
|
|
15
|
+
];
|
|
16
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Spacer, { margin: 4 }),
|
|
18
|
+
/* @__PURE__ */ jsxs(VStack, { spacing: 0, children: [
|
|
19
|
+
/* @__PURE__ */ jsx(Spacer, { margin: 8 }),
|
|
20
|
+
fontFaces.map((face, i) => /* @__PURE__ */ jsx(
|
|
21
|
+
LibraryFontVariant,
|
|
22
|
+
{
|
|
23
|
+
font,
|
|
24
|
+
face
|
|
25
|
+
},
|
|
26
|
+
`face${i}`
|
|
27
|
+
))
|
|
28
|
+
] }),
|
|
29
|
+
/* @__PURE__ */ jsx(Spacer, { margin: 8 })
|
|
30
|
+
] });
|
|
31
|
+
}
|
|
32
|
+
var library_font_details_default = LibraryFontDetails;
|
|
33
|
+
export {
|
|
34
|
+
library_font_details_default as default
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=library-font-details.js.map
|