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