Sync trainer card graphics
|
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 989 B |
@@ -1,19 +0,0 @@
|
|||||||
JASC-PAL
|
|
||||||
0100
|
|
||||||
16
|
|
||||||
139 98 115
|
|
||||||
255 255 255
|
|
||||||
213 213 213
|
|
||||||
180 180 180
|
|
||||||
123 123 123
|
|
||||||
255 139 57
|
|
||||||
222 57 8
|
|
||||||
106 189 255
|
|
||||||
65 139 197
|
|
||||||
255 213 98
|
|
||||||
238 180 57
|
|
||||||
197 123 197
|
|
||||||
148 74 156
|
|
||||||
106 189 255
|
|
||||||
205 205 205
|
|
||||||
0 0 0
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
JASC-PAL
|
|
||||||
0100
|
|
||||||
48
|
|
||||||
139 98 115
|
|
||||||
255 246 230
|
|
||||||
246 238 213
|
|
||||||
246 246 197
|
|
||||||
246 238 180
|
|
||||||
246 222 106
|
|
||||||
164 164 164
|
|
||||||
98 98 115
|
|
||||||
255 255 148
|
|
||||||
246 222 49
|
|
||||||
246 205 8
|
|
||||||
238 189 0
|
|
||||||
189 148 57
|
|
||||||
255 255 197
|
|
||||||
255 255 255
|
|
||||||
246 230 82
|
|
||||||
139 98 115
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
255 0 255
|
|
||||||
189 148 16
|
|
||||||
255 213 82
|
|
||||||
82 205 180
|
|
||||||
65 172 164
|
|
||||||
197 197 197
|
|
||||||
90 90 90
|
|
||||||
0 0 0
|
|
||||||
32 65 123
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
0 0 0
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
JASC-PAL
|
|
||||||
0100
|
|
||||||
16
|
|
||||||
139 98 115
|
|
||||||
255 255 255
|
|
||||||
213 213 213
|
|
||||||
180 180 180
|
|
||||||
123 123 123
|
|
||||||
255 139 57
|
|
||||||
222 57 8
|
|
||||||
106 189 255
|
|
||||||
65 139 197
|
|
||||||
255 213 98
|
|
||||||
238 180 57
|
|
||||||
197 123 197
|
|
||||||
148 74 156
|
|
||||||
106 189 255
|
|
||||||
205 205 205
|
|
||||||
0 0 0
|
|
||||||
@@ -1,19 +1,51 @@
|
|||||||
JASC-PAL
|
JASC-PAL
|
||||||
0100
|
0100
|
||||||
16
|
48
|
||||||
139 98 115
|
139 98 115
|
||||||
246 197 0
|
255 246 230
|
||||||
205 164 0
|
246 238 213
|
||||||
246 197 0
|
246 246 197
|
||||||
246 197 0
|
246 238 180
|
||||||
246 197 0
|
246 222 106
|
||||||
246 197 0
|
164 164 164
|
||||||
246 197 0
|
98 98 115
|
||||||
0 0 0
|
255 255 148
|
||||||
0 0 0
|
246 222 49
|
||||||
|
246 205 8
|
||||||
|
238 189 0
|
||||||
|
189 148 57
|
||||||
|
255 255 197
|
||||||
|
255 255 255
|
||||||
|
246 230 82
|
||||||
|
139 98 115
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
189 148 16
|
189 148 16
|
||||||
255 213 82
|
255 213 82
|
||||||
|
82 205 180
|
||||||
|
65 172 164
|
||||||
|
197 197 197
|
||||||
|
90 90 90
|
||||||
|
0 0 0
|
||||||
|
32 65 123
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
0 0 0
|
0 0 0
|
||||||
0 0 0
|
0 0 0
|
||||||
189 148 16
|
|
||||||
246 197 0
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 513 B After Width: | Height: | Size: 513 B |
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,19 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
16
|
||||||
|
139 98 115
|
||||||
|
246 197 0
|
||||||
|
205 164 0
|
||||||
|
246 197 0
|
||||||
|
246 197 0
|
||||||
|
246 197 0
|
||||||
|
246 197 0
|
||||||
|
246 197 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
189 148 16
|
||||||
|
255 213 82
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
189 148 16
|
||||||
|
246 197 0
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,19 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
16
|
||||||
|
255 255 255
|
||||||
|
255 255 255
|
||||||
|
98 98 98
|
||||||
|
213 213 205
|
||||||
|
230 8 8
|
||||||
|
255 189 115
|
||||||
|
32 156 8
|
||||||
|
148 246 148
|
||||||
|
49 82 205
|
||||||
|
164 197 246
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
@@ -4464,9 +4464,9 @@ extern const u32 gBuyMenuFrame_Pal[];
|
|||||||
extern const u16 gPPTextPalette[];
|
extern const u16 gPPTextPalette[];
|
||||||
|
|
||||||
// trainer card
|
// trainer card
|
||||||
extern const u16 gKantoTrainerCard_Pal[];
|
extern const u16 gKantoTrainerCardBlue_Pal[];
|
||||||
extern const u32 gKantoTrainerCard_Gfx[];
|
extern const u32 gKantoTrainerCard_Gfx[];
|
||||||
extern const u16 gHoennTrainerCard_Pal[];
|
extern const u16 gHoennTrainerCardGreen_Pal[];
|
||||||
extern const u32 gHoennTrainerCard_Gfx[];
|
extern const u32 gHoennTrainerCard_Gfx[];
|
||||||
|
|
||||||
// battle_interface
|
// battle_interface
|
||||||
|
|||||||
@@ -1178,10 +1178,10 @@ const u32 gNamingScreenUnderscore_Gfx[] = INCBIN_U32("graphics/naming_screen
|
|||||||
|
|
||||||
const u8 gTMCaseHM_Gfx[] = INCBIN_U8("graphics/tm_case/hm.4bpp");
|
const u8 gTMCaseHM_Gfx[] = INCBIN_U8("graphics/tm_case/hm.4bpp");
|
||||||
|
|
||||||
const u16 gKantoTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal");
|
const u16 gKantoTrainerCardBlue_Pal[] = INCBIN_U16("graphics/trainer_card/blue.gbapal");
|
||||||
const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz");
|
const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/tiles.4bpp.lz");
|
||||||
const u16 gHoennTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star_em.gbapal");
|
const u16 gHoennTrainerCardGreen_Pal[] = INCBIN_U16("graphics/trainer_card/rse/green.gbapal");
|
||||||
const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_em.4bpp.lz");
|
const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/rse/tiles.4bpp.lz");
|
||||||
|
|
||||||
const u16 gEasyChatWindow_Pal[] = INCBIN_U16("graphics/easy_chat/window.gbapal");
|
const u16 gEasyChatWindow_Pal[] = INCBIN_U16("graphics/easy_chat/window.gbapal");
|
||||||
const u32 gEasyChatWindow_Gfx[] = INCBIN_U32("graphics/easy_chat/window.4bpp.lz");
|
const u32 gEasyChatWindow_Gfx[] = INCBIN_U32("graphics/easy_chat/window.4bpp.lz");
|
||||||
|
|||||||
@@ -151,35 +151,35 @@ static void InitTrainerCardData(void);
|
|||||||
static u8 GetCardType(void);
|
static u8 GetCardType(void);
|
||||||
static void CreateTrainerCardTrainerPic(void);
|
static void CreateTrainerCardTrainerPic(void);
|
||||||
|
|
||||||
// Data
|
static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz");
|
||||||
static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz");
|
static const u32 sHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/front.bin.lz");
|
||||||
static const u32 sHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn.bin");
|
static const u32 sKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin.lz");
|
||||||
static const u32 sKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin");
|
static const u32 sHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/back.bin.lz");
|
||||||
static const u32 sHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back_hoenn.bin");
|
static const u32 sKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin.lz");
|
||||||
static const u32 sKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin");
|
static const u32 sHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/front_link.bin.lz");
|
||||||
static const u32 sHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn_link.bin");
|
static const u32 sKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin.lz");
|
||||||
static const u32 sKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin");
|
static const u32 sHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/rse/bg.bin.lz");
|
||||||
static const u32 sHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg_hoenn.bin");
|
static const u32 sKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin.lz");
|
||||||
static const u32 sKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin");
|
static const u16 sUnused_Pal[] = INCBIN_U16("graphics/trainer_card/unused.gbapal");
|
||||||
static const u16 sHoennTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_1stars_pals.gbapal");
|
static const u16 sHoennTrainerCardBronze_Pal[] = INCBIN_U16("graphics/trainer_card/rse/bronze.gbapal");
|
||||||
static const u16 sKantoTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_1stars_pals.gbapal");
|
static const u16 sKantoTrainerCardGreen_Pal[] = INCBIN_U16("graphics/trainer_card/green.gbapal");
|
||||||
static const u16 sHoennTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_2stars_pals.gbapal");
|
static const u16 sHoennTrainerCardCopper_Pal[] = INCBIN_U16("graphics/trainer_card/rse/copper.gbapal");
|
||||||
static const u16 sKantoTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_2stars_pals.gbapal");
|
static const u16 sKantoTrainerCardBronze_Pal[] = INCBIN_U16("graphics/trainer_card/bronze.gbapal");
|
||||||
static const u16 sHoennTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_3stars_pals.gbapal");
|
static const u16 sHoennTrainerCardSilver_Pal[] = INCBIN_U16("graphics/trainer_card/rse/silver.gbapal");
|
||||||
static const u16 sKantoTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_3stars_pals.gbapal");
|
static const u16 sKantoTrainerCardSilver_Pal[] = INCBIN_U16("graphics/trainer_card/silver.gbapal");
|
||||||
static const u16 sHoennTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_4stars_pals.gbapal");
|
static const u16 sHoennTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/rse/gold.gbapal");
|
||||||
static const u16 sKantoTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_4stars_pals.gbapal");
|
static const u16 sKantoTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal");
|
||||||
static const u16 sHoennTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/em_female_bg.gbapal");
|
static const u16 sHoennTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/rse/female_bg.gbapal");
|
||||||
static const u16 sKantoTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/fr_female_bg.gbapal");
|
static const u16 sKantoTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg.gbapal");
|
||||||
static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/em_badges.gbapal");
|
static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/rse/badges.gbapal");
|
||||||
static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/fr_badges.gbapal");
|
static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges.gbapal");
|
||||||
static const u16 sTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal");
|
static const u16 sTrainerCardStar_Pal[] = INCBIN_U16("graphics/trainer_card/star.gbapal");
|
||||||
static const u16 sTrainerCardStickerPal1[] = INCBIN_U16("graphics/trainer_card/sticker1.gbapal");
|
static const u16 sTrainerCardStickerPal1[] = INCBIN_U16("graphics/trainer_card/stickers1.gbapal");
|
||||||
static const u16 sTrainerCardStickerPal2[] = INCBIN_U16("graphics/trainer_card/sticker2.gbapal");
|
static const u16 sTrainerCardStickerPal2[] = INCBIN_U16("graphics/trainer_card/stickers2.gbapal");
|
||||||
static const u16 sTrainerCardStickerPal3[] = INCBIN_U16("graphics/trainer_card/sticker3.gbapal");
|
static const u16 sTrainerCardStickerPal3[] = INCBIN_U16("graphics/trainer_card/stickers3.gbapal");
|
||||||
static const u16 sTrainerCardStickerPal4[] = INCBIN_U16("graphics/trainer_card/sticker4.gbapal");
|
static const u16 sTrainerCardStickerPal4[] = INCBIN_U16("graphics/trainer_card/stickers4.gbapal");
|
||||||
static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/em_badges.4bpp.lz");
|
static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/rse/badges.4bpp.lz");
|
||||||
static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz");
|
static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz");
|
||||||
|
|
||||||
static const struct BgTemplate sTrainerCardBgTemplates[4] =
|
static const struct BgTemplate sTrainerCardBgTemplates[4] =
|
||||||
{
|
{
|
||||||
@@ -253,22 +253,22 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[4] =
|
|||||||
DUMMY_WIN_TEMPLATE
|
DUMMY_WIN_TEMPLATE
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u16 *const sHoennTrainerCardStarPals[] =
|
static const u16 *const sHoennTrainerCardPals[] =
|
||||||
{
|
{
|
||||||
gHoennTrainerCard_Pal,
|
gHoennTrainerCardGreen_Pal, // Default (0 stars)
|
||||||
sHoennTrainerCard1Stars_Pals,
|
sHoennTrainerCardBronze_Pal, // 1 star
|
||||||
sHoennTrainerCard2Stars_Pals,
|
sHoennTrainerCardCopper_Pal, // 2 stars
|
||||||
sHoennTrainerCard3Stars_Pals,
|
sHoennTrainerCardSilver_Pal, // 3 stars
|
||||||
sHoennTrainerCard4Stars_Pals
|
sHoennTrainerCardGold_Pal, // 4 stars
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u16 *const sKantoTrainerCardStarPals[] =
|
static const u16 *const sKantoTrainerCardPals[] =
|
||||||
{
|
{
|
||||||
gKantoTrainerCard_Pal,
|
gKantoTrainerCardBlue_Pal, // Default (0 stars)
|
||||||
sKantoTrainerCard1Stars_Pals,
|
sKantoTrainerCardGreen_Pal, // 1 star
|
||||||
sKantoTrainerCard2Stars_Pals,
|
sKantoTrainerCardBronze_Pal, // 2 stars
|
||||||
sKantoTrainerCard3Stars_Pals,
|
sKantoTrainerCardSilver_Pal, // 3 stars
|
||||||
sKantoTrainerCard4Stars_Pals
|
sKantoTrainerCardGold_Pal, // 4 stars
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY};
|
static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY};
|
||||||
@@ -1479,9 +1479,9 @@ static bool8 SetTrainerCardBgsAndPals(void)
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
|
if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
|
||||||
LoadPalette(sHoennTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
|
LoadPalette(sHoennTrainerCardPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
|
||||||
else
|
else
|
||||||
LoadPalette(sKantoTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
|
LoadPalette(sKantoTrainerCardPals[sTrainerCardDataPtr->trainerCard.rse.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
|
if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE)
|
||||||
@@ -1491,12 +1491,12 @@ static bool8 SetTrainerCardBgsAndPals(void)
|
|||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
|
if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
|
||||||
LoadPalette(sHoennTrainerCardFemaleBackground_Pal, BG_PLTT_ID(1), sizeof(sHoennTrainerCardFemaleBackground_Pal));
|
LoadPalette(sHoennTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), sizeof(sHoennTrainerCardFemaleBg_Pal));
|
||||||
else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
|
else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
|
||||||
LoadPalette(sKantoTrainerCardFemaleBackground_Pal, BG_PLTT_ID(1), sizeof(sKantoTrainerCardFemaleBackground_Pal));
|
LoadPalette(sKantoTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), sizeof(sKantoTrainerCardFemaleBg_Pal));
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
LoadPalette(sTrainerCardGold_Pal, BG_PLTT_ID(4), sizeof(sTrainerCardGold_Pal));
|
LoadPalette(sTrainerCardStar_Pal, BG_PLTT_ID(4), sizeof(sTrainerCardStar_Pal));
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
SetBgTilemapBuffer(0, sTrainerCardDataPtr->cardTilemapBuffer);
|
SetBgTilemapBuffer(0, sTrainerCardDataPtr->cardTilemapBuffer);
|
||||||
|
|||||||