package logbook.internal;

import logbook.dto.ItemInfoDto;
import logbook.dto.ShipParameters;
import org.apache.commons.lang3.StringUtils;

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.*;

/**
 * アイテム
 */
public class Item {

    public static final ItemInfoDto UNKNOWN = new ItemInfoDto(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "<UNKNOWN>", 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0);

    /**
     * アイテムプリセット値
     */
    private static final Map<Integer, ItemInfoDto> ITEM = new HashMap<Integer, ItemInfoDto>() {
        {
            this.put(1, new ItemInfoDto(1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, "12cm単装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(2, new ItemInfoDto(2, 1, 1, 0, 0, 0, 2, 0, 0, 1, 0, "12.7cm連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(3, new ItemInfoDto(3, 1, 16, 0, 0, 0, 2, 0, 0, 1, 0, "10cm連装高角砲", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0));
            this.put(4, new ItemInfoDto(4, 2, 2, 0, 0, 0, 2, 0, 1, 2, 0, "14cm単装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(5, new ItemInfoDto(5, 2, 2, 0, 0, 0, 7, 0, 1, 2, 0, "15.5cm三連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(6, new ItemInfoDto(6, 2, 2, 0, 0, 0, 8, 0, 0, 2, 0, "20.3cm連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(7, new ItemInfoDto(7, 3, 3, 0, 0, 0, 15, 0, 0, 3, 0, "35.6cm連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(8, new ItemInfoDto(8, 3, 3, 0, 0, 0, 20, 0, 0, 3, 0, "41cm連装砲", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(9, new ItemInfoDto(9, 3, 3, 0, 0, 0, 26, 0, 0, 4, 0, "46cm三連装砲", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(10, new ItemInfoDto(10, 4, 16, 0, 0, 0, 2, 0, 1, 1, 0, "12.7cm連装高角砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(11, new ItemInfoDto(11, 4, 4, 0, 0, 0, 2, 0, 1, 2, 0, "15.2cm単装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(12, new ItemInfoDto(12, 4, 4, 0, 0, 0, 7, 0, 2, 2, 0, "15.5cm三連装副砲", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(13, new ItemInfoDto(13, 5, 5, 0, 0, 0, 0, 0, 0, 1, 0, "61cm三連装魚雷", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(14, new ItemInfoDto(14, 5, 5, 0, 0, 0, 0, 0, 0, 1, 0, "61cm四連装魚雷", 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(15, new ItemInfoDto(15, 5, 5, 0, 0, 0, 0, 0, 0, 1, 0, "61cm四連装(酸素)魚雷", 10, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(16, new ItemInfoDto(16, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "九七式艦攻", 5, 0, 16, 0, 0, 1, 0, 0, 0, 4, 0, 4));
            this.put(17, new ItemInfoDto(17, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "天山", 7, 0, 24, 1, 0, 1, 0, 0, 0, 3, 0, 5));
            this.put(18, new ItemInfoDto(18, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "流星", 10, 0, 56, 2, 0, 1, 0, 0, 0, 4, 0, 6));
            this.put(19, new ItemInfoDto(19, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "九六式艦戦", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3));
            this.put(20, new ItemInfoDto(20, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "零式艦戦21型", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 7));
            this.put(21, new ItemInfoDto(21, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "零式艦戦52型", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 6, 6));
            this.put(22, new ItemInfoDto(22, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "烈風", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 5));
            this.put(23, new ItemInfoDto(23, 7, 7, 0, 0, 5, 0, 0, 0, 0, 0, "九九式艦爆", 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4));
            this.put(24, new ItemInfoDto(24, 7, 7, 0, 0, 8, 0, 0, 0, 0, 0, "彗星", 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 4));
            this.put(25, new ItemInfoDto(25, 10, 10, 0, 0, 1, 0, 0, 1, 0, 0, "零式水上偵察機", 0, 0, 10, 0, 0, 5, 0, 0, 0, 2, 1, 7));
            this.put(26, new ItemInfoDto(26, 11, 10, 0, 0, 4, 0, 0, 1, 0, 0, "瑞雲", 0, 0, 13, 1, 0, 6, 0, 0, 0, 4, 2, 5));
            this.put(27, new ItemInfoDto(27, 12, 11, 0, 0, 0, 0, 0, 1, 0, 0, "13号対空電探", 0, 0, 3, 1, 0, 3, 0, 0, 0, 0, 2, 0));
            this.put(28, new ItemInfoDto(28, 12, 11, 0, 0, 0, 0, 0, 3, 0, 0, "22号対水上電探", 0, 0, 10, 1, 0, 5, 0, 0, 0, 0, 0, 0));
            this.put(29, new ItemInfoDto(29, 12, 11, 0, 0, 0, 0, 0, 5, 0, 0, "33号対水上電探", 0, 0, 12, 2, 0, 7, 0, 0, 0, 0, 0, 0));
            this.put(30, new ItemInfoDto(30, 13, 11, 0, 0, 0, 0, 0, 2, 0, 0, "21号対空電探", 0, 0, 3, 2, 0, 4, 0, 0, 0, 0, 4, 0));
            this.put(31, new ItemInfoDto(31, 13, 11, 0, 0, 0, 0, 0, 8, 0, 0, "32号対水上電探", 0, 0, 15, 3, 0, 10, 0, 0, 0, 0, 0, 0));
            this.put(32, new ItemInfoDto(32, 13, 11, 0, 0, 0, 0, 0, 4, 0, 0, "14号対空電探", 0, 0, 3, 4, 0, 5, 0, 0, 0, 0, 6, 0));
            this.put(33, new ItemInfoDto(33, 17, 19, 0, 0, 0, 0, 6, 0, 0, 0, "改良型艦本式タービン", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(34, new ItemInfoDto(34, 17, 19, 0, 0, 0, 0, 10, 0, 0, 0, "強化型艦本式缶", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(35, new ItemInfoDto(35, 18, 12, 0, 0, 0, 0, 0, 0, 0, 0, "三式弾", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(36, new ItemInfoDto(36, 19, 13, 0, 0, 0, 8, 0, 1, 0, 0, "九一式徹甲弾", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(37, new ItemInfoDto(37, 21, 15, 0, 0, 0, 0, 1, 0, 0, 0, "7.7mm機銃", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(38, new ItemInfoDto(38, 21, 15, 0, 0, 0, 0, 1, 0, 0, 0, "12.7mm単装機銃", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(39, new ItemInfoDto(39, 21, 15, 0, 0, 0, 0, 1, 0, 0, 0, "25mm連装機銃", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(40, new ItemInfoDto(40, 21, 15, 0, 0, 0, 0, 1, 0, 0, 0, "25mm三連装機銃", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 6, 0));
            this.put(41, new ItemInfoDto(41, 22, 5, 0, 0, 0, 0, 0, 0, 0, 0, "甲標的", 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(42, new ItemInfoDto(42, 23, 14, 0, 0, 0, 0, 0, 0, 0, 0, "応急修理要員", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(43, new ItemInfoDto(43, 23, 14, 0, 0, 0, 0, 0, 0, 0, 0, "応急修理女神", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(44, new ItemInfoDto(44, 15, 17, 0, 0, 0, 0, 0, 0, 0, 0, "九四式爆雷投射機", 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0));
            this.put(45, new ItemInfoDto(45, 15, 17, 0, 0, 0, 0, 0, 0, 0, 0, "三式爆雷投射機", 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 0, 0));
            this.put(46, new ItemInfoDto(46, 14, 18, 0, 0, 0, 0, 0, 1, 0, 0, "九三式水中聴音機", 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0));
            this.put(47, new ItemInfoDto(47, 14, 18, 0, 0, 0, 0, 0, 2, 0, 0, "三式水中探信儀", 0, 0, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0));
            this.put(48, new ItemInfoDto(48, 1, 16, 0, 0, 0, 1, 0, 0, 1, 0, "12.7cm単装高角砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(49, new ItemInfoDto(49, 21, 15, 0, 0, 0, 0, 1, 0, 0, 0, "25mm単装機銃", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(50, new ItemInfoDto(50, 2, 2, 0, 0, 0, 10, 0, 1, 2, 0, "20.3cm(3号)連装砲", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(51, new ItemInfoDto(51, 21, 15, 0, 0, 0, 0, 0, 0, 0, 0, "12cm30連装噴進砲", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 8, 0));
            this.put(52, new ItemInfoDto(52, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "流星改", 13, 0, 0, 3, 0, 2, 0, 0, 0, 3, 0, 6));
            this.put(53, new ItemInfoDto(53, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "烈風改", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 12, 5));
            this.put(54, new ItemInfoDto(54, 9, 9, 0, 0, 0, 0, 0, 2, 0, 0, "彩雲", 0, 0, 0, 2, 0, 9, 0, 0, 0, 0, 0, 8));
            this.put(55, new ItemInfoDto(55, 6, 6, 0, 0, 0, 0, 3, 0, 0, 0, "紫電改二", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 9, 3));
            this.put(56, new ItemInfoDto(56, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "震電改", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 15, 2));
            this.put(57, new ItemInfoDto(57, 7, 7, 0, 0, 10, 0, 0, 0, 0, 0, "彗星一二型甲", 0, 0, 0, 2, 0, 1, 0, 0, 0, 3, 0, 5));
            this.put(58, new ItemInfoDto(58, 5, 5, 0, 0, 0, 0, 0, 1, 1, 0, "61cm五連装(酸素)魚雷", 12, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(59, new ItemInfoDto(59, 10, 10, 0, 0, 1, 0, 0, 2, 0, 0, "零式水上観測機", 0, 0, 0, 1, 0, 6, 0, 0, 0, 4, 2, 3));
            this.put(60, new ItemInfoDto(60, 7, 7, 0, 0, 4, 0, 0, 0, 0, 0, "零式艦戦62型(爆戦)", 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 4, 4));
            this.put(61, new ItemInfoDto(61, 9, 9, 0, 0, 0, 0, 0, 3, 0, 0, "二式艦上偵察機", 0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 1, 5));
            this.put(62, new ItemInfoDto(62, 11, 10, 0, 0, 11, 0, 0, 1, 0, 0, "試製晴嵐", 0, 0, 0, 4, 0, 6, 0, 0, 0, 6, 0, 4));
            this.put(63, new ItemInfoDto(63, 1, 1, 0, 0, 0, 3, 0, 0, 1, 0, "12.7cm連装砲B型改二", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(64, new ItemInfoDto(64, 7, 7, 0, 0, 9, 0, 0, 1, 0, 0, "Ju87C改", 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 4));
            this.put(65, new ItemInfoDto(65, 2, 2, 0, 0, 0, 5, 0, 3, 2, 0, "15.2cm連装砲", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(66, new ItemInfoDto(66, 4, 16, 0, 0, 0, 1, 0, 2, 1, 0, "8cm高角砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 6, 0));
            this.put(67, new ItemInfoDto(67, 5, 5, 0, 0, 0, 0, 0, 2, 1, 0, "53cm艦首(酸素)魚雷", 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(68, new ItemInfoDto(68, 24, 20, 0, 0, 0, 0, 0, 0, 0, 0, "大発動艇", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(69, new ItemInfoDto(69, 25, 21, 0, 0, 0, 0, 0, 1, 0, 0, "カ号観測機", 0, 0, 0, 3, 0, 0, 0, 0, 0, 9, 0, 0));
            this.put(70, new ItemInfoDto(70, 26, 22, 0, 0, 0, 0, 0, 2, 0, 0, "三式指揮連絡機(対潜)", 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 0));
            this.put(71, new ItemInfoDto(71, 4, 16, 0, 0, 0, 1, 0, 1, 1, 0, "10cm連装高角砲(砲架)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 7, 0));
            this.put(72, new ItemInfoDto(72, 27, 23, 0, 0, 0, 0, -2, 0, 0, 0, "増設バルジ(中型艦)", 0, 0, 0, 2, 0, 0, 0, 7, 0, 0, 0, 0));
            this.put(73, new ItemInfoDto(73, 28, 23, 0, 0, 0, 0, -3, 0, 0, 0, "増設バルジ(大型艦)", 0, 0, 0, 2, 0, 0, 0, 9, 0, 0, 0, 0));
            this.put(74, new ItemInfoDto(74, 29, 24, 0, 0, 0, 0, 0, 0, 0, 0, "探照灯", 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0));
            this.put(75, new ItemInfoDto(75, 30, 25, 0, 0, 0, 0, 0, 0, 0, 0, "ドラム缶(輸送用)", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(76, new ItemInfoDto(76, 3, 3, 0, 0, 0, 16, 0, 1, 3, 0, "38cm連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(77, new ItemInfoDto(77, 4, 4, 0, 0, 0, 4, 0, 2, 2, 0, "15cm連装副砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(78, new ItemInfoDto(78, 1, 1, 0, 0, 0, 2, 0, 1, 1, 0, "12.7cm単装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(79, new ItemInfoDto(79, 11, 10, 0, 0, 6, 0, 0, 1, 0, 0, "瑞雲(六三四空)", 0, 0, 0, 2, 0, 6, 0, 0, 0, 5, 2, 5));
            this.put(80, new ItemInfoDto(80, 11, 10, 0, 0, 7, 0, 0, 1, 0, 0, "瑞雲12型", 0, 0, 0, 3, 0, 6, 0, 0, 0, 5, 3, 5));
            this.put(81, new ItemInfoDto(81, 11, 10, 0, 0, 9, 0, 0, 1, 0, 0, "瑞雲12型(六三四空)", 0, 0, 0, 4, 0, 7, 0, 0, 0, 6, 3, 5));
            this.put(82, new ItemInfoDto(82, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "九七式艦攻(九三一空)", 6, 0, 0, 2, 0, 2, 0, 0, 0, 7, 0, 4));
            this.put(83, new ItemInfoDto(83, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "天山(九三一空)", 9, 0, 0, 3, 0, 2, 0, 0, 0, 8, 0, 5));
            this.put(84, new ItemInfoDto(84, 21, 15, 0, 0, 0, 0, 0, 1, 0, 0, "2cm 四連装FlaK 38", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 7, 0));
            this.put(85, new ItemInfoDto(85, 21, 15, 0, 0, 0, 1, 0, 1, 0, 0, "3.7cm FlaK M42", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 0));
            this.put(86, new ItemInfoDto(86, 31, 26, 0, 0, 0, 0, 0, 0, 0, 0, "艦艇修理施設", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(87, new ItemInfoDto(87, 17, 19, 0, 0, 0, 0, 13, 0, 0, 0, "新型高温高圧缶", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(88, new ItemInfoDto(88, 12, 11, 0, 0, 0, 0, 0, 8, 0, 0, "22号対水上電探改四", 0, 0, 0, 3, 0, 5, 0, 0, 0, 2, 0, 0));
            this.put(89, new ItemInfoDto(89, 13, 11, 0, 0, 0, 0, 1, 3, 0, 0, "21号対空電探改", 0, 0, 0, 3, 0, 6, 0, 0, 0, 0, 5, 0));
            this.put(90, new ItemInfoDto(90, 2, 2, 0, 0, 0, 9, 0, 1, 2, 0, "20.3cm(2号)連装砲", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(91, new ItemInfoDto(91, 1, 16, 0, 0, 0, 2, 1, 1, 1, 0, "12.7cm連装高角砲(後期型)", 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 5, 0));
            this.put(92, new ItemInfoDto(92, 21, 15, 0, 0, 0, 0, 1, 0, 0, 0, "毘式40mm連装機銃", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0));
            this.put(93, new ItemInfoDto(93, 8, 8, 0, 0, 0, 0, 0, 3, 0, 0, "九七式艦攻(友永隊)", 11, 0, 0, 4, 0, 4, 0, 0, 0, 5, 1, 4));
            this.put(94, new ItemInfoDto(94, 8, 8, 0, 0, 0, 0, 0, 3, 0, 0, "天山一二型(友永隊)", 14, 0, 0, 5, 0, 5, 0, 0, 0, 6, 1, 5));
            this.put(95, new ItemInfoDto(95, 32, 5, 0, 0, 0, 0, 0, 3, 1, 0, "潜水艦53cm艦首魚雷(8門)", 16, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(96, new ItemInfoDto(96, 6, 6, 0, 0, 0, 0, 2, 2, 0, 0, "零式艦戦21型(熟練)", 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 8, 7));
            this.put(97, new ItemInfoDto(97, 7, 7, 0, 0, 7, 0, 0, 2, 0, 0, "九九式艦爆(熟練)", 0, 0, 0, 3, 0, 2, 0, 0, 0, 4, 1, 4));
            this.put(98, new ItemInfoDto(98, 8, 8, 0, 0, 0, 0, 0, 2, 0, 0, "九七式艦攻(熟練)", 8, 0, 0, 3, 0, 2, 0, 0, 0, 5, 0, 4));
            this.put(99, new ItemInfoDto(99, 7, 7, 0, 0, 10, 0, 0, 4, 0, 0, "九九式艦爆(江草隊)", 0, 0, 0, 4, 0, 3, 0, 0, 0, 5, 0, 4));
            this.put(100, new ItemInfoDto(100, 7, 7, 0, 0, 13, 0, 0, 4, 0, 0, "彗星(江草隊)", 0, 0, 0, 5, 0, 4, 0, 0, 0, 5, 1, 5));
            this.put(101, new ItemInfoDto(101, 33, 27, 0, 0, 0, 0, 0, 0, 0, 0, "照明弾", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(102, new ItemInfoDto(102, 10, 10, 0, 0, 0, 0, 0, 1, 0, 0, "九八式水上偵察機(夜偵)", 0, 0, 0, 3, 0, 3, 0, 0, 0, 1, 0, 6));
            this.put(103, new ItemInfoDto(103, 3, 3, 0, 0, 0, 18, 0, 2, 3, 0, "試製35.6cm三連装砲", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(104, new ItemInfoDto(104, 3, 3, 0, 0, 0, 15, 1, 1, 3, 0, "35.6cm連装砲(ダズル迷彩)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(105, new ItemInfoDto(105, 3, 3, 0, 0, 0, 22, 0, 2, 3, 0, "試製41cm三連装砲", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(106, new ItemInfoDto(106, 12, 11, 0, 0, 0, 0, 1, 2, 0, 0, "13号対空電探改", 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 4, 0));
            this.put(107, new ItemInfoDto(107, 34, 28, 0, 0, 0, 0, 1, 1, 0, 0, "艦隊司令部施設", 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 1, 0));
            this.put(108, new ItemInfoDto(108, 35, 29, 0, 0, 0, 10, 0, 1, 3, 0, "熟練艦載機整備員", 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 1, 0));
            this.put(109, new ItemInfoDto(109, 6, 6, 0, 0, 0, 0, 1, 1, 0, 0, "零戦52型丙(六〇一空)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 9, 6));
            this.put(110, new ItemInfoDto(110, 6, 6, 0, 0, 0, 0, 2, 1, 0, 0, "烈風(六〇一空)", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 11, 5));
            this.put(111, new ItemInfoDto(111, 7, 7, 0, 0, 11, 0, 0, 1, 0, 0, "彗星(六〇一空)", 0, 0, 0, 3, 0, 1, 0, 0, 0, 4, 0, 5));
            this.put(112, new ItemInfoDto(112, 8, 8, 0, 0, 0, 0, 0, 1, 0, 0, "天山(六〇一空)", 10, 0, 0, 3, 0, 2, 0, 0, 0, 4, 0, 5));
            this.put(113, new ItemInfoDto(113, 8, 8, 0, 0, 0, 0, 0, 1, 0, 0, "流星(六〇一空)", 13, 0, 0, 4, 0, 3, 0, 0, 0, 5, 0, 6));
            this.put(114, new ItemInfoDto(114, 3, 3, 0, 0, 0, 17, 0, 3, 3, 0, "38cm連装砲改", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(115, new ItemInfoDto(115, 10, 10, 0, 0, 1, 0, 0, 2, 0, 0, "Ar196改", 0, 0, 0, 2, 0, 5, 0, 0, 0, 5, 1, 3));
            this.put(116, new ItemInfoDto(116, 19, 13, 0, 0, 0, 9, 0, 2, 0, 0, "一式徹甲弾", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(117, new ItemInfoDto(117, 3, 3, 0, 0, 0, 23, 0, 1, 4, 0, "試製46cm連装砲", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(118, new ItemInfoDto(118, 10, 10, 0, 0, 1, 0, 0, 1, 0, 0, "紫雲", 0, 0, 0, 4, 0, 8, 0, 0, 0, 2, 0, 4));
            this.put(119, new ItemInfoDto(119, 2, 2, 0, 0, 0, 4, 0, 2, 2, 0, "14cm連装砲", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(120, new ItemInfoDto(120, 36, 30, 0, 0, 0, 0, 1, 0, 0, 0, "91式高射装置", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(121, new ItemInfoDto(121, 36, 30, 0, 0, 0, 0, 1, 0, 0, 0, "94式高射装置", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(122, new ItemInfoDto(122, 1, 16, 0, 0, 0, 3, 1, 1, 1, 0, "10cm連装高角砲+高射装置", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0));
            this.put(123, new ItemInfoDto(123, 2, 2, 0, 0, 0, 10, 0, 3, 2, 0, "SKC34 20.3cm連装砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(124, new ItemInfoDto(124, 13, 11, 0, 0, 0, 3, 0, 10, 0, 0, "FuMO25 レーダー", 0, 0, 0, 4, 0, 9, 0, 0, 0, 0, 7, 0));
            this.put(125, new ItemInfoDto(125, 5, 5, 0, 0, 0, 0, 1, 0, 1, 0, "61cm三連装(酸素)魚雷", 8, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0));
            this.put(126, new ItemInfoDto(126, 37, 31, 0, 0, 0, 1, 0, 0, 1, 0, "WG42 (Wurfgerät 42)", 0, 0, 0, 4, 0, 0, 0, -1, 0, 0, 0, 0));
            this.put(127, new ItemInfoDto(127, 32, 5, 0, 0, 0, 0, 2, 7, 1, 0, "試製FaT仕様九五式酸素魚雷改", 14, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(128, new ItemInfoDto(128, 3, 3, 0, 0, 0, 30, -1, 1, 4, 0, "試製51cm連装砲", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(129, new ItemInfoDto(129, 39, 32, 0, 0, 0, 0, 3, 2, 0, 0, "熟練見張員", 0, 0, 0, 3, 0, 2, 0, 0, 0, 0, 1, 0));
            this.put(130, new ItemInfoDto(130, 4, 16, 0, 0, 0, 1, 1, 1, 1, 0, "12.7cm高角砲+高射装置", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 0));
            this.put(131, new ItemInfoDto(131, 21, 15, 0, 0, 0, 0, 1, 0, 0, 0, "25mm三連装機銃 集中配備", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 9, 0));
            this.put(132, new ItemInfoDto(132, 40, 18, 0, 0, 0, 0, 1, 1, 0, 0, "零式水中聴音機", 0, 0, 0, 3, 0, 1, 0, 0, 0, 11, 0, 0));
            this.put(133, new ItemInfoDto(133, 3, 3, 0, 0, 0, 20, -1, -3, 4, 0, "381mm/50 三連装砲", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(134, new ItemInfoDto(134, 4, 4, 0, 0, 0, 8, 0, 1, 2, 0, "OTO 152mm三連装速射砲", 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 2, 0));
            this.put(135, new ItemInfoDto(135, 4, 16, 0, 0, 0, 1, 0, 1, 1, 0, "90mm単装高角砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 0));
            this.put(136, new ItemInfoDto(136, 28, 23, 0, 0, 0, 0, -1, 0, 0, 0, "プリエーゼ式水中防御隔壁", 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0));
            this.put(137, new ItemInfoDto(137, 3, 3, 0, 0, 0, 21, -1, -1, 4, 0, "381mm/50 三連装砲改", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(138, new ItemInfoDto(138, 41, 33, 0, 0, 0, 0, 0, 1, 0, 0, "二式大艇", 0, 0, 0, 4, 0, 12, 0, 0, 0, 1, 0, 20));
            this.put(139, new ItemInfoDto(139, 2, 2, 0, 0, 0, 6, 0, 4, 2, 0, "15.2cm連装砲改", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(140, new ItemInfoDto(140, 42, 24, 0, 0, 0, 0, 0, 0, 0, 0, "96式150cm探照灯", 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 1, 0));
            this.put(141, new ItemInfoDto(141, 13, 11, 0, 0, 0, 0, 0, 9, 0, 0, "32号対水上電探改", 0, 0, 0, 4, 0, 11, 0, 0, 0, 0, 0, 0));
            this.put(142, new ItemInfoDto(142, 13, 11, 0, 0, 0, 1, 1, 9, 0, 0, "15m二重測距儀+21号電探改二", 0, 0, 0, 4, 0, 7, 0, 1, 0, 0, 8, 0));
            this.put(143, new ItemInfoDto(143, 8, 8, 0, 0, 0, 0, 0, 2, 0, 0, "九七式艦攻(村田隊)", 12, 0, 0, 4, 0, 4, 0, 0, 0, 5, 1, 4));
            this.put(144, new ItemInfoDto(144, 8, 8, 0, 0, 0, 0, 0, 2, 0, 0, "天山一二型(村田隊)", 15, 0, 0, 5, 0, 4, 0, 0, 0, 6, 1, 5));
            this.put(145, new ItemInfoDto(145, 43, 34, 0, 0, 0, 0, 0, 0, 0, 0, "戦闘糧食", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(146, new ItemInfoDto(146, 44, 35, 0, 0, 0, 0, 0, 0, 0, 0, "洋上補給", 0, 0, 0, 2, 0, 0, 0, -2, 0, 0, 0, 0));
            this.put(147, new ItemInfoDto(147, 1, 1, 0, 0, 0, 3, 0, 1, 1, 0, "120mm連装砲", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(148, new ItemInfoDto(148, 7, 7, 0, 0, 11, 0, 0, 0, 0, 0, "試製南山", 0, 0, 0, 5, 0, 2, 0, 0, 0, 4, 1, 5));
            this.put(149, new ItemInfoDto(149, 14, 18, 0, 0, 0, 0, 0, 1, 0, 0, "四式水中聴音機", 0, 0, 0, 4, 0, 0, 0, 1, 0, 12, 0, 0));
            this.put(150, new ItemInfoDto(150, 43, 34, 0, 0, 0, 0, 0, 0, 0, 0, "秋刀魚の缶詰", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(151, new ItemInfoDto(151, 9, 9, 0, 0, 0, 2, 0, 2, 0, 0, "試製景雲(艦偵型)", 0, 0, 0, 5, 0, 11, 0, 0, 0, 0, 0, 8));
            this.put(152, new ItemInfoDto(152, 6, 6, 0, 0, 0, 0, 2, 1, 0, 0, "零式艦戦52型(熟練)", 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 9, 6));
            this.put(153, new ItemInfoDto(153, 6, 6, 0, 0, 0, 0, 2, 1, 0, 0, "零戦52型丙(付岩井小隊)", 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 10, 6));
            this.put(154, new ItemInfoDto(154, 7, 7, 0, 0, 4, 0, 2, 1, 0, 0, "零戦62型(爆戦/岩井隊)", 0, 0, 0, 5, 0, 1, 0, 0, 0, 3, 7, 5));
            this.put(155, new ItemInfoDto(155, 6, 6, 0, 0, 0, 0, 3, 1, 0, 0, "零戦21型(付岩本小隊)", 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 9, 7));
            this.put(156, new ItemInfoDto(156, 6, 6, 0, 0, 0, 0, 3, 1, 0, 0, "零戦52型甲(付岩本小隊)", 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 11, 6));
            this.put(157, new ItemInfoDto(157, 6, 6, 0, 0, 0, 0, 4, 2, 0, 0, "零式艦戦53型(岩本隊)", 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 12, 6));
            this.put(158, new ItemInfoDto(158, 6, 6, 0, 0, 0, 1, 4, 0, 0, 0, "Bf109T改", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 2));
            this.put(159, new ItemInfoDto(159, 6, 6, 0, 0, 0, 2, 2, 0, 0, 0, "Fw190T改", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 10, 3));
            this.put(160, new ItemInfoDto(160, 4, 16, 0, 0, 0, 3, 1, 2, 1, 0, "10.5cm連装砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 6, 0));
            this.put(161, new ItemInfoDto(161, 3, 3, 0, 0, 0, 24, 0, 4, 3, 0, "16inch三連装砲 Mk.7", 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 3, 0));
            this.put(162, new ItemInfoDto(162, 2, 2, 0, 0, 0, 9, 0, -2, 3, 0, "203mm/53 連装砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(163, new ItemInfoDto(163, 10, 10, 0, 0, 0, 1, 1, 2, 0, 0, "Ro.43水偵", 0, 0, 0, 3, 0, 4, 0, 0, 0, 2, 1, 3));
            this.put(164, new ItemInfoDto(164, 45, 43, 0, 0, 0, 0, 2, 1, 0, 0, "Ro.44水上戦闘機", 0, 0, 0, 3, 0, 2, 0, 0, 0, 1, 2, 3));
            this.put(165, new ItemInfoDto(165, 45, 43, 0, 0, 0, 0, 2, 1, 0, 0, "二式水戦改", 0, 0, 0, 2, 0, 1, 0, 0, 0, 1, 3, 4));
            this.put(166, new ItemInfoDto(166, 24, 20, 0, 0, 0, 0, 0, 0, 0, 0, "大発動艇(八九式中戦車&陸戦隊)", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(167, new ItemInfoDto(167, 46, 36, 0, 0, 0, 0, 0, 0, 0, 0, "特二式内火艇", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(168, new ItemInfoDto(168, 47, 37, 0, 0, 10, 0, 0, 0, 0, 0, "九六式陸攻", 8, 0, 0, 1, 0, 2, 0, 0, 0, 2, 1, 8));
            this.put(169, new ItemInfoDto(169, 47, 37, 0, 0, 12, 0, 0, 0, 0, 0, "一式陸攻", 10, 0, 0, 2, 0, 3, 0, 0, 0, 2, 2, 9));
            this.put(170, new ItemInfoDto(170, 47, 37, 0, 0, 13, 0, 0, 1, 0, 0, "一式陸攻(野中隊)", 12, 0, 0, 4, 0, 4, 0, 0, 0, 2, 3, 9));
            this.put(171, new ItemInfoDto(171, 10, 10, 0, 0, 1, 0, 1, 2, 0, 0, "OS2U", 0, 0, 0, 3, 0, 6, 0, 0, 0, 1, 1, 3));
            this.put(172, new ItemInfoDto(172, 4, 16, 0, 0, 0, 4, 1, 2, 1, 0, "5inch連装砲 Mk.28 mod.2", 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 9, 0));
            this.put(173, new ItemInfoDto(173, 21, 15, 0, 0, 0, 1, 2, 1, 0, 0, "Bofors 40mm四連装機関砲", 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 10, 0));
            this.put(174, new ItemInfoDto(174, 5, 5, 0, 0, 0, 0, 2, 0, 1, 0, "53cm連装魚雷", 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(175, new ItemInfoDto(175, 48, 38, 0, 0, 0, 0, 2, 5, 0, 0, "雷電", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 6, 2));
            this.put(176, new ItemInfoDto(176, 48, 44, 0, 0, 0, 0, 3, 1, 0, 0, "三式戦 飛燕", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 3));
            this.put(177, new ItemInfoDto(177, 48, 44, 0, 0, 0, 0, 4, 3, 0, 0, "三式戦 飛燕(飛行第244戦隊)", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 9, 4));
            this.put(178, new ItemInfoDto(178, 41, 33, 0, 0, 0, 0, 0, 2, 0, 0, "PBY-5A Catalina", 0, 0, 0, 4, 0, 9, 0, 0, 0, 2, 0, 10));
            this.put(179, new ItemInfoDto(179, 5, 5, 0, 0, 0, 0, 0, 2, 1, 0, "試製61cm六連装(酸素)魚雷", 14, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(180, new ItemInfoDto(180, 47, 37, 0, 0, 12, 0, 0, 0, 0, 0, "一式陸攻 二二型甲", 11, 0, 0, 3, 0, 4, 0, 0, 0, 2, 3, 10));
            this.put(181, new ItemInfoDto(181, 6, 6, 0, 0, 0, 0, 2, 0, 0, 0, "零式艦戦32型", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 5, 5));
            this.put(182, new ItemInfoDto(182, 6, 6, 0, 0, 0, 0, 4, 1, 0, 0, "零式艦戦32型(熟練)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 5));
            this.put(183, new ItemInfoDto(183, 3, 3, 0, 0, 0, 24, 1, 7, 3, 0, "16inch三連装砲 Mk.7+GFCS", 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 3, 0));
            this.put(184, new ItemInfoDto(184, 6, 6, 0, 0, 0, 3, 2, 0, 0, 0, "Re.2001 OR改", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 6, 4));
            this.put(185, new ItemInfoDto(185, 48, 44, 0, 0, 0, 0, 3, 2, 0, 0, "三式戦 飛燕一型丁", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 9, 4));
            this.put(186, new ItemInfoDto(186, 47, 37, 0, 0, 12, 0, 0, 1, 0, 0, "一式陸攻 三四型", 11, 0, 0, 4, 0, 4, 0, 0, 0, 2, 4, 8));
            this.put(187, new ItemInfoDto(187, 47, 37, 0, 0, 14, 0, 0, 1, 0, 0, "銀河", 14, 0, 0, 4, 0, 3, 0, 0, 0, 3, 3, 9));
            this.put(188, new ItemInfoDto(188, 8, 8, 0, 0, 0, 3, 2, 0, 0, 0, "Re.2001 G改", 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 3));
            this.put(189, new ItemInfoDto(189, 6, 6, 0, 0, 0, 1, 3, 0, 0, 0, "Re.2005 改", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 11, 3));
            this.put(190, new ItemInfoDto(190, 3, 3, 0, 0, 0, 18, 0, 1, 3, 0, "38.1cm Mk.I連装砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(191, new ItemInfoDto(191, 21, 15, 0, 0, 0, 1, 0, 0, 0, 0, "QF 2ポンド8連装ポンポン砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0));
            this.put(192, new ItemInfoDto(192, 3, 3, 0, 0, 0, 19, 0, 2, 3, 0, "38.1cm Mk.I/N連装砲改", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(193, new ItemInfoDto(193, 24, 20, 0, 0, 0, 0, 0, 0, 0, 0, "特大発動艇", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(194, new ItemInfoDto(194, 11, 10, 0, 0, 5, 2, 1, 0, 0, 0, "Laté 298B", 4, 0, 0, 3, 0, 4, 0, 0, 0, 2, 1, 4));
            this.put(195, new ItemInfoDto(195, 7, 7, 0, 0, 6, 1, 2, 1, 0, 0, "SBD", 0, 0, 0, 2, 0, 2, 0, 0, 0, 3, 2, 4));
            this.put(196, new ItemInfoDto(196, 8, 8, 0, 0, 0, 1, 0, 0, 0, 0, "TBD", 5, 0, 0, 2, 0, 2, 0, 0, 0, 4, 0, 4));
            this.put(197, new ItemInfoDto(197, 6, 6, 0, 0, 0, 1, 2, 0, 0, 0, "F4F-3", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 4));
            this.put(198, new ItemInfoDto(198, 6, 6, 0, 0, 0, 1, 2, 1, 0, 0, "F4F-4", 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 5, 4));
            this.put(199, new ItemInfoDto(199, 57, 39, 0, 0, 15, 0, 0, 1, 3, 0, "噴式景雲改", 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 6, 3));
            this.put(200, new ItemInfoDto(200, 57, 40, 0, 0, 11, 0, 1, 0, 3, 0, "橘花改", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 12, 2));
            this.put(201, new ItemInfoDto(201, 48, 38, 0, 0, 0, 0, 1, 1, 0, 0, "紫電一一型", 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 8, 3));
            this.put(202, new ItemInfoDto(202, 48, 38, 0, 0, 0, 0, 3, 1, 0, 0, "紫電二一型 紫電改", 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 9, 4));
            this.put(203, new ItemInfoDto(203, 27, 23, 0, 0, 0, 0, -1, 0, 0, 0, "艦本新設計 増設バルジ(中型艦)", 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0));
            this.put(204, new ItemInfoDto(204, 28, 23, 0, 0, 0, 0, -2, 0, 0, 0, "艦本新設計 増設バルジ(大型艦)", 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, 0));
            this.put(205, new ItemInfoDto(205, 6, 6, 0, 0, 0, 1, 2, 1, 0, 0, "F6F-3", 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 8, 5));
            this.put(206, new ItemInfoDto(206, 6, 6, 0, 0, 0, 1, 3, 1, 0, 0, "F6F-5", 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 10, 5));
            this.put(207, new ItemInfoDto(207, 11, 10, 0, 0, 7, 0, 0, 2, 0, 0, "瑞雲(六三一空)", 0, 0, 0, 3, 0, 4, 0, 0, 0, 2, 1, 5));
            this.put(208, new ItemInfoDto(208, 11, 10, 0, 0, 12, 0, 0, 2, 0, 0, "晴嵐(六三一空)", 0, 0, 0, 5, 0, 6, 0, 0, 0, 3, 0, 4));
            this.put(209, new ItemInfoDto(209, 50, 41, 0, 0, 0, 0, 0, 0, 0, 0, "彩雲(輸送用分解済)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(210, new ItemInfoDto(210, 51, 42, 0, 0, 0, 1, 8, 2, 0, 0, "潜水艦搭載電探&水防式望遠鏡", 0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 1, 0));
            this.put(211, new ItemInfoDto(211, 51, 42, 0, 0, 0, 1, 11, 3, 0, 0, "潜水艦搭載電探&逆探(E27)", 0, 0, 0, 4, 0, 5, 0, 0, 0, 0, 1, 0));
            this.put(212, new ItemInfoDto(212, 9, 9, 0, 0, 0, 1, 0, 2, 0, 0, "彩雲(東カロリン空)", 0, 0, 0, 4, 0, 10, 0, 0, 0, 0, 0, 8));
            this.put(213, new ItemInfoDto(213, 32, 5, 0, 0, 0, 0, 1, 3, 1, 0, "後期型艦首魚雷(6門)", 15, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(214, new ItemInfoDto(214, 32, 5, 0, 0, 0, 0, 4, 5, 1, 0, "熟練聴音員+後期型艦首魚雷(6門)", 15, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0));
            this.put(215, new ItemInfoDto(215, 45, 43, 0, 0, 0, 0, 2, 2, 0, 0, "Ro.44水上戦闘機bis", 0, 0, 0, 4, 0, 3, 0, 0, 0, 1, 3, 3));
            this.put(216, new ItemInfoDto(216, 45, 43, 0, 0, 0, 0, 2, 1, 0, 0, "二式水戦改(熟練)", 0, 0, 0, 4, 0, 1, 0, 0, 0, 1, 5, 4));
            this.put(217, new ItemInfoDto(217, 45, 43, 0, 0, 0, 0, 3, 0, 0, 0, "強風改", 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 5, 3));
            this.put(218, new ItemInfoDto(218, 48, 44, 0, 0, 0, 0, 1, 1, 0, 0, "四式戦 疾風", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 5));
            this.put(219, new ItemInfoDto(219, 7, 7, 0, 0, 5, 0, 0, 0, 0, 0, "零式艦戦63型(爆戦)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 5, 4));
            this.put(220, new ItemInfoDto(220, 4, 16, 0, 0, 0, 1, 1, 2, 1, 0, "8cm高角砲改+増設機銃", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 7, 0));
            this.put(221, new ItemInfoDto(221, 48, 44, 0, 0, 0, 0, 2, 0, 0, 0, "一式戦 隼II型", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 6, 6));
            this.put(222, new ItemInfoDto(222, 48, 44, 0, 0, 0, 1, 3, 1, 0, 0, "一式戦 隼III型甲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 7, 6));
            this.put(223, new ItemInfoDto(223, 48, 44, 0, 0, 0, 2, 3, 1, 0, 0, "一式戦 隼III型甲(54戦隊)", 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 8, 7));
            this.put(224, new ItemInfoDto(224, 47, 44, 0, 0, 8, 3, 2, 3, 0, 0, "爆装一式戦 隼III型改(55戦隊)", 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 6, 5));
            this.put(225, new ItemInfoDto(225, 48, 44, 0, 0, 0, 1, 5, 1, 0, 0, "一式戦 隼II型(64戦隊)", 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 11, 7));
            this.put(226, new ItemInfoDto(226, 15, 17, 0, 0, 0, 0, 0, 0, 0, 0, "九五式爆雷", 0, 0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0));
            this.put(227, new ItemInfoDto(227, 15, 17, 0, 0, 0, 0, 0, 0, 0, 0, "二式爆雷", 0, 0, 0, 2, 0, 0, 0, 0, 0, 7, 0, 0));
            this.put(228, new ItemInfoDto(228, 6, 6, 0, 0, 0, 0, 1, 0, 0, 0, "九六式艦戦改", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 4));
            this.put(229, new ItemInfoDto(229, 1, 16, 0, 0, 0, 1, 1, 1, 1, 0, "12.7cm単装高角砲(後期型)", 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 4, 0));
            this.put(230, new ItemInfoDto(230, 24, 20, 0, 0, 0, 0, 0, 0, 0, 0, "特大発動艇+戦車第11連隊", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(231, new ItemInfoDto(231, 3, 3, 0, 0, 0, 16, 0, 1, 3, 0, "30.5cm三連装砲", 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0));
            this.put(232, new ItemInfoDto(232, 3, 3, 0, 0, 0, 17, 1, 3, 3, 0, "30.5cm三連装砲改", 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 3, 0));
            this.put(233, new ItemInfoDto(233, 7, 7, 0, 0, 7, 1, 1, 0, 0, 0, "F4U-1D", 0, 0, 0, 5, 0, 1, 0, 0, 0, 1, 7, 6));
            this.put(234, new ItemInfoDto(234, 4, 4, 0, 0, 0, 7, 1, 4, 2, 0, "15.5cm三連装副砲改", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(235, new ItemInfoDto(235, 2, 2, 0, 0, 0, 7, 1, 3, 2, 0, "15.5cm三連装砲改", 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 5, 0));
            this.put(236, new ItemInfoDto(236, 3, 3, 0, 0, 0, 22, 0, 4, 3, 0, "41cm三連装砲改", 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 6, 0));
            this.put(237, new ItemInfoDto(237, 11, 10, 0, 0, 9, 0, 1, 1, 0, 0, "瑞雲(六三四空/熟練)", 0, 0, 0, 5, 0, 7, 0, 0, 0, 6, 4, 5));
            this.put(238, new ItemInfoDto(238, 10, 10, 0, 0, 0, 1, 0, 2, 0, 0, "零式水上偵察機11型乙", 0, 0, 0, 3, 0, 6, 0, 0, 0, 7, 1, 7));
            this.put(239, new ItemInfoDto(239, 10, 10, 0, 0, 0, 2, 0, 3, 0, 0, "零式水上偵察機11型乙(熟練)", 0, 0, 0, 4, 0, 8, 0, 0, 0, 8, 1, 7));
            this.put(240, new ItemInfoDto(240, 12, 11, 0, 0, 0, 1, 0, 9, 0, 0, "22号対水上電探改四(後期調整型)", 0, 0, 0, 4, 0, 7, 0, 0, 0, 2, 0, 0));
            this.put(241, new ItemInfoDto(241, 43, 34, 0, 0, 0, 0, 0, 0, 0, 0, "戦闘糧食(特別なおにぎり)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(242, new ItemInfoDto(242, 8, 8, 0, 0, 0, 2, 0, 1, 0, 0, "Swordfish", 3, 0, 0, 2, 0, 1, 0, 0, 0, 4, 0, 3));
            this.put(243, new ItemInfoDto(243, 8, 8, 0, 0, 0, 3, 0, 3, 0, 0, "Swordfish Mk.II(熟練)", 5, 0, 0, 3, 0, 2, 0, 0, 0, 6, 0, 3));
            this.put(244, new ItemInfoDto(244, 8, 8, 0, 0, 0, 4, 0, 4, 0, 0, "Swordfish Mk.III(熟練)", 8, 0, 0, 4, 0, 5, 0, 0, 0, 10, 0, 3));
            this.put(245, new ItemInfoDto(245, 3, 3, 0, 0, 0, 21, 0, 1, 3, 0, "38cm四連装砲", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(246, new ItemInfoDto(246, 3, 3, 0, 0, 0, 22, 0, 3, 2, 0, "38cm四連装砲改", 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 2, 0));
            this.put(247, new ItemInfoDto(247, 4, 4, 0, 0, 0, 6, 0, 3, 2, 0, "15.2cm三連装砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(248, new ItemInfoDto(248, 7, 7, 0, 0, 4, 0, 2, 0, 0, 0, "Skua", 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 4));
            this.put(249, new ItemInfoDto(249, 6, 6, 0, 0, 0, 1, 1, 2, 0, 0, "Fulmar", 0, 0, 0, 2, 0, 1, 0, 0, 0, 2, 3, 4));
            this.put(250, new ItemInfoDto(250, 48, 44, 0, 0, 0, 1, 1, 2, 0, 0, "Spitfire Mk.I", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 7, 4));
            this.put(251, new ItemInfoDto(251, 48, 44, 0, 0, 0, 1, 2, 3, 0, 0, "Spitfire Mk.V", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 9, 5));
            this.put(252, new ItemInfoDto(252, 6, 6, 0, 0, 0, 1, 2, 1, 0, 0, "Seafire Mk.III改", 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 9, 4));
            this.put(253, new ItemInfoDto(253, 48, 44, 0, 0, 0, 1, 4, 2, 0, 0, "Spitfire Mk.IX(熟練)", 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 10, 4));
            this.put(254, new ItemInfoDto(254, 6, 45, 0, 0, 0, 0, 3, 2, 0, 0, "F6F-3N", 0, 0, 0, 4, 0, 2, 0, 0, 0, 4, 8, 5));
            this.put(255, new ItemInfoDto(255, 6, 45, 0, 0, 0, 0, 3, 3, 0, 0, "F6F-5N", 0, 0, 0, 5, 0, 3, 0, 0, 0, 5, 10, 5));
            this.put(256, new ItemInfoDto(256, 8, 8, 0, 0, 0, 2, 0, 0, 0, 0, "TBF", 9, 0, 0, 3, 0, 2, 0, 0, 0, 6, 1, 6));
            this.put(257, new ItemInfoDto(257, 8, 46, 0, 0, 0, 2, 0, 2, 0, 0, "TBM-3D", 9, 0, 0, 4, 0, 4, 0, 0, 0, 8, 1, 6));
            this.put(258, new ItemInfoDto(258, 35, 29, 0, 0, 0, 1, 0, 0, 2, 0, "夜間作戦航空要員", 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0));
            this.put(259, new ItemInfoDto(259, 35, 29, 0, 0, 0, 3, 1, 2, 3, 0, "夜間作戦航空要員+熟練甲板員", 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0));
            this.put(260, new ItemInfoDto(260, 14, 18, 0, 0, 0, 0, 1, 2, 0, 0, "Type124 ASDIC", 0, 0, 0, 3, 0, 0, 0, 0, 0, 11, 0, 0));
            this.put(261, new ItemInfoDto(261, 14, 18, 0, 0, 0, 0, 1, 3, 0, 0, "Type144/147 ASDIC", 0, 0, 0, 4, 0, 0, 0, 0, 0, 13, 0, 0));
            this.put(262, new ItemInfoDto(262, 14, 18, 0, 0, 0, 0, 2, 3, 0, 0, "HF/DF + Type144/147 ASDIC", 0, 0, 0, 5, 0, 2, 0, 0, 0, 15, 0, 0));
            this.put(266, new ItemInfoDto(266, 1, 1, 0, 0, 0, 3, 0, 1, 1, 0, "12.7cm連装砲C型改二", 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 0));
            this.put(267, new ItemInfoDto(267, 1, 1, 0, 0, 0, 3, 1, 2, 1, 0, "12.7cm連装砲D型改二", 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 3, 0));
            this.put(268, new ItemInfoDto(268, 27, 23, 0, 0, 0, 0, 2, 0, 0, 0, "北方迷彩(+北方装備)", 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0));
            this.put(269, new ItemInfoDto(269, 47, 47, 0, 0, 2, 0, 0, 0, 0, 0, "試製東海", 0, 0, 0, 3, 0, 5, 0, 0, 0, 10, 0, 8));
            this.put(270, new ItemInfoDto(270, 47, 47, 0, 0, 2, 0, 0, 1, 0, 0, "東海(九〇一空)", 0, 0, 0, 4, 0, 6, 0, 0, 0, 11, 0, 8));
            this.put(271, new ItemInfoDto(271, 6, 6, 0, 0, 0, 0, 3, 1, 0, 0, "紫電改四", 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 10, 4));
            this.put(272, new ItemInfoDto(272, 34, 28, 0, 0, 0, 0, 1, 1, 0, 0, "遊撃部隊 艦隊司令部", 0, 0, 0, 5, 0, 1, 0, 1, 0, 0, 0, 0));
            this.put(273, new ItemInfoDto(273, 9, 9, 0, 0, 0, 0, 0, 2, 0, 0, "彩雲(偵四)", 0, 0, 0, 4, 0, 10, 0, 0, 0, 0, 2, 7));
            this.put(274, new ItemInfoDto(274, 21, 15, 0, 0, 0, 0, 3, 1, 0, 0, "12cm30連装噴進砲改二", 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 8, 0));
            this.put(276, new ItemInfoDto(276, 3, 3, 0, 0, 0, 27, 0, 2, 4, 0, "46cm三連装砲改", 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 6, 0));
            this.put(277, new ItemInfoDto(277, 7, 7, 0, 0, 2, 2, 2, 2, 0, 0, "FM-2", 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 6, 4));
            this.put(501, new ItemInfoDto(501, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, "5inch単装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(502, new ItemInfoDto(502, 1, 1, 0, 0, 0, 2, 0, 0, 1, 0, "5inch連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(503, new ItemInfoDto(503, 1, 16, 0, 0, 0, 1, 0, 0, 1, 0, "3inch単装高角砲", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(504, new ItemInfoDto(504, 2, 2, 0, 0, 0, 2, 0, 0, 2, 0, "5inch単装高射砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(505, new ItemInfoDto(505, 2, 2, 0, 0, 0, 8, 0, 0, 2, 0, "8inch三連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(506, new ItemInfoDto(506, 2, 2, 0, 0, 0, 3, 0, 0, 2, 0, "6inch連装速射砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(507, new ItemInfoDto(507, 3, 3, 0, 0, 0, 10, 0, 0, 3, 0, "14inch連装砲", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(508, new ItemInfoDto(508, 3, 3, 0, 0, 0, 15, 0, 0, 3, 0, "16inch連装砲", 0, 0, 16, 1, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(509, new ItemInfoDto(509, 3, 3, 0, 0, 0, 20, 0, 0, 3, 0, "16inch三連装砲", 0, 0, 10, 2, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(510, new ItemInfoDto(510, 4, 16, 0, 0, 0, 1, 0, 0, 1, 0, "5inch単装高射砲", 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(511, new ItemInfoDto(511, 4, 4, 0, 0, 0, 1, 0, 0, 2, 0, "6inch単装砲", 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(512, new ItemInfoDto(512, 4, 4, 0, 0, 0, 7, 0, 0, 2, 0, "12.5inch連装副砲", 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 0));
            this.put(513, new ItemInfoDto(513, 5, 5, 0, 0, 0, 0, 0, 0, 1, 0, "21inch魚雷前期型", 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(514, new ItemInfoDto(514, 5, 5, 0, 0, 0, 0, 0, 0, 1, 0, "21inch魚雷後期型", 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(515, new ItemInfoDto(515, 5, 5, 0, 0, 0, 0, 0, 0, 1, 0, "高速深海魚雷", 10, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(516, new ItemInfoDto(516, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "深海棲艦攻", 4, 0, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0));
            this.put(517, new ItemInfoDto(517, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "深海棲艦攻 Mark.II", 6, 0, 2, 1, 0, 5, 0, 0, 0, 4, 0, 0));
            this.put(518, new ItemInfoDto(518, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, "深海棲艦攻 Mark.III", 11, 0, 0, 2, 0, 5, 0, 0, 0, 7, 4, 0));
            this.put(519, new ItemInfoDto(519, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "深海棲艦戦", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(520, new ItemInfoDto(520, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "深海棲艦戦 Mark.II", 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 5, 0));
            this.put(521, new ItemInfoDto(521, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "深海棲艦戦 Mark.III", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 9, 0));
            this.put(522, new ItemInfoDto(522, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, "飛び魚艦戦", 0, 0, 7, 3, 0, 0, 0, 0, 0, 0, 13, 0));
            this.put(523, new ItemInfoDto(523, 7, 7, 0, 0, 3, 0, 0, 0, 0, 0, "深海棲艦爆", 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0));
            this.put(524, new ItemInfoDto(524, 7, 7, 0, 0, 6, 0, 0, 0, 0, 0, "深海棲艦爆 Mark.II", 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0));
            this.put(525, new ItemInfoDto(525, 10, 10, 0, 0, 1, 0, 0, 0, 0, 0, "深海棲艦偵察機", 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 1, 0));
            this.put(526, new ItemInfoDto(526, 10, 10, 0, 0, 4, 0, 0, 0, 0, 0, "飛び魚偵察機", 0, 0, 0, 1, 0, 10, 0, 0, 0, 2, 2, 0));
            this.put(527, new ItemInfoDto(527, 12, 11, 0, 0, 0, 0, 0, 5, 0, 0, "対空レーダ― Mark.I", 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 5, 0));
            this.put(528, new ItemInfoDto(528, 12, 11, 0, 0, 0, 0, 0, 10, 0, 0, "水上レーダ― Mark.I", 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0));
            this.put(529, new ItemInfoDto(529, 12, 11, 0, 0, 0, 0, 0, 15, 0, 0, "水上レーダ― Mark.II", 0, 0, 0, 2, 0, 10, 0, 0, 0, 0, 0, 0));
            this.put(530, new ItemInfoDto(530, 13, 11, 0, 0, 0, 0, 0, 5, 0, 0, "対空レーダ― Mark.II", 0, 0, 21, 2, 0, 10, 0, 0, 0, 0, 10, 0));
            this.put(531, new ItemInfoDto(531, 13, 11, 0, 0, 0, 0, 3, 24, 0, 0, "深海水上レーダー", 0, 0, 13, 3, 0, 16, 0, 0, 0, 5, 5, 0));
            this.put(532, new ItemInfoDto(532, 13, 11, 0, 0, 0, 0, 2, 16, 0, 0, "深海対空レーダ―", 0, 0, 13, 4, 0, 12, 0, 0, 0, 5, 18, 0));
            this.put(533, new ItemInfoDto(533, 17, 19, 0, 0, 0, 0, 10, 0, 0, 0, "改良型深海タービン", 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(534, new ItemInfoDto(534, 17, 19, 0, 0, 0, 0, 15, 0, 0, 0, "強化型深海缶", 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(535, new ItemInfoDto(535, 18, 12, 0, 0, 0, 0, 0, 0, 0, 0, "対空散弾", 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 10, 0));
            this.put(536, new ItemInfoDto(536, 19, 13, 0, 0, 0, 15, 0, 5, 0, 0, "劣化徹甲弾", 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(537, new ItemInfoDto(537, 21, 15, 0, 0, 0, 0, 0, 0, 0, 0, "12.7mm機銃", 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 2, 0));
            this.put(538, new ItemInfoDto(538, 21, 15, 0, 0, 0, 0, 0, 0, 0, 0, "20mm機銃", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(539, new ItemInfoDto(539, 21, 15, 0, 0, 0, 0, 0, 0, 0, 0, "40mm二連装機関砲", 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 8, 0));
            this.put(540, new ItemInfoDto(540, 21, 15, 0, 0, 0, 0, 0, 0, 0, 0, "40mm四連装機関砲", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 12, 0));
            this.put(541, new ItemInfoDto(541, 22, 5, 0, 0, 0, 0, 0, 5, 1, 0, "深海烏賊魚雷", 18, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(542, new ItemInfoDto(542, 15, 17, 0, 0, 0, 0, 0, 0, 0, 0, "深海爆雷投射機", 0, 0, 0, 2, 0, 0, 0, 0, 0, 7, 0, 0));
            this.put(543, new ItemInfoDto(543, 14, 18, 0, 0, 0, 0, 0, 0, 0, 0, "深海ソナー", 0, 0, 0, 2, 0, 0, 0, 0, 0, 9, 0, 0));
            this.put(544, new ItemInfoDto(544, 15, 17, 0, 0, 0, 0, 0, 0, 0, 0, "深海爆雷投射機 Mk.II", 0, 0, 0, 3, 0, 0, 0, 0, 0, 13, 0, 0));
            this.put(545, new ItemInfoDto(545, 14, 18, 0, 0, 0, 0, 0, 0, 0, 0, "深海ソナー Mk.II", 0, 0, 0, 3, 0, 0, 0, 0, 0, 16, 0, 0));
            this.put(546, new ItemInfoDto(546, 7, 7, 0, 0, 10, 0, 0, 0, 0, 0, "飛び魚艦爆", 0, 0, 0, 3, 0, 0, 0, 0, 0, 7, 8, 0));
            this.put(547, new ItemInfoDto(547, 6, 6, 0, 0, 0, 0, 0, 1, 0, 0, "深海猫艦戦", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 10, 0));
            this.put(548, new ItemInfoDto(548, 7, 7, 0, 0, 11, 0, 0, 3, 0, 0, "深海地獄艦爆", 0, 0, 0, 3, 0, 3, 0, 0, 0, 4, 0, 0));
            this.put(549, new ItemInfoDto(549, 8, 8, 0, 0, 0, 0, 0, 2, 0, 0, "深海復讐艦攻", 13, 0, 0, 3, 0, 5, 0, 0, 0, 5, 4, 0));
            this.put(550, new ItemInfoDto(550, 1, 16, 0, 0, 0, 2, 0, 3, 2, 0, "5inch連装両用莢砲", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 9, 0));
            this.put(551, new ItemInfoDto(551, 3, 3, 0, 0, 0, 27, 0, 3, 3, 0, "20inch連装砲", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0));
            this.put(552, new ItemInfoDto(552, 3, 3, 0, 0, 0, 13, 0, 4, 3, 0, "15inch要塞砲", 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0));
            this.put(553, new ItemInfoDto(553, 1, 16, 0, 0, 0, 5, 0, 5, 2, 0, "4inch連装両用砲+CIC", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 15, 0));
            this.put(554, new ItemInfoDto(554, 11, 10, 0, 0, 8, 0, 0, 1, 0, 0, "深海水上攻撃機", 0, 0, 0, 2, 0, 6, 0, 0, 0, 8, 4, 0));
            this.put(555, new ItemInfoDto(555, 11, 10, 0, 0, 13, 0, 0, 3, 0, 0, "深海水上攻撃機改", 0, 0, 0, 4, 0, 7, 0, 0, 0, 10, 9, 0));
            this.put(556, new ItemInfoDto(556, 6, 6, 0, 0, 0, 0, 2, 2, 0, 0, "深海猫艦戦改", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 12, 0));
            this.put(557, new ItemInfoDto(557, 7, 7, 0, 0, 15, 0, 0, 4, 0, 0, "深海地獄艦爆改", 0, 0, 0, 4, 0, 5, 0, 0, 0, 8, 0, 0));
            this.put(558, new ItemInfoDto(558, 8, 8, 0, 0, 0, 0, 0, 3, 0, 0, "深海復讐艦攻改", 16, 0, 0, 4, 0, 6, 0, 0, 0, 9, 5, 0));
            this.put(559, new ItemInfoDto(559, 14, 18, 0, 0, 0, 0, 3, 5, 0, 0, "深海FCS+CIC", 0, 0, 0, 3, 0, 3, 0, 0, 0, 20, 6, 0));
            this.put(560, new ItemInfoDto(560, 29, 24, 0, 0, 0, 2, 0, 0, 0, 0, "深海探照灯", 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0));
            this.put(561, new ItemInfoDto(561, 7, 7, 0, 0, 11, 0, 0, 1, 0, 0, "深海解放陸爆", 0, 0, 0, 2, 0, 3, 0, 0, 0, 5, 3, 0));
            this.put(562, new ItemInfoDto(562, 7, 7, 0, 0, 16, 0, 0, 2, 0, 0, "深海解放陸爆Ace", 0, 0, 0, 3, 0, 4, 0, 0, 0, 7, 5, 0));
            this.put(563, new ItemInfoDto(563, 2, 2, 0, 0, 0, 8, 0, -1, 3, 0, "8inch長射程連装砲", 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 0));
            this.put(564, new ItemInfoDto(564, 10, 10, 0, 0, 0, 0, 0, 5, 0, 0, "深海水上偵察観測機", 0, 0, 0, 3, 0, 5, 0, 0, 0, 2, 2, 0));
            this.put(565, new ItemInfoDto(565, 1, 1, 0, 0, 0, 3, 0, 3, 2, 0, "5inch沿岸設置砲", 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0));
            this.put(566, new ItemInfoDto(566, 7, 7, 0, 0, 8, 0, 0, 2, 0, 0, "深海猫艦戦(爆装)", 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 7, 0));
            this.put(567, new ItemInfoDto(567, 13, 11, 0, 0, 0, 0, 0, 16, 0, 0, "沿岸設置レーダー", 0, 0, 0, 3, 0, 8, 0, 0, 0, 0, 4, 0));
            this.put(568, new ItemInfoDto(568, 3, 3, 0, 0, 0, 24, 0, 4, 3, 0, "16inch三連装砲", 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 3, 0));
            this.put(569, new ItemInfoDto(569, 10, 10, 0, 0, 0, 3, 0, 8, 0, 0, "深海偵察飛行艇", 0, 0, 0, 4, 0, 9, 0, 0, 0, 2, 1, 0));
            this.put(570, new ItemInfoDto(570, 22, 5, 0, 0, 0, 0, 0, 3, 1, 0, "高速深海魚雷 mod.2", 13, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0));
            this.put(571, new ItemInfoDto(571, 11, 10, 0, 0, 15, 4, 0, 8, 4, 0, "深海水母小鬼機", 0, 0, 0, 5, 0, 8, 0, 4, 0, 15, 11, 0));
            this.put(572, new ItemInfoDto(572, 6, 6, 0, 0, 0, 8, 8, 8, 0, 0, "深海熊猫艦戦", 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 18, 0));
            this.put(573, new ItemInfoDto(573, 11, 10, 0, 0, 18, 6, 6, 12, 5, 0, "深海潜水下駄履き", 0, 0, 0, 5, 0, 3, 0, 3, 0, 9, 6, 0));
            this.put(574, new ItemInfoDto(574, 8, 8, 0, 0, 14, 3, 3, 8, 4, 0, "深海攻撃哨戒鷹", 0, 0, 0, 5, 0, 3, 0, 3, 0, 22, 8, 0));
            this.put(575, new ItemInfoDto(575, 8, 8, 0, 0, 18, 5, 4, 9, 4, 0, "深海攻撃哨戒鷹改", 0, 0, 0, 5, 0, 3, 0, 3, 0, 27, 9, 0));
            this.put(576, new ItemInfoDto(576, 3, 3, 0, 0, 0, 16, 2, 9, 3, 0, "深海12inch三連装砲", 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 3, 0));
            this.put(577, new ItemInfoDto(577, 3, 3, 0, 0, 0, 24, 1, 8, 3, 0, "深海15inch四連装砲", 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 4, 0));
            this.put(578, new ItemInfoDto(578, 3, 16, 0, 0, 0, 19, 2, 10, 3, 0, "深海15inch連装砲後期型", 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 8, 0));
            this.put(579, new ItemInfoDto(579, 3, 1, 0, 0, 0, 17, 3, 13, 3, 0, "深海14inch海峡連装砲", 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 4, 0));
            this.put(580, new ItemInfoDto(580, 22, 5, 0, 0, 0, 0, 0, 9, 1, 0, "深海待伏魚雷", 19, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0));
        }
    };

    /**
     * アイテムを取得します
     *
     * @param id ID
     * @return アイテム
     */
    public static ItemInfoDto get(int id) {
        ItemInfoDto dto = getMap().get(id);
        if (dto == null) {
            dto = ITEM.get(id);
        }
        return dto;
    }

    /**
     * IDの一覧を取得します
     *
     * @return IDの一覧
     */
    public static Set<Integer> keySet() {
        return getMap().keySet();
    }

    public static Map<Integer, ItemInfoDto> getMap() {
        return MasterData.get().getStart2().getItems();
    }

    public static List<ItemInfoDto> fromIdList(int[] slot) {
        List<ItemInfoDto> items = new ArrayList<ItemInfoDto>();
        for (int itemid : slot) {
            if (-1 != itemid) {
                ItemInfoDto item = getMap().get(itemid);
                if (item != null) {
                    items.add(item);
                } else {
                    items.add(Item.UNKNOWN);
                }
            } else {
                items.add(null);
            }
        }
        return items;
    }

    public static void dumpCSV(OutputStreamWriter fw) throws IOException {
        fw.write(StringUtils.join(new String[]{
                        "名前", "ID", "大分類", "種別", "装備種別", "表示分類", "火力", "雷装", "爆装", "対空", "対潜", "索敵", "命中", "射程", "運", "雷撃命中"},
                ','));
        fw.write("\n");

        for (Integer key : Item.keySet()) {
            ItemInfoDto dto = Item.get(key);
            ShipParameters param = dto.getParam();
            if (dto.getName().length() > 0) {
                fw.write(StringUtils.join(new String[]{
                        dto.getName(), // 名前
                        Integer.toString(dto.getId()), // ID
                        Integer.toString(dto.getType0()), //
                        Integer.toString(dto.getType1()),
                        Integer.toString(dto.getType2()),
                        Integer.toString(dto.getType3()),
                        Integer.toString(param.getHoug()),
                        Integer.toString(param.getRaig()),
                        Integer.toString(param.getBaku()),
                        Integer.toString(param.getTyku()),
                        Integer.toString(param.getTais()),
                        Integer.toString(param.getSaku()),
                        Integer.toString(param.getHoum()),
                        Integer.toString(param.getLeng()),
                        Integer.toString(param.getLuck()),
                        Integer.toString(param.getSouk())}, ','));
                fw.write("\n");
            }
        }
    }
}