/*
 * ImageToolbox is an image editor for android
 * Copyright (c) 2026 T8RIN (Malik Mukhametzyanov)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * You should have received a copy of the Apache License
 * along with this program.  If not, see <http://www.apache.org/licenses/LICENSE-2.0>.
 */

package com.t8rin.imagetoolbox.core.resources.icons

import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
import com.t8rin.imagetoolbox.core.resources.Icons

val Icons.Rounded.Help: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
    ImageVector.Builder(
        name = "Rounded.HelpOutline",
        defaultWidth = 24.dp,
        defaultHeight = 24.dp,
        viewportWidth = 24f,
        viewportHeight = 24f,
        autoMirror = true
    ).apply {
        path(fill = SolidColor(Color.Black)) {
            moveTo(11.95f, 18f)
            quadTo(12.475f, 18f, 12.837f, 17.638f)
            quadTo(13.2f, 17.275f, 13.2f, 16.75f)
            quadTo(13.2f, 16.225f, 12.837f, 15.863f)
            quadTo(12.475f, 15.5f, 11.95f, 15.5f)
            quadTo(11.425f, 15.5f, 11.063f, 15.863f)
            quadTo(10.7f, 16.225f, 10.7f, 16.75f)
            quadTo(10.7f, 17.275f, 11.063f, 17.638f)
            quadTo(11.425f, 18f, 11.95f, 18f)
            close()
            moveTo(12f, 22f)
            quadTo(9.925f, 22f, 8.1f, 21.212f)
            quadTo(6.275f, 20.425f, 4.925f, 19.075f)
            quadTo(3.575f, 17.725f, 2.787f, 15.9f)
            quadTo(2f, 14.075f, 2f, 12f)
            quadTo(2f, 9.925f, 2.787f, 8.1f)
            quadTo(3.575f, 6.275f, 4.925f, 4.925f)
            quadTo(6.275f, 3.575f, 8.1f, 2.787f)
            quadTo(9.925f, 2f, 12f, 2f)
            quadTo(14.075f, 2f, 15.9f, 2.787f)
            quadTo(17.725f, 3.575f, 19.075f, 4.925f)
            quadTo(20.425f, 6.275f, 21.212f, 8.1f)
            quadTo(22f, 9.925f, 22f, 12f)
            quadTo(22f, 14.075f, 21.212f, 15.9f)
            quadTo(20.425f, 17.725f, 19.075f, 19.075f)
            quadTo(17.725f, 20.425f, 15.9f, 21.212f)
            quadTo(14.075f, 22f, 12f, 22f)
            close()
            moveTo(12f, 20f)
            quadTo(15.35f, 20f, 17.675f, 17.675f)
            quadTo(20f, 15.35f, 20f, 12f)
            quadTo(20f, 8.65f, 17.675f, 6.325f)
            quadTo(15.35f, 4f, 12f, 4f)
            quadTo(8.65f, 4f, 6.325f, 6.325f)
            quadTo(4f, 8.65f, 4f, 12f)
            quadTo(4f, 15.35f, 6.325f, 17.675f)
            quadTo(8.65f, 20f, 12f, 20f)
            close()
            moveTo(12f, 20f)
            quadTo(8.65f, 20f, 6.325f, 17.675f)
            quadTo(4f, 15.35f, 4f, 12f)
            quadTo(4f, 8.65f, 6.325f, 6.325f)
            quadTo(8.65f, 4f, 12f, 4f)
            quadTo(15.35f, 4f, 17.675f, 6.325f)
            quadTo(20f, 8.65f, 20f, 12f)
            quadTo(20f, 15.35f, 17.675f, 17.675f)
            quadTo(15.35f, 20f, 12f, 20f)
            close()
            moveTo(12.1f, 7.7f)
            quadTo(12.725f, 7.7f, 13.188f, 8.1f)
            quadTo(13.65f, 8.5f, 13.65f, 9.1f)
            quadTo(13.65f, 9.65f, 13.313f, 10.075f)
            quadTo(12.975f, 10.5f, 12.55f, 10.875f)
            quadTo(11.975f, 11.375f, 11.538f, 11.975f)
            quadTo(11.1f, 12.575f, 11.1f, 13.325f)
            quadTo(11.1f, 13.675f, 11.363f, 13.913f)
            quadTo(11.625f, 14.15f, 11.975f, 14.15f)
            quadTo(12.35f, 14.15f, 12.613f, 13.9f)
            quadTo(12.875f, 13.65f, 12.95f, 13.275f)
            quadTo(13.05f, 12.75f, 13.4f, 12.337f)
            quadTo(13.75f, 11.925f, 14.15f, 11.55f)
            quadTo(14.725f, 11f, 15.137f, 10.35f)
            quadTo(15.55f, 9.7f, 15.55f, 8.9f)
            quadTo(15.55f, 7.625f, 14.512f, 6.813f)
            quadTo(13.475f, 6f, 12.1f, 6f)
            quadTo(11.15f, 6f, 10.288f, 6.4f)
            quadTo(9.425f, 6.8f, 8.975f, 7.625f)
            quadTo(8.8f, 7.925f, 8.863f, 8.262f)
            quadTo(8.925f, 8.6f, 9.2f, 8.775f)
            quadTo(9.55f, 8.975f, 9.925f, 8.9f)
            quadTo(10.3f, 8.825f, 10.55f, 8.475f)
            quadTo(10.825f, 8.1f, 11.238f, 7.9f)
            quadTo(11.65f, 7.7f, 12.1f, 7.7f)
            close()
        }
    }.build()
}

val Icons.Outlined.Help: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
    ImageVector.Builder(
        name = "Outlined.Help",
        defaultWidth = 24.dp,
        defaultHeight = 24.dp,
        viewportWidth = 960f,
        viewportHeight = 960f
    ).apply {
        path(fill = SolidColor(Color.Black)) {
            moveTo(513.5f, 705.5f)
            quadTo(528f, 691f, 528f, 670f)
            reflectiveQuadToRelative(-14.5f, -35.5f)
            quadTo(499f, 620f, 478f, 620f)
            reflectiveQuadToRelative(-35.5f, 14.5f)
            quadTo(428f, 649f, 428f, 670f)
            reflectiveQuadToRelative(14.5f, 35.5f)
            quadTo(457f, 720f, 478f, 720f)
            reflectiveQuadToRelative(35.5f, -14.5f)
            close()
            moveTo(480f, 880f)
            quadToRelative(-83f, 0f, -156f, -31.5f)
            reflectiveQuadTo(197f, 763f)
            quadToRelative(-54f, -54f, -85.5f, -127f)
            reflectiveQuadTo(80f, 480f)
            quadToRelative(0f, -83f, 31.5f, -156f)
            reflectiveQuadTo(197f, 197f)
            quadToRelative(54f, -54f, 127f, -85.5f)
            reflectiveQuadTo(480f, 80f)
            quadToRelative(83f, 0f, 156f, 31.5f)
            reflectiveQuadTo(763f, 197f)
            quadToRelative(54f, 54f, 85.5f, 127f)
            reflectiveQuadTo(880f, 480f)
            quadToRelative(0f, 83f, -31.5f, 156f)
            reflectiveQuadTo(763f, 763f)
            quadToRelative(-54f, 54f, -127f, 85.5f)
            reflectiveQuadTo(480f, 880f)
            close()
            moveTo(480f, 800f)
            quadToRelative(134f, 0f, 227f, -93f)
            reflectiveQuadToRelative(93f, -227f)
            quadToRelative(0f, -134f, -93f, -227f)
            reflectiveQuadToRelative(-227f, -93f)
            quadToRelative(-134f, 0f, -227f, 93f)
            reflectiveQuadToRelative(-93f, 227f)
            quadToRelative(0f, 134f, 93f, 227f)
            reflectiveQuadToRelative(227f, 93f)
            close()
            moveTo(480f, 480f)
            close()
            moveTo(484f, 308f)
            quadToRelative(25f, 0f, 43.5f, 16f)
            reflectiveQuadToRelative(18.5f, 40f)
            quadToRelative(0f, 22f, -13.5f, 39f)
            reflectiveQuadTo(502f, 435f)
            quadToRelative(-23f, 20f, -40.5f, 44f)
            reflectiveQuadTo(444f, 533f)
            quadToRelative(0f, 14f, 10.5f, 23.5f)
            reflectiveQuadTo(479f, 566f)
            quadToRelative(15f, 0f, 25.5f, -10f)
            reflectiveQuadToRelative(13.5f, -25f)
            quadToRelative(4f, -21f, 18f, -37.5f)
            reflectiveQuadToRelative(30f, -31.5f)
            quadToRelative(23f, -22f, 39.5f, -48f)
            reflectiveQuadToRelative(16.5f, -58f)
            quadToRelative(0f, -51f, -41.5f, -83.5f)
            reflectiveQuadTo(484f, 240f)
            quadToRelative(-38f, 0f, -72.5f, 16f)
            reflectiveQuadTo(359f, 305f)
            quadToRelative(-7f, 12f, -4.5f, 25.5f)
            reflectiveQuadTo(368f, 351f)
            quadToRelative(14f, 8f, 29f, 5f)
            reflectiveQuadToRelative(25f, -17f)
            quadToRelative(11f, -15f, 27.5f, -23f)
            reflectiveQuadToRelative(34.5f, -8f)
            close()
        }
    }.build()
}